@charset "utf-8";
/* ------------------------------
 見出し&テキスト
------------------------------ */
/* -- H1 -- */
.headerBlock h1{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: left;
	z-index: 2;
	letter-spacing: 0.05em;
}
/* H2 */
.contents h2 {
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	margin-bottom: 50px;
	font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif JP',sans-serif;
	letter-spacing: 0.15em;
}
/* -- H3 -- */
.contents h3 {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	margin-bottom: 40px;
	border-left: solid 8px #219552;
	padding-left: 20px;
	letter-spacing: 0.05em;
}

/* -- H4 -- */
.contents h4 {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 5px;
	color: #219552;
}
/* -- H5 -- */
.contents h5 {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
	position: relative;
}
.line-height-s {
	line-height: 1.5;
}
/* ------------------------------
 スマホ用コード（見出し）
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- H1 -- */
	.headerBlock h1{
		font-size: 2rem;
	}
	/* 下層H2 */
	.contents h2 {
		font-size: 2rem;
		margin-bottom: 30px;
		letter-spacing: 0;
	}
	/* -- H3 -- */
	.contents h3 {
		font-size: 1.8rem;
		margin-bottom: 15px;
		padding: 4px 0 4px 12px;
		border-left: solid 6px #219552;
		line-height: 1.3;
	}
	/* -- H5 -- */
\	.contents h5 {
		font-size: 1.5rem;
	}
}

/* ------------------------------
 ボックス
------------------------------ */
/* -- 横並びボックス（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-vab {
	align-items: flex-end;
}
/* -- 横並びボックス（flexbox） 左右別れ --- */
.flexBox.fb-btw {
	justify-content: space-between;
}
/* --------------------
 PC用限定CSS
--------------------- */
@media print, screen and (min-width: 768px) {
	/* -- wide 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 --- */
	.w370 { width: 370px;}
	.mainContents .w1-2 { width: 48.052%;}

	.cms_fl.w370, .fl.w370 {
		margin-right: 30px;
	}
	.mainContents .cms_fl.w1-2, .mainContents .fl.w1-2 {
		margin-right: 3.896%;
	}
	.cms_fr.w370, .fr.w370,
	.mainContents .cms_fr.w1-2, .mainContents .fr.w1-2 {
		margin-left: 0;
	}
	
	/* -- wide 1/3 --- */
	.w350 {  width: 350px;}
	.w1-3 { width: 30.702%;}
	/* -- wide 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/3 --- */
	.w240 { width: 240px;}
	.mainContents .w1-3 { width: 31.169%;}
	/* -- 下層　2/3 --- */
	.w745 { width: 505px;}
	.w2-3 { width: 62.338%;}
	.cms_fl.w240, .fl.w240, .cms_fl.w505, .fl.w505 {
		margin-right: 25px;
	}
	.mainContents .cms_fl.w1-3, .mainContents .fl.w1-3,
	.mainContents .cms_fl.w2-3, .mainContents .fl.w2-3 {
		margin-right: 3.2465%;
	}
	.cms_fr.w240, .fr.w240,
	.mainContents .cms_fr.w1-3, .mainContents .fr.w1-3,
	.mainContents .cms_fr.w2-3, .mainContents .fr.w2-3  {
		margin-left: 0;
	}
	
	/* -- wide 1/4 --- */
	.w258 { width: 258px;}
	.w1-4 { width: 22.632%;}
	/* -- wide 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/4 --- */
	.w170 { width: 170px;}
	.mainContents .w1-4 { width: 22.078%;}
	/* -- 下層　3/4 --- */
	.w570 { width: 570px;}
	.w3-4 { width: 74.026%;}
	.cms_fl.w170, .fl.w170, .cms_fl.w3-4, .fl.w3-4 {
		margin-right: 30px;
	}
	.mainContents .cms_fl.w1-4, .mainContents .fl.w1-4,
	.mainContents .cms_fl.w3-4, .mainContents .fl.w3-4 {
		margin-right: 3.896%;
	}
	.cms_fr.w170, .fr.w170,
	.mainContents .cms_fr.w1-4, .mainContents .fr.w1-4,
	.mainContents .cms_fr.w3-4, .mainContents .fr.w3-4  {
		margin-left: 0;
	}

	/* -- wide 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;
	}
	
	/* -- wide 3/5 --- */
	.w3-5 { width: 59.123%;}
	/* -- wide 4/5 --- */
	.w907{ width: 907px !important;}
	.w4-5 { width: 79.562%;}
	
	/* -- その他 --- */
	.w980 { width: 980px !important;}
	.cms_block {
		width: 980px;
	}
	.mainContents .cms_block,
	.wide {
		width: 100%;
	}
	.wide:not(.flexBox) > * {
		width: 980px;
		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 --- */
	.flexBox .w370:not(:nth-of-type(2n)),
	.mainContents .flexBox .w1-2:not(:nth-of-type(2n)) {
		margin-right: 3.896%;
	}
	
	/* 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%;
	}
	/* -- flexbox 下層　1/3 --- */
	.mainContents .flexBox .w1-3:not(:nth-of-type(3n)) {
		margin-right: 3.2465%;
	}
	.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/4 --- */
	.mainContents .flexBox .w1-4:not(:nth-of-type(4n)) {
		margin-right: 3.896%;
	}
	/* 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 .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;}
}
/* --------------------
 スマホ用コード
--------------------- */
@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: left !important;
	}
	/* -- 横幅100％ --- */
	.w1-5.sp100, .w208.sp100 {
		width: 100%;
		margin-right: 0 !important;
		float: none !important;
	}
	
	/* flexbox 1/5 */
	.flexBox .w1-5:not(:nth-child(2n)),
	.flexBox .w208: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;
	}
	
	/* -- その他 --- */
	.cms_block {
		margin-left: 5% !important;
		margin-right: 5% !important;
	}
	.mainContents .cms_block {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}
/* ------------------------------
 テーブル
------------------------------ */
/* -- デフォルト -- */
table {
	width: 100%;
}
table th, table td {
	line-height: 1.5;
	text-align: left;
	vertical-align: top;
	border: solid 1px #dcdcdc;
}
table th {
	font-weight: bold;
	color: #000;
	padding: 20px;
	background: #F5F5F5;
	vertical-align: middle;
}
table td {
	padding: 20px;
	background: #fff;
}
.style-01 table th, 
.style-01 table td {
	width: calc(100% / 6) !important;
	text-align: center;
	vertical-align: middle;
	border: solid 1px #dcdcdc;
	padding: 10px 0;
}
.style-01 table tr:first-child th {
	color: #fff;
	font-weight: bold;
	padding: 10px;
	background: #7B7B7B;
}
.style-01 table th {
	background: #F5F5F5;
}
.style-01 table .red {
	color: #E94B65 !important;
}
/*-- 枠なし --*/
.noline table{
	width: auto;
}
.noline table th, .noline table td {
	border: none;
}
.noline table th {
	padding: 0;
	background: none;
}
.noline table td {
	font-weight: 500;
	padding: 0;
}

.lh-wide table th, .lh-wide table td {
	line-height: 2;
}
/*-- 書式Noテーブル --*/
.flowtable table th {
	width: 11% !important;
	text-align: center;
	vertical-align: middle;
}
.flowtable table td {
	width: 89% ;
}



/* --------------------
 スマホ用コード
--------------------- */
@media screen and (max-width: 767px) {
	table th, table td {
		font-size: 1.3rem;
	}
	table tbody tr:first-child th:first-child {
		width: 30%;
	}
	/* -- レスポンシブ -- */
	.res table th {
		width: auto !important;
		display: block;
	}
	.res table td {
		width: auto !important;
		display: block;
	}
	.res table thead + tbody tr:first-child th,
	.res table th + td {
		border-top: none;
	}
	.res table tr:not(:last-child) td {
		border-bottom: none;
	}
	.res table.no-res td {
		display: table-cell;
	}
	.contentsTop .scrollable table {
		width: 980px !important;
	}
	.contents .scrollable table {
		width: 770px !important;
	}
	/*-- 流れ（thの背景グレー） --*/
	.flow table + table {
		margin-top: 20px;
	}
	.flow table th {
		width: auto !important;
		display: block;
		border-bottom: none;
	}
	.flow table td {
		padding: 15px 0 0 0;
		width: auto !important;
		display: block;
		border-top: none;
	}
	/* 流れ（矢印） */
	.flow.arrow table:not(:last-of-type)::after {
		content: "";
		width: 0;
		height: 0;
		border: solid 6px transparent;
		border-top-color: #219552;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		top: calc(100% + 6px);
	}
	/*-- 一覧 --*/
	.listTb table td {
		padding-bottom: 15px;
	}
	.listTb table tr:last-child td:last-child {
		padding-bottom: 0;
	}
}

/* ------------------------------
 リスト
------------------------------ */
/*-- ノーマルリスト --*/
.cms_text ul > li, .cms_image ul > li {
	padding-left: 15px;
	position: relative;
}
.cms_text ul > li:before, .cms_image ul > li:before {
	content: "●";
	font-size: 60%;
	color: #219552;
	position: absolute;
	left: 0;
	top: .6em;
}
.cms_text ul > li.nolist {
	padding-left: 0;
}
.cms_text ul > li.nolist:before {
	display: none;
}
/*-- 数字リスト --*/
ol {
	counter-reset: item;
	list-style-type: none;
	padding-left: 0;
}
ol > li {
	padding-left: 1.5em;
	line-height: 1.7;
	margin-bottom: 10px;
	position: relative;
}
ol > li:before {
	counter-increment: item;
	content: counter(item)'.';
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
/*-- アイコン無リスト --*/
.cms_text.noicon li,
ul.noicon li {
	padding-left: 0;
}
.cms_text.noicon li:before,
ul.noicon li:before {
	display: none;
}
/*-- 横並びリスト --*/
.cms_text.inline li {
	display: inline-block;
}
.cms_text.inline li:not(:last-child) {
	margin-right: 10px;
}
/* --------------------
 PC用限定CSS
--------------------- */
@media print, screen and (min-width: 768px) {
	/* 横並び 分割 */
	.list_div2 ul,
	.list_div3 ul {
		display: flex;
		flex-flow: row wrap;
	}
	.list_div2 ul li {
		width: calc((100% - 30px) / 2);
	}
	.list_div2 ul li:not(:nth-child(2n)) {
		margin-right: 30px;
	}
	.list_div3 ul li {
		width: calc((100% - 60px) / 3);
	}
	.list_div3 ul li:not(:nth-child(3n)) {
		margin-right: 30px;
	}
}
/* --------------------
 スマホ用コード
--------------------- */
@media screen and (max-width: 767px) {
	/*-- 横並びリスト --*/
	.cms_text.inline li {
		margin-top: 5px;
		margin-bottom: 5px;
	}
}

/* ------------------------------
 ページ内リンク
------------------------------ */
.pin_link {
	display: flex;
	padding: 15px 20px 10px 20px;
	background: #f2f2f2;
}
.pin_link ul {
	display: flex;
	flex-flow: row wrap;
}
.pin_link ul li {
	padding-left: 0;
	line-height: 1.8;
	margin-right: 23px;
	margin-bottom: 5px;
}
.pin_link ul li::before {
	display: none;
}
.pin_link ul a {
	font-size: 1.4rem;
	color: #000;
	display: block;
	text-decoration: none;
	padding-left: 15px;
	background: url(../img/icon_arrow01.png) no-repeat 0 0.7em / 9px auto;
}
@media screen and (min-width: 768px) {
	.pin_link ul a:focus, .pin_link ul a:hover {
		color: #219552;
	}
}
/* --------------------
 スマホ用コード
--------------------- */
@media screen and (max-width: 767px) {
	.pin_link {
		padding: 15px 0 10px 25px;
		justify-content: flex-start;
	}
	.pin_link ul {
		justify-content: flex-start;
	}
	.pin_link ul li {
		margin-left: 0;
		margin-right: 25px;
		margin-bottom: 5px;
	}
	.pin_link ul a {
		font-size: 1.4rem;
	}
}

/* ------------------------------
 背景色
------------------------------ */
.gray_box, .colorBg-a {
	padding: 40px;
	background: #f2f2f2;
}
/* --------------------
 スマホ用コード
--------------------- */
@media screen and (max-width: 767px) {
	.gray_box, .colorBg-a {
		padding: 20px;
	}
}

/* ------------------------------
 ボタン
------------------------------ */
.btn a {
	min-width: 330px;
	font-weight: bold;
	color: #fff;
	padding: 15px 40px 15px 15px;
	display: inline-block;
	text-decoration: none;
	position: relative;
	background: #219552;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
}
button.btn {
	background: none;
	cursor: pointer;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.btn a::before,
.btn a::after,
.bottom-btn .cms_link a::before,
.bottom-btn .cms_link a::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 23px;
    margin: auto;
    vertical-align: middle;
    z-index: 100;
	background: none !important;
}
.btn a::before,
.bottom-btn .cms_link a::before{
	content: "";
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.btn a::after,
.bottom-btn .cms_link a::after{
	content: "";
    right: 31px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn a:hover, .btn a:focus,
.btn02 a:hover, .btn02 a:focus,
button.btn:hover, button.btn:focus {
	background: #51b77c;
}
@media screen and (max-width: 767px) {
	.btn a {
		min-width: 100%;
		padding: 15px 40px 15px 15px;
		font-size: 1.5rem;
	}
}
/* ------------------------------
 下部リンク
------------------------------ */
.bottom-btn{
	display: flex;
	flex-flow: row wrap;
}
.bottom-btn .cms_link{
	width: 250px;
	margin-right: 10px;
	margin-bottom: 10px;
}
.bottom-btn .cms_link:nth-child(3n){
	margin-right: 0;
}

@media screen and (max-width: 767px) {
	.bottom-btn .cms_link{
		width: 100%;
		margin-right: 0;
		margin-bottom: 5px;
	}
	.bottom-btn .cms_link a{
		min-width: 100%;
		padding: 10px 15px;
	}
}
/* ------------------------------
 slick 上書き
------------------------------ */
/* NEXT PREV */
div .slick-prev,
div .slick-next {
	width: 32px;
	height: 32px;
	top: calc(50% - 60px);
	z-index: 20;
	background: #2963b3;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
div .slick-prev:hover, div .slick-next:hover,
div .slick-prev:focus, div .slick-next:focus {
	background: #225396;
}
div .slick-prev:focus, div .slick-next:focus {
	outline: thin dotted #000;
}
div .slick-prev.slick-disabled,
div .slick-next.slick-disabled {
	opacity: .5;
}
div .slick-prev.slick-disabled:before,
div .slick-next.slick-disabled:before {
    opacity: 1;
}
div .slick-prev:before,
div .slick-next:before {
	content: "" !important;
	position: relative;
	left: 0;
	right: 0;
	margin: auto;
	opacity: 1;
	width: 15px;
	height: 11px;
	display: block;
	border-color: #fff;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
div .slick-prev { left: -2px;}
[dir='rtl'] div .slick-prev {right: -2px;}
div .slick-prev:before {
	content: "";
	position: absolute;
    left:5px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
div .slick-next { right: -2px;}
[dir='rtl'] div .slick-next { left: -2px;}
div .slick-next:before {
	content: "";
	position: absolute;
    right:5px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
	/* NEXT PREV */
	div .slick-prev,
	div .slick-next {
		width: 40px;
		height: 40px;
		top: calc(50% - 55px);
	}
}
/* ------------------------------
 youtube埋め込み
------------------------------ */
.movie {
	position: relative;
	width: 100%;
}
.movie:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}
.movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}




/* ------------------------------
 ポップアップ コンテンツ
------------------------------ */
.modal-container > .cms_block  {
	padding: 40px;
	background: #fff;
	width: 720px !important;
	position: relative !important;
	overflow: visible;
}
.modal-container > .cms_block table th {
	font-size: 1.5rem;
	font-weight: 500;
}
/* -- テーブルスクロール -- */
.modal-container > .cms_block .scroller .cms_text,
.modal-container > .cms_block .scroller table {
	width: 640px !important;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.modal-container > .cms_block table th,
	.modal-container > .cms_block table td {
		padding: 18px 15px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.modal-container > .cms_block {
		padding: 20px;
		width: 90% !important;
	}
	
	/* -- テーブルスクロール -- */
	.modal-container > .cms_block .scroller .cms_text,
	.modal-container > .cms_block .scroller table {
		width: 640px !important;
	}
}
/* ------------------------------
 スクロール
------------------------------ */
@media screen and (min-width: 768px) {
	.scrollable{
		overflow: visible !important;
	}
}

/* ------------------------------
 block
------------------------------ */
.cms_block {
	margin-bottom: 80px;
	margin-left: auto;
	margin-right: auto;
}
.cms_block:last-child,
.cms_text:last-child,
.cms_image:last-child  {
	margin-bottom: 0;
}
.cms_image, .cms_text {
	margin-bottom: 40px;
}
.cms_image.fl, .cms_image.fr,
.cms_image.cms_fl, .cms_image.cms_fr  {
	text-align: center;
}
/*.cms_block > *, .cms_cf > *:not(.cms_image) {
	margin-bottom: 1.5em;
}*/
/*
.cms_block>
*:last-child ,
.cms_cf>
*:last-child:not(.cms_fr) {
    margin-bottom: 1.5em;
}
*/
.cms_fl {
	margin-right: 24px;
	float: left;
}
.cms_fr {
	margin-left: 24px;
	float: right;
}
.cms_caption_t {
    margin-bottom: 15px;
    text-align: left;
}
.cms_caption_b {
    margin-top: 7px;
    text-align: left;
}
.fl + .fr,
.cms_fl + .cms_fr,
.cms_fl + .fr,
.fl + .cms_fr {
    margin-left: 0;
}
.cms_cf+
.cms_cf {
    margin-top: -.75em;
}
.cms_text p + p {
    margin-top: .5em;
}
@media screen and (max-width: 767px) {
	.cms_block {
		margin-bottom: 50px;
		z-index: 2;
	}
	.cms_image {
		/* text-align: center; */
		margin-bottom: 25px;
	}
	.cms_text {
		margin-bottom: 25px;
	}
	.cms_fl {
	    float: none !important;
	    margin-right: 0;
	     /* margin-bottom: 15px; */
	}
	.cms_fr {
	    float: none !important;
	    /* margin-bottom: 15px; */
	    margin-left: 0;
	}
	#now_loading {
	    width: 40px;
	    height: 40px;
	}
}
/* ------------------------------
 熱処理研究会
------------------------------ */
.point {
	background: #219552;
	width: 126px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.15em;
	padding: 2px;
}
.green {
	color: #219552;
	font-weight: bold;
}
.cms_block.bg_gray {
	background: #ebebeb;
	padding: 50px;
	margin-bottom: 70px;
}
.lecturer .f20 {
	font-weight: bold;
	margin-right: 10px;
}
.cms_text.lecturer p {
	line-height: 1.7;
}
.cms_text.lecturer p + p {
    margin-top: 0;
}
@media screen and (max-width: 767px) {
	.point {
		width: 100px;
		padding: 2px;
	}
	.green.f18 {
		font-size: 1.5rem;
	}
	.cms_block.bg_gray {
		padding: 35px 25px;
		margin-bottom: 40px;
	}
	.cms_block.bg_gray.mb120 {
		margin-bottom: 60px !important;
	}
}
/* ------------------------------
 アンケート
------------------------------ */
.formBlock table th {
	width: 32%;
	font-size: 1.5rem;
}
.formBlock table th span {
	font-weight: normal;
	font-size: 1.1rem;
	display: block;
	margin-top: 10px;
}
.w7em {
    width: 7em !important;
}
.w1-2 {
	width: 49% !important;
}
.formBlock textarea::-webkit-input-placeholder,
.formBlock input::-webkit-input-placeholder {
	color: #999;
}
.formBlock textarea::-moz-placeholder,
.formBlock input::-moz-placeholder {
	color: #999;
}
.formBlock textarea:-ms-input-placeholder,
.formBlock input:-ms-input-placeholder {
	color: #999;
}
.formBlock input[type='text'],
.formBlock input[type='number'],
.formBlock input[type='tel'],
.formBlock input[type='email'],
.formBlock input[type='password'],
.formBlock textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	width: 100%;
	padding: 10px;
	border: solid 1px #c8c8c8;
	background: #fff;
	text-align: left;
	vertical-align: middle;
}
.formBlock textarea {
	width: 100%;
}
.formBlock input[type='text'].w50p {
	width: 240px;
}
.formBlock input[type='text']:focus,
.formBlock input[type='number']:focus,
.formBlock input[type='tel']:focus,
.formBlock input[type='email']:focus,
.formBlock select:focus,
.formBlock textarea:focus {
	outline: 0;
	box-shadow: 0 0 2px 3px #ddd inset;
}
.formBlock input[type='text']:focus,
.formBlock input[type='number']:focus,
.formBlock input[type='tel']:focus,
.formBlock input[type='email']:focus,
.formBlock textarea:focus {
	outline: 0;
}
.formBlock input[type="number"]::-webkit-outer-spin-button,
.formBlock input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.formBlock input[type="number"] {
	-moz-appearance: textfield;
}
.formBlock input[type=checkbox] {
	display: none;
}
.formBlock input[type=checkbox] + span {
	width: 16px;
	height: 16px;
	background-color: #fff;
	display: inline-block;
	vertical-align: top;
	margin-top: 5px;
	margin-right: 10px;
	border: solid 1px #c8c8c8;
	position: relative;
}
.formBlock input[type=checkbox] + span:before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	background-color: transparent;
	border-radius: 10%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.formBlock input[type=checkbox]:checked + span:before {
	background-color: #7d7d7d;
}
.formBlock label {
	display: block;
	cursor: pointer;
	line-height: 1.9;
}
@media screen and (max-width: 767px) {
	.formBlock table th span {
		margin-top: 5px;
	}
	.formBlock input[type=checkbox] + span {
		margin-top: 4px;
	}
	.w7em {
		width: 4.5em !important;
	}
	.w1-2 {
		width: 100% !important;
		margin-bottom: 15px;
	}
}
.formBlock input[type=radio] {
	display: none;
}
.formBlock input[type=radio] + span {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	margin: 0 5px 1px 0;
	border: solid 1px #c8c8c8;
	border-radius: 100%;
	background-color: #fff;
	vertical-align: middle;
}
.formBlock input[type=radio] + span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 10px;
	height: 10px;
	margin: auto;
	border-radius: 100%;
	background-color: transparent;
}
.formBlock input[type=radio]:checked + span::before {
	background-color: #7d7d7d;
}
.zip_search {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	margin-left: 4px;
	padding: 5px 7px;
	border-radius: 3px;
	cursor: pointer;
	background: #219552;
	color: #fff;
	font-size: 1.3rem;
}

@media print, screen and (min-width: 768px) {
	.zip_search {
		-webkit-transition: 0.1s ease-in-out;
		transition: 0.1s ease-in-out;
		padding: 5px 12px;
		font-size: 1.5rem;
		margin-left: 12px;
	}
	.zip_search:hover {
		opacity: 0.7;
	}
}

.formBlock select {
	-webkit-appearance: none;
	position: relative;
	width: 12em;
	height: 43px;
	padding: 0 32px 0 8px;
	border: solid 1px #c8c8c8;
	background: url("../img/select.png") no-repeat right 12px center / 10px auto;
	line-height: 36px;
	vertical-align: middle;
}
.formBlock select::-ms-expand {
	display: none;
}

.btn-a {
	min-width: 330px;
	font-weight: bold;
	color: #fff;
	padding: 15px ;
	display: inline-block;
	text-decoration: none;
	position: relative;
	background: #219552;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	cursor: pointer;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.btn-a::before,
.btn-a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 23px;
    margin: auto;
    vertical-align: middle;
    z-index: 100;
	background: none !important;
}
.btn-a::before {
	content: "";
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.btn-a::after {
	content: "";
    right: 31px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn-a:hover, .btn-a:focus {
	background: #51b77c;
}
.btn-b {
	font-size: 1.8rem !important;
	color: #fff;
	min-width: 100px;
	width: 100px;
	float: left;
	margin-right: -100px;
	line-height: 1.5;
	padding: 7px 30px;
	cursor: pointer;
	background: #999;
	-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;
}
.btn-a:disabled:hover span {
	background: none;
}
.required,
.any {
	display: block;
	width: 40px;
	margin: 10px 0 0 0 !important;
	background-color: #219552;
	color: #fff;
	font-weight: bold !important;
	text-align: center;
	line-height: 22px;
	vertical-align: 0px;
	font-size: 1.2rem !important;
	border-radius: 4px;
}
.any {
	background-color: #7d7d7d;
}
@media screen and (max-width: 767px) {
	.cms_block.formBlock table {
		border-bottom: solid 1px #dcdcdc;
	}
	.cms_block.formBlock table th {
		padding: 15px;
		display: block;
		width: 100% !important;
		border-bottom: none;
		font-size: 1.5rem;
	}
	.cms_block.formBlock table td {
		padding: 15px;
		display: block;
		width: 100% !important;
		border-bottom: none;
		font-size: 1.5rem;
	}
	.cms_text table td span.red {
		display: inline-block;
	}
	
	.formBlock input[type='text'],
	.formBlock input[type='number'],
	.formBlock input[type='tel'],
	.formBlock input[type='email'],
	.formBlock input[type='password'],
	.formBlock textarea {
		width: 100%;
		font-size: medium;
		padding: 5px;
	}
	
	.formBlock input[type=radio] + span {
		width: 18px;
		height: 18px;
	}
	
	.formBlock select {
		font-size: medium;
		height: 36px;
	}

	
	.btn-a {
		min-width: 185px;
		padding: 15px ;
		font-size: 1.5rem;
	}
	.btn-b {
		font-size: 1.3rem !important;
		color: #fff;
		min-width: 42px;
		width: 42px;
		padding: 5px;
	}

	.required,
	.any {
		margin: 7px 10px 2px 0;
		font-size: 1.1rem;
	}
}
