@charset "UTF-8";
/* CSS Document */
/* =======================================

	common.css

========================================== */
/*pc*/
@media screen and (min-width: 769px) {
	.sp {
		display: none !important;
	}
}
/*sp*/
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
}


a {
	transition: all .5s;
}
/* text
========================================== */
body {
	color: #2d2222;
	font-family: 'Yu Mincho Medium','游明朝 Medium',YuMincho,'游明朝体','Hiragino Mincho Pro',serif!important;
	line-height: 1.8;
}
.en {
	font-family: 'Cinzel', serif;
}
.font_type01{
	font-family: 'Noto Sans JP', sans-serif;
}

.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.small {
	font-size: 12px;
}
.small01 {
	font-size: 16px;
}
.lineh12 {
	line-height: 1.2;
}
/* Link
========================================== */
a:hover {
	color: #be1b21;
	text-decoration: none;
}
a:focus {
	outline: none;
}
/* Margin
========================================== */
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
@media screen and (max-width:768px) {
	.mb80 {
		margin-bottom: 30px !important;
	}
	.mb100 {
		margin-bottom: 50px !important;
	}
}


/* Heading
========================================== */
.ttl_type01 {
	position: relative;
	display: flex;
	margin: 0 0 30px;
	font-size: 30px;
	font-weight: bold;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.1em;
	text-align: center;
	line-height: 1.2;
}

.ttl_type01:before,
.ttl_type01:after {
	display: inline-block;
	margin: 0 30px;
	width: 50px;
	height: 1px;
	content: '';
	background: #333;
}

.ttl_type02{
	line-height:1.5;
	margin-bottom: 30px;
	padding: 15px 20px;
	font-size: 24px;
	background: #be1b21;
	color: #fff;
}

.ttl_type03{
	line-height:1.5;
	margin-bottom:40px;
	padding: 0 0 15px;
	font-size: 30px;
	font-weight: 300;
	border-bottom: 1px solid #ccc;
}

.ttl_type03 span{
	display:block;
	color: #be1b21;
	font-size:18px;
	font-weight:normal;
	letter-spacing: 2px;
}



.ttl_type04{
	position: relative;
	margin-bottom: 30px;
	padding: 15px;
	font-size: 20px;
	border: 1px solid #e5e5e5;
	border-bottom: 1px solid #be1b21;
}


@media screen and (max-width:768px){
	.ttl_type01{
		margin-bottom: 30px;
		padding-bottom: 20px;
		font-size: 26px;
	}
	.ttl_type01 span{
		font-size:16px;
	}
	.ttl_type02{
		font-size:20px;
	}
	.ttl_type03{
		margin-bottom: 20px;
		font-size: 26px;
	}
	.ttl_type03 span{
		font-size:16px;
	}
	.ttl_type04{
		font-size:20px;
	}
	.ttl_type05{
		font-size:20px;
	}
}

@media screen and (max-width:599px){
	.ttl_type01{
		margin-bottom: 20px;
		padding-bottom: 20px;
		font-size:22px;
	}
	.ttl_type01:before,
	.ttl_type01:after {
		margin: 0 20px;
		width: 30px;
	}
	.ttl_type03{
		font-size: 22px;
	}

}

@media screen and (max-width:399px){
	.ttl_type01:before,
	.ttl_type01:after {
		margin: 0 15px;
		width: 20px;
	}
}

/* List
========================================== */
.list_type01{margin-bottom:10px;}

.list_type01 li{
	position: relative;
	margin-bottom:10px;
	padding-left:18px;
	text-indent: 0em;
}
.list_type01 li::before {
	display: inline-block;
	content: '・';
	text-indent: -1em;
	}

/* 横並び */
.list_type02{
	display: flex;
	flex-wrap: wrap;
	}

.list_type02 li{
	position: relative;
	margin-right:20px;
	margin-bottom:10px;
	padding-left:18px;
}

.list_type02 li::after {
	display: block;
	content: '';
	position: absolute;
	top: .4em;
	left:0;
	width: 10px;
	height: 10px;
	background-color: #be1b21;
	}

.list_type03{margin-bottom:10px;}

.list_type03 li{
	position: relative;
	margin-bottom:10px;
	padding-left:18px;
}
.list_type03 li::after {
	display: block;
	content: '';
	position: absolute;
	top: .4em;
	left:0;
	width: 10px;
	height: 10px;
	background-color: #e5cf73;
	}

/* 矢印 */
.ul_arrow01{
	margin-bottom:30px;
	margin-left:20px;
}
.ul_arrow01 li{
	margin-bottom:10px;
	list-style-type:decimal;
}

/* チェック */
.ul_check{
	margin-bottom:30px;
	margin-left:20px;
}
.ul_check li{
	margin-bottom:10px;
	list-style-type:decimal;
}

/* 数字のOLリスト */
ol.ol_decimal {
	margin-bottom: 1.5em;
}
ol.ol_decimal {
	counter-reset: li;
	list-style: none;
	padding-left: 0;
}
ol.ol_decimal > li {
	position: relative;
	margin-bottom: 1em;
	padding-left: 2.5em;
}
ol.ol_decimal > li:before {
	content: counter(li) "";
	counter-increment: li;
	position: absolute;
	left: 0;
	width: 1.8em;
	height: 1.8em;
	background: #be1b21;
	border-radius: 50px;
	color: #fff;
	line-height: 1.8;
	text-align: center;
}

.notice_list{
	margin-left:8px;
	margin-bottom:10px;}

.notice_list li{
	position:relative;
	padding-left:2em;
	color:#666;
	line-height:1.3;
	font-size:87%;}

.notice_list li span{
	position:absolute;
	top:0;
	left:0;}


/* Dl
========================================== */
.dl_type01{}

.dl_type01 .dl_box{
	display: flex;
	margin-bottom: 10px;}

.dl_type01 dt,
.dl_type01 dd{
	display: flex;
	align-items: center;
	padding: 20px;
}


.dl_type01 dt{
	margin-right: 10px;
	width: 290px;
	background-color: #f4f0e6;
	border-collapse: separate;
	border-spacing: 2px 0;
	text-align: right;
	font-weight: normal;
}

.dl_type01 dd{
	background-color: #fff;
	border-bottom: 1px solid #ededed;
}

.dl_type01 dt div{
	width: 100%;}


@media screen and (max-width:798px){
	.dl_type01 dt{
		width: 30%;
	}
	.dl_type01 dd{
		width:calc(100% - 10px - 30%);
	}
	
}


@media screen and (max-width:599px){
	.dl_type01 .dl_box{
		display: block;
		margin-bottom: 0;}

	.dl_type01 dt,
	.dl_type01 dd{
		display: block;
		width: 100%;
		margin: 0;
		text-align: left;
		padding: 10px;
	}
	
}


/* Table
========================================== */
.table_border{
	width:100%;
	margin-bottom:10px;
}

.table_border th,
.table_border td{
	text-align:left;
	vertical-align:middle;
	padding:10px;
	border:1px solid #b6b6b6;
}

.table_border th{
	background-color:#dbe9ea;
	font-weight:normal;
}

.table_type01{
	width:100%;
	margin-bottom:10px;
	border-collapse: separate;
	border-spacing: 6px;
}

.table_type01 th,
.table_type01 td{
	text-align:left;
	vertical-align:middle;
	padding:10px 15px;
}

.table_type01 th{
	background-color: #be1b21;
	color:#fff;
	font-weight: 300;
}

.table_type01 td{background-color:#f3f3f3;}

.table_type02{
	margin-bottom: 30px;
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
  }
  
  .table_type02 tr{
	border-bottom: solid 2px white;
  }
  
  .table_type02 tr:last-child{
	border-bottom: none;
  }
  
  .table_type02 th{
	position: relative;
	padding: 20px;
	width: 30%;
	background-color: #ffffff;
	text-align: left;
	font-weight: normal;
	border-bottom: 2px solid #000;
  }
  
  .table_type02 td{
	text-align: left;
	width: 70%;
	background-color: #fff;
	padding: 20px 30px;
	border-bottom: 2px solid #d1b768;
  }

@media screen and (max-width: 599px) {
	.table_border,
	.table_border tbody,
	.table_border tr,
	.table_border th,
	.table_border td{
		display:block;
		width:100%;
	}

	.table_border th,
	.table_border td{
		border-bottom:none;
	}

	.table_border{
		border-bottom:1px solid #b6b6b6;}

	.table_type01,
	.table_type01 tbody,
	.table_type01 tr,
	.table_type01 th,
	.table_type01 td{
		display:block;
		width:100%;
	}

	.table_type02 th,
	.table_type02 td,
	.table_type02.type02_blue th,
	.table_type02.type02_blue td{
		display:block;
		width:100%;
		padding:15px;
		border-left: none;
	}

	.table_type02 th:after{
		display:none;
	}

	.table_type02 tr:not(:last-of-type) td {
		margin-bottom: 30px;
	}

}

/* 画像とテキスト
========================================== */
.imageAndText{
	display: flex;
	margin-bottom: 10px;
	width: 100%;
	justify-content: flex-start;
}

.imageAndText.pic_l .pic{margin-right: 50px;}
.imageAndText.pic_r .pic{margin-left: 50px;}

.imageAndText.pic_l{
	/* flex-direction: row-reverse; */
}

@media screen and (max-width: 768px) {
	.imageAndText.pic_l .pic,
	.imageAndText.pic_r .pic{
		flex: 0 0 40%;}

	.imageAndText.pic_l .pic img,
	.imageAndText.pic_r .pic img{
		max-width: 100%;
		height: auto;}
	}

@media screen and (max-width: 599px) {
	.imageAndText{
		display: block;
	}

	.imageAndText.pic_l .pic,
	.imageAndText.pic_r .pic{
		margin: 10px 0;
		width: 100%;
		text-align: center;}
}

.imageFloat{
	width:100%;}

.imageFloat p.fleft{
	float:left;
	margin:0 10px 10px 0;
	text-align:left;}

.imageFloat p.fright{
	float:right;
	margin:0 0 10px 10px;
	text-align:left;}

.imageFloat:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;}


@media screen and (max-width: 768px) {
	.imageFloat p.fleft,
	.imageFloat p.fright{
		width: 40%;
	}
	.imageFloat p.fleft img,
	.imageFloat p.fright img{
		width: 100%;
		height: auto;
	}
}

@media screen and (max-width: 599px) {
	.imageFloat p.fleft,
	.imageFloat p.fright{
		float:none;
		margin:0 0 10px 0;
		width: 100%;
		text-align:center;}

	.imageFloat p.fleft img,
	.imageFloat p.fright img{
		max-width: 100%;
		width: auto;
		height: auto;
	}
}



/* nav
========================================== */
/*wordpress nav*/
.wp_nav{
	margin: 30px 0 20px;
	text-align: center;}

.wp_nav .wp-pagenavi{
	padding:10px 0;}

/* clear */
.wp_nav::after{
	content:" ";
	display:block;
	clear:both;
	font-size:0;}

/* Pager（共通）
========================================== */
.pager{
	position:relative;
	margin: 50px auto 0;
	padding-bottom: 10px;}

.pager li{
	width:200px;}

.pager li a{
	color: #454545;
	text-decoration:none;}

.pager li a:hover{
	text-decoration:underline;}

.pager::after{
	content:" ";
	display:block;
	clear:both;
	font-size:0;}

.pager li.prev,
.pager li.list,
.pager li.next{
	position:absolute;}

.pager li.prev{
	top:0;
	left:0;}
.pager li.list{
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	margin:auto;
	width:300px;
	text-align:center;}
.pager li.next{
	right:0;
	text-align:right;}


@media screen and (max-width:768px){
	.pager{
		padding-bottom:0;
		font-size: 100%;}

	.pager li.prev,
	.pager li.list,
	.pager li.next{
		margin-bottom:10px;
		width:100%;
		position:static;
		text-align:center;}

}

/* editor img
========================================== */
img.alignright{
	display: block!important;
	margin: 0 0 0 auto!important;
}

img.alignleft{
	display: block!important;
	margin: 0 auto 0 0!important;
}

img.aligncenter{
	display: block!important;
	margin: 0 auto!important;
}


/* anchor
========================================== */
.anchor {
	margin-top: -120px;
	padding-top: 120px;
}

@media screen and (max-width:768px){
	.anchor {
		margin-top: -70px;
		padding-top: 70px;
	}
}
