@charset "utf-8";
/* ------------------------------
 見出し&テキスト
------------------------------ */
/* -- H2 -- */
.contentsHome h2 {
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 80px;
}

/* -- H3 -- */
.contentsHome h3 {
	font-size: 2.6rem;
	line-height: 1.7;
	color: #50a56d;
	font-weight: bold;
	margin-bottom: 30px;
}
.contentsHome h3 span{
	font-size: 1.5rem;
	color: #000;
	font-weight: normal;
	display: block;
}
/* -- H4 -- */
.contentsHome h4 {
	font-size: 3rem;
	margin-bottom: 20px;
	border-bottom: solid 1px #e2e3e5;
}
/* -- H5 -- */
.contentsHome h5 {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.normal {
	font-weight: normal;
}

/* ------------------------------
 ボックス
------------------------------ */
/* -- 横並びボックス（flexbox） --- */
.flexBox {
	display: flex !important;
	flex-flow: row wrap;
}
.flexBox::after,
.cms_block.flexBox::after {
	display: none;
}
.cms_block {
	position: relative;
}
.flexBox > * {
	width: 100%;
}
/* -- 横並びボックス（flexbox） センター揃え --- */
.flexBox.fb-tac {
	justify-content: center;
}
/* -- 横並びボックス（flexbox） 縦センター揃え --- */
.flexBox.fb-vac {
	align-items: center;
}
/* -- 横並びボックス（flexbox） 左右別れ --- */
.flexBox.fb-btw {
	justify-content: space-between;
}
/* -- 1/2 --- */
.w546 { width: 546px;}
.w1-2 { width: 47.895%;}

.cms_fl.w546, .fl.w546 {
	margin-right: 48px;
}
.cms_fl.w1-2, .fl.w1-2 {
	margin-right: 4.211%;
}
.cms_fr.w546, .fr.w546,
.cms_fr.w1-2, .fr.w1-2 {
	margin-left: 0;
}
/* -- サイドナビ有 1/2 --- */
.w380 { width: 380px;}
.mainContents .w1-2 { width: 47.03%;}

.cms_fl.w380, .fl.w380 {
	margin-right: 48px;
}
.mainContents .cms_fl.w1-2, .mainContents .fl.w1-2 {
	margin-right: 5.94%;
}

/* -- 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_fl.w1-3, .fl.w1-3, .cms_fl.w2-3, .fl.w2-3 {
	margin-right: 3.947%;
}
.cms_fr.w350, .fr.w350, .cms_fr.w745, .fr.w745,
.cms_fr.w1-3, .fr.w1-3, .cms_fr.w2-3, .fr.w2-3 {
	margin-left: 0;
}

/* -- 1/4 --- */
.w258 { width: 258px;}
.w1-4 { width: 22.632%;}
/* -- 3/4 --- */
.w846{ width: 846px !important;}
.w3-4 { width: 74.211%;}

.cms_fl.w258, .fl.w258, .cms_fl.w846, .fl.w846, .cms_fl.w552, .fl.w552 {
	margin-right: 36px;
}
.cms_fl.w1-4, .fl.w1-4, .cms_fl.w3-4, .fl.w3-4 {
	margin-right: 3.159%;
}
.w1-2.cms_fl + .cms_fl.w1-4, .w1-2.fl + .fl.w1-4, .w1-2.cms_fl + .fl.w1-4, .w1-2.fl + .cms_fl.w1-4,
.w1-2.cms_fl + .cms_fl.w258, .w1-2.fl + .fl.w258, .w1-2.cms_fl + .fl.w258, .w1-2.fl + .cms_fl.w258,
.w546.cms_fl + .cms_fl.w258, .w546.fl + .fl.w258, .w546.cms_fl + .fl.w258, .w546.fl + .cms_fl.w258,
.w546.cms_fl + .cms_fl.w1-4, .w546.fl + .fl.w1-4, .w546.cms_fl + .fl.w1-4, .w546.fl + .cms_fl.w1-4 {
	margin-right: 2.633%;
}
.cms_fr.w258, .fr.w258, .cms_fr.w846, .fr.w846,
.cms_fr.w1-4, .fr.w1-4, .cms_fr.w3-4, .fr.w3-4 {
	margin-left: 0;
}

/* -- 1/5 --- */
.w208 { width: 208px;}
.w1-5 { width: 18.246%;}

.cms_fl.w208, .fl.w208{
	margin-right: 25px;
}
.cms_fl.w1-5, .fl.w1-5 {
	margin-right: 2.194%;
}
.cms_fr.w208, .fr.w208,
.cms_fr.w1-5, .fr.w1-5 {
	margin-left: 0;
}

/* -- 3/5 --- */
.w3-5 { width: 59.123%;}
/* -- 4/5 --- */
.w907{ width: 907px !important;}
.w4-5 { width: 79.562%;}

/* -- その他 --- */
.cms_block {
	width: 1140px;
}
.mainContents .cms_block,
.wide {
	width: 100%;
}
.wide:not(.flexBox) > * {
	width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

/* -- 横並びボックス（flexbox） --- */
.flexBox.nowide > * {
	width: auto;
}
/* flexbox 1/2 */
.flexBox .w546:not(:nth-of-type(2n)),
.flexBox .w1-2:not(:nth-of-type(2n)) {
	margin-right: 4.211%;
}
/* flexbox 1/2 order使用時 */
.flexBox .w546.order2,
.flexBox .w1-2.order2 {
	margin-right: 0;
}
.flexBox .w546.order1,
.flexBox .w546.order3,
.flexBox .w1-2.order1,
.flexBox .w1-2.order3 {
	margin-right: 4.211%;
}
/* flexbox 1/3 */
.flexBox .w1-3:not(:nth-of-type(3n)) {
	margin-right: 3.947%;
}
.cms_text.flexBox > .w1-3:not(:nth-last-child(-n+3)) {
	margin-bottom: 40px;
}
/* flexbox 1/4 */
.flexBox .w258:not(:nth-of-type(4n)),
.flexBox .w1-4:not(:nth-of-type(4n)) {
	margin-right: 3.159%;
}
/* flexbox 1/5 */
.flexBox .w1-5:not(:nth-of-type(5n)),
.flexBox .w208:not(:nth-of-type(5n)) {
	margin-right: 2.194%;
}
.flexBox .w1-3:last-of-type,
.flexBox .w1-4:last-of-type,
.flexBox .w1-5:last-of-type {
	margin-right: 0;
}
/* -- 横並びボックス（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 順番 */
.order1 { order: 1;}
.order2 { order: 2;}
.order3 { order: 3;}
.order4 { order: 4;}

/* ------------------------------
 テーブル
------------------------------ */
/* -- デフォルト -- */
table {
	width: 100%;
	border: 1px solid #cccccc;
	line-height: 1.44;
}

table th, table td {
	vertical-align: middle;
	border: 1px solid #cccccc;
}
table th {
	padding: 7px 15px;
	font-weight: bold;
	background-color: #eff2f3;
}
table td {
	padding: 10px 0 10px 15px;
	word-break: break-all;
}