@charset "utf-8";

/* 共通 */

.navToggle {
	top: 18px;
}

/* コンテンツ */

h2 {
	font-size: 32px;
}
.n2-ss-slide-background-image picture {
	margin: 0;
}
.sec01, .sec03, .sec04 {
	padding: 40px 0;
}
.sec02 {
	padding: 0;
}
.sec01 h2, .sec01 h3 {
	text-align: center;
}
.sec01 .text {
	width: 306px;
}
.sec01 h2 {
	margin: 36px 0 8px;
}
.sec01 .mainCont .text {
	margin: 0 auto;
	position: relative;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center top 74%;
	background-image: url(https://taguken.co.jp/wp-content/uploads/2021/11/waza.png);
	background-color: rgba(255, 255, 255, 0.5);
	background-blend-mode: lighten;
	text-align: center;
}
.sec02 .mainCont img {
	margin: 0;
}
.sec02 picture {
	width: 240px;
	margin: 0 auto 8px;
}
.sec02 h2, .sec02 p {
	color: #fff;
}
.sec02 a, .sec02 .area p {
	color: #fff;
}
.sec02 .vLine {
	height: 24px;
	width: 1px;
	background: #e7e7e7;
	margin: auto;
	margin-bottom: 8px;
}
.sec02 .listBtn {
	margin: 0 auto;
}
.sec02 .mainTitle {
	padding: 0 0 20px;
	background: #261b17;
	padding: 40px 0;
}
.sec02 .mainTitle .moji {
	width: 100px;
	margin: 1.5vw auto 2vw;
}
.sec02 ul {
	width: 100%;
	margin: 0 auto;
}
.sec02 li {
	width: calc(100%/1 - 0px);
	color: #fff;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin-bottom: 4px;
	position: relative;
}
.sec02 li .title {
	position: absolute;
	bottom: 0;
	background: rgb(255 255 255 / 85%);
	padding: 13px 8px 8px;
	width: 100%;
}
.sec02 li a {
	letter-spacing: -1px;
	color: #000;
}
.sec02 .area {
	font-size: 10px;
	margin-top: 2px;
}
.sec02 .area p {
	line-height: 1.15;
}
.sec03 {
	background: #f9f9f9;
	padding: 60px 0 40px;
}
.sec03 .contInner {
	width: 100%;
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	z-index: 2;
	background-size: 265px;
	background-repeat: no-repeat;
	background-position: top 12px right -55px;
	background-image: url(https://taguken.co.jp/wp-content/uploads/2021/11/omoi.png);
}
.sec03 .mainTitle {
	padding: 0;
	width: 220px;
	margin: 0 auto;
}
.sec03 .mainTitle .comment {
	margin-top: 12px;
}
.sec03 .mainCont h3 {
	font-size: 16px;
	margin-bottom: 0px;
}
.sec03 li picture {
	width: 100%;
}
.sec03 li h3:before {
	content: "― ";
}
.border {
	text-align: center;
	margin: 0 0 1.5em;
	line-height: 0;
}
.border span {
	margin: 0;
	padding: 0;
	width: 35px;
	height: 3px;
	background: #e80016;
	border: none;
	display: inline-block;
	position: relative;
}
.border span:before, .border span:after {
	position: absolute;
	content: "";
	width: 35px;
	height: 3px;
	background: #533c2e;
	top: 0;
}
.border span:before {
	left: -38px;
}
.border span:after {
	right: -38px;
}
.sec03 ul {
	width: 88%;
}
.sec03 li.listBtn {
	margin: 8px auto;
}
.sec03 li.listBtn:first-child {
	margin: 12px auto 0;
}
.sec03 li.listBtn:last-child {
	margin: 0 auto;
}
.sec03 li.listBtn a {
	padding: 14px 20px;
	width: 200px;
}
#newsBox {
	padding: 40px 0;
}
#newsBox .vLine02 {
	height: 24px;
	width: 1px;
	background: #333;
	margin: auto;
	margin-bottom: 8px;
}
#newsBox .listBtn {
	margin: 0px auto;
}
#newsBox .newsList {
	width: 90%;
	margin: 0 auto;
}
#newsBox .newsList dl {
	margin-bottom: 12px;
}
#newsBox .newsList dt {
	font-size: 14px;
	line-height: 1.8;
}
span.new {
	background: #fb5959;
	font-size: 11px;
	color: #fff;
	top: -3px;
	line-height: 1;
	padding: 2px 2px 3px;
	position: relative;
}
.sec04 {
	background: #fbfbfb;
}
.sec04 picture {
	width: 40px;
	height: 100%;
	margin: 16px auto 0;
}
.sec04 ul {
	width: 98%;
	margin: 0 auto;
}
.sec04 .mainCont li {
	width: calc(100%/3 - 4px);
}
.sec04 .mainCont li img {
	margin: 0;
}
@media all and (min-width: 375px) {
	.sec03 .mainTitle {
		width: 316px;
	}
}
@media all and (min-width: 500px) {
	.sec01 .text {
		width: 433px;
	}
	.sec03 .comment {
		width: 320px;
	}
}
@media all and (min-width: 600px) {
	.sec01 .mainCont img {
		margin-top: 24px;
	}
	.sec02 ul {
		width: 600px;
	}
	.sec02 li {
		width: calc(100%/2 - 2px);
	}
	.sec02 li .title {
		padding: 16px 8px 8px;
	}
	.sec03 ul {
		margin-bottom: 0;
	}
	.sec03 li {
		width: calc(100%/3 - 4px);
		text-align: unset;
	}
	.sec03 li.listBtn {
		margin-bottom: 0;
	}
	.sec03 li.listBtn:first-child, .sec03 li.listBtn:last-child {
		margin: 8px auto 0;
		text-align: unset;
	}
	.sec03 li.listBtn a {
		width: 100%;
	}
	#newsBox .newsList {
		width: 66%;
	}
	#newsBox .newsList dl {
		overflow: hidden;
		margin-bottom: 16px;
	}
	#newsBox .newsList dt {
		width: 100px;
		float: left;
		line-height: 1.15;
		font-weight: normal;
	}
	#newsBox .newsList dd {
		width: 76%;
		float: left;
	}
}
@media all and (min-width: 700px) {
	.sec01 .mainCont {
		width: 100%;
		position: relative;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: space-between;
		-ms-justify-content: space-between;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: 0 auto;
		z-index: 2;
	}
	.sec01 .mainCont h2 {
		text-align: left;
		margin: 0;
	}
	.sec01 .mainCont h3 {
		line-height: 1.4;
	}
	.sec01 .mainCont p {
		line-height: 1.6;
	}
	.sec01 .mainCont img {
		margin: 0;
	}
	.sec01 .mainCont .text {
		width: 48%;
		margin: 0;
		background-position: right top 74%;
		text-align: left;
		padding-right: 24px;
	}
	.sec01 .mainCont .text .listBtn.orange a {
		margin: 0;
	}
	.sec01 .mainCont .text br.none {
		display: block;
	}
	.sec01 .mainCont .text .sp {
		display: none;
	}
	.sec01 .mainCont .pc {
		display: block;
		margin-top: 24px;
	}
	.sec01 .mainCont picture {
		width: 48%;
		margin: 0;
	}
	.sec01 h3 {
		text-align: left;
	}
	.sec01 .mainCont img {
		margin-top: 0px;
	}
	.sec02 ul {
		width: 100%;
	}
	.sec02 li {
		width: calc(100%/2 - 2px);
	}
	.sec02 li .title {
		padding: 14px 8px 8px;
	}
	.sec03 .mainTitle .comment {
		width: 360px;
		margin: 16px auto 4px;
	}
	.sec03 .mainTitle .comment p {
		line-height: 1.6;
	}
	.sec03 ul {
		width: 92%;
	}
	.sec03 li {
		width: calc(100%/3 - 12px);
	}
}
@media all and (min-width: 800px) {
	.sec01, .sec04 {
		padding: 40px 0;
	}
	.sec03 .contInner {
		background-position: top 15px right -55px;
	}
	.sec03 .mainTitle {
		width: 100%;
	}
	.sec03 .mainTitle .comment {
		width: 100%;
	}
}
@media all and (min-width: 900px) {
	.sec01 .contInner .listBtn {
		margin: 12px auto 0;
	}
}
@media all and (min-width: 1000px) {
	.top h2 {
		font-size: 42px;
	}
	.sec01 .mainCont h2 {
		text-align: left;
	}
	.sec01 .mainCont h3 {
		margin: 12px 0px;
		line-height: 1.4;
	}
	.sec01 .mainCont p {
		line-height: 1.6;
		width: 100%;
	}
	.sec01 .mainCont img {
		margin: 0;
	}
	.sec01 .mainCont .text {
		background-position: right top 74%;
		background-color: rgba(255, 255, 255, 0);
		background-blend-mode: normal;
		padding-right: 20px;
	}
	.sec01 .contInner .listBtn {
		margin: 24px auto 0;
	}
	.sec03 .contInner {
		background-size: 286px;
		background-position: top -10px right -8%;
	}
	.sec03 .mainCont {
		width: 86%;
		margin: 0 auto;
	}
	.sec03 .mainCont h3 {
		font-size: 18px;
		margin-top: 8px;
	}
	.sec01 .mainCont .text .moji {
		top: 50%;
		right: 0;
		position: absolute;
	}
	.sec01 .mainCont .text .sp {
		display: block;
	}
	.sec01 .mainCont .text .listBtn.orange a {
		margin: 0;
	}
	.sec03 {
		padding: 40px 0;
	}
	.sec02 {
		padding: 0 0 40px;
	}
	.sec02 .mainTitle .moji {
		width: 100px;
		margin: 1.5vw auto 2vw;
	}
	.sec02 .contInner {
		width: 100%;
		position: relative;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: space-between;
		-ms-justify-content: space-between;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: 0 auto;
		z-index: 2;
	}
	.sec02 .mainTitle {
		width: 25%;
		background: #261b17;
	}
	.sec02 .mainCont {
		width: 75%;
	}
	.sec02 .mainCont img {
		margin: 0;
	}
	.sec02 ul {
		width: 100%;
	}
	.sec02 li {
		width: calc(100%/3 - 1px);
		margin-bottom: 0;
		position: relative;
	}
	.sec02 li .title {
		position: absolute;
		bottom: 0;
		background: rgb(255 255 255 / 70%);
		width: 100%;
	}
	.sec02 li .title a {
		color: #000;
	}
	.sec02 li .area {
		font-size: 11px;
	}
	.sec03 .mainTitle {
		margin: 0 auto;
	}
	.sec03 .mainTitle .comment {
		margin: 12px 0;
	}
	.sec03 .mainTitle .comment p {
		font-size: 18px;
	}
	.sec03 .mainCont .text {
		text-align: center;
	}
	.sec03 ul {
		width: 100%;
	}
	.sec03 li {
		width: calc(100%/3 - 12px);
	}
	.sec03 li picture {
		width: 100%;
		margin: 0;
	}
	.sec03 li img {
		margin: 0;
	}
	.sec03 li.listBtn a {
		height: 68px;
	}
	#newsBox {
		width: 90%;
		padding: 0;
		margin: 60px auto;
		overflow: hidden;
	}
	#newsBox .mainTitle {
		float: left;
		width: 42%;
		padding: 0;
	}
	#newsBox .newsList {
		float: right;
		width: 58%;
		padding-top: 20px;
	}
	#newsBox .newsList dl {
		margin-bottom: 16px;
	}
}
@media all and (min-width: 1200px) {
	.listBtn.orange a, .listBtn.white a {
		width: 152px;
	}
	.top h2 {
		font-size: 46px;
		line-height: 1;
	}
	.top h3 {
		font-size: 24px;
	}
	.sec01 .contInner .listBtn {
		margin: 42px auto 0;
	}
	.sec01 .mainCont .text {
		padding: 20px 0;
	}
	.sec01 .mainCont h3 {
		margin: 28px 0 16px;
	}
	.sec01 .mainCont p {
		width: 528px;
	}
	.sec01 .mainCont .pc {
		margin-top: 40px;
	}
	.sec01 h3 {
		margin: 8px 0;
	}
	.sec01 .listBtn {
		margin-top: 28px;
	}
	.sec02 .mainTitle .moji {
		width: 120px;
		margin: 2vw auto 3vw;
	}
	.sec02 .mainTitle {
		padding-top: 5vw;
	}
	.sec03 .contInner {
		background-position: top -30px right -7%;
	}
	.sec03 .mainTitle .comment {
		margin: 20px 0 24px;
	}
	.sec03 li.listBtn a {
		height: 80px;
		font-size: 16px;
	}
	#newsBox .vLine02 {
		margin-top: 8px;
	}
	#newsBox .listBtn.orange a {
		margin-top: 16px;
	}
}
@media all and (min-width: 1300px) {
	.top h2 {
		font-size: 50px;
		line-height: 1;
	}
	.sec01, .sec03, .sec04 {
		padding: 60px 0;
	}
	.sec01 .mainCont h3 {
		margin: 32px 0 16px;
	}
	.sec02 {
		padding: 0 0 60px;
	}
	.sec02 .mainTitle {
		padding-top: 5vw;
	}
	.sec01 .mainCont p {
		width: 648px;
	}
	.sec03 .mainTitle .comment {
		margin: 28px 0 24px;
	}
}
@media all and (min-width: 1600px) {
	.top h2 {
		font-size: 56px;
	}
	.sec01 .mainCont h3 {
		margin: 36px 0 16px;
	}
	.sec01 .mainCont .text {
		padding-top: 24px;
	}
	.sec02 .mainTitle {
		padding-top: 7vw;
	}
	.sec02 li .title {
    	padding: 14px 16px 8px;
	}
	#newsBox {
		padding: 20px 0;
	}
}
@media all and (min-width: 1920px) {
	.top h2 {
		font-size: 58px;
	}
	main#content.top {
		width: 1920px;
		margin: 0 auto;
	}
	.listBtn.orange a, .listBtn.white a, .listBtn.green a {
		padding: 16px;
		width: 180px;
	}
	.top h3 {
		font-size: 32px;
		line-height: 1.4;
	}
	.sec01 h3 {
		margin: 0 0 20px;
	}
	.sec01 .mainCont .text {
		padding-top: 56px;
	}
	.sec01 .mainCont .text p {
		width: 660px;
	}
	.sec01 .contInner .listBtn {
		margin: 52px auto 0;
	}
	.sec02 .mainTitle {
		padding-top: 7vw;
	}
	.sec03 .contInner {
		background-size: 512px;
	}
}