@charset "utf-8";
/* CSS Document */

/* ==============================================================
*  タイトル
* ============================================================ */
.ttl01 {
    font-size: 4rem;
    color: #333;
    line-height: 1.7;
    padding: 60px 0;
    text-align: center;
}
.ttl02 {
    text-align: center;
    border-bottom: 1px solid #000;
	width: 980px;
	box-sizing: border-box;
	margin: 0 auto 40px;
}
.ttl02 span{
    font-size: 2.4rem;
	font-weight: bold;
    line-height: 1.3;
    border-bottom: 5px solid #000;
    display: inline-block;
    padding-bottom: 5px;
}
.ttl03{
    font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.ttl03::before,
.ttl03::after{
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #000;
	display: block;
}
.ttl03::before{
	margin-right: 40px;
}
.ttl03::after{
	margin-left: 40px;
}
.ttl04{
    font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	margin-top: 50px;
	margin-bottom: 20px;
	line-height: 1.4;
}
.ttl05{
    font-size: 1.7rem;
	font-weight: bold;
	text-align: left;
	margin-bottom: 15px;
	line-height: 1.4;
}
.ttl06{
    font-size: 1.7rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 15px;
	line-height: 1.4;
}


@media screen and (max-width: 767px) {
	.ttl01 {
		font-size: 2.5rem;
		padding: 40px 15px;
	}
	.ttl02 {
		width: 100%;
		margin-bottom: 30px;
	}
	.ttl02 span{
		font-size: 2.1rem;
	}
	.ttl03{
		font-size: 2.1rem;
	}
	.ttl03::before{
		margin-right: 10px;
	}
	.ttl03::after{
		margin-left: 10px;
	}
	.ttl04{
		font-size: 1.9rem;
		margin-top: 30px;
		margin-bottom: 15px;
	}
	.ttl05{
		font-size: 1.5rem;
		margin-bottom: 15px;
		line-height: 1.4;
	}
	.ttl06{
		font-size: 1.5rem;
		margin-bottom: 15px;
		line-height: 1.4;
	}

}

/* ==============================================================
*  文字サイズ
* ============================================================ */
.sub_txt{
	font-size: 1.3rem;
}

/* ==============================================================
*  改行
* ============================================================ */
.pc_br{
	display: block;
}
.sp_br{
	display: none;
}
@media screen and (max-width: 767px) {
	.pc_br{
		display: none;
	}
	.sp_br{
		display: block;
	}
}


/* ==============================================================
*  text-align
* ============================================================ */
.txt_center{
	text-align: center;
}


/* ==============================================================
*  特殊文字
* ============================================================ */
sup{
	font-size: 1.0rem;
	vertical-align: super;
}
sub{
	font-size: 1.0rem;
	vertical-align:bottom;
}
i{
	font-style: italic;
}

/* ==============================================================
*  記号
* ============================================================ */
.mark{
    font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace";
}


/* ==============================================================
*  マージン
* ============================================================ */
.mt40{
	margin-top: 40px;
}


/* ==============================================================
*  disc_list
* ============================================================ */
.disc_list{
}
.disc_list li{
	font-size: 1.6rem;
	line-height: 1.7;
	padding-left: 15px;
	background: url(../img/marker_black.png) left 0.5em no-repeat;
	margin-bottom: 10px;
	text-align: left !important;
}
@media screen and (max-width: 767px) {
	.disc_list{
		margin-top: 20px;
	}
}

/* ==============================================================
*  num_list
* ============================================================ */
.num_list{
	padding-left: 20px;
	list-style:decimal;
}
.num_list li{
	font-size: 1.6rem;
	line-height: 1.7;
	margin-bottom: 10px;
	text-align: left !important;
}
@media screen and (max-width: 767px) {
	.num_list{
		margin-top: 20px;
	}
}


/* ==============================================================
*  col_box
* ============================================================ */
.col_box {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.col_box .txt_box p{
    font-size: 1.6rem;
    line-height: 1.8;
	margin-bottom: 30px;
}

.col_box .img_box{
	margin-bottom: 30px;
}
.col_box .img_box figcaption{
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    text-align: center;
    margin-top: 5px;
}
.col_box_02 {
	overflow: hidden;
    margin-bottom: 70px;
}
.col_box_02 .txt_box{
    float: right;
}
.col_box_02 .txt_box p{
    font-size: 1.6rem;
    line-height: 1.8;
	margin-bottom: 30px;
}
.col_box_02 .img_box{
    float: left;
	margin-bottom: 30px;
}
.col_box_02 .img_box figcaption{
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    text-align: center;
    margin-top: 5px;
}
.col_box_w420 .img_box{
	width: 420px;
}
.col_box_w420 .txt_box{
	width: 510px;
}
.col_box_w440 .img_box{
	width: 440px;
}
.col_box_w440 .txt_box{
	width: 490px;
}
.col_box_w450 .img_box{
	width: 450px;
}
.col_box_w450 .txt_box{
	width: 480px;
}
.col_box_w460 .img_box{
	width: 460px;
}
.col_box_w460 .tbl_box{
	width: 460px;
}
.col_box_w460 .txt_box{
	width: 470px;
}
.col_box_w470 .img_box{
	width: 470px;
}
.col_box_w470 .txt_box{
	width: 460px;
}
.col_box_w480 .img_box{
	width: 480px;
}
.col_box_w480 .txt_box{
	width: 450px;
}
.col_box_w600 .img_box{
	width: 600px;
}
.col_box_w600 .txt_box{
	width: 330px;
}

.col_box_img {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
.col_box_img figure{
	margin: 0 20px;
}
.col_box_img_w470 {
	display: flex;
	align-items: flex-start;
	justify-content:space-between;
}

@media screen and (max-width: 767px) {
	.col_box {
		display: block;
	}
    .col_box_02 {
		display: block;
        margin-bottom: 30px;
	}
	.col_box .txt_box p{
		margin-bottom: 20px;
	}
	.col_box .img_box{
		margin-bottom: 20px;
	}
	.col_box .img_box figcaption{
		font-size: 1.3rem;
	}
	.col_box_02 .img_box figcaption{
		font-size: 1.3rem;
	}
	.col_box .img_box,
	.col_box .txt_box{
		box-sizing: border-box;
		padding: 0 15px;
	}
	.col_box_w420 .img_box,
	.col_box_w420 .txt_box{
		width: 100%;
	}
	.col_box_w440 .img_box,
	.col_box_w440 .txt_box{
		width: 100%;
	}
	.col_box_w460 .img_box,
	.col_box_w460 .txt_box,
    .col_box_w460 .tbl_box{
		width: 100%;
	}
	.col_box_w470 .img_box,
	.col_box_w470 .txt_box{
		width: 100%;
	}
	.col_box_w480 .img_box,
	.col_box_w480 .txt_box{
		width: 100%;
	}
    .col_box_w600 .img_box,
    .col_box_w600 .txt_box{
	width: 100%;
    }
    .col_box_02 .txt_box p{
        font-size: 1.6rem;
        line-height: 1.8;
        margin-bottom: 10px;
    }
	.col_box_img {
		display: block;
	}
	.col_box_img figure{
		margin: 20px 0;
		text-align: center;
		padding: 0 15px;
	}
	.col_box_img figure img{
		margin-bottom: 5px;
		width: 100%;
		height: auto;
	}
	.col_box .sp_img img{
		width: 100%;
		height: auto;

	}
	.col_box_img_w470 {
		display: block;
	}
	.col_box_img_w470 figure{
		margin-top: 20px ;
	}

}




/* ==============================================================
*  figure
* ============================================================ */
.figure01 {
    margin-bottom: 30px;
}
.figure01 figcaption{
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    margin-bottom: 5px;
	text-align: left;
}
.figure02 figcaption{
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    margin-bottom: 5px;
	text-align: center;
}

.figure_list {
	display: flex;
	justify-content: space-around;
    margin-bottom: 30px;
	background: #FFFCDB;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 30px;
	align-items: center;
}
.figure_list figcaption{
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    margin-bottom: 5px;
	text-align: center;
	width: 100%;
}


@media screen and (max-width: 767px) {
	.figure01 figcaption{
		font-size: 1.3rem;
	}
	.figure02 figcaption{
		font-size: 1.3rem;
	}
	.figure_list {
		display: block;
		width: 100%;
		text-align: center;
	}
	.figure_list figcaption{
		font-size: 1.3rem;
	}
}

/* ==============================================================
*  scroll_table
* ============================================================ */
@media screen and (max-width: 767px) {
	.scroll_table {
		width: 100%;
		overflow-x: auto;
		box-sizing: border-box;
		padding: 0 15px;
	}
	.scroll_table::-webkit-scrollbar {
		height: 5px;
	}
	.scroll_table::-webkit-scrollbar-track {
		border-radius: 5px;
		background: #eee;
	}
	.scroll_table::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #666;
	}
}


/* ==============================================================
*  テーブル
* ============================================================ */

/* table01 */
.table01 {
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	border-left: 1px solid #000;
	box-sizing: border-box;
	margin: 0 auto 10px;
}
.table01 th{
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	vertical-align:  middle;
	padding: 10px 10px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	background: #E0F2FC;
}
.table01 th.sub{
	font-weight: normal;
	padding-top: 0;
}
.table01 td{
	font-size: 1.4rem;
	line-height: 1.5;
	vertical-align:  middle;
	text-align: center;
	padding: 10px 4px ;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
    background: #fff;
}

.table01 .bold_txt{
	font-weight: bold;
}
.table01 td.bg{
	background: #f2f2f2;
}
.table01 tr.first_td_area td{
	border-top: 2px solid #000;
}
.table01 a{
    text-decoration: underline;
}
.table01 a:hover{
    text-decoration: none;
}
@media screen and (max-width: 767px) {
	.table01 th{
		padding: 5px 5px;
	}
	.table01 td{
		padding: 5px 0 5px 5px;
	}
}


/* ab_table_w280 */
.ab_table_w280{
	width: 280px;
}
@media screen and (max-width: 767px) {
.ab_table_w280{
	width: 100%;
}
}
/* ab_table_w470 */
.ab_table_w470{
	width: 470px;
}
@media screen and (max-width: 767px) {
.ab_table_w470{
	width: 100%;
}
}
/* ab_table_w400 */
.ab_table_w400{
	width: 400px;
}
@media screen and (max-width: 767px) {
.ab_table_w400{
	width: 100%;
}
}
/* ab_table_w520 */
.ab_table_w520_scr{
	width: 520px;
}
@media screen and (max-width: 767px) {
.ab_table_w520_scr{
	width: 520px;
}
}



/* table_w980 */
.table_w980 {
	width: 980px;
}
/* table_w460 */
.table_w460_1 {
	width: 460px;
}

@media screen and (max-width: 767px) {
.table_w460_1 {
	width:100%;
}
.table_w470{
	width: 100%;
}


}
