@charset "UTF-8";
/*　
css変更履歴

ver1.0.1（2019/07/30）
ボタンの欧文大文字指定を削除
fontawesomeの.farに対応

ver1.0.3（2019/08/02）
カードのアクティブ状態追加
カードのホバーアクション追加
ボタン右側のアイコン用class追加

ver1.1.0（2019/08/07）
チェックボックスボタンの修正
アコーディオンボタンの追加
フォームのエラー状態の追加
ページ内リンクの追加（目次）
テキストの回り込みパターン追加

ver1.2.0（2019/08/13）
マージンの打ち消しクラスを追加しました
目次のパーツを追加しました
扉ページ用の見出し+テキスト画像が入ったカードのパーツを作成しました

ver1.3.0（2019/08/13）
テキストリンクの追加
サブコンテンツパーツの追加

ver1.3.1（2019/08/26）
nav.cssアクティブ時のメニューの修正

ver1.4.0（2019/08/26）
プログレスバーの追加
テキスト丸数字の追加

ver1.5.0（2019/09/02）
2colのマージン40pxverを追加

ver1.6.0（2019/09/06）
グローバルナビゲーションの修正
（PC時はスクロール、SP時には上部固定）
トップへ戻るスクロールボタンの追加

ver1.6.1（2019/09/09）
インプットエリアのフォントの不具合を修正しました

ver1.6.2（2019/10/10）
read-textのカラー、行間を変更しました
heading-xlの欧文サイズを変更しました

ver1.7.0（2019/11/08）
col3の余白が40pxのクラスを追加しました。


/* ヤクハンfontcss */
@font-face {
	font-family: 'YakuHanJPs';
	font-style: normal;
	font-weight: 100;
	src: url('../font/YakuHanJPs-Thin.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJPs';
	font-style: normal;
	font-weight: 200;
	src: url('../font/YakuHanJPs-Light.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJPs';
	font-style: normal;
	font-weight: 300;
	src: url('../font/YakuHanJPs-DemiLight.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJPs';
	font-style: normal;
	font-weight: 400;
	src: url('../font/YakuHanJPs-Regular.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJPs';
	font-style: normal;
	font-weight: 500;
	src: url('../font/YakuHanJPs-Medium.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJPs';
	font-style: normal;
	font-weight: 700;
	src: url('../font/YakuHanJPs-Bold.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJPs';
	font-style: normal;
	font-weight: 900;
	src: url('../font/YakuHanJPs-Black.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 100;
	src: url("../font/YakuHanJP-Thin.woff") format("woff");
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 200;
	src: url("../font/YakuHanJP-Light.woff") format("woff");
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 300;
	src: url("../font/YakuHanJP-DemiLight.woff") format("woff");
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 400;
	src: url("../font/YakuHanJP-Regular.woff") format("woff");
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 500;
	src: url("../font/YakuHanJP-Medium.woff") format("woff");
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 700;
	src: url("../font/YakuHanJP-Bold.woff") format("woff");
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 900;
	src: url("../font/YakuHanJP-Black.woff") format("woff");
}
/* リセットcss */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, input {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	color: #22222a;
	box-sizing: border-box;
	font-size: 14px;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
a {
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th {
	font-weight: normal;
}
input, button, textarea, select {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family : inherit;
  font-size : 100%;
}
select::-ms-expand {
	display: none;
}
/*-----------------フェードインアニメーション----------------*/
.fadein {
	opacity: 0;
	transform: translate(0, 50px);
	transition: all 0.5s;
}
_:-ms-lang(x)::-ms-backdrop, .fadein {
	opacity: 1;
	transform: none;
	transition: all 0;
}
_:-ms-lang(x)::-ms-backdrop, .heading-xl.fadein {
	padding-top: calc(32px + 96px);
}
@media screen and (max-width:840px) {
	_:-ms-lang(x)::-ms-backdrop, .heading-xl.fadein {
		padding-top: calc(32px + 64px);
	}
}

.fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
/*-----------------フォント指定----------------*/
body {
	font-family: 'YakuHanJP', Arial, 'Noto Sans JP', sans-serif, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
	line-height: 1.35;
	 -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/*----------本文などの長文の場合にclass適用-----------*/
.read-text {
	font-family: 'YakuHanJPs', Arial, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
	line-height: 1.9;
	color: #333339;
	overflow-wrap: break-word;
}
/*----------IEのみフォント：メイリオを指定-----------*/
@media all and (-ms-high-contrast:none) {
	body {
		font-family: 'YakuHanJP', Arial, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
	}
	.read-text {
		font-family: 'YakuHanJP', Arial, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
	}
}
/*-----------------------下層ページ動画貼り付け-----------------------*/
.video-1col {
	display: block;
	margin: 0 auto;
	width: 640px;
}
@media screen and (max-width:600px) {
	.video-1col {
		width: 100%;
	}
}
/*-----------------------区切り線-----------------------*/
.section-line {
	border-bottom: 1px solid #e6e6eb;
}
@media screen and (max-width:600px) {
	.dp-none600 {
		display: none;
	}
}
/*-----------------------コンテンツ幅-----------------------*/
main {padding-top: 96px;
}
.container {
	max-width: 1200px;
	padding: 0 56px;
	margin: 0 auto;
}
@media screen and (max-width:840px) {
	main {
		padding-top: 64px;
	}
	.container {
		padding: 0 20px;
	}
}
/*-----------------------ボタン-----------------------*/
.btn-base {
	border-radius: 2px;
	display: inline-block;
	position: relative;
	padding: 12px 20px;
	border: 1px solid #22222a;
	cursor: pointer;
	line-height: 1.25;
	font-weight: bold;
	z-index: 1;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}
.btn-base .fas, .btn-base .far {
	color: #fa0;
}
.btn-base .fa-file-pdf {
    color: #dc3545;
}
.btn-base::before {
	background: -webkit-linear-gradient(0deg, rgba(255, 170, 0, 1) 0%, rgba(255, 180, 0, 1) 49.44%, rgba(255, 170, 0, 1) 100%);
	background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 170, 0, 1)), color-stop(0.4944, rgba(255, 180, 0, 1)), color-stop(1, rgba(255, 170, 0, 1)));
	background: linear-gradient(90deg, rgba(255, 170, 0, 1) 0%, rgba(255, 180, 0, 1) 49.44%, rgba(255, 170, 0, 1) 100%);
	content: '';
	position: absolute;
	z-index: -1;
	height: 100%;
	left: 0;
	top: 0;
	width: 0;
	-webkit-transition: all 0.3s 0.2s ease-in-out;
	-moz-transition: all 0.3s 0.2s ease-in-out;
	-o-transition: all 0.3s 0.2s ease-in-out;
	transition: all 0.3s 0.2s ease-in-out;
	border-radius: 2px;
}
.btn-base:hover, .btn-base:focus {
	border: 1px solid rgba(34, 34, 42, 0);
}
.btn-base:hover.btn-base .fas, .btn-base:hover.btn-base .far, .btn-base:hover.btn-select-wrap::after, .btn-base:hover.acd-label:after, .acd-label:hover .acd-faqtext {
	color: #fff;
}
.btn-base:hover:before {
	width: 100%;
}
/*-----------------------ボタンサイズ-----------------------*/
.btn-size-s {
	padding: 7px 14px;
}
.btn-size-l {
	padding: 28px 16px;
	font-size: 1.571rem;
}
@media screen and (max-width:600px) {
	.btn-size-l {
		padding: 18px 16px;
	}
}
/*-----------------------ボタンデザイン-----------------------*/
.btn-design-1 {
	background: #fff;
	border: none;
	box-shadow: 0px 4px 15px -6px rgba(0, 0, 0, 0.2);
}
.btn-design-1:hover {
	border: none;
	color: #fff;
	box-shadow: 0px 4px 35px -8px rgba(0, 0, 0, 0.35);
}
.btn-design-1 .fas, .btn-design-1 .far {
	color: #fa0;
}
.btn-design-1:hover.btn-design-1 .fas, .btn-design-1:hover.btn-design-1 .far {
	color: #fa0;
}
.btn-design-1::before, .btn-design-1::after {
	background: #22222a;
}
.btn-design-2 {
	border: 1px solid #fa0;
}
.btn-icon-r {
	padding-right: 36px;
	position: relative;
}
.btn-icon-r i {
	position: absolute;
	right: 10px;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
}
_:-ms-lang(x)::-ms-backdrop, .btn-icon-r i.fa-th {
    transform: none;
}
.btn-icon-r .fa-th , footer .list .fa-th {
	position: static;
	display: inline;
}
/*-----------------------テキストリンク-----------------------*/
.text-link {
	margin: 0 4px;
	color: #3641de;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	word-break: break-all;
}
.text-link:hover {
	text-decoration: underline;
}
/*-----------------------カード-----------------------*/
.card {
	background: #fff;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	box-shadow: 0px 4px 6px -6px rgba(0, 0, 0, 0.1);
	border-radius: 2px;
}
.card:hover {
	box-shadow: 0px 4px 24px -8px rgba(0, 0, 0, 0.2);
}
.card-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	height: 100%;
}
.card-inactive {
	background: rgba(0, 0, 20, 0.04);
	cursor: default;
	box-shadow: none;
}
.card-inactive:hover {
	box-shadow: none;
}
.card-bottom-img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-flow: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
/*-----------------------アコーディオン-----------------------*/
.acd-check {
	display: none;
}
.acd-label {
	padding: 12px 36px 12px 20px;
}
.acd-label:after {
	content: '\f067';
	display: block;
	font-family: "Font Awesome 5 Free";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	right: 10px;
	color: #fa0;
	font-size: 1.3rem;
	pointer-events: none;
}
.acd-content {
	display: block;
	height: 0;
	opacity: 0;
	transition: .5s;
	visibility: hidden;
}
.acd-check:checked + .acd-label:after {
	content: '\f068';
}
.acd-check:checked + .acd-label + .acd-content {
	height: auto;
	opacity: 1;
	padding: 16px 0;
	visibility: visible;
}
.acd-faqtext {
	width: 40px;
	color: #fa0;
	display: inline-block;
	z-index: 10;
}
/*-----------------------見出し-----------------------*/
/*--最大見出し（下層ページトップの見出し）--*/
.heading-xl {
	background: -webkit-linear-gradient(0deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
	background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(238, 238, 243, 1)), color-stop(0.5, rgba(248, 248, 251, 1)), color-stop(1, rgba(238, 238, 243, 1)));
	background: linear-gradient(90deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
	padding: 32px 24px;
	text-align: center;
	position: relative;
	font-size: 2.714rem;
}
.heading-xl h1 {
	font-size: 2.714rem;
}
.heading-xl-subtext {
	font-weight: normal;
	display: block;
	font-size: 1rem;
}
.heading-xl-category {
	    color: #fa0;
    font-size: 1.15rem;
    letter-spacing: 0.4em;
    font-family: 'Roboto', "Arial Black", Gadget, "sans-serif";
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    display: block;
}
@media screen and (max-width:600px) {
	.heading-xl {
		font-size: 1.857rem;
		padding: 24px 24px;
	}
	.heading-xl h1 {
		font-size: 1.857rem;
	}
	.heading-xl-subtext {
		font-size: 0.857rem;
	}
	.heading-xl-category {
		font-size: 1rem;
		letter-spacing: 0.3em;
	}
}
/*--大見出し--*/
.heading-l {
	background: -webkit-linear-gradient(0deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
	background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(238, 238, 243, 1)), color-stop(0.5, rgba(248, 248, 251, 1)), color-stop(1, rgba(238, 238, 243, 1)));
	background: linear-gradient(90deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
	padding: 32px;
	font-size: 2.142rem;
	position: relative;
}
.heading-l::before {
	content: "";
	display: block;
	width: 40px;
	height: 3px;
	background: #fa0;
	position: absolute;
	top: 50%;
	left: -20px;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
}
.heading-l-subtext {
	font-weight: normal;
	display: block;
	font-size: 1rem;
}
@media screen and (max-width:600px) {
	.heading-l {
		padding: 24px 32px;
		font-size: 1.428rem;
	}
	.heading-l-subtext {
		font-size: 0.857rem;
	}
}
/*--中見出し--*/
.heading-m {
	font-size: 1.714rem;
	margin-bottom: 24px;
}
.heading-m::after {
	content: "";
	display: block;
	width: 32px;
	height: 3px;
	background: #fa0;
	margin-top: 12px;
}
.heading-m-2col {
	float: left;
	width: 232px;
	padding-right: 24px;
	margin-bottom: 0px;
}
.heading-m-2col-content {
	float: left;
	width: calc(100% - 232px);
}
@media screen and (max-width:600px) {
	.heading-m {
		font-size: 1.428rem;
	}
	.heading-m-2col {
		float: none;
		width: 100%;
		padding-right: 0;
		margin-bottom: 28px;
	}
	.heading-m-2col-content {
		float: none;
		width: 100%;
	}
}
/*--中見出しセンタリング--*/
.heading-m-center {
	font-size: 1.714rem;
	margin-bottom: 24px;
	text-align: center;
}
.heading-m-center::after {
	content: "";
	display: block;
	width: 32px;
	height: 3px;
	background: #fa0;
	margin: 12px auto 0;
}
@media screen and (max-width:600px) {
	.heading-m-center {
		font-size: 1.571rem;
	}
}
/*--小見出し--*/
.heading-s {
	background: -webkit-linear-gradient(0deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
	background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(238, 238, 243, 1)), color-stop(0.5, rgba(248, 248, 251, 1)), color-stop(1, rgba(238, 238, 243, 1)));
	background: linear-gradient(90deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
	text-align: center;
	font-weight: bold;
	padding: 12px 8px;
}
/*--最小見出し--*/
.heading-xs {
	font-size: 1.142rem;
	font-weight: bold;
	padding-left: 20px;
	position: relative;
}
.heading-xs::before {
	content: "";
	display: block;
	position: absolute;
	top: 11px;
	left: 0;
	width: 12px;
	height: 3px;
	background: #fa0;
}
/*--サブナビ用見出し--*/
.heading-subnav {
	display: flex;
	align-items: center;
	font-weight: bold;
}
.heading-subnav:before, .heading-subnav:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #ccccd4;
	display: block;
}
.heading-subnav:before {
	margin-right: 16px;
}
.heading-subnav:after {
	margin-left: 16px;
}
/*--リスト--*/
.list li {
	border-bottom: 1px solid #eeeef3;
}
.list li a {
	display: block;
	-webkit-transition: all 0.6s;
	-moz-transition: all 0.6s;
	-o-transition: all 0.6s;
	transition: all 0.6s;
	padding-right: 16px;
	position: relative;
	padding-left: 8px;
}
.list li a i {
	position: absolute;
	right: 4px;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
}
.list li a:hover {
	background: #f8f8fb;
}
/*--見出し付きリスト--*/
.list-table span {
	display: inline-block;
	vertical-align: top;
}
/*--テキストリスト箇条書き--*/
.list-text-circle li span:first-child {
	display: inline-block;
	vertical-align: top;
	width: 8px;
}
.list-text-circle li span:last-child {
	display: inline-block;
	width: calc(100% - 8px);
}
/*--テキストリスト番号--*/
.list-text-num li span:first-child {
	display: inline-block;
	vertical-align: top;
	width: 20px;
}
.list-text-num li span:last-child {
	display: inline-block;
	width: calc(100% - 20px);
}
/*--テーブル--*/
.table {
	border-top: 1px solid #eeeef3;
}
.table tr {
	border-bottom: 1px solid #eeeef3;
}
.table tr td, .table tr th {
	border-right: 1px solid #eeeef3;
}
.table tr td:last-child, .table tr th:last-child {
	border-right: none;
}
/*--フォーム--*/
.form-label {
	display: block;
}
/*--入力フィールド--*/
.text-field {
	background: #f8f8fb;
	font-size: 1.142rem;
	padding: 14px;
	display: block;
	border-bottom: 2px solid #55555d;
}
.text-field:focus {
	border-bottom: 2px solid #fa0;
}
.text-field::-webkit-input-placeholder {
	color: #acacb3;
}
.text-field::-moz-placeholder {
	color: #acacb3;
}
.text-field:-ms-input-placeholder {
	color: #acacb3;
}
/*--チェックボックス--*/
.checkbox-label {
	display: inline-block;
	padding: 10px 0 10px 40px;
}
.checkbox-label input[type='checkbox'] {
	position: absolute;
	left: -1000em;
}
.checkbox-text {
	position: relative;
	padding: 8px 0;
	height: 100%;
}
.checkbox-text::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -40px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	display: block;
	border: 2px solid #22222a;
	background: #fff;
	width: 23px;
	height: 23px;
}
.checkbox-input:checked + .checkbox-text::before {
	content: "\f00c";
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	line-height: 23px;
	font-weight: 900;
	border: 2px solid #fa0;
	background: #fa0;
	font-family: "Font Awesome 5 Free";
}
/*--ラジオボタン--*/
input[type='radio'] {
	display: none;
}
.radio-btn + label {
	padding: 8px 0 8px 32px;
	position: relative;
	display: inline-block;
}
.radio-btn + label::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 23px;
	height: 23px;
	border: 2px solid #22222a;
	border-radius: 50%;
}
.radio-btn:checked + label::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 7px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 13px;
	height: 13px;
	background: #fa0;
	border-radius: 50%;
}
/*--セレクトボックス--*/
.btn-select {
	font-size: 1rem;
	line-height: 1.25em;
	font-weight: bold;
	cursor: pointer;
	padding: 12px 36px 12px 20px;
	color: #22222a;
}
.btn-select-wrap::after {
	font-family: "Font Awesome 5 Free";
	content: "\f103";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	height: 1.4rem;
	right: 10px;
	color: #fa0;
	font-size: 1.3rem;
	pointer-events: none;
}
.btn-select-wrap {
	padding: 0;
}
/*--ラベル--*/
.text-label {
	display: inline-block;
	background: #eeeef3;
	line-height: 18px;
	border-radius: 9px;
	padding: 0 8px;
}
/*--テキスト背景色付き丸数字--*/
.text-circle {display: inline-block;
	background: #eeeef3;
	width: 20px;
	height: 20px;
	text-align: center;
	font-weight: bold;
	border-radius: 50%;
	font-size:0.9rem;
	vertical-align: top;
	
}
/*----------------------プログレスバー-----------------------*/
.progress-orange {
	position: relative;
}
.progress-orange::after {
	content: "";
	position: absolute;
	right: -18px;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 19px 0 19px 18px;
	border-color: transparent transparent transparent #fa0;
}
.progress-gray {
	position: relative;
}
.progress-gray::after {
	content: "";
	position: absolute;
	right: -18px;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 19px 0 19px 18px;
	border-color: transparent transparent transparent rgba(238, 238, 243, 1);
}

/*----------------------バナーエリアパーツ-----------------------*/
.bunner-list , .bunner-track {
	-webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
.bunner-list {position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;}

.bunner-track {
	    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*----------------------トップへ戻るボタン----------------------*/
.btn-floating-top {
	position: fixed;
	right: 0;
	bottom:0;
	
}
.btn-floating-top a {
	display: block;
	width: 70px;
	height: 70px;
	background: #fa0;
	text-align: center;
	line-height: 78px;
	border-radius:3px 0 0 0;
}

.btn-floating-top a:hover {
	background: #ffb400;
}

@media screen and (max-width:600px) {
	
	.btn-floating-top a {
	display: block;
	width: 52px;
	height: 52px;
	background: #fa0;
	text-align: center;
	line-height: 63px;
	border-radius:3px 0 0 0;
}
	
	
}

/*-----------------汎用css----------------*/
/*------レイアウト-----*/
/* 行揃え  */
.ta-center {
	text-align: center;
}
.ta-left {
	text-align: left;
}
.ta-right {
	text-align: right;
}
/* width（%指定）固定 */
.w-fix-100 {
	width: 100%;
}
.w-fix-90 {
	width: 90%;
}
.w-fix-80 {
	width: 80%;
}
.w-fix-70 {
	width: 70%;
}
.w-fix-60 {
	width: 60%;
}
.w-fix-50 {
	width: 50%;
}
.w-fix-40 {
	width: 40%;
}
.w-fix-30 {
	width: 30%;
}
.w-fix-20 {
	width: 20%;
}
.w-fix-10 {
	width: 10%;
}
/* width（%指定）レスポンシブ（600px以下で100%） */
.w-res-90 {
	width: 90%;
}
.w-res-80 {
	width: 80%;
}
.w-res-70 {
	width: 70%;
}
.w-res-60 {
	width: 60%;
}
.w-res-50 {
	width: 50%;
}
.w-res-40 {
	width: 40%;
}
.w-res-30 {
	width: 30%;
}
.w-res-20 {
	width: 20%;
}
.w-res-10 {
	width: 10%;
}
@media screen and (max-width:600px) {
	.w-res-90 {
		width: 100%;
	}
	.w-res-80 {
		width: 100%;
	}
	.w-res-70 {
		width: 100%;
	}
	.w-res-60 {
		width: 100%;
	}
	.w-res-50 {
		width: 100%;
	}
	.w-res-40 {
		width: 100%;
	}
	.w-res-30 {
		width: 100%;
	}
	.w-res-20 {
		width: 100%;
	}
	.w-res-10 {
		width: 100%;
	}
}
/* height（%指定）  */
.h-100 {
	height: 100%;
}
/* 汎用フロート  */
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
.fl-l {
	float: left;
}
.fl-r {
	float: right;
}
/* レスポンシブイメージ  */
.img-responsive {
	display: block;
	height: auto;
	max-width: 100%;
}
/* 均等カラム分け  */
.col3-row, .col2-row, .col3-row-fix {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-bottom: -32px;
	align-items: stretch;
}
.col3 , .col3-fix {
	width: calc(33.3% - 16px);
	margin-right: 24px;
	margin-bottom: 24px;
}
.col3-m-40 {
	width: calc(33.3% - 26.7px);
	margin-right: 40px;
	margin-bottom: 40px;
}
_:-ms-lang(x)::-ms-backdrop, .card-bottom-img.col3-m-40 img {
    flex-shrink: 0;
}
.col2 {
	width: calc(50% - 12px);
	margin-right: 24px;
	margin-bottom: 24px;
}

.col2-m-40 {
	width: calc(50% - 20px);
	margin-right: 40px;
	margin-bottom: 40px;
}
.col2-row .col2:nth-child(2n) , .col2-row .col2-m-40:nth-child(2n) {
	margin-right: 0;
}
.col3-row .col3:nth-child(3n), .col3-row-fix .col3-fix:nth-child(3n) , .col3-row .col3-m-40:nth-child(3n) {margin-right: 0;
}
/* ブレイクポイント表示・非表示  */
/* 600px以下で表示  */
.dp-block600 {
	display: none;
}
/* 840px以下で表示  */
.dp-block840 {
	display: none;
}
@media screen and (max-width:840px) {
	.dp-block840 {
		display: block;
	}
}


/* フレックスボックス要素  */
.dp-flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
}
@media screen and (max-width:600px) {
	.col2 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 24px;
	}
	
	.col2-m-40 {
	width: 100%;
	margin-right: 0;
	margin-bottom: 32px;
}
	
	.col2-row .col2:last-child , .col2-row .col2-m-40:last-child {
		margin-bottom: 0;
	}
	.col3 , .col3-m-40 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 24px;
	}
	.col3-row .col3:last-child , .col3-row .col3-m-40:last-child {
		margin-bottom: 0;
	}
	.col2-row, .col3-row {
		padding-bottom: 24px;
	}
	.dp-block600 {
		display: block;
	}
	/* 601px以上で表示  */
	.dp-none600 {
		display: none;
	}
}
/* サブナビ用パーツ  */
.col3-blank {
	margin-bottom: 0;
}
/* -----マージン----- */
/* ブロック要素の左右センタリング時に使用 */
.m-auto {
	margin: 0 auto;
}
/* 共通マージン 8px */
.m-8 {
	margin: 8px;
}
.m-lr-8 {
	margin: 0 8px;
}
.m-tb-8 {
	margin: 8px 0;
}
.m-l-8 {
	margin-left: 8px;
}
.m-t-8 {
	margin-top: 8px;
}
.m-r-4 {
	margin-right: 4px;
}
.m-r-8 {
	margin-right: 8px;
}
.m-b-8 {
	margin-bottom: 8px;
}
.p-8 {
	padding: 8px;
}
.p-lr-8 {
	padding: 0 8px;
}
.p-tb-8 {
	padding: 8px 0;
}
.p-l-8 {
	padding-left: 8px;
}
.p-t-8 {
	padding-top: 8px;
}
.p-r-8 {
	padding-right: 8px;
}
.p-b-8 {
	padding-bottom: 8px;
}
/* 共通マージン 16px */
.m-16 {
	margin: 16px;
}
.m-lr-16 {
	margin: 0 16px;
}
.m-tb-16 {
	margin: 16px 0;
}
.m-l-4 {
	margin-left: 4px;
}
.m-l-16 {
	margin-left: 16px;
}
.m-t-16 {
	margin-top: 16px;
}
.m-r-16 {
	margin-right: 16px;
}
.m-b-16 {
	margin-bottom: 16px;
}
.p-16 {
	padding: 16px;
}
.p-lr-16 {
	padding: 0 16px;
}
.p-tb-16 {
	padding: 16px 0;
}
.p-l-16 {
	padding-left: 16px;
}
.p-t-16 {
	padding-top: 16px;
}
.p-r-16 {
	padding-right: 16px;
}
.p-b-16 {
	padding-bottom: 16px;
}
/* 共通マージン 24px */
.m-24 {
	margin: 24px;
}
.m-lr-24 {
	margin: 0 24px;
}
.m-tb-24 {
	margin: 24px 0;
}
.m-l-24 {
	margin-left: 24px;
}
.m-t-24 {
	margin-top: 24px;
}
.m-r-24 {
	margin-right: 24px;
}
.m-b-24 {
	margin-bottom: 24px;
}
.p-24 {
	padding: 24px;
}
.p-lr-24 {
	padding: 0 24px;
}
.p-tb-24 {
	padding: 24px 0;
}
.p-l-24 {
	padding-left: 24px;
}
.p-t-24 {
	padding-top: 24px;
}
.p-r-24 {
	padding-right: 24px;
}
.p-b-24 {
	padding-bottom: 24px;
}
/* 共通マージン 40px（600px以下で32pxにダウン） */
.m-40 {
	margin: 40px;
}
.m-lr-40 {
	margin: 0 40px;
}
.m-tb-40 {
	margin: 40px 0;
}
.m-l-40 {
	margin-left: 40px;
}
.m-t-40 {
	margin-top: 40px;
}
.m-r-40 {
	margin-right: 40px;
}
.m-b-40 {
	margin-bottom: 40px;
}
.p-40 {
	padding: 40px;
}
.p-lr-40 {
	padding: 0 40px;
}
.p-tb-40 {
	padding: 40px 0;
}
.p-l-40 {
	padding-left: 40px;
}
.p-t-40 {
	padding-top: 40px;
}
.p-r-40 {
	padding-right: 40px;
}
.p-b-40 {
	padding-bottom: 40px;
}
@media screen and (max-width:600px) {
	.m-40 {
		margin: 32px;
	}
	.m-lr-40 {
		margin: 0 32px;
	}
	.m-tb-40 {
		margin: 32px 0;
	}
	.m-l-40 {
		margin-left: 32px;
	}
	.m-t-40 {
		margin-top: 32px;
	}
	.m-r-40 {
		margin-right: 32px;
	}
	.m-b-40 {
		margin-bottom: 32px;
	}
	.p-40 {
		padding: 32px;
	}
	.p-lr-40 {
		padding: 0 32px;
	}
	.p-tb-40 {
		padding: 32px 0;
	}
	.p-l-40 {
		padding-left: 32px;
	}
	.p-t-40 {
		padding-top: 32px;
	}
	.p-r-40 {
		padding-right: 32px;
	}
	.p-b-40 {
		padding-bottom: 32px;
	}
}
/* 共通マージン 56px（600px以下で48pxにダウン） */
.m-56 {
	margin: 56px;
}
.m-lr-56 {
	margin: 0 56px;
}
.m-tb-56 {
	margin: 56px 0;
}
.m-l-56 {
	margin-left: 56px;
}
.m-t-56 {
	margin-top: 56px;
}
.m-r-56 {
	margin-right: 56px;
}
.m-b-56 {
	margin-bottom: 56px;
}
.p-56 {
	padding: 56px;
}
.p-lr-56 {
	padding: 0 56px;
}
.p-tb-56 {
	padding: 56px 0;
}
.p-l-56 {
	padding-left: 56px;
}
.p-t-56 {
	padding-top: 56px;
}
.p-r-56 {
	padding-right: 56px;
}
.p-b-56 {
	padding-bottom: 56px;
}
@media screen and (max-width:600px) {
	.m-56 {
		margin: 48px;
	}
	.m-lr-56 {
		margin: 0 48px;
	}
	.m-tb-56 {
		margin: 48px 0;
	}
	.m-l-56 {
		margin-left: 48px;
	}
	.m-t-56 {
		margin-top: 48px;
	}
	.m-r-56 {
		margin-right: 48px;
	}
	.m-b-56 {
		margin-bottom: 48px;
	}
	.p-56 {
		padding: 48px;
	}
	.p-lr-56 {
		padding: 0 48px;
	}
	.p-tb-56 {
		padding: 48px 0;
	}
	.p-l-56 {
		padding-left: 48px;
	}
	.p-t-56 {
		padding-top: 48px;
	}
	.p-r-56 {
		padding-right: 48px;
	}
	.p-b-56 {
		padding-bottom: 48px;
	}
}
/* 共通マージン 80px（600px以下で64pxにダウン） */
.m-80 {
	margin: 80px;
}
.m-lr-80 {
	margin: 0 80px;
}
.m-tb-80 {
	margin: 80px 0;
}
.m-l-80 {
	margin-left: 80px;
}
.m-t-80 {
	margin-top: 80px;
}
.m-r-80 {
	margin-right: 80px;
}
.m-b-80 {
	margin-bottom: 80px;
}
.p-80 {
	padding: 80px;
}
.p-lr-80 {
	padding: 0 80px;
}
.p-tb-80 {
	padding: 80px 0;
}
.p-l-80 {
	padding-left: 80px;
}
.p-t-80 {
	padding-top: 80px;
}
.p-r-80 {
	padding-right: 80px;
}
.p-b-80 {
	padding-bottom: 80px;
}
@media screen and (max-width:600px) {
	.m-80 {
		margin: 64px;
	}
	.m-lr-80 {
		margin: 0 64px;
	}
	.m-tb-80 {
		margin: 64px 0;
	}
	.m-l-80 {
		margin-left: 64px;
	}
	.m-t-80 {
		margin-top: 64px;
	}
	.m-r-80 {
		margin-right: 64px;
	}
	.m-b-80 {
		margin-bottom: 64px;
	}
	.p-80 {
		padding: 64px;
	}
	.p-lr-80 {
		padding: 0 64px;
	}
	.p-tb-80 {
		padding: 64px 0;
	}
	.p-l-80 {
		padding-left: 64px;
	}
	.p-t-80 {
		padding-top: 64px;
	}
	.p-r-80 {
		padding-right: 64px;
	}
	.p-b-80 {
		padding-bottom: 64px;
	}
}
/* 共通マージン 104px（600px以下で80pxにダウン） */
.m-104 {
	margin: 104px;
}
.m-lr-104 {
	margin: 0 104px;
}
.m-tb-104 {
	margin: 104px 0;
}
.m-l-104 {
	margin-left: 104px;
}
.m-t-104 {
	margin-top: 104px;
}
.m-r-104 {
	margin-right: 104px;
}
.m-b-104 {
	margin-bottom: 104px;
}
.p-104 {
	padding: 104px;
}
.p-lr-104 {
	padding: 0 104px;
}
.p-tb-104 {
	padding: 104px 0;
}
.p-l-104 {
	padding-left: 104px;
}
.p-t-104 {
	padding-top: 104px;
}
.p-r-104 {
	padding-right: 104px;
}
.p-b-104 {
	padding-bottom: 104px;
}
@media screen and (max-width:600px) {
	.m-104 {
		margin: 80px;
	}
	.m-lr-104 {
		margin: 0 80px;
	}
	.m-tb-104 {
		margin: 80px 0;
	}
	.m-l-104 {
		margin-left: 80px;
	}
	.m-t-104 {
		margin-top: 80px;
	}
	.m-r-104 {
		margin-right: 80px;
	}
	.m-b-104 {
		margin-bottom: 80px;
	}
	.p-104 {
		padding: 80px;
	}
	.p-lr-104 {
		padding: 0 80px;
	}
	.p-tb-104 {
		padding: 80px 0;
	}
	.p-l-104 {
		padding-left: 80px;
	}
	.p-t-104 {
		padding-top: 80px;
	}
	.p-r-104 {
		padding-right: 80px;
	}
	.p-b-104 {
		padding-bottom: 80px;
	}
}
/* PCビューでのマージン打ち消し（601px以上で値を0に変更） */
@media screen and (min-width:601px) {
	.m-0-pc {
		margin: 0;
	}
	.m-lr-0-pc {
		margin: 0 0;
	}
	.m-tb-0-pc {
		margin: 0 0;
	}
	.m-l-0-pc {
		margin-left: 0;
	}
	.m-t-0-pc {
		margin-top: 0;
	}
	.m-r-0-pc {
		margin-right: 0;
	}
	.m-b-0-pc {
		margin-bottom: 0;
	}
	.p-0-pc {
		padding: 0;
	}
	.p-lr-0-pc {
		padding: 0 0;
	}
	.p-tb-0-pc {
		padding: 0 0;
	}
	.p-l-0-pc {
		padding-left: 0;
	}
	.p-t-0-pc {
		padding-top: 0;
	}
	.p-r-0-pc {
		padding-right: 0;
	}
	.p-b-0-pc {
		padding-bottom: 0;
	}
}
/* スマホビューでのマージン打ち消し（600px以下で値を0に変更） */
@media screen and (max-width:600px) {
	.m-0-sp {
		margin: 0;
	}
	.m-lr-0-sp {
		margin: 0 0;
	}
	.m-tb-0-sp {
		margin: 0 0;
	}
	.m-l-0-sp {
		margin-left: 0;
	}
	.m-t-0-sp {
		margin-top: 0;
	}
	.m-r-0-sp {
		margin-right: 0;
	}
	.m-b-0-sp {
		margin-bottom: 0;
	}
	.p-0-sp {
		padding: 0;
	}
	.p-lr-0-sp {
		padding: 0 0;
	}
	.p-tb-0-sp {
		padding: 0 0;
	}
	.p-l-0-sp {
		padding-left: 0;
	}
	.p-t-0-sp {
		padding-top: 0;
	}
	.p-r-0-sp {
		padding-right: 0;
	}
	.p-b-0-sp {
		padding-bottom: 0;
	}
}
/*------文字サイズ-----*/
.fs-40 {
	font-size: 2.857rem;
}
.fs-38 {
	font-size: 2.714rem;
}
.fs-36 {
	font-size: 2.571rem;
}
.fs-34 {
	font-size: 2.428rem;
}
.fs-32 {
	font-size: 2.285rem;
}
.fs-30 {
	font-size: 2.142rem;
}
.fs-28 {
	font-size: 2rem;
}
.fs-26 {
	font-size: 1.857rem;
}
.fs-24 {
	font-size: 1.714rem;
}
.fs-22 {
	font-size: 1.571rem;
}
.fs-20 {
	font-size: 1.428rem;
}
.fs-18 {
	font-size: 1.285rem;
}
.fs-17 {
	font-size: 1.214285707rem;
}
.fs-16 {
	font-size: 1.142rem;
}
.fs-14 {
	font-size: 1rem;
}
.fs-12 {
	font-size: 0.857rem;
}
.fs-10 {
	font-size: 0.714rem;
}
/*------文字ウェイト-----*/
.fw-bold {
	font-weight: bold;
}
.fw-normal {
	font-weight: normal;
}
/*------色-----*/
/* ブランドカラーオレンジ  */
.c-brand-orange {
	color: #fa0;
}
.c-brand-orange-bg {
	background-color: #fa0;
}
.c-brand-orange-bd {
	border-color: #fa0;
}
/* ブランドカラーイエロー  */
.c-brand-yellow {
	color: #ffc800;
}
.c-brand-yellow-bg {
	background-color: #ffc800;
}
.c-brand-yellow-bd {
	border-color: #ffc800;
}
/* ブランドカラーグレー  */
.c-brand-gray {
	color: #9b9b9b;
}
.c-brand-gray-bg {
	background-color: #9b9b9b;
}
.c-brand-gray-bd {
	border-color: #9b9b9b;
}
/* 文字色などの無彩色  */
/* ベース黒（bodyに当たっているベースの黒）  */
.c-base-blk {
	color: #22222a;
}
.c-base-bg {
	background-color: #22222a;
}
.c-base-bd {
	border-color: #22222a;
}
/* 長文文字用黒（ベース黒よりちょっと明るい）  */
.c-blk {
	color: #55555d;
}
.c-blk-bg {
	background-color: #55555d;
}
.c-blk-bd {
	border-color: #55555d;
}
/* 通常グレー  */
.c-gray {
	color: #ccccd4;
}
.c-gray-bg {
	background-color: #ccccd4;
}
.c-gray-bd {
	border-color: #ccccd4;
}
/* 薄いグレー  */
.c-light-gray {
	color: #eeeef3;
}
.c-light-gray-bg {
	background-color: #eeeef3;
}
.c-light-gray-bd {
	border-color: #eeeef3;
}
/* 最も薄いグレー  */
.c-exlight-gray {
	color: #f8f8fb;
}
.c-exlight-gray-bg {
	background-color: #f8f8fb;
}
.c-exlight-gray-bd {
	border-color: #f8f8fb;
}
/* 白  */
.c-white {
	color: #fff;
}
.c-white-bg {
	background-color: #fff;
}
.c-white-bd {
	border-color: #fff;
}
/* エラーの赤  */
.c-error {
	color: #dc3545;
}
.c-error-bg {
	background-color: #dc3545;
}
.c-error-bd {
	border-color: #dc3545;
}
/* 薄いグレーグラデーション  */
.c-light-gray-bd-grd {
	background: -webkit-linear-gradient(0deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
	background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(238, 238, 243, 1)), color-stop(0.5, rgba(248, 248, 251, 1)), color-stop(1, rgba(238, 238, 243, 1)));
	background: linear-gradient(90deg, rgba(238, 238, 243, 1) 0%, rgba(248, 248, 251, 1) 50%, rgba(238, 238, 243, 1) 100%);
}
/* ブランドカラーオレンジグラデーション  */
.c-brand-orange-bd-grd {
	background: -webkit-linear-gradient(0deg, rgba(255, 170, 0, 1) 0%, rgba(255, 180, 0, 1) 49.44%, rgba(255, 170, 0, 1) 100%);
	background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 170, 0, 1)), color-stop(0.4944, rgba(255, 180, 0, 1)), color-stop(1, rgba(255, 170, 0, 1)));
	background: linear-gradient(90deg, rgba(255, 170, 0, 1) 0%, rgba(255, 180, 0, 1) 49.44%, rgba(255, 170, 0, 1) 100%);
}
.text-del-line {
	text-decoration: line-through;
	text-decoration-color: #000;
}
.img-copy-guard {
	pointer-events: none;
	/* SPの長押し禁止 */
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
	user-select:none;
}