@charset "UTF-8";
.js-bgImgSet {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.js-bgImgSet img {
	display: none !important;
}

/*************************************************************
/ .tpl-inner-wrap
/************************************************************/
.tpl-inner-wrap {
	max-width: 1000px;
	width: auto;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (max-width: 750px) {
	.tpl-inner-wrap {
		width: 86.66667vw;
	}
}

#tpl-topicpath {
	height: 100px;
	padding: 0 60px;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 14px;
}

@media only screen and (max-width: 750px) {
	#tpl-topicpath {
		height: 18.66667vw;
		padding: 0 6.66667vw;
		font-size: 20px;
		font-size: 2.66667vw;
	}
}

#tpl-topicpath ul {
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

#tpl-topicpath ul li {
	margin-right: 25px;
}

@media only screen and (max-width: 750px) {
	#tpl-topicpath ul li {
		margin-right: 4.66667vw;
	}
}

#tpl-topicpath ul li::after {
	content: '';
	display: inline-block;
	vertical-align: 2px;
	margin-left: 15px;
	width: 7px;
	height: 7px;
	border-top: solid 2px #9f3036;
	border-right: solid 2px #9f3036;
	box-sizing: border-box;
	transform: rotate(45deg);
}

@media only screen and (max-width: 750px) {
	#tpl-topicpath ul li::after {
		width: 1.33333vw;
		height: 1.33333vw;
		margin-left: 4vw;
		vertical-align: 0.13333vw;
	}
}

#tpl-topicpath ul li:last-child::after {
	display: none;
}

#tpl-topicpath ul a {
	transition: color .3s;
}

#tpl-topicpath ul a:hover {
	color: #9f3036;
}

/*************************************************************
/ ホバー
/************************************************************/
.tpl-hvo {
	display: block;
	transition: opacity .3s;
}

.tpl-hvo:hover {
	opacity: .7;
}

/*************************************************************
/ tpl-kv
/************************************************************/
.tpl-kv {
	height: 650px;
	position: relative;
}

@media only screen and (max-width: 750px) {
	.tpl-kv {
		height: 93.33333vw;
	}
}

.tpl-kv__img {
	width: 100%;
	height: 100%;
}

.tpl-h1 {
	width: 100%;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url("/assets/common/img/txt_bg_pc.png") no-repeat center;
	height: 100%;
	background-size: cover;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media only screen and (max-width: 750px) {
	.tpl-h1 {
		background: url("/assets/common/img/txt_bg_sp.png") no-repeat center;
		background-size: 200%;
		height: 100%;
	}
}

.tpl-h1__l-txt {
	display: block;
	font-size: 46px;
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'Yu Mincho', 'YuMincho', serif;
}

@media only screen and (max-width: 750px) {
	.tpl-h1__l-txt {
		font-size: 46px;
		font-size: 6.13333vw;
	}
}

.tpl-h1__s-txt {
	margin-top: 5px;
	display: block;
	font-size: 24px;
}

@media only screen and (max-width: 750px) {
	.tpl-h1__s-txt {
		margin-top: 1.33333vw;
		font-size: 24px;
		font-size: 3.2vw;
	}
}

.tpl-kv img.w100p{
	width: 100%;
}


/*************************************************************
/ カラム
/************************************************************/
.tpl-col2 {
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tpl-col2__item {
	width: 480px;
}

@media only screen and (max-width: 750px) {
	.tpl-col2__item {
		width: 100%;
	}
}

@media only screen and (max-width: 750px) {
	.tpl-col2__item:nth-child(n+2) {
		margin-top: 8.66667vw;
	}
}

@media only screen and (min-width: 751px) {
	.tpl-col2__item:nth-child(even) {
		margin-left: 40px;
	}
}

@media only screen and (min-width: 751px) {
	.tpl-col2__item:nth-child(n+3) {
		margin-top: 80px;
	}
}

.tpl-col3 {
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media only screen and (min-width: 751px) {
	.tpl-col3__item {
		width: 313px;
		margin-right: 30px;
	}
}

@media only screen and (max-width: 750px) {
	.tpl-col3__item {
		width: 100%;
	}
}

@media only screen and (max-width: 750px) {
	.tpl-col3__item:nth-child(n+2) {
		margin-top: 8.66667vw;
	}
}

@media only screen and (min-width: 751px) {
	.tpl-col3__item:nth-child(3n) {
		margin-right: 0;
	}
}

@media only screen and (min-width: 751px) {
	.tpl-col3__item:nth-child(n+4) {
		margin-top: 40px;
	}
}

.tpl-col4 {
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tpl-col4__item {
	width: 240px;
	margin-right: 13px;
}

@media only screen and (max-width: 750px) {
	.tpl-col4__item {
		width: 41.33333vw;
		margin-right: 4vw;
	}
}

@media only screen and (max-width: 750px) {
	.tpl-col4__item:nth-child(even) {
		margin-right: 0;
	}
}

@media only screen and (max-width: 750px) {
	.tpl-col4__item:nth-child(n+3) {
		margin-top: 5.33333vw;
	}
}

.tpl-col4__item:nth-child(4n) {
	margin-right: 0;
}

@media only screen and (min-width: 751px) {
	.tpl-col4__item:nth-child(n+5) {
		margin-top: 20px;
	}
}

/*************************************************************
/ 見出し テキスト系
/************************************************************/
.tpl-txt--serif {
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'Yu Mincho', 'YuMincho', serif;
}

.tpl-h2 {
	text-align: center;
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'Yu Mincho', 'YuMincho', serif;
	font-size: 36px;
	line-height: 1.5;
}

@media only screen and (max-width: 750px) {
	.tpl-h2 {
		font-size: 40px;
		font-size: 5.33333vw;
		line-height: 1.45;
	}
}

.tpl-h3 {
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'Yu Mincho', 'YuMincho', serif;
	font-size: 28px;
	line-height: 1.5;
}

@media only screen and (max-width: 750px) {
	.tpl-h3 {
		font-size: 34px;
		font-size: 4.53333vw;
		line-height: 1.41176;
	}
}

.tpl-h4 {
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'Yu Mincho', 'YuMincho', serif;
	font-size: 22px;
	line-height: 1.54545;
}

@media only screen and (max-width: 750px) {
	.tpl-h4 {
		font-size: 30px;
		font-size: 4vw;
		line-height: 1.33333;
	}
}

/*************************************************************
/ macbee追加
/************************************************************/
.tpl-h5 {
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'Yu Mincho', 'YuMincho', serif;
	font-size: 22px;
	line-height: 1.54545;
}

@media only screen and (max-width: 750px) {
	.tpl-h5 {
		font-size: 30px;
		font-size: 4vw;
		line-height: 1.33333;
	}
}
/*macbee追加終了*/

.tpl-txt {
	font-size: 16px;
	line-height: 2;
}

@media only screen and (max-width: 750px) {
	.tpl-txt {
		font-size: 26px;
		font-size: 3.46667vw;
		line-height: 1.76923;
	}
}

.tpl-note {
	font-size: 14px;
	line-height: 1.57143;
}

@media only screen and (max-width: 750px) {
	.tpl-note {
		font-size: 22px;
		font-size: 2.93333vw;
		line-height: 1.36364;
	}
}

.tpl-note--indent {
	text-indent: -1.3em;
	padding-left: 1.3em;
}

/*************************************************************
/ リンク、ボタン系
/************************************************************/
.tpl-txt-link {
	color: #9f3036;
	font-size: 16px;
}

@media only screen and (max-width: 750px) {
	.tpl-txt-link {
		font-size: 26px;
		font-size: 3.46667vw;
	}
}

.tpl-txt-link::before {
	content: '';
	display: inline-block;
	vertical-align: 2px;
	margin-right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #9f3036;
}

@media only screen and (max-width: 750px) {
	.tpl-txt-link::before {
		margin-right: 1.86667vw;
		border-width: 0.8vw 0 0.8vw 1.33333vw;
	}
}

.tpl-txt-link:hover {
	color: #9f3036;
	text-decoration: underline;
}

.tpl-txt-link--blank::after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 12px;
	background-image: url("/assets/common/img/icn-blank_red.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	margin-left: 10px;
}

@media only screen and (max-width: 750px) {
	.tpl-txt-link--blank::after {
		width: 3.2vw;
		height: 3.2vw;
		margin-left: 2vw;
	}
}

.tpl-txt-link--pdf::after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 22px;
	height: 26px;
	background-image: url("/assets/common/img/icn-pdf.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	margin-left: 10px;
}

@media only screen and (max-width: 750px) {
	.tpl-txt-link--pdf::after {
		width: 4.4vw;
		height: 5.2vw;
		margin-left: 2vw;
	}
}

.tpl-btn {
	width: 300px;
	height: 50px;
}

@media only screen and (max-width: 750px) {
	.tpl-btn {
		width: 66.66667vw;
		height: 10.66667vw;
		margin-left: auto;
		margin-right: auto;
	}
}

.tpl-btn a {
	width: 100%;
	height: 100%;
	border-radius: 50px;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	background: linear-gradient(45deg, #a81f24 0%, #b83d19 100%);
	color: #fff;
	font-size: 16px;
	border: solid 2px transparent;
	position: relative;
	transition: color .3s;
}

@media only screen and (max-width: 750px) {
	.tpl-btn a {
		font-size: 26px;
		font-size: 3.46667vw;
	}
}

.tpl-btn a span {
	display: inline-block;
	position: relative;
}

.tpl-btn a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-radius: 50px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity .3s;
}

.tpl-btn a:hover {
	color: #9f3036;
}

.tpl-btn a:hover::before {
	opacity: 1;
}

.tpl-btn--blank a span::after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 12px;
	background-image: url("/assets/common/img/icn-blank_wh.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	margin-left: 10px;
	transition: background .3s;
}

@media only screen and (max-width: 750px) {
	.tpl-btn--blank a span::after {
		width: 3.2vw;
		height: 3.2vw;
		margin-left: 2vw;
	}
}

.tpl-btn--blank a:hover span::after {
	background-image: url("/assets/common/img/icn-blank_red.png");
}

.tpl-btn--wh {
	width: 240px;
	height: 60px;
}

@media only screen and (max-width: 750px) {
	.tpl-btn--wh {
		width: 41.33333vw;
		height: 10.66667vw;
	}
}

.tpl-btn--wh a {
	width: 100%;
	height: 100%;
	padding-right: 10px;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-radius: 60px;
	background-color: #fff;
	box-shadow: 0px 4px 11px -3px rgba(0, 0, 0, 0.1);
	color: #9f3036;
	position: relative;
	transition: background .3s, color .3s;
}

.tpl-btn--wh a::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 4px 0 4px;
	border-color: #9f3036 transparent transparent transparent;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 25px;
	transition: border .3s;
}

.tpl-btn--wh a:hover {
	background-color: #9f3036;
	color: #fff;
}

.tpl-btn--wh a:hover::after {
	border-color: #fff transparent transparent transparent;
}

/*************************************************************
/ 画像 キャプションレイアウト
/************************************************************/
.tpl-img-cap__img {
	width: 100%;
	display: block;
}

@media only screen and (max-width: 750px) {
	.tpl-img-cap__img.sp-max {
		width: 100vw;
		margin-left: -6.66667vw;
	}
}

.tpl-img-cap__cap {
	margin-top: 17px;
	font-size: 14px;
	line-height: 1.57143;
}

@media only screen and (max-width: 750px) {
	.tpl-img-cap__cap {
		font-size: 24px;
		font-size: 3.2vw;
	}
}

/*************************************************************
/ テーブルリスト
/************************************************************/
.tpl-dl-list {
	width: 900px;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	line-height: 1.75;
}

@media only screen and (max-width: 750px) {
	.tpl-dl-list {
		width: 100%;
		font-size: 26px;
		font-size: 3.46667vw;
	}
}

.tpl-dl-list__item {
	padding: 35px 0;
	border-bottom: solid 1px #ddd;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
}

@media only screen and (max-width: 750px) {
	.tpl-dl-list__item {
		padding: 7.33333vw 0;
	}
}

.tpl-dl-list__item::after {
	content: '';
	display: block;
	width: 15px;
	height: 1px;
	background-color: #9f3036;
	position: absolute;
	bottom: -1px;
	left: 1px;
}

@media only screen and (max-width: 750px) {
	.tpl-dl-list__item::after {
		width: 4vw;
	}
}

.tpl-dl-list__item:nth-child(1) {
	border-top: solid 1px #ddd;
}

.tpl-dl-list__item:nth-child(1)::before {
	content: '';
	display: block;
	width: 15px;
	height: 1px;
	background-color: #9f3036;
	position: absolute;
	top: -1px;
	left: 1px;
}

@media only screen and (max-width: 750px) {
	.tpl-dl-list__item:nth-child(1)::before {
		width: 4vw;
	}
}

.tpl-dl-list__item dt {
	font-weight: 700;
}

@media only screen and (min-width: 751px) {
	.tpl-dl-list__item dt {
		width: 240px;
		padding-left: 40px;
	}
}

@media only screen and (min-width: 751px) {
	.tpl-dl-list__item dd {
		width: 660px;
		padding-left: 65px;
	}
}

@media only screen and (max-width: 750px) {
	.tpl-dl-list__item dd {
		margin-top: 2vw;
	}
}

.tpl-list {
	padding-left: 1.3em;
	width: 900px;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	line-height: 1.75;
	list-style: outside disc;
}

@media only screen and (max-width: 750px) {
	.tpl-list {
		width: 100%;
		font-size: 26px;
		font-size: 3.46667vw;
		line-height: 1.46154;
	}
}

.tpl-list li:nth-child(n+2) {
	margin-top: 20px;
}

@media only screen and (max-width: 750px) {
	.tpl-list li:nth-child(n+2) {
		margin-top: 3.2vw;
	}
}

/*************************************************************
/ ボックスボタン
/************************************************************/
@media only screen and (max-width: 750px) {
	.tpl-box-btn:nth-child(n+2) {
		margin-top: 10vw;
	}
}

.tpl-box-btn a {
	display: block;
	color: #333;
}

.tpl-box-btn img {
	display: block;
	width: 100%;
}

.tpl-box-btn__txt-block {
	width: 400px;
	height: 167px;
	margin: -83px auto 0;
	padding: 32px 35px;
	background-color: #fff;
	position: relative;
	box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 750px) {
	.tpl-box-btn__txt-block {
		width: 73.33333vw;
		height: auto;
		margin-top: -16vw;
		padding: 5.6vw 6vw;
	}
}

.tpl-box-btn__ttl {
	color: #9f3036;
	font-size: 20px;
}

@media only screen and (max-width: 750px) {
	.tpl-box-btn__ttl {
		font-size: 30px;
		font-size: 4vw;
	}
}

.tpl-box-btn__txt {
	margin-top: 20px;
	font-size: 16px;
	line-height: 1.625;
}

@media only screen and (max-width: 750px) {
	.tpl-box-btn__txt {
		margin-top: 2.66667vw;
		font-size: 26px;
		font-size: 3.46667vw;
	}
}

.tpl-box-btn__txt-block--min {
	width: 273px;
	height: 60px;
	margin-top: -30px;
	margin-left: 0;
	padding: 0 20px 0 30px;
	background-color: #fff;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 750px) {
	.tpl-box-btn__txt-block--min {
		width: 73.33333vw;
		height: 13.33333vw;
		margin-top: -6.66667vw;
	}
}

.tpl-box-btn__txt-block--min::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #9f3036;
}

@media only screen and (max-width: 750px) {
	.tpl-box-btn__txt-block--min::after {
		border-width: 0.8vw 0 0.8vw 1.33333vw;
	}
}

.tpl-box-btn__ttl--min {
	color: #9f3036;
	font-size: 16px;
}

@media only screen and (max-width: 750px) {
	.tpl-box-btn__ttl--min {
		font-size: 26px;
		font-size: 3.46667vw;
	}
}

/*************************************************************
/ 画像テキスト
/************************************************************/
.tpl-img-txt + .tpl-img-txt {
	margin-top: 60px;
}

.tpl-img-txt__img {
	width: 100%;
}

@media only screen and (max-width: 750px) {
	.tpl-img-txt__img.sp-max {
		width: 100vw;
		margin-left: -6.66667vw;
	}
}

.tpl-img-txt__txt {
	width: 904px;
	margin: 50px auto 0;
	font-size: 16px;
	line-height: 2;
}

@media only screen and (max-width: 750px) {
	.tpl-img-txt__txt {
		width: 100%;
		margin-top: 8.66667vw;
		font-size: 26px;
		font-size: 3.46667vw;
		line-height: 1.84615;
	}
}

@media only screen and (min-width: 751px) {
	.tpl-img-txt.tpl-col2 {
		width: 950px;
		justify-content: space-between;
	}
}

.tpl-img-txt.tpl-col2 .tpl-img-txt__img {
	width: 400px;
    /*macbee追加*/
    align-self: flex-start;
}

@media only screen and (max-width: 750px) {
	.tpl-img-txt.tpl-col2 .tpl-img-txt__img {
		width: 100%;
        /*macbee追加*/
        align-self: flex-start;
	}
}

@media only screen and (min-width: 751px) {
	.tpl-img-txt.tpl-col2 .tpl-img-txt__txt {
		width: 514px;
		margin: 0;
	}
}

@media only screen and (max-width: 750px) {
	.tpl-img-txt.tpl-col2 .tpl-img-txt__txt {
		width: 100%;
	}
}

.tpl-img-txt.tpl-right-img {
	flex-direction: row-reverse;
	margin-left: auto;
}

.tpl-img-txt.tpl-txt-first {
	margin-left: auto;
}

@media only screen and (max-width: 750px) {
	.tpl-img-txt.tpl-txt-first .tpl-img-txt__img {
		margin-top: 8.66667vw;
	}
	.tpl-img-txt.tpl-txt-first .tpl-img-txt__txt {
		margin-top: 0;
	}
}

/*************************************************************
/ パターン背景
/************************************************************/
.tpl-patt--graytri {
	background-image: url("/assets/common/img/patt-bg1.png");
	background-repeat: repeat;
	background-position: center;
}

/*# sourceMappingURL=component.css.map */
