@charset "utf-8";

/*
Theme Name: jack-rabbits
Theme URI: 
Version: 1.0
Template Name: common
Author: 株式会社コミュニケーションサポート
Author URI: https://communic.co.jp
*/


/* 共通 */

html {
	display: block;
}
body {
	color: #333;
	background: #fff;
	font-family: "Open Sans", "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
}
h2 {
	font-size: 24px;
	font-weight: 300;
	line-height: 1.6;
	color: #000;
}
h3 {
	font-size: 20px;
	font-weight: 300;
	line-height: 1.6;
	margin-bottom: 8px;
}
h4 {
	font-weight:300;
}
strong {
	font-weight: bold;
}
p {
	line-height: 2.5;
}

a.underline {
	text-decoration: underline;
	transition: 0.3s;
	color: #1a0dab;
}
img {
	line-height: 0;
	display: block;
	width: 100%;
	height: auto;
}
li {
	list-style: none;
}
.linkTxt {
	color: #1d3994;
	text-decoration: underline;
	cursor: auto;
}
.listBtn {
	margin: 20px auto 0;
	text-align: center;
}
.listBtn.orange {
	color: #ed6d00;
}
.listBtn.white {
	color: #fff;
}
.listBtn.orangeBg {
	background: #ed6d00;
	margin: 12px auto;
	border-radius: 8px;
}
.listBtn.orange a, .listBtn.white a, .listBtn.green a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 20px auto 0;
	padding: 10px 8px;
	width: 152px;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 0 3px rgb(237 151 0 / 26%);
	border-radius: 0px;
	transition: 0.3s;
}
.listBtn.orange a {
	border: solid 2px #ed6d00;
}
.listBtn.white a {
	border: solid 2px #fff;
}
.listBtn.green a {
	color: #fff;
	background: #649b3f;
	border: solid 2px #649b3f;
	width: 200px;
}
.listBtn.orangeBg a {
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	display: block;
	padding: 12px 0;
}
.listBtn a:after {
	content: '';
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
}
.listBtn.orange a:after {
	border-top: 3px solid #ed6d00;
	border-right: 3px solid #ed6d00;
}
.listBtn.white a:after {
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
}
.listBtn.green a:after {
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
}
.listBtn.orange a:hover, .listBtn.white a:hover, .listBtn.green a:hover {
	text-decoration: none;
	opacity: 0.8;
	box-shadow: 0 0 10px rgba(0 0 0 / 0);
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
picture {
	width: 90%;
	display: block;
	margin: 20px auto 0;
}
.pc {
	display: none;
}
.tb {
	display: block;
}
.sp {
	display: block;
}
section {
	clear: both;
	overflow: hidden;
}
.inner {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
}
iframe {
	width: 100%;
	height: 68vw;
}

/*　（グローバルナビ用）HTML */

nav.globalMenuSp {
	position: fixed;
	z-index: 97;
	top: 0;
	left: 0;
	background: #f5f5f5;
	color: #000;
	text-align: center;
	transform: translateY(-200%);
	transition: all 0.6s;
	width: 100%;
	height: 100%;
	padding-top: 88px;
}
nav.globalMenuSp ul {
	background: #f5f5f5;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
nav.globalMenuSp ul li {
	font-size: 1.0em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #583829;
}
nav.globalMenuSp ul li:first-child {
	border-top: 1px dotted #583829;
}
nav.globalMenuSp ul li:last-child {
	border-bottom: 1px dotted #583829;
}

/* 最後はラインを描かない */

nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
}
nav.globalMenuSp ul li a {
	display: block;
	color: #583829;
	padding: 20px 0;
}

/* このクラスを、jQueryで付与・削除する */

nav.globalMenuSp.active {
	transform: translateY(0%);
}

/* （ハンバーガー用）CSS */

.navToggle {
	display: block;
	position: fixed;
	/* bodyに対しての絶対位置指定 */
	right: 8px;
	top: 6px;
	width: 48px;
	height: 44px;
	cursor: pointer;
	z-index: 214;
	background: #ed6d00;
	text-align: center;
	opacity: 0.9;
}
.navToggle span {
	display: block;
	position: absolute;
	/* .navToggleに対して */
	width: 28px;
	border-bottom: solid 3px #eee;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 10px;
}
.navToggle span:nth-child(1) {
	top: 12px;
}
.navToggle span:nth-child(2) {
	top: 21px;
}
.navToggle span:nth-child(3) {
	top: 30px;
}
.navToggle span:nth-child(4) {
	border: none;
	color: #eee;
	font-size: 9px;
	font-weight: bold;
	top: 34px;
}

/* （タップした後）CSS */


/* 最初のspanをマイナス45度に */

.navToggle.active span:nth-child(1) {
	top: 21px;
	left: 9px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */

.navToggle.active span:nth-child(2), .navToggle.active span:nth-child(3) {
	top: 21px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* タイトル */

.mainTitle {
	text-align: center;
	padding: 0 0 24px;
}
.mainTitle p {
	font-size: 16px;
}

/* ヘッダー */

.siteHeader {
	background: rgba(255, 255, 255, 0);
	display: flex;
	padding:8px 0px;
	position: fixed;
	justify-content: space-between;
	width: 100%;
	transition: .5s;
	z-index: 99;
}
.siteHeader.transform {
	background: rgba(241, 241, 241, 0.9);
	padding: 4px 0;
}
#hdLogo {
	width: 240px;
	height: 100%;
}
#hdLogo picture {
	width: 100%;
	margin: 0;
}
.siteHeader.transform #hdLogo {
	width: 200px;
}
.siteHeader #hdLogo a.before {
	display: block;
}
.siteHeader #hdLogo a.after { 
	display: none;
}
.siteHeader.transform #hdLogo a.before {
	display: none;
}
.siteHeader.transform #hdLogo a.after {
	display: block;
}
.siteHeader #hdLogo img.before { 

}
.siteHeader.transform #hdLogo img.after {
}


.siteHeader #rtCont ul li a {
	font-size: 16px;
	color: #fff;
}
.siteHeader #rtCont.vol02 ul li a {
	font-size: 16px;
	color: #000;
}


.siteHeader.transform #rtCont ul li a {
	font-size: 16px;
	color: #000;
}
#firstView .pc-slider {
	display: none;
}
#firstView .sp-slider {
	display: block;
}
#firstView {
	max-height: 1080px;
	overflow: hidden;
}
#firstView img {
	height: auto;
	width: 100%;
}
.mainImage {
	width: 100%;
	height: 100%;
	background-size: cover;
	position: relative;
	z-index: 10;
}
.mainTxt {
	position: absolute;
	width: 600px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 20;
}
.mainTxt p {
	color: #fff;
	text-align: center;
	font-size: 36px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: normal;
	border: solid 1px rgb(255 255 255 / 80%);
	line-height: 1.4;
	letter-spacing: 2px;
	padding: 16px 0 12px;
	background: rgb(82 60 50 / 9%);
}

/* コンテンツ */

.mainCont .text {
	width: 90%;
	margin: 0 auto;
}
.mainCont ul {
	width: 88%;
	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: 8px auto;
	z-index: 2;
}
.mainCont img {
	margin: 8px 0;
}

/* リンクボタン */


/* footer */

footer {
	padding: 40px 0 0;
	background-image: url(https://taguken.co.jp/wp-content/uploads/2021/11/topImage.jpg);
	background-size: cover;
	background: #f6f6f7;
}
footer #footer {
	padding: 0 0 40px;
}
footer picture {
	margin: 0 auto;
}
.spAddress {
	width: 88%;
	margin: 20px auto 0;
	text-align: center;
}
.spAddress p {
	font-weight: bold;
	font-size: 14px;
}
.spAddress p.title {
	letter-spacing: 1px;
}
.spAddress p.tel {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 38px;
	font-weight: bold;
	color: #649b3f;
	line-height: 1.2;
}
.spAddress p.businessDay {
	font-size: 14px;
	line-height: 1.4;
	font-weight: normal;
}
.ftLogo {
	width: 260px;
	margin: 0 auto;
}
.address {
	width: 280px;
	margin: 0 auto;
}
.address {
	margin-top: 4px;
}
.address p {
	font-size: 14px;
	text-align: center;
}
footer .listBtn.orangeBg {
	width: 80%;
	margin: 16px auto 0;
	border-radius: 4px;
}
.listBtn.orangeBg a {
	font-size: 16px;
	font-weight: bold;
	padding: 16px 0;
}
#copyLight {
	background: #533c2f;
	text-align: center;
	padding: 8px 0;
	line-height: 1.0;
}
#copyLight span {
	font-size: 12px;
	color: #fff;
}

/* ページトップ */

#pagetop {
	position: fixed;
	bottom: 12px;
	right: 12px;
	font-size: 77%;
	z-index: 210;
}
#pagetop a {
	text-decoration: none;
	width: 46px;
	display: block;
}
#pagetop a:hover {
	text-decoration: none;
	opacity: 0.8;
}
#pagetop a img {
	width: 100%;
	height: auto;
}
@media all and (min-width: 450px) {
	body {
		font-size: 16px;
		letter-spacing: 0.05em;
	}
}
@media all and (min-width: 500px) {
	.tb {
		display: none;
	}
	.ftLogo, .address {
		width: 68%;
	}
	.spAddress p.tel {
		font-size: 40px;
	}
}
@media all and (min-width: 600px) {
	iframe {
		width: 100%;
		height: 52vw;
	}



	footer {
		padding: 60px 0 0;
	}
	footer #footer {
		padding: 0 0 60px;
	}
	picture {
		width: 78%;
	}
	.spAddress {
		width: 60%;
	}
	.spAddress p.tel {
		font-size: 48px;
	}
}
@media all and (min-width: 650px) {}
@media all and (min-width: 700px) {
	body {
		font-feature-settings: normal;
	}
	.ftLogo, .address {
		width: 380px;
	}
	footer .listBtn.orangeBg {
		width: 340px;
	}
}
@media all and (min-width: 800px) {
#firstView .pc-slider {
	display: block;
}
#firstView .sp-slider {
	display: none;
}
}
@media all and (min-width: 900px) {}
@media all and (min-width: 1000px) {
	h2 {
		font-size: 32px;
	}
	h3 {
		font-size: 24px;
	}
	.pc {
		display: block;
	}
	.navToggle {
		display: none;
	}
	#header {
		width: 90%;
		margin: 0 auto;
	}
	.siteHeader {
		padding: 40px 0px;
	}
	#hdLogo {
		float: left;
		width: 280px;
	}
	#rtCont {
		float: right;
	}
	#gNavi ul {
		width: 540px;
		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: 24px auto 0;
		z-index: 2;
	}
	.siteHeader.transform #gNavi ul {
		margin: 16px auto 0;
	}
	footer {
		padding: 48px 0 0;
	}
	footer #footer {
		padding: 0 0 48px;
	}
	#ftCont {
		margin: 0 auto;
		width: 80%;
		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;
		z-index: 2;
		align-items: center;
	}
	#ftContInnerSec {
		width: 320px;
		height: 105px;
	}
	#ftContInner {
		width: 314px;
	}
	#ftContInner p.title.pc {
		font-weight: bold;
		font-size: 28px;
		text-align: center;
	}
	.spAddress {
		width: 100%;
		text-align: left;
		margin: 0px;
	}
	.spAddress .addArea .sp {
		display: none;
	}
	.spAddress p.tel {
		font-size: 42px;
	}
	.spAddress p.businessDay {
		letter-spacing: -1px;
	}
	.listBtn.orangeBg {
		margin: 0px;
	}
	.listBtn.orangeBg a {
		padding: 16px 0;
	}
	.ftLogo, .address {
		width: 320px;
		margin: 0px;
	}
	.address {
		margin: 0;
		text-align: left;
	}
	.ftLogo picture {
		width: 100%;
	}
	footer .listBtn.orangeBg {
		margin: 8px 0 0;
		width: 280px;
	}
	.address p {
		font-size: 14px;
		text-align: left;
		padding-left: 18px;
	}
	.footerBottom {
		background: #533c2f;
		overflow: hidden;
		padding: 12px 0;
	}
	.fbInner {
		width: 90%;
		margin: 0 auto;
	}
	.footerBottom .ftNavi {
		float: left;
	}
	.footerBottom .ftNavi a {
		color: #fff;
	}
	.footerBottom #copyLight {
		float: right;
		padding: 0;
	}
	.ftNavi ul {
		width: 420px;
		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;
		z-index: 2;
	}
	.ftNavi ul li a {
		font-size: 11px;
		position: relative;
	}
}
@media all and (min-width: 1200px) {
	#gNavi ul {
		width: 620px;
	}
	.mainTitle {
		padding: 0 0 40px;
	}
	.fbInner {
		width: 1080px;
	}
}
@media all and (min-width: 1300px) {
	body {
		font-size: 16px;
	}
	.mainTitle {
		padding: 0 0 48px;
	}
	.mainTitle p {
		font-size: 16px;
	}
	#ftCont {
		width: 980px;
	}
	.ftLogo, .address {
		width: 380px;
	}
	.address p {
		font-size: 16px;
	}
	.spAddress p {
		font-size: 18px;
	}
	.spAddress p.tel {
		font-size: 46px;
	}
}
@media all and (min-width: 768px) {
	br.none {
		display: block;
	}
	br.none02 {
		display: none;
	}
}


@media all and (min-width: 910px) {
	br.none {
		display: block;
	}
	br.none02 {
		display: none;
	}
}

@media all and (min-width: 1420px) {
	br.none {
		display: none;
	}
	br.none02 {
		display: none;
	}
}
@media all and (min-width: 1920px) {}