@charset "utf-8";
/* ------------------------------
 見出し&テキスト
------------------------------ */
/* -- H1 -- */
.headering h1,
.headering p {
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	color: #105FAD;
	position: relative;
	z-index: 2;
}
.headering h1::after,
.headering p::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -30px;
	margin: auto;
	width: 64px;
	height: 2px;
	background: #105FAD;
}

/* -- TOP H2 -- */
.contentsHome h2 {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 70px;
}
.contentsHome h2 span {
	font-family: 'Montserrat', sans-serif;
	font-size: 3.2rem;
	color: #105FAD;
	letter-spacing: .05em;
	display: inline-block;
	padding-top: 70px;
	margin-bottom: 10px;
	border-top: solid 4px #105FAD;
}
.contentsHome h2 span small {
	font-size: 75%;
	font-weight: normal;
	color: #D5D8D9;
}

/* -- H2 -- */
.contents h2 {
	font-size: 2.4rem;
	font-weight: bold;
	padding-bottom: 20px;
	margin-bottom: 40px;
	position: relative;
	border-bottom: solid 2px #D6DADB;
}
.contents h2::before {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 96px;
	height: 2px;
	background: #105FAD;
}
/* -- H3 -- */
.contents h3 {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
	color: #fff;
	padding: 12px 15px;
	margin-bottom: 30px;
	border-radius: 6px;
	background: #0E5396;
	background: linear-gradient(-90deg, #149BD9 0%, #105FAD 50%, #063D73 100%);
}
.contents h3 small {
	font-size: 1.5rem;
}

/* -- H4 -- */
.contents h4 {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 17px;
	margin-bottom: 10px;
	position: relative;
}
.contents h4::before {
	content: "";
	position: absolute;
	top: 2px;
	bottom: 3px;
	left: 0;
	width: 4px;
	background: #105FAD;
}
/* -- 番号ふり h4 -- */
.number-title h4 {
	padding-left: 30px;
}
.number-title h4::before {
	display: none;
}
.number-title h4 span,
span.number-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 1.5rem;
	line-height: 24px;
	color: #fff;
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border-radius: 100%;
	background: #105FAD;
}
span.number-title {
	position: static;
	margin-right: 3px;
}
/* -- 画像がある場合のh4 -- */
.img-title h4 {
	display: flex;
	align-items: center;
	padding-left: 0;
}
.img-title h4.fb-vat {
	align-items: flex-start;
}
.img-title h4::before {
	display: none;
}
.img-title h4 > span {
	width: calc(100% - 56px);
	display: inline-block;
	margin-left: 10px;
}
.img-title h4 > span small {
	font-weight: normal !important;
	display: inline-block;
}


/* -- リード文大（青字） -- */
.mainLead {
	font-size: 4rem;
	font-weight: bold;
	color: #105FAD;
}
.mainLead small {
	font-size: 60%;
}
/* -- 明朝 リード文大 -- */
.minMainLead {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 4rem;
	font-weight: bold;
	color: #313131;
}

/* -- リード文大 -- */
.lead,
.minLead {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px
}
.cms_text.lead,
.cms_text.minLead {
	margin-bottom: 20px
}
/* -- 明朝 リード文大 -- */
.minLead {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

/* -- リード文中 -- */
.subLead {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
.subLead small {
	font-size: 1.3rem;
	color: #fff;
	display: inline-block;
	padding: 2px 5px;
	margin-right: 8px;
	background: #E6537F;
}
.cms_text.subLead {
	margin-bottom: 10px;
}
/* -- リード文小 -- */
.boldfont {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 8px;
}
.cms_text.boldfont {
	margin-bottom: 8px;
}
.boldfont:last-child {
	margin-bottom: 0;
}


/* -- 吹き出し風タイトル -- */
.deco-title {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.4;
	color: #105FAD;
	text-align: center;
}
.deco-title span {
	padding: 0 30px;
	position: relative;
	display: inline-block;
}
.deco-title span::before,
.deco-title span::after {
	content: "";
	width: 1px;
	height: 37px;
	display: inline-block;
	background: #105FAD;
	position: absolute;
	bottom: 0;
}
.deco-title span::before {
	transform: rotate(-35deg);
	left: 0;
}
.deco-title span:after {
	transform: rotate(35deg);
	right: 0;
}

/* -- 注釈 -- */
.note-title {
	font-size: 1.8rem;
	font-weight: bold;
	padding-left: 30px;
	margin-bottom: 15px;
	background: url(../img/icon_note.png) no-repeat 0 .25em / 24px auto;
}
.cms_text.note-title  {
	margin-bottom: 15px
}
.note-title.f15 {
	font-size: 1.5rem;
}
/* ------------------------------
 スマホ用コード（見出し）
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- TOP H1 -- */
	.contentsHome h1 {
		font-size: 2.4rem;
		margin-bottom: 20px;
		text-align: center;
	}
	.contentsHome h1 strong {
		font-size: 4rem;
	}
	
	/* -- H1 -- */
	.headering h1,
	.headering p {
		font-size: 2.2rem;
	}
	.headering h1::after,
	.headering p::after {
		bottom: -20px;
		width: 50px;
	}
	
	/* -- TOP H2 -- */
	.contentsHome h2 {
		margin-bottom: 40px;
	}
	.contentsHome h2 span {
		font-size: 2.6rem;
		padding-top: 40px;
	}
	/* -- H2 -- */
	.contents h2 {
		font-size: 2rem;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	
	/* -- H3 -- */
	.contents h3 {
		font-size: 1.7rem;
		padding: 8px 10px;
		margin-bottom: 15px;
	}

	/* -- H4 -- */
	.contents h4 {
		font-size: 1.7rem;
		padding-left: 15px;
		margin-bottom: 10px;
	}
	/* -- 番号ふり h4 -- */
	.number-title h4 {
		padding-left: 30px;
	}

	/* -- リード文大（青字） -- */
	/* -- 明朝 リード文大 -- */
	.mainLead,
	.minMainLead {
		font-size: 2.8rem;
	}
	
	/* -- リード文大 -- */
	/* -- 明朝 リード文大 -- */
	.lead,
	.minLead {
		font-size: 2rem;
		margin-bottom: 10px;
	}
	.cms_text.lead,
	.cms_text.minLead {
		margin-bottom: 10px;
	}

	/* -- 吹き出し風タイトル -- */
	.deco-title {
		font-size: 2.4rem;
	}
	.deco-title span {
		padding: 0 20px;
	}

	/* -- 注釈 -- */
	.note-title {
		font-size: 1.7rem;
		margin-bottom: 10px;
	}
	.cms_text.note-title {
		margin-bottom: 10px;
	}
}

/* ------------------------------
 ボックス
------------------------------ */
/* -- 横並びボックス（flexbox） --- */
.flexBox {
	display: flex !important;
	flex-flow: row wrap;
}
.flexBox::after,
.cms_block.flexBox::after {
	display: none;
}
.flexBox > * {
	width: 100%;
}
/* -- 横並びボックス（flexbox） センター揃え --- */
.flexBox.fb-tac {
	justify-content: center;
}
/* -- 横並びボックス（flexbox） 縦頭揃え --- */
.flexBox.fb-vat {
	align-items: flex-start;
}
/* -- 横並びボックス（flexbox） 縦センター揃え --- */
.flexBox.fb-vac {
	align-items: center;
}
/* -- 横並びボックス（flexbox） 左右別れ --- */
.flexBox.fb-btw {
	justify-content: space-between;
}
/* -- flex-flow（flexbox） コラム --- */
.ff-clm > div {
	flex-flow: column;
}

/* ------------------------------
 横幅グリッド PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- 50% --- */
	.w50p {
		width: 50%;
	}

	/* -- 1/2 --- */
	.w546 {
		width: 546px;
	}
	.w1-2 {
		width: 47.895%;
	}
	.w552,
	.w1-2L {
		width: 552px;
	}
	.cms_fl.w546, .fl.w546 {
		margin-right: 48px;
	}
	.cms_fr.w546, .fr.w546 {
		/* margin-left: 48px; */
		margin-left: 0;
	}
	.cms_fl.w1-2, .fl.w1-2 {
		margin-right: 4.211%;
	}
	.cms_fr.w1-2, .fr.w1-2 {
		/* margin-left: 4.211%; */
		margin-left: 0;
	}

	/* -- サイドナビ有 1/2 --- */
	.w405 {
		width: 405px;
	}

	/* -- 1/3 --- */
	.w350 {
	    width: 350px;
	}
	.w1-3 {
	    width: 30.702%;
	}
	/* -- 2/3 --- */
	.w745 {
	    width: 745px;
	}
	.w2-3 {
	    width: 65.351%;
	}
	.cms_fl.w350, .fl.w350, .cms_fl.w745, .fl.w745 {
		margin-right: 45px;
	}
	.cms_fr.w350, .fr.w350, .cms_fr.w745, .fr.w745 {
		/* margin-left: 45px; */
		margin-left: 0;
	}
	.cms_fl.w1-3, .fl.w1-3, .cms_fl.w2-3, .fl.w2-3 {
		margin-right: 3.947%;
	}
	.cms_fr.w1-3, .fr.w1-3, .cms_fr.w2-3, .fr.w2-3 {
		/* margin-left: 3.947%; */
		margin-left: 0;
	}

	/* -- 1/4 --- */
	.w258 {
		width: 258px;
	}
	.w1-4 {
		width: 22.632%;
	}
	/* -- 3/4 --- */
	.w846{
		width: 846px;
	}
	.w3-4 {
		width: 74.211%;
	}
	.cms_fl.w258, .fl.w258, .cms_fl.w846, .fl.w846, .cms_fl.w552, .fl.w552, .cms_fl.w1-2L, .fl.w1-2L {
		margin-right: 36px;
	}
	.cms_fr.w258, .fr.w258, .cms_fr.w846, .fr.w846 {
		/* margin-left: 36px; */
		margin-left: 0;
	}
	.cms_fl.w1-4, .fl.w1-4, .cms_fl.w3-4, .fl.w3-4 {
		margin-right: 3.159%;
	}
	.cms_fr.w1-4, .fr.w1-4, .cms_fr.w3-4, .fr.w3-4 {
		/* margin-left: 3.159%; */
		margin-left: 0;
	}

	/* -- 1/5 --- */
	.w208{
		width: 208px;
	}
	.w1-5 {
		width: 18.246%;
	}
	.cms_fl.w208, .fl.w208{
		margin-right: 25px;
	}
	.cms_fr.w208, .fr.w208 {
		/* margin-left: 25px; */
		margin-left: 0;
	}
	.cms_fl.w1-5, .fl.w1-5 {
		margin-right: 2.194%;
	}
	.cms_fr.w1-5, .fr.w1-5 {
		/* margin-left: 2.194%; */
		margin-left: 0;
	}
	/* 背景ありの場合 */
	.patternBg .w208 + .w4-5,
	.patternBg-b .w208 + .w4-5 {
		width: 76.604%;
	}
	/* -- 3/5 --- */
	.w3-5 {
		width: 59.123%;
	}
	/* -- 4/5 --- */
	.w4-5 {
		width: 79.562%;
	}
	
	/* -- その他 --- */
	.cms_block {
		width: 1140px;
	}
	.mainContents .cms_block {
		width: 100%;
	}
	.wide {
		width: 100%;
	}
	.wide:not(.flexBox) > * {
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
	}
	.w-auto {
		width: auto;
	}
	.w980 {
		width: 980px !important;
	}
	
	/* -- 横並びボックス（flexbox） --- */
	.flexBox.nowide > * {
		width: auto;
	}
	/* flexbox 1/2 */
	.flexBox .w1-2:not(:nth-child(2n)) {
		margin-right: 4.211%;
	}
	/* flexbox 1/2 order使用時 */
	.flexBox .w1-2.order2 {
		margin-right: 0;
	}
	.flexBox .w1-2.order3 {
		margin-right: 4.211%;
	}
	
	/* flexbox 1/3 */
	.flexBox .w1-3:not(:nth-child(3n)) {
		margin-right: 3.947%;
	}
	/* flexbox 1/4 */
	.flexBox .w1-2L:not(:nth-child(2n)),
	.flexBox .w1-4:not(:nth-child(4n)) {
		margin-right: 3.159%;
	}
	/* flexbox 1/5 */
	.flexBox .w1-5:not(:nth-child(5n)) {
		margin-right: 2.194%;
	}
	/* -- 横並びボックス（flexbox） 改行させない --- */
	.flexBox.fb-nowrap {
		flex-flow: nowrap;
	}
	/* -- 横並びボックス（flexbox） センター揃え --- */
	.flexBox.pc_fb-tac {
		justify-content: center;
	}
	/* -- 横並びボックス（flexbox） 縦センター揃え --- */
	.flexBox.pc_fb-vac {
		align-items: center;
	}
	/* -- 横並びボックス（flexbox） 左右別れ --- */
	.flexBox.pc_fb-btw {
		justify-content: space-between;
	}

	.flexBox .cms_text:last-child,
	.flexBox .cms_image:last-child {
		margin-bottom: 40px;
	}

	/* flexbox 順番 */
	.order1 {
		order: 1;
	}
	.order2 {
		order: 2;
	}
	.order3 {
		order: 3;
	}
	.order4 {
		order: 4;
	}

	/* flexbox 上下分け */
	.mHeight {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
	}
	
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- 横並びボックス（flexbox） --- */
	/* -- 1/4 --- */
	/* -- 1/5 --- */
	.w1-5,
	.w208 {
		width: 49%;
	}
	.w4-5 + .w208,
	.w4-5 + .w1-5 {
		width: 100%;
	}
	.w1-5.fl,
	.w208.fl,
	.w208.cms_fl {
		float: left !important;
		margin-right: 2%;
	}
	.w1-5.fr,
	.w208.fr,
	.w208.cms_fr {
		float: right !important;
	}
	
	/* flexbox 1/5 */
	.flexBox .w1-5:not(:nth-child(2n)),
	.sp_mr2 {
		margin-right: 2%;
	}
	/* -- 横並びボックス（flexbox） センター揃え --- */
	.flexBox.sp_fb-tac {
		justify-content: center;
	}
	/* -- 横並びボックス（flexbox） 縦センター揃え --- */
	.flexBox.sp_fb-vac {
		align-items: center;
	}
	/* -- 横並びボックス（flexbox） 左右別れ --- */
	.flexBox.sp_fb-btw {
		justify-content: space-between;
	}
	
	/* -- 横幅100％ --- */
	.w1-5.sp100, 
	.w208.sp100 {
		width: 100%;
		margin-right: 0 !important;
		float: none !important;
	}
	
	/* -- その他 --- */
	.cms_block {
		margin-left: 5% !important;
		margin-right: 5% !important;
	}
	.mainContents .cms_block {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.wide.colorBg {
		padding-left: 5%;
		padding-right: 5%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ------------------------------
 テーブル
------------------------------ */
/* デフォルト */
.contents table {
	width: 100%;
	border-top: 1px solid #D6DADB;
	border-right: 1px solid #D6DADB;
}
.contents table thead th {
	text-align: center;
	vertical-align: middle;
}
.contents table th,
.contents table td {
	padding: 20px;
	text-align: left;
	border-left: 1px solid #D6DADB;
	border-bottom: 1px solid #D6DADB;
}
.contents table th {
	width: 20%;
	font-weight: bold;
	vertical-align: top;
	background: #F5F8FA;
}
/* td font size 13px */
.contents .thd-s table th,
.contents .thd-s table td,
.contents .td-s table td {
	font-size: 1.3rem
}
/* td font size 16px */
.contents .td-m table td {
	font-size: 1.6rem
}
/* td font size 18px */
.contents .td-l table td {
	font-size: 1.8rem
}

/* 上下だけ線 */
.contents .tbLine table {
	border-right: none;
}
.contents .tbLine table th,
.contents .tbLine table td {
	padding: 10px 10px 10px 0;
	border-left: none;
}
.contents .tbLine table th {
	font-size: 1.5rem;
	font-weight: 500;
	background: none;
}

/* 下だけ線 */
.contents .bLine table {
	border-top: none;
	border-right: none;
}
.contents .bLine table th,
.contents .bLine table td {
	padding: 35px 10px 35px 0;
	border-left: none;
	border-bottom-color : #C5DDE8; 
}
.contents .bLine table tr:first-child th,
.contents .bLine table tr:first-child td {
	padding-top: 0;
}
.contents .bLine table tr:last-child th,
.contents .bLine table tr:last-child td {
	padding-bottom: 0;
	border-bottom: none;
}
.contents .bLine table th {
	font-family: 'Montserrat', "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	color: #105FAD;
	background: none;
}

/* 余白が狭い */
.contents .nomarginTb table th,
.contents .nomarginTb table td {
	padding: 5px;
}

/* 横スクロールがつく */
.contents .scroller {
	width: auto !important;
	overflow: auto !important;
}
.contents .scroller .cms_text,
.contents .scroller table {
	width: 1140px !important;
}
.mainContents .scroller .cms_text,
.mainContents .scroller table {
	width: 846px !important;
}

/* ------------------------------
 スマホ用コード（テーブル）
------------------------------ */
@media screen and (max-width: 767px) {
	.contents table th,
	.contents table td {
		padding: 5px;
	}
	/* レスポンシブ */
	.res table th {
		width: auto !important;
		display: block;
		padding: 10px;
	}
	.res table td {
		width: auto !important;
		display: block;
		padding: 10px;
	}
	/* 上下だけ線 */
	.res.tbLine table th {
		border-bottom: none;
		padding-bottom: 0;
	}

	/* 下だけ線 */
	.contents .bLine table th,
	.contents .bLine table td {
		width: auto !important;
		display: block;
		padding: 20px 0;
	}
	.contents .bLine table th {
		font-size: 1.7rem;
		border-bottom: none;
	}
	.contents .bLine table tr:not(:first-child) th {
		padding-bottom: 0;
	}
	/* 余白が狭い */
	.contents .nomarginTb table th,
	.contents .nomarginTb table td {
		padding: 3px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.scroller {
		width: 100% !important;
    	overflow: auto !important;
    	padding-left: 0em;
    	padding-right: 0em;
	}
	.cms_image.scroller img {
		max-width: 767px;
		width: 767px !important;
	}
	.contents .scroller .cms_text,
	.contents .scroller table {
		font-size: 1.4rem;
		width: 900px !important;
	}
	.mainContents .scroller .cms_text,
	.mainContents .scroller table {
		width: 846px !important;
	}
	.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
		background-color: #105FAD !important;
	}

	.mCSB_horizontal.mCSB_inside > .mCSB_container {
		margin-bottom: 0 !important;
	}

	.scrollbar {
		overflow-x: scroll;
		padding-bottom: 15px;
	}
	.scrollbar table {
		width: 640px !important;
	}
	/*スクロールバーの幅*/
	.scrollbar::-webkit-scrollbar {
		height: 5px;
	}
	/*スクロールバーのレール*/
	.scrollbar::-webkit-scrollbar-track {
		border-radius: 10px;
		background: #eee;
	}
	/*スクロールバーのつまみ*/
	.scrollbar::-webkit-scrollbar-thumb {
		border-radius: 10px;
		background: #105FAD;
	}
}
@media screen and (max-width: 479px) {
	.scroller {
		width: 100% !important;
	}
}



/* ------------------------------
 リスト
------------------------------ */
/* -- ノーマルリスト -- */
.list ul li {
	line-height: 1.5;
	padding-left: 15px;
	position: relative;
}
.list ul li:before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #149BD9;
	vertical-align: top; 
	position: absolute;
	top: .45em;
	left: 0;
}

/* -- 横並びリスト -- */
.inline ul li {
	display: inline-block;
	margin-right: 15px;
}
/* -- 注釈リスト -- */
.noteList ul li {
	line-height: 1.7;
	padding-left: 16px;
	position: relative;
}
.noteList ul li:before {
	content: "*";
	position: absolute;
	top: 0;
	left: 0;
}

/* -- 数字リスト -- */
ol li {
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
	padding-left: 1.8em;
	position: relative;
}
ol li:before {
	content: counter(cnt)".";
	margin-right: 10px;
	position: absolute;
	top: 0;
	left: 0;
}
/* リストの下空ける */
.mb li:not(:last-child) {
	margin-bottom: 1em;
}
/* 数 太字 */
.boldol ol li {
	font-weight: bold;
}
.boldol ol li:before {
	font-weight: bold;
}

/* -- チェックリスト -- */
.checkList li {
	padding-left: 32px;
	position: relative;
}
.checkList li:not(:last-child) {
	margin-bottom: 5px;
}
.checkList li::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	background: #D8E5EB;
}
.checkList li::after {
	content: "";
	width: 7px;
	height: 14px;
	border-right: solid 4px #2BB6E0;
	border-bottom: solid 4px #2BB6E0;
	display: block;
	position: absolute;
	top: -.1em;
	left: .5em;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* -- タグリスト -- */
.tagList ul {
	display: flex;
	flex-flow: row wrap;
}
.tagList li {
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	padding: 7px 8px;
	margin-bottom: 8px;
	background: #97A3A8;
	border-radius: 4px;
}
.tagList li:not(:last-child) {
	margin-right: 8px;
}
/* タグ 青色 */
.tagList li strong {
	display: flex;
	margin: -7px -8px;
	padding: 7px 8px;
	background: #105FAD;
	border-radius: 4px;
}
/* タグ 黒色 */
.tagList li span {
	display: flex;
	margin: -7px -8px;
	padding: 7px 8px;
	background: #000;
	border-radius: 4px;
}

/* 縞模様テーブル風リスト */
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.stripeList ul {
		display: flex;
		flex-flow: row wrap;
	}
	.stripeList li {
		width: calc(100% / 4);
		padding: 12px 15px;
		border-right: solid 1px #D6DADB;
		border-bottom: solid 1px #D6DADB;
	}
	.stripeList li:nth-child(4n+1) {
		border-left: solid 1px #D6DADB;
	}
	.stripeList li:nth-child(-n+4) {
		border-top: solid 1px #D6DADB;
	}
	.stripeList li:nth-child(5),.stripeList li:nth-child(6),.stripeList li:nth-child(7),.stripeList li:nth-child(8),
	.stripeList li:nth-child(13),.stripeList li:nth-child(14),.stripeList li:nth-child(15),.stripeList li:nth-child(16),
	.stripeList li:nth-child(21),.stripeList li:nth-child(22),.stripeList li:nth-child(23),.stripeList li:nth-child(24),
	.stripeList li:nth-child(29),.stripeList li:nth-child(30),.stripeList li:nth-child(31),.stripeList li:nth-child(32),
	.stripeList li:nth-child(37),.stripeList li:nth-child(38),.stripeList li:nth-child(39),.stripeList li:nth-child(40),
	.stripeList li:nth-child(45),.stripeList li:nth-child(46),.stripeList li:nth-child(47),.stripeList li:nth-child(48),
	.stripeList li:nth-child(53),.stripeList li:nth-child(54),.stripeList li:nth-child(55),.stripeList li:nth-child(56),
	.stripeList li:nth-child(61),.stripeList li:nth-child(62),.stripeList li:nth-child(63),.stripeList li:nth-child(64),
	.stripeList li:nth-child(69),.stripeList li:nth-child(70),.stripeList li:nth-child(71),.stripeList li:nth-child(72),
	.stripeList li:nth-child(77),.stripeList li:nth-child(78),.stripeList li:nth-child(79),.stripeList li:nth-child(80) {
		background: #FAFAFA;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* 縞模様テーブル風リスト */
	.stripeList li {
		padding: 8px 12px;
		border-right: solid 1px #D6DADB;
		border-left: solid 1px #D6DADB;
		border-bottom: solid 1px #D6DADB;
	}
	.stripeList li:first-child {
		border-top: solid 1px #D6DADB;
	}
	.stripeList li:nth-child(even) {
		background: #FAFAFA;
	}
}

/* ------------------------------
 ページ内リンク
------------------------------ */
.pageInLink ul {
	display: flex;
	flex-flow: row wrap;
}
.pageInLink.column ul {
	flex-flow: column;
}
.pageInLink ul li {
	margin-top: 3px;
	margin-bottom: 3px;
}
.pageInLink ul li:not(:last-child) {
	margin-right: 35px;
}
.pageInLink a {
	line-height: 1.4;
	padding-left: 20px;
	display: inline-block;
	position: relative;
}
.pageInLink a::before {
	font-family: 'FontAwesome';
	content: '\f107';
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 15px;
	text-align: center;
	color: #fff;
	width: 15px;
	height: 14px;
	border-radius: 100%;
	background: #105FAD;
	padding-top: 1px;
	position: absolute;
	top: 3px;
	left: 0;
}
 /* IE11 */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .pageInLink ul {
		display: block;
	}
	*::-ms-backdrop, .pageInLink ul li {
		display: inline-block;
	}
  }

/* ------------------------------
 背景
------------------------------ */
/* -- 青背景 -- */
.colorBg {
	padding: 40px;
	background: #E3F2FC;
}
.wide.colorBg {
	padding-top: 70px;
	padding-bottom: 70px;
	background: #E3F2FC;
}
/* -- 薄い青背景 -- */
.colorBg-b {
	padding: 40px;
	background: #F5F8FA;
}
/* -- 白背景 -- */
.whiteBg {
	padding: 40px;
	background: #fff;
	border-radius: 6px;
}
/* -- パターン背景（青） -- */
.patternBg {
	padding: 40px;
	background: url(../img/pattern_bg.gif) 0 0;
}
/* -- パターン背景（黄色） -- */
.patternBg-b {
	padding: 40px;
	background: url(../img/pattern_yerrow_bg.png) 0 0;
}
/* 角丸 */
.r {
	border-radius: 6px;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- 青背景 -- */
	.colorBg {
		padding: 20px;
	}
	.wide.colorBg {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	/* -- 薄い青背景 -- */
	.colorBg-b {
		padding: 20px;
	}
	/* -- 白背景 -- */
	.whiteBg {
		padding: 20px;
	}
	/* -- パターン背景 -- */
	.patternBg,
	.patternBg-b {
		padding: 20px;
	}
}

/* ------------------------------
 角丸線のボックス
------------------------------ */
.boxR {
	padding: 28px;
	border: solid 4px #EBEFF2;
	border-radius: 16px;
	margin-bottom: 16px;
	position: relative;
}
.cms_text.boxR {
	margin-bottom: 16px;
}
.flexBox .boxR:last-child {
	margin-bottom: 16px;
}
.boxR.new::after {
	content: "";
	width: 60px;
	height: 60px;
	position: absolute;
	top: -4px;
	right: -4px;
	background: url(../img/new_band.png) no-repeat 0 0 / cover;
}
/* -- 角丸のボックス内の見出し -- */
.boxR h4 {
	padding-left: 0;
}
.boxR h4:last-child {
	margin-bottom: 0;
}
.boxR h4::before {
	display: none;
}
.boxR h4 .green {
	font-size: 1.3rem;
	font-weight: 500;
}

/* -- pタグの下のdivタグ -- */
.boxR div + .imgBox,
.boxR p + .imgBox {
	margin-top: 10px;
}

/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- 間が狭い2分割 -- */
	.flexBox.div2 > div {
		width: calc((100% - 16px) / 2);
	}
	.flexBox.div2 > div:not(:nth-child(2n)) {
		margin-right: 16px;
	}
	/* -- 間が狭い3分割 -- */
	.flexBox.div3 > div {
		width: calc((100% - 30px) / 3);
	}
	.flexBox.div3 > div:not(:nth-child(3n)) {
		margin-right: 15px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.boxR {
		padding: 20px;
		margin-bottom: 10px;
	}
	.cms_text.boxR {
		margin-bottom: 10px;
	}
}

/* ------------------------------
 線
------------------------------ */
.line-a {
	padding-bottom: 35px;
	margin-bottom: 35px;
	border-bottom: solid 1px #D6DADB;
}
.cms_block.line-a {
	margin-bottom: 35px;
}
.patternBg .line-a {
	border-bottom-color: #C5DDE8;
}

/* ------------------------------
 動画
------------------------------ */
.movieBox iframe {
    width: 100%;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.movieBox {
		position:relative;
		width:100%;
		padding-top:56.25%;
	}
	.movieBox iframe{
		position:absolute;
		top:0;
		right:0;
		width:100%;
		height:100%;
	}
}

/* ------------------------------
 アイコン
------------------------------ */
/* -- sima PDF打消し -- */
.icon_inline p.cms_pdf {
	display: inline-block;
}

/* -- 矢印→ -- */
.icon-arrow a {
	font-weight: bold;
}
.icon-arrow a::after {
	font-family: 'FontAwesome';
	content: '\f105';
	font-size: 115.38461%;
	font-weight: normal;
	margin-left: 8px;
}

/* -- 丸矢印→ -- */
.icon-carrow a,
p.icon-carrow,
a.cms_link {
	font-weight: 500;
	line-height: 1.4;
	padding-left: 20px;
	display: inline-block;
	position: relative;
}
a.cms_link {
	word-break: break-all;
}
.icon-carrow a::before,
p.icon-carrow::before,
a.cms_link::before {
	font-family: 'FontAwesome';
	content: '\f105';
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 15px;
	text-align: center;
	color: #fff;
	width: 14px;
	height: 15px;
	border-radius: 100%;
	background: #105FAD;
	padding-left: 1px;
	padding-top: 0;
	position: absolute;
	top: 3px;
	left: 0;
}

/* -- 丸矢印→ -- */
.icon-plus a,
a[rel="popbox"] {
	font-weight: bold;
	padding-left: 20px;
	display: inline-block;
	position: relative;
}
.icon-plus a::before,
a[rel="popbox"]::before {
	content: '';
	width: 15px;
	height: 15px;
	position: absolute;
	top: 3px;
	left: 0;
	background: url(../img/icon_plus.png) no-repeat 0 0 / cover;
}

/* -- アクセスポイント -- */
.icon-point a {
	display: inline-block;
	padding-left: 17px;
	background: url(../img/icon_point.png) no-repeat 0 .25em / 12px auto;
}

/* -- アイコン打消し -- */
.noIcon a.cms_link::before,
.noBlank .cms_inner_blank::after,
.noBlank.cms_inner_blank::after {
	display: none;
}
.noIcon a.cms_link {
	padding-left: 0;
}

/* ------------------------------
 ボタン
------------------------------ */
/* ボタンの場合 アイコン打消し */
.btn a.cms_link::before {
	content: '';
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1;
	text-align: center;
	color: #fff;
	width: auto;
	height: auto;
	border-radius: 0%;
	padding-left: 0;
	position: static;
}
.btn a.cms_inner_blank::after,
.btn a.cms_blank::after,
.btn a.cms_menu_blank::after {
    width: 0;
    height: 100%;
    margin-left: 0;
    background: #2B8CED;
}

/* ボタンの場合 PDF装飾打消し */
.btn.cms_pdf a {
	margin-left: 0;
	padding-left: 20px;
}

/* -- ノーマルボタン -- */
.btn a,
.btn.cms_pdf a {
	font-size: 1.5rem;
	font-weight: bold;
	min-width: 466px;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	background: #105FAD;
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	overflow: hidden;
	-webkit-transition:all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
	-moz-transition:all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition:all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
	transition:all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
	-moz-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-transition-property:transform,opacity,background;
	-moz-transition-property:transform,opacity,background;
	-ms-transition-property:transform,opacity,background;
	-o-transition-property:transform,opacity,background;
	transition-property:transform,opacity,background;
}
.btn a::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 100%;
	z-index: -1;
	background-color: #2B8CED;
	-webkit-transition: all 400ms cubic-bezier(0.19, 1, 0.22, 1);
	-moz-transition: all 400ms cubic-bezier(0.19, 1, 0.22, 1);
	-o-transition: all 400ms cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 400ms cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	-moz-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	-o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.btn a:hover::after {
	right:inherit;
	right:0;
	width:100%
}
.btn a:hover {
	opacity: 1;
}

/* -- お問合せボタン -- */
.btn.inq a::before {
    content: "";
    height: 14px;
	display: inline-block;
    background: url(../img/icon_mail.png) no-repeat 0 0 / cover;
	margin-right: 8px;
	padding-left: 21px;
}
/* -- footer お問合せボタン -- */
.contactBlock .btn.inq a {
	font-size: 1.6rem;
	border: solid 1px #fff;
	min-width: 300px;
	background: none;
	position: relative;
}
.contactBlock .btn.inq a:hover {
	border-color: #2B8CED;
}
/* -- オレンジボタン -- */
.btn.orange a {
	background: #D95A27;
}
.btn.orange a::after {
	background-color: #E6821F;
}
/* -- 白ボタン -- */
.btn.white a {
	color: #105FAD;
	border: solid 1px #105FAD;
	background: #fff;
	transition: 0.1s ease-in-out;
}
.btn.white a:hover {
	color: #fff;
	border-color: #2B8CED;
}

/* -- FAQボタン -- */
.btn.faq a::before {
    content: "";
    height: 21px;
	display: inline-block;
    background: url(../img/icon_faq.png) no-repeat 0 0 / cover;
	margin-right: 8px;
	padding-left: 24px;
}
/* -- DLボタン -- */
.btn.dl a::before {
    content: "";
    height: 21px;
	display: inline-block;
    background: url(../img/icon_dl.png) no-repeat 0 0 / cover;
	margin-right: 8px;
	padding-left: 24px;
}
/* -- PDFボタン -- */
.btn.pdf a::before {
    content: "";
    height: 32px;
	display: inline-block;
	background: url(../img/icon_pdf.png) no-repeat 0 0 / 30px auto;
	margin-right: 8px;
	padding-left: 30px;
}
/* -- ボタン（大） -- */
.btn.size-l a {
	font-size: 1.8rem;
}
/* -- ボタン（小） -- */
.btn.size-s a {
	padding: 15px;
}

/* -- 画像ありボタン -- */
.imgBtn a img {
	max-width: 300px;
	margin-right: 10px;
}
.btn.white.imgBtn a:hover {
	color: #105FAD;
	border-color: #105FAD;
}
.btn.imgBtn a:hover::after {
	display: none;
}
.btn.imgBtn a:hover {
	opacity: .7;
}

/* -- 横並びボタン -- */
.inlineBtn {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
.cms_block.inlineBtn::after {
	display: none;
}

/* -- 横並びボタンボックス -- */
.btnBox {
	background: #F5F8FA;
}
.btnBox .btn a {
	font-size: 1.5rem;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- ノーマルボタン -- */
	.btn a {
		padding: 10px 20px;
		height: 80px;
	}
	/* -- footer お問合せボタン -- */
	.inlineBtn.pc_fb-btw {
		justify-content: space-between;
	}
	.contactBlock .btn.inq a {
		height: 64px;
		padding: 15px 20px;
	}
	/* -- ボタン（大） -- */
	.btn.size-l a {
		min-width: 546px;
		height: 90px;
		padding: 15px 30px;
	}
	/* -- ボタン（小） -- */
	.btn.size-s a {
		height: 50px;
		min-width: 258px;
	}

	/* -- 横並びボタン -- */
	.inlineBtn a {
		margin-left: 21px;
		margin-right: 21px;
	}
	.inlineBtn div a {
		margin-left: 0;
		margin-right: 0;
	}
	
	/* -- 横並びボタンボックス -- */
	.cms_block.btnBox::after {
		display: none;
	}
	.btnBox {
		display: flex;
		justify-content: center;
		padding: 40px;
	}
	.btnBox .btn {
		width: 100%;
		max-width: 342px;
	}
	.btnBox .btn:not(:last-child) {
		margin-right: 16px;
	}
	.btnBox .btn a {
		min-width: auto;
		width: 100%;
		height: 64px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- ノーマルボタン -- */
	.btn a,
	.btn.cms_pdf a {
		font-size: 1.6rem;
		padding: 20px;
		min-width: 270px;
		width: 100%;
	}
	/* -- footer お問合せボタン -- */
	.contactBlock .btn.inq a {
		padding: 20px;
		max-width: 300px;
		min-width: 270px;
	}
	/* -- ボタン（大） -- */
	.btn.size-l a  {
		padding: 25px 20px;
	}
	/* -- ボタン内　画像 -- */
	.imgBtn a {
		display: inline-block;
	}
	.imgBtn a img {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	/* -- 横並びボタン -- */
	.inlineBtn .cms_link {
		width: 100%;
	}
	.inlineBtn .cms_link:not(:first-child) {
		margin-top: 10px;
	}

	/* -- 横並びボタンボックス -- */
	.btnBox {
		padding: 20px;
	}
	.btnBox .btn:not(:last-child) {
		margin-bottom: 10px;
	}
	.btnBox .btn a {
		width: 100%;
	}
}
@media screen and (max-width: 320px) {
	/* -- ノーマルボタン -- */
	.btn a,
	.btn.cms_pdf a {
		min-width: 220px;
	}
}

/* ------------------------------
 台詞吹き出し（テキストブロック）
------------------------------ */
.cms_text.speechBox,
.cms_image.speechBox .cms_caption_b,
.cms_image.speechBox .cms_caption_t {
	padding: 35px 40px;
	margin-top: 0;
	background: #E3F2FC;
	border-radius: 16px;
	position: relative;
}
.cms_text.speechBox::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	width: 0;
	height: 0;
	top: 100%;
	border: solid 16px transparent;
	border-top-color: #E3F2FC;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_text.speechBox,
	.cms_image.speechBox .cms_caption_b,
	.cms_image.speechBox .cms_caption_t {
		padding: 20px;
	}
}
/* ------------------------------
 台詞吹き出し（画像ブロック）
------------------------------ */
.cms_image.speechBox .cms_caption_b,
.cms_image.speechBox .cms_caption_t {
	font-size: 1.6rem;
	font-weight: bold;
	text-align: left;
}
/* ------------------------------
 横 吹き出し　PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.cms_image.speechBox.cms_left,
	.cms_image.speechBox.cms_right {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.cms_image.speechBox.cms_left .cms_caption_b,
	.cms_image.speechBox.cms_right .cms_caption_b {
		width: calc(100% - 144px);
	}
	.cms_image.cms_right.speechBox .cms_caption_b {
		text-align: left;
		order: 1;
	}
	.cms_image.cms_right.speechBox img {
		order: 2;
	}	
	.cms_image.cms_left.speechBox .cms_caption_b::before,
	.cms_image.cms_right.speechBox .cms_caption_b::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin-top: auto;
		margin-bottom: auto;
		width: 0;
		height: 0;
	}
	.cms_image.cms_left.speechBox .cms_caption_b::before {
		right: 100%;
		border-top: solid 16px transparent;
		border-bottom: solid 16px transparent;
		border-left: solid 32px transparent;
		border-right: solid 32px #E3F2FC;
	}
	.cms_image.cms_right.speechBox .cms_caption_b::before {
		left: 100%;
		border-top: solid 16px transparent;
		border-bottom: solid 16px transparent;
		border-left: solid 32px #E3F2FC;
		border-right: solid 32px transparent;
	}
}

/* ------------------------------
 上 台詞吹き出し（画像ブロック）
------------------------------ */
.cms_image.speechBox .cms_caption_t {
	margin-bottom: 25px;
}
.cms_image.speechBox .cms_caption_t::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	width: 0;
	height: 0;
	top: 100%;
	border: solid 16px transparent;
	border-top-color: #E3F2FC;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- 横 台詞吹き出し　-- */
	.cms_image.speechBox {
		text-align: center;
	}
	.cms_image.speechBox .cms_caption_b {
		text-align: left;
		margin-top: 25px;
	}
	.cms_image.cms_left.speechBox .cms_caption_b::before,
	.cms_image.cms_right.speechBox .cms_caption_b::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
		width: 0;
		height: 0;
		bottom: 100%;
	}
	.cms_image.speechBox .cms_caption_b::before {
		border: solid 16px transparent;
		border-bottom-color: #E3F2FC;
	}

	/* -- 上 台詞吹き出し　-- */
	.cms_image.speechBox .cms_caption_t {
		text-align: left;
	}
}

/* ------------------------------
 新着情報
------------------------------ */
/* -- 新着一覧 -- */
.newsList li {
	width: 100%;
	text-align: left;
	padding: 8px 0;
}
.newsList li::after {
	content: "";
	clear: both;
	display: block;
}

/* -- 新着カテゴリー -- */
.cate {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 24px;
	text-align: center;
	color: #fff;
	width: 112px;
	float: left;
	background-color: #105FAD;
}
.cate2 .cate {
	background-color: #E6537F;
}
.cate3 .cate {
	background-color: #1FABD1;
}
/* -- 日付 -- */
.date {
	font-size: 1.5rem;
	color: #000;
	float: left;
}
.cate + .date {
	padding-left: 15px;
	/* margin-top: 3px; */
}
.newsList .date {
	width: 115px;
}
/* -- 新着テキスト -- */
.newsList .boxText {
	width: calc(100% - 227px);
	float: left;
}
.newsList .boxText a {
	text-decoration: none;
	color: #323232;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- 新着テキスト -- */
	.newsList .boxText {
		width: 100%;
		font-size: 1.3rem;
		margin-top: 5px;
	}
}

/* ------------------------------
 検索絞り込みブロック
------------------------------ */
.tabBlock > .tab {
	display: flex;
	margin-bottom: 40px;
}
.tabBlock > .tab > .tabList {
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(100% / 3);
	height: 64px;
	cursor: pointer;
	border: solid 1px transparent;
	position: relative;
	-webkit-transition: .1s ease-in-out;
	transition: .1s ease-in-out;
}

.tabBox-head {
	font-size: 1.6rem;
	font-weight: bold;
/*	text-align: center;*/
	margin-bottom: 26px;
	display: none;
	position: relative;
}

.tabBlock > .tab > .tabList img,
.tabBox-head > img {
	width: 30px;
	height: 30px;
	margin-right: 8px;
}
/* タブブロック 内容 */
.tabBlock .tabBox {
	display: none;
	padding: 0 30px;
}

.tabBlock .tabBox.show {
	display: block !important;
	animation: fadeIn 600ms ease 0s 1 normal;
    -webkit-animation: fadeIn 600ms ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


/* -- タブブロック(SP)
.tabBlock_sp {
	margin-top: 75px;
}
.tabBlock_sp > .tab > .tabList:first-child {
	border-top: solid 1px #D6DADB;
}
.tabBlock_sp > .tab > .tabList {
	border-bottom: solid 1px #D6DADB;
}
.tabBlock_sp > .tab > .tabList > p {
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	height: 50px;
	padding: 0 15px;
	cursor: pointer;
	position: relative;
	background: url(../img/check_bg.gif) 0 0;
}

.tabBlock_sp > .tab > .tabList > p.active {
	background: #fff;
}
.tabBlock_sp > .tab > .tabList > p::before,
.tabBlock_sp > .tab > .tabList > p::after {
	content: '';
	display: block;
	position: absolute;
	-webkit-transition: all .25s ease-out;
	transition: all .25s ease-out;
	background: #323232;
}
.tabBlock_sp > .tab > .tabList > p::before {
	width: 21px;
	height: 1px;
	top: 25px;
	right: 15px;
}
.tabBlock_sp > .tab > .tabList > p::after {
	top: 15px;
	right: 25px;
	width: 1px;
	height: 20px;
}
.tabBlock_sp > .tab > .tabList > p.active::after {
	display:none;
}

.tabBlock_sp > .tab > .tabList img {
	width: 30px;
	height: 30px;
	margin-right: 8px;
}

.tabBlock_sp .tabBox {
	padding: 30px 15px;
}
 -- */

/* カテゴリタイトル */
.cateTitle {
	font-size: 1.6rem;
	font-weight: bold;
}
/* タグ */
.tagLink {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}
.tagLink li {
	font-size: 1.3rem;
	line-height: 16px;
	margin-bottom: 8px;
}
.tagLink li:not(:last-child) {
	margin-right: 8px;
}
.tagLink li a {
	color: #fff;
	text-decoration: none;
	padding: 8px 10px;
	display: inline-block;
	border-radius: 4px;
	background: #105FAD;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}
.tagLink li a:hover, .tagLink li a.on {
	background: #000;
	opacity: 1;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* カテゴリタイトル */
	.cateTitle {
		width: 248px;
		padding-right: 40px;
	}
	/* タグ */
	.cateTitle + .tagLink {
		width: calc(100% - 248px);
	}
	.tabBlock > .tab {
		background: url(../img/check_bg.gif) 0 0;
	}
	.tabBlock > .tab > .tabList:not(:last-child)::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		right: -1px;
		margin: auto;
		width: 1px;
		height: 24px;
		background: #D6DADB;
	}
	.tabBlock > .tab > .tabList:not(:first-child) {
		margin-left: -1px;
		width: calc(100% / 3 + 1px);
	}
	.tabBlock > .tab > .tabList.select,
	.tabBlock > .tab > .tabList:hover {
		background: #fff;
		border-left-color: #D6DADB;
		border-right-color: #D6DADB;
		border-top-color: #D6DADB;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	
	/* -- タブブロック -- */
	.tabBlock > .tab {
		display: block;
		margin-bottom: 0;
	}
	.tabBlock > .tab > .tabList {
		width: 100%;
		height: 64px;
		border-left: solid 1px transparent;
		border-right: solid 1px transparent;
		border-top: solid 1px transparent;
	}
	/* -- タブブロック 内容 -- */
	.tabBlock .tabBox.show {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		padding: 12px;
		background: rgba(0, 0, 0, 0.7);
		z-index: 999999;
		overflow: scroll;
	}
		
	.tabBlock .tabBox > div {
		padding: 5%;
		background: #fff;
		margin-bottom: 5%;
		min-height: 100%;
	}
	
	.tabBox-head {
		display: block;
	}
	.tabBox-modal-close {
		display: block;
		position: absolute;
		cursor: pointer;
		top: 0;
		right: 0;
		width: 30px;
		height: 30px;
		background: url(../img/modal-close.png) no-repeat 0 0 / 30px 30px;
	}
	.tabBox-modal-close span {
		display: block;
		width: 1px;
		height: 1px;
		visibility: hidden;
	}	
	
	.tabBlock > .tab > .tabList:first-child {
		border-top-color: #D6DADB;
	}
	.tabBlock > .tab > .tabList {
		border-bottom-color: #D6DADB;
	}
	/* カテゴリタイトル */
	.cateTitle {
		width: 100%;
		margin-bottom: 10px;
	}
}

/* ------------------------------
 絞り込みリンク
------------------------------ */
.linkBox {
	width: calc((100% - 90px) / 3);
	background: #fff;
	margin-bottom: 45px;
	display: flex;
	overflow: hidden;
}
.linkBox > a {
	color: #313131;
	display: flex;
}
.linkBox .inBox {
	padding: 30px 32px 30px;
	position: relative;
}
.linkBox .tag {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.5;
	color: #fff;
	min-width: 168px;
	padding: 5px 10px 5px 16px;
	background: #105FAD;
	display: inline-block;
	position: absolute;
	top: 0;
	left: -8px;
	transform: skewX(-30deg);
}
.linkBox .tag span {
	transform: skewX(30deg);
	display: inline-block;
}
/* 
.linkBox .tag::after {
	content: "";
	position: absolute;
	top: 0;
	right: -8px;
	display: inline-block;
	width: 16px;
	height: 100%;
	background: #105FAD;
	transform: skewX(-30deg);
}
 */
.linkBox.sales_end .tag, .linkBox.sales_end .tag::after {
	background: #969696;
}
.linkBox .imgBox {
	height: 151px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 25px;
	border-bottom: solid 1px #D6DADB;
}
.linkBox .blue-title {
	font-size: 1.8rem;
	font-weight: bold;
	color: #105FAD;
	margin-bottom: 25px;
}
/* -- 製品一覧 -- */
.pdBlock .linkBox {
	padding: 30px;
	border: solid 1px #D6DADB;
}
.pdBlock .linkBox .imgBox {
	height: 97px;
	padding-bottom: 30px;
}
.pdBlock .linkBox > a {
	width: calc(100% + 60px);
	margin: -30px;
	padding: 30px;
	flex-flow: column;
}
.pdBlock .linkBox .subLead {
	color: #105FAD;
}
.pdBlock .linkBox .subLead small {
	font-weight: 500;
	color: #313131;
	padding: 0;
	background: none;
}

.linkBox .lead_text {
/*	height: 90px;*/
	height: 6.3em;
	overflow: hidden;
}/*
.linkBox.block_new {
	opacity: 0;
}
*/
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.linkBlock {
		display: flex;
		flex-flow: row wrap;
	}
	.linkBox:not(:nth-child(3n)) {
		margin-right: 45px;
	}

	/* -- 製品一覧 -- */
	.pdBlock {
		display: flex !important;
		flex-flow: row wrap;
	}
	.pdBlock .cms_text.linkBox {
		margin-bottom: 40px;
	}
	/* -- 製品一覧　2分割 -- */
	.pdBlock.div2 > .linkBox {
		width: calc((100% - 48px) / 2);
	}
	.pdBlock.div2 > .linkBox:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.pdBlock.div2 > .linkBox:not(:nth-child(2n)) {
		margin-right: 48px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.linkBox {
		width: 100%;
		margin-bottom: 15px;
	}
	/* -- 製品一覧 -- */
	.pdBlock .linkBox {
		padding: 20px;
	}
	.pdBlock .linkBox > a {
		width: calc(100% + 40px);
		margin: -20px;
		padding: 20px;
	}
	.pdBlock .linkBox .imgBox {
		padding-bottom: 20px;
	}
}

/* ------------------------------
 ポップアップ コンテンツ
------------------------------ */
.pop-content {
	padding: 40px;
	background: #fff;
	width: 720px !important;
	position: relative !important;
	overflow: visible;
}
.pop-content table th {
	font-size: 1.5rem;
	font-weight: 500;
}
/* -- テーブルスクロール -- */
.pop-content .scroller .cms_text,
.pop-content .scroller table {
	width: 640px !important;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.pop-content table th,
	.pop-content table td {
		padding: 18px 15px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.pop-content {
		padding: 20px;
		width: 90% !important;
	}
	
	/* -- テーブルスクロール -- */
	.pop-content.scroller .cms_text,
	.pop-content .scroller table {
		width: 640px !important;
	}
}
/* ------------------------------
 Q & A
------------------------------ */
.faqBox {
	padding: 36px 36px 36px 60px;
	border: solid 4px #EBEFF2;
	border-radius: 16px;
	position: relative;
}
.faqBox .lead:first-child {
	margin-bottom: 10px;
	padding-left: 45px;
	position: relative;
}
.faqBox .lead:nth-child(2) {
	margin-bottom: 35px;
	padding-left: 70px;
	position: relative;
}
.faqBox .lead:first-child:before,
.faqBox .lead:nth-child(2):before  {
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	top: -5px;
}
.faqBox .lead:first-child:before  {
	left: -6px;
	background: url(../img/icon_q.png) no-repeat 0 0 / 40px auto;
}
.faqBox .lead:nth-child(2):before  {
	left: 18px;
	background: url(../img/icon_a.png) no-repeat 0 0 / 40px auto;
}
.faqBox .w1-5 {
	width: 218px;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.faqBox {
		padding: 30px;
	}
	.faqBox .w1-5 {
		width: 100%;
		float: none !important;
	}
}

/* ------------------------------
 角丸線のボックス  STEP
------------------------------ */
.stepBlock .boxR {
	font-size: 1.3rem;
}
.stepBlock .boxR h4 + div {
	text-align: center;
	margin-bottom: 20px;
}
.stepBlock .boxR h4 {
	text-align: center;
	color: #105FAD;
}

/* 矢印 */
.boxR .stepBlock > div .imgBox {
	position: relative;
}
.boxR .flexBox > div .imgBox  {
	margin-top: 15px;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.stepBlock {
		display: flex !important;
		flex-flow: row wrap;
	}
	.stepBlock .boxR,
	.stepBlock .cms_text.boxR {
		width: calc((100% - 108px) / 4);
		margin-bottom: 16px;
	}
	.stepBlock.div2 .boxR {
		width: calc((100% - 36px) / 2);
	}
	.stepBlock.div3 .boxR {
		width: calc((100% - 72px) / 3);
	}
	.flexBox.stepBlock .boxR:not(:last-child),
	.stepBlock .boxR:not(:last-child) {
		margin-right: 36px;
	}
	.stepBlock .boxR:not(:last-child):after {
		content: "";
		width: 0;
		height: 0;
		position: absolute;
		left: 100%;
		top: 0;
		bottom: 0;
		margin-left: 16px;
		margin-top: auto;
		margin-bottom: auto;
		border: solid 16px transparent;
		border-left-color: #105FAD;
	}
	/* 矢印 */
	.boxR .stepBlock > div:not(:last-child) .imgBox::after {
		content: "";
		width: 0;
		height: 0;
		position: absolute;
		left: 100%;
		top: 50px;
		margin-left: 16px;
		border: solid 16px transparent;
		border-left-color: #105FAD;
	}
	
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.stepBlock .boxR:not(:last-child):after {
		content: "";
		width: 0;
		height: 0;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
		border: solid 10px transparent;
		border-top-color: #105FAD;
	}

	/* 矢印 */
	.boxR .stepBlock > div:not(:last-child) .imgBox::after {
		content: "";
		width: 0;
		height: 0;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin-top: 5px;
		margin-left: auto;
		margin-right: auto;
		border: solid 10px transparent;
		border-top-color: #105FAD;
	}
	.boxR .flexBox > div + div {
		margin-top: 25px;
	}
}
