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

/* ---------------------------------------------------------------------------------------------

　   header

--------------------------------------------------------------------------------------------- */



/* ---------------------------------------------------------------------------------------------

　   main

--------------------------------------------------------------------------------------------- */

main#main{
	padding-top: 20rem;
	padding-bottom: 3rem;
	}

section.container{
	border-radius: 30px;
	padding: 2.2rem 3rem 3.2rem 3rem;
	margin-bottom: 4rem;
	width: 92%;
	}

	@media only screen and (max-width: 900px) {
		main#main{
			padding-top: 15rem;
			}
		}
	@media only screen and (max-width: 767px) {
		main#main{
			padding-top: 11rem;
			}
		section.container{
			padding: 2rem 2rem 2rem 2rem;
			margin-bottom: 2rem;
			}
		}
	@media only screen and (max-width: 600px) {
		main#main{
			padding-top: 8rem;
			}
		section.container{
			padding: 2rem 1.5rem 2rem 1.5rem;
			}
		}



/* ----------

　   ページタイトル

---------- */

.pageheader{
	background: url("../img/pageheader_bg___.jpg") no-repeat top center;
	background-size: cover;
	clip-path: polygon(0 0, 100% 0, 100% 70%, 0 100%);
	object-fit: cover;
	}
.pageheader.message{
	background: url("../img/pageheader_bg___message.jpg") no-repeat top center;
	background-size: cover;
	}
.pageheader.outline{
	background: url("../img/pageheader_bg___outline.jpg") no-repeat top center;
	background-size: cover;
	}
.pageheader.service{
	background: url("../img/pageheader_bg___service.jpg") no-repeat top center;
	background-size: cover;
	}
.pageheader.result{
	background: url("../img/pageheader_bg___result.jpg") no-repeat top center;
	background-size: cover;
	}
.pageheader.recruit{
	background: url("../img/pageheader_bg___recruit.jpg") no-repeat top center;
	background-size: cover;
	}
.pageheader.news{
	background: url("../img/pageheader_bg___news.jpg") no-repeat top center;
	background-size: cover;
	}
.pageheader.contact,
.pageheader.privacypolicy{
	background: url("../img/pageheader_bg___contact.jpg") no-repeat top center;
	background-size: cover;
	}

.pageheader{
	position: absolute;
	top: 0;
	height: 25rem;
    width: 100%;
    margin: 0 auto 1rem auto;
	}

.pageheader__wrap{
	position: absolute;
	top: 42%;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 1000px;
    width: 92%;
	text-align: center;
	}
/*タイトル*/
.page_ttl{
	color: #fff;
	font-size: 160%;
	line-height: 105%;
	}
/*英字*/
.page_slug{
	color: #fff;
    font-size: 80%;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.1rem;
	}
	@media only screen and (max-width: 900px) {
		.pageheader{
			height: 20rem;
			}
		}
	@media only screen and (max-width: 767px) {
		.pageheader{
			height: 15rem;
			}
		.pageheader__wrap{
			top: 38%;
			}
		.page_ttl{
			font-size: 145%;
			}
		.page_slug{
			font-size: 70%;
			}
		}
	@media only screen and (max-width: 600px) {
		.pageheader{
			height: 12rem;
			}
		.pageheader__wrap{
			top: 34%;
			}
		.page_ttl{
			font-size: 135%;
			}
		}



/* ----------

　   パンくず

---------- */

.pan {
	color:  #777;
	font-size:		80%;
	margin: 2rem 0 1rem 0;
	}
.pan:after {
	content: " "; 
	display: block;
	clear: both;
	}

.pan ul{
	margin-bottom: inherit!important;
	text-indent: inherit!important;
	padding-left: inherit!important;
	}
.pan ul li{
	float: left;
	list-style: none;
	}
.pan ul li:before{
	content: '\00A0>\00A0';
	}
.pan ul li:first-child:before{
	content: none;
	}
.pan a {	
	color:			#000;
	text-decoration:none;
	}
.pan a:hover {
	color:			#555;
	text-decoration:underline;
	}
.pan .post{
	float:none;
	}
	@media only screen and (max-width: 900px) {
		.pan{
    		word-break :break-all;
            margin:	1rem auto 0.5rem auto;
			}
		}






.widthover{
	width: 100vw!important;
	margin: 0 calc(50% - 50vw) 2rem calc(50% - 50vw)!important;
	}

.widthover img{
	border-radius: 0!important;
	}

.widthover .column2 .inner{
	width: 49.8%;
	}
	@media only screen and (max-width: 767px) {
		.widthover .column2{
			display: flex;
			justify-content:space-between;
			}
		}
	@media only screen and (max-width: 480px) {
		.widthover .column2{
			display: block;
			justify-content:center;
			}
		.widthover .column2 .inner{
			width: 100%;
			}
		}



/* ---------------------------------------------------------------------------------------------

　   ページ内 ナビメニュー

--------------------------------------------------------------------------------------------- */

/*「具体的な取り組み方法」ページに設置*/
.pagemenu{}
.pagemenu a{}
.pagemenu a img{
    width: auto;
    max-width: 90%!important;
    height: auto;
	}

/*「県民の皆さんへ」、「事業者の皆さんへ」ページに設置*/
.subnamenu{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
	max-width: 1120px;
    margin: 0 auto 40px auto;
	}

.subnamenu .item{
    display: flex;
    align-items: stretch;
    width: 24%;
	}
.subnamenu .item a{
    display: block;
    background: #62dce6;
    border-radius: 3px;
    color: #fff;
    font-size: 0.95em;
    line-height: 120%;
    text-align: center;
    padding: 12px;
    margin-bottom: 10px;
    width: 100%;
	}
.subnamenu .item a:hover{
    background: #fff;
    color: #0054a7;
	}
	@media only screen and (max-width: 767px) {
         .subnamenu{
            justify-content:space-around;
            margin: 0 auto 40px auto;
            }
        .subnamenu .item{
            width: 48%;
            }
        }
	@media only screen and (max-width: 520px) {
        .subnamenu{
            margin: 20px auto;
            }
        .subnamenu .item a{
            font-size: 0.85em;
            padding: 8px;
            margin-bottom: 8px;
            }
        }
	@media only screen and (max-width: 360px) {
        .subnamenu{
            margin: 15px auto;
            }
        .subnamenu .item a{
            font-size: 0.8em;
            padding: 7px;
            margin-bottom: 7px;
            }
        }



/* ---------------------------------------------------------------------------------------------

　   見出し

--------------------------------------------------------------------------------------------- */

.tex h1,h2{
	font-size:160%;
	}
h3{
	font-size:150%;
	}
h4{
	font-size:125%;
	}
h5{
	font-size:115%;
	}


.tex h1,h2,h3,h4{
	clear:both;
	float: none;
	}
.tex h1::after,h2::after ,h3::after ,h4::after {
	content: " "; 
	display: block;
	clear: both;
	}

.tex h1,
h2,
h3{
	margin-top: 1rem;
	margin-bottom: 1rem;
	font-weight: 600;
	}
h4,
h5{
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	font-weight: 600;
	}

	@media only screen and (max-width: 600px) {
		.tex h1,h2{
			font-size:130%;
			}
		h3{
			font-size:120%;
			}
		h4,
		h5{
			font-size:110%;
			}
		}
	@media only screen and (max-width: 480px) {
		.tex h1,h2{
			font-size:120%;
			}
		}



/*----------

　見出し(大) 下線2色

----------*/

.ttl_underbar{
    position: relative;
    display: block;
    text-align: center;
    line-height: 130%;
    margin: 3rem auto;
    padding-bottom: 30px;
    clear: both;
	}

.ttl_underbar::after{
    content:'';
    background: url("../img/ttl_underbar.svg") no-repeat center center;
    display: inline-block;
    width: 120px;
    height: 2.25px;
    position:absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
	}
	@media only screen and (max-width: 767px) {
        .ttl_underbar::after{
            bottom: 20px;
        }
    }
	@media only screen and (max-width: 520px) {
        .ttl_underbar{
            margin-top: 25px;
            padding-bottom: 35px;
        }
    }


/*----------

　タイトルの下側に線

----------*/
.ttl_bdr_bottom{
	color: #0D1F62;
	border-bottom: solid 1px #0D1F62;
	line-height: 150%;
	padding-bottom: 0.5rem;
	margin-bottom:1rem;
	position: relative;
	float: none;
	clear: both;
	}
.ttl_bdr_bottom::after {
	content: " "; 
	display: block;
	clear: both;
	}
.ttl_bdr_bottom a{
	text-decoration: none!important;
	transition: .2s;
	}
.ttl_bdr_bottom a:hover{
	opacity: .7;
	}
	@media only screen and (max-width: 767px) {
		.ttl_bdr_bottom{
			padding-bottom: 10px;
			margin-top: 15px;
			margin-bottom: 10px;
			}
		}
	@media only screen and (max-width: 650px) {
		.ttl_bdr_bottom{}
		.ttl_bdr_bottom::before{
			width: 24px;
			height: 30px;
			margin-left: -30px;
			top:-4px;
			}
		}
	@media only screen and (max-width: 400px) {
		.ttl_bdr_bottom{
			margin-top: 12px;
			padding-bottom: 8px;
			}
		}

/*----------

　タイトルの左側に縦線

----------*/
.ttl_bdr_left{
	color: #0D1F62;
    font-weight: bold;
	margin-top: 1rem;
    margin-bottom: 1rem;
	line-height: 150%;
	padding: 0 0 0 1rem;
	border-left: 3px solid #0D1F62;
    clear:both;
	float: none;
	}
.ttl_bdr_left::after {
	content: " "; 
	display: block;
	clear: both;
	}


/*----------

　タイトルの両端に横線

----------*/
.ttl_bdr_bothside{
    color: #0D1F62;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 1.2rem;
	margin-bottom: 1rem;
    text-align: center;
    clear:both;
	float: none;
	}
.ttl_bdr_bothside::before,
.ttl_bdr_bothside::after {
    border-top: 1px solid #0D1F62;
    content: "";
    width: 5em; /* 線の長さ */
	}
.ttl_bdr_bothside::before {
    margin-right: 1em; /* 文字の右隣 */
	}
.ttl_bdr_bothside::after {
    margin-left: 1em; /* 文字の左隣 */
	content: " "; 
	display: block;
	clear: both;
	}
	@media only screen and (max-width: 900px) {
		.ttl_bdr_bothside::before,
		.ttl_bdr_bothside::after {
			width: 3em;
			}
		.ttl_bdr_bothside::before {
			margin-right: 0.5em;
			}
		.ttl_bdr_bothside::after {
			margin-left: 0.5em;
			}
		}

	@media only screen and (max-width: 767px) {
		.ttl_bdr_bothside::before,
		.ttl_bdr_bothside::after {
			width: 2em;
			}
		.ttl_bdr_bothside::before {
			margin-right: 0.4em;
			}
		.ttl_bdr_bothside::after {
			margin-left: 0.4em;
			}
		}
	@media only screen and (max-width: 540px) {
		}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {
		.ttl_bdr_bothside::before,
		.ttl_bdr_bothside::after {
			width: 1.5em;
			}
		.ttl_bdr_bothside::before {
			margin-right: 0.3em;
			}
		.ttl_bdr_bothside::after {
			margin-left: 0.3em;
			}
		}
	@media only screen and (max-width: 260px) {}




/*----------

　タイトルの右側に横線

----------*/
.ttl_bdr_right{
    color: #0D1F62;
	line-height: 175%;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    clear:both;
	float: none;
	margin-top: 1rem;
    margin-bottom: 2rem;
    }
.ttl_bdr_right:after {
    border-top: 1px solid #0D1F62;
    content: "";
    -webkit-box-flex:1;
	-ms-flex-positive:1;
	flex-grow:1;
	display: block;
	clear: both;
    margin-left: 0.5rem;
    }

	@media only screen and (max-width: 900px) {}
	@media only screen and (max-width: 767px) {}
	@media only screen and (max-width: 540px) {}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {
		.ttl_bdr_right:after {
			border-top: none;
			margin-left: 0;
			}
		}
	@media only screen and (max-width: 260px) {}







/* ---------------------------------------------------------------------------------------------

　   リード分

--------------------------------------------------------------------------------------------- */

.tex .lead{
	text-align: center;
	font-size: 120%;
	line-height: 200%;
	margin: 1rem auto;
	}
.tex .lead p{}



/* ---------------------------------------------------------------------------------------------

　   2列・3列カラム

--------------------------------------------------------------------------------------------- */

.column2,
.column3,
.column4{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	justify-content:space-between;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	}

.column2 .inner{
	margin-bottom: 0.5rem;
	}
.column2 .inner{
	width: 48%;
	margin-top: 0;
	}

.column3 .inner{
	margin-bottom: 0.5rem;
	}
.column3 .inner{
	width: 32%;
	}
.column3::after{
  content:"";
  display: block;
  width:32%;
	}

.column4 .inner{
	margin-bottom: 0.5rem;
	}
.column4 .inner{
	width: 24%;
	}
.column4::before{
  content:"";
  display: block;
  width:24%;
  order:1;
	}
.column4::after{
  content:"";
  display: block;
  width:24%;
	}
	@media only screen and (max-width: 767px) {
		.column2{
			display: block;
			justify-content: center;
			}
		.column2 .inner{
			width:100%;
			}
		.column3 .inner{
			width: 48%;
			}
        .column4 .inner{
			width: 48%;
			}
		}
	@media only screen and (max-width: 540px) {
		.column3 .inner,
        .column4 .inner{
			width: 49%;
			margin-bottom: 0.2rem;
			}
		}



/* ---------------------------------------------------------------------------------------------

　   ボックス

--------------------------------------------------------------------------------------------- */

/*デフォルト*/
.box{
    display: inline-block;
	padding: 0.8rem 2rem;
    margin: 0.5rem 0;
	}
.box.bx_large{
    display: block;
	padding: 1.2rem 2.2rem 2rem 2.2rem;
    margin: 1rem 0;
	}
.box p{
    word-break: break-all;
	}
.box.dash{
	display: block;
	border: dashed 1px #2cb07e;
	border-radius: 0.2rem;
	}
.box.white{
	display: block;
	background-color:#fff;
	border-radius: 0.2rem;
	}
.box.baige{
	display: block;
	background-color:#F5F4F0;
	border-radius: 0.2rem;
	}
	@media only screen and (max-width: 767px) {
        .box{
            padding: 12px 15px;
            }
		}
	@media only screen and (max-width: 540px) {
        .box.bx_large{
			padding: 0.75rem 1.25rem 1rem 1.25rem;
			}
		}

/*数値表記用*/
.box.point{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    border-radius: 0;
	padding: 0;
	font-size: 90%;
	}
.box.point .box_heading{
	border: solid 1px #222;
	color: #fff;
    text-align: center;
    background-color: #222;
    padding: 5px 15px;
    border-radius: 3px 0 0 3px;
	}
.box.point .box_body{
    text-align: left!important;
    border: solid 1px #222;
    padding: 5px 15px;
     border-radius: 0 3px 3px 0;
	}


/* ---------------------------------------------------------------------------------------------

　   table

--------------------------------------------------------------------------------------------- */

/*----------

　テーブル 実線

----------*/
table.tbl_border{
	width:100%;
	table-layout: fixed;
	/*font-size: 1.1em;*/
	margin:1rem 0 1rem 0!important;
	border-collapse:collapse;
	}
table.tbl_border th{
    align-items: center;
	vertical-align: middle;
    word-break:keep-all!important;
    word-wrap: normal;
    width: 25%;
    }
table.tbl_border td{
	vertical-align: middle;
    word-break: break-all!important;
    word-wrap: break-all!important;
    width: 75%;
    }

table.tbl_border.base{
	width:100%;
	table-layout: fixed;
	border-top:1px solid #cccccc;
	border-left:1px solid #cccccc;
	margin:1rem 0 1rem 0!important;
	border-collapse:collapse;
	}
table.tbl_border.base th{
    background:#F7F7F7;
	text-align:center;
	padding:10px;
	border-bottom:1px solid #cccccc;
	border-right:1px solid #cccccc;
	word-break: break-all!important;
	}
table.tbl_border.base td{
	padding:12px;
	border-bottom:1px solid #cccccc;
	border-right:1px solid #cccccc;
	}

table.tbl_border.base{
    width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	}

table.tbl_border.solid{
	border-top:1px solid #cccccc;
    margin:1rem 0 1rem 0!important;
	}
table.tbl_border.solid th{
	text-align:center;
	padding:1.5rem 1rem;
	border-bottom:1px solid #cccccc;
	}
table.tbl_border.solid td{
	padding:1.5rem 1rem;
	border-bottom:1px solid #cccccc;
	}

/*----------

　テーブル 点線

----------*/
table.tbl_border.dash{
	border-top:1px dashed #81A07A;
	}
table.tbl_border.dash th{
	text-align:center;
	padding:25px 10px;
	border-bottom:1px dashed #81A07A;
    width: 25%;
	}
table.tbl_border.dash td{
	padding:25px 10px;
	border-bottom:1px dashed #81A07A;
    width: 75%;
	}
    @media screen and (max-width: 767px) {
        /*テーブル 実線*/
        table.tbl_border{
            font-size: 0.95em!important;
            line-height: 140%;
            margin:5px 0 20px 0;
            }
        table.tbl_border th,
        table.tbl_border td{
            padding:1rem;
			line-height: 170%;
            }
        }
    @media screen and (max-width: 600px) {}
    @media screen and (max-width: 540px) {
		table.tbl_border.base th{
			padding:1.2rem 0.5rem;
			}
		table.tbl_border.base td{
			padding:1.2rem 0.5rem;
			}
		table.tbl_border.solid th{
			padding:1.2rem 0.5rem;
			}
		table.tbl_border.solid td{
			padding:1.2rem 0.5rem;
			}
		table.tbl_border.dash th{
			padding:1.2rem 0.5rem;
			}
		table.tbl_border.dash td{
			padding:1.2rem 0.5rem;
			}
        /*テーブル 実線*/
        table.tbl_border{
            font-size: 0.9em!important;
            }
        }


/* ---------------------------------------------------------------------------------------------

　   list

--------------------------------------------------------------------------------------------- */

.tex ul{
	margin-bottom: 1rem;
	text-indent: -1em;
	padding-left: 1em;
	}

/*リスト*/
.tex ul.list_circle{
    font-size: 100%;
	}
.tex ul.list_circle li{
    margin-left: 1rem;
    text-indent: -1rem;
    margin-top: 0.5rem;
	}
.tex ul.list_circle li::before{
    content: '●';
    color: #222;
	font-size: 160%;
	margin-right: 0.1rem;
	}


/* olのスタイル */
.tex ol.list_circle {
  margin: 0;
  padding: 0;
  list-style: none; /* デフォルトの数字を非表示に */
  counter-reset: li;
}

/* ol内のliのスタイル */
.tex ol.list_circle li {
  position: relative;
  font-size: 16px;
  padding-left: 1.5em;
  line-height: 1.5;
}

/* 2つ目以降のliにmargin-topを指定 */
.tex ol.list_circle li:not(:first-child) {
  margin-top: 0.5em;
}

/* 数字のスタイル */
.tex ol.list_circle li::before {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  left: 0;
  top: 2px; /* 数字のY軸線上の位置を調整 */
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #222;
  font-size: 12px;
  color: #fff;
  line-height: 20px;
  text-align: center;
}



/* ---------------------------------------------------------------------------------------------

　   TEX

--------------------------------------------------------------------------------------------- */
.tex {
	width: 100%;
	line-height:	240%;
	}
.tex:after{
	content: " "; 
	display: block;
	clear: both;
	}
.tex p{
	font-size: 100%;
	line-height: 180%;
	}
.content a,
.tex a{
	text-decoration:underline;
	}
.content a:hover,
.tex a:hover{
	text-decoration:none;
	}
.content img,
.tex img{
	border: 0;
	border-radius: 5px;
	max-width: 100%;
	height: auto;
	}
.content img a,
.tex img a{
	border: 0;
	}
.content a:hover img,
.tex a:hover img{
	opacity:0.75;
	filter:alpha(opacity=75);
	-ms-filter: "alpha( opacity=75 )";
	}

/*赤色文字*/
.red{
	color:#E90206;
	}
.tiny{/*小さい文字*/
    font-size: 0.85rem!important;
	line-height: 180%;
    margin: 5px 0;
    word-break: break-all;
	}
	@media only screen and (max-width: 767px) {
        .tiny{
            font-size: 0.75em!important;
            line-height: 150%!important;
            margin-top: 8px;
            }
        .box .tiny{
            margin: 0;
            }
		}
	@media only screen and (max-width: 400px) {
        .tiny{
            font-size: 0.7em!important;
            margin-top: 6px;
            }
		}

/*画像のキャプション*/
.wp-caption{
	border: 0;
	max-width: 100%;
	height: auto;
	}
.wp-caption-text{
	color: #777;
	font-size: 70%!important;
	text-align: right;
	margin: 0.3rem 0 0.5rem 0;
	line-height: 130%;
	}


/* ---------------------------------------------------------------------------------------------

　   フロート設定

--------------------------------------------------------------------------------------------- */

.aligncenter {
    display:		block;
	float:			none;
	clear: both;
    margin-left:	auto;
    margin-right:	auto;
	text-align: center;
	}
.alignright {
	float:			right;
    margin-left:	1rem;
    margin-right:	0;
    margin-bottom:	1rem;
    display:		inline;
	clear:			none;
	}
.alignleft {
	float:			left;
	margin-left:	0;
	margin-right:	1rem;
	margin-bottom:	1rem;
	display:		inline;
	clear:			none;
	}
.alignnone {
    margin-left:	0;
    margin-right:	0;
    margin-bottom:	1rem;
	clear:			none;
	}

	@media screen and (max-width: 900px){
        .alignright,
        .alignleft,
        .alignnone,
        .aligncenter {
            display:		block;
            margin-left:	auto;
            margin-right:	auto;
            clear:			both;
            }
        .alignright {
            float:			none;
            }
        .alignleft {
            float:			none;
            }
        .aligncenter {
            clear:			both;
            display:		block;
            margin-left:	auto;
            margin-right:	auto;
            }
        }


/* ---------------------------------------------------------------------------------------------

　   ボタン

--------------------------------------------------------------------------------------------- */

/*ボタン センター揃え*/
.btn_wrap{
	text-align: center!important;
	}
.btn_wrap a{
	margin-left: auto!important;
	margin-right: auto!important;
	}


/* ---------------------------------------------------------------------------------------------

　   お知らせ

--------------------------------------------------------------------------------------------- */

.entry{
	width: 100%;
	padding: 0 0 7rem 0;
	margin: 0 0 7rem 0;
	}
.entry:last-child{
	border-bottom: none;
	}
	@media only screen and (max-width: 767px) {
		.entry{}
		}


/*----------

　カテゴリー（一覧）ページ

----------*/

/*エントリータイトル*/
.entry .entry_ttl{
    font-size:150%;
    /*border-bottom: 1px solid #81A07A;
    padding-bottom: 8px;*/
    margin-bottom: 0.2rem;
	}
.entry .entry_ttl a{
    text-decoration: none;
	}
.entry .entry_ttl a:hover{
    text-decoration: none!important;
	color: #222;
	}
/*日付*/
.entry .date{
	display: inline-block;
	color: #222;
	font-size: 90%;
	font-family: "EB Garamond";
	font-weight: 400;
	line-height: 100%;
	text-transform:lowercase;
	margin: 0 0 8px 0;
	}
.entry .tx {
	margin-top: 4rem;
    line-height: 200%;
	}
.entry .tx:after {
	content: " "; 
	display: block;
	clear: both;
	}
	@media only screen and (max-width: 767px) {/* スマホ幅 */
        /*エントリータイトル*/
        .entry .entry_ttl{
            font-size:130%;
            /*padding-bottom: 6px!important;
            margin-bottom: 12px;*/
            }
		.entry .tx{
			margin: 20px 0px 20px 0px;
			padding: 0px;
			}
		}
	@media only screen and (max-width: 520px) {
		.entry .date{
            font-weight: normal;
			}
        /*エントリータイトル*/
        .entry .entry_ttl{
            /*padding-bottom: 15px;*/
            }
		}
.entry .tx a {
	color: #777;
	text-decoration: none;
	}
.entry .tx a:hover {
	color: #777;
	text-decoration: underline;
	}


/* ---------------------------------------------------------------------------------------------

　   「このページを編集する」ボタン

--------------------------------------------------------------------------------------------- */

.postmetadata a{
	margin: 5px 0 50px 0;
	padding: 12px 22px 14px 22px;
	color: #ffffff;
	display: inline-block;
	background-color: #0D1F62;
	border-radius: 3px;
    font-family: 'Noto Sans JP', sans-serif;
	text-decoration: none;
	}
.postmetadata a:hover{
	opacity: .8;
	}
	@media only screen and (max-width: 767px) {
			.postmetadata a{
				margin: 10px 0;
				}
			}
	@media only screen and (max-width: 600px) {
			.postmetadata a{
				margin: 5px 0;
				padding: 5px 17px 3px 15px;
				}
			}



/* ---------------------------------------------------------------------------------------------

　   ページネーション スタイル

--------------------------------------------------------------------------------------------- */

.pagenation {
	font-size: 90%;
    margin: 0;
	padding: 0;
	display:block;
	clear:both;text-align: center;
	}
.pagenation:after,
.pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
	}
.pagenation ul {
    margin: 0;
	}
.pagenation li {
    float: left;
    list-style: none outside none;
    margin-right: 1.5rem;
	line-height: 100%;
	}
.pagenation li a {
    border:1px solid #cccccc;
	border-radius: 5px;
	color: #777;
    display: inline;
    padding: 0.5rem 1rem;
    text-decoration: none;
    /*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);*/
	}
.pagenation li.active a{
	background-color: #cccccc;
	color: #fff;
    cursor: not-allowed;
	}
.pagenation li a:hover {
    background-color: #cccccc;
    color: #FFFFFF;
    opacity: 0.8;
    -webkit-transition-duration: 500ms;
	-moz-transition-duration: 500ms;
	-ms-transition-duration: 500ms;
    -o-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-property: all;
	-moz-transition-property: all;
	-ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: ease;
	-moz-transition-timing-function: ease;
	-ms-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
	}
	@media only screen and (max-width: 650px) {
			.pagenation{
				padding: 10px 20px 40px 0px;
				}
			.pagenation li a,
			.pagenation li.active{
				padding: 5px 10px;
				}
			}



/* ---------------------------------------------------------------------------------------------

　   お問い合わせ　contact

--------------------------------------------------------------------------------------------- */

/*お電話でのお問い合わせ*/
.contact_tel{}

.contact_tel .phone{
    color:#222;
    font-size: 3rem;
	font-family: "Crimson Text", serif;
	font-weight: 400;
	font-style: normal;
    line-height: 100%;
    margin-top: 5px;
    }
.contact_tel .phone i{
    font-size: 75%;
    margin-right: 0.5rem;
	position: relative;
	top: -0.1rem;
    }
.contact_tel .phone a{
    text-decoration: none;
    }

.contact_tel .tx{
    line-height: 150%;
    margin: 3px 0 20px 0;
    }

.contact_tel .btn{
    padding: 24px;
    min-width: 260px;
    width: 50%;
    }
.contact_tel .btn span {
    font-size: 1.1em;
    }
	@media only screen and (max-width: 767px) {}
	@media only screen and (max-width: 540px) {
		.contact_tel .phone{
			font-size: 2.5rem;
			margin-top: 0;
			}
		}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {
		.contact_tel .phone{
			font-size: 2.2rem;
			}
		}




/*メールフォーム でのお問い合わせ*/
.form{}
.form table th{
	padding: 20px;
	width: 30%;
	}
.form table td{
	padding: 20px;
	width: 70%;
}

.form .wpcf7-text,
.form .wpcf7-email,
.form .wpcf7-textarea,
.form .wpcf7-date{
	border:solid 1px #ccc;
	border-radius: 3px;
	padding: 10px 10px;
	font-size: 100%;
	}

.form .wpcf7-select{
	border:solid 1px #ddd;
	border-radius: 3px;
	padding: 5px 10px;
	font-size: 100%;
	/*width: 100%;*/
	}

.select_menu{
	margin-bottom: 1.2rem;
	}
.select_menu .wpcf7-select{
	margin-bottom: 0.5rem;
	}

.form .wpcf7-acceptance .form-submit{
    border:solid 1px #ccc;
    }

.form input.wpcf7-submit{
	background: #fff;
	border: solid 1px #0D1F62;
	color: #222!important;
	font-size: 1.3em;
	font-weight: normal;
	border-radius: 50px;
	margin: 30px auto 20px auto;
	padding: 12px 20px;
	width: 50%;
	display: block;
    text-align: center;
	}
.form input.wpcf7-submit:hover{
	background: #0D1F62;
	color: #fff!important;
	border: solid 1px #0D1F62;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	}
.form input.wpcf7-submit:active{
	background: #0D1F62;
	color: #fff;
	}

/*リンク*/
.form a{
	color: #0D1F62;
	font-weight: bold;
	text-decoration: underline;
	}
.form a:hover{
	text-decoration: none;
	}

/*必須印*/
.form em{
	background: #d9534f;
	border-radius: 2px;
	color: #fff;
	font-size: 12px;
	font-style: normal;
	font-weight: bold;
	padding: 3px 6px  4px 6px;
	margin-left: 6px;
	}

.form .tiny{
	line-height: 160%!important;
	}
.form .tiny.red{
	font-weight: bold;
	margin: 0!important;
	}

	@media only screen and (max-width: 900px) {
		.form table th{
			width: 20%!important;
			}
		.form table td{
			width: 80%!important;
			}
		}
	@media only screen and (max-width: 767px) {
		.form .radio_btn{
			display: block;
			}
		.form table{
			font-size:0.95em;
			}
		.form table th{
            display: block;
			padding: 15px 5px 5px 5px!important;
			width: 100%!important;
			border-bottom: none!important;
            text-align: left!important;
			}
		.form table th br{
            display: none!important;
			}
		.form table td{
            display: block;
			padding: 5px 5px 15px 5px!important;
			width: 100%!important;
			/*border-bottom:none!important;*/
			}
        .form input.submit_button,
        .form #div_btn input.bt{
            font-size: 1.1em;
            margin: 20px auto;
            padding: 8px 20px;
            width: 90%;
            }
        /*必須印*/
		.form em{
			font-size: 10px;
			margin-left: 2px;
			padding: 2px 4px  2px 4px;
            position: relative;
            top: -2px;
			}
		}


/*------------------------------

　完了画面 -section-

------------------------------*/

.sec__complete{}
.sec_comp__announce{
	text-align: center;
	}

/*-----テキスト ご予約ありがとうございます-----*/
.title__bdr_both{
	position: relative;
	text-align: center;
	color: #222;
	font-weight: bold;
	margin-bottom: 1rem;
	}
.title__bdr_both::before,
.title__bdr_both::after {
	position: relative;
	display: inline-block;
	content: "";
	background: #222;
	width: 1px;
	height: 1rem;
	margin: 0 0.6rem;
	margin-top: 0;
	vertical-align: middle;
	}
.title__bdr_both::before {
	transform: rotate(-35deg);
	}
.title__bdr_both::after {
	transform: rotate(35deg);
	}

/*-----説明文-----*/
.sec_comp__tx{
	font-weight: bold;
	line-height: 170%;
	margin: 1rem 2rem;
	}
	@media only screen and (max-width: 540px) {
		/*--説明文--*/
		.sec_comp__tx br{
			display: none;
			}
		}



/* ---------------------------------------------------------------------------------------------

　   下層ページ ページ上部テンプレート

--------------------------------------------------------------------------------------------- */

/*----- カテゴリーリンク-----*/

/*全体*/
.page_link__wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 2rem;
	}

.page_link__wrap .item{
	text-align: center;
	width: 19%;
	margin-bottom: 0.5rem;
	}

.page_link__wrap a{
	display: block;
	border: solid 1px #777;
	border-radius: 3px;
	color: #222;
	font-size: 90%;
	padding: 0.7rem;
	text-decoration: none;
	}
	@media only screen and (max-width: 1100px) {
		.page_link__wrap::before{
			content:"";
			display: block;
			width:24%;
			order:1;
			}
		.page_link__wrap::after{
			content:"";
			display: block;
			width:24%;
			}
		.page_link__wrap .item{
			width: 24%;
			}
        }
	@media only screen and (max-width: 900px) {
		.page_link__wrap::after{
			content:"";
			display: block;
			width:32%;
			}
		.page_link__wrap .item{
			width: 32%;
			}
		.page_link__wrap a{
			font-size: 90%;
			padding: 1.1em 0.2em;
			}
        }
	@media only screen and (max-width: 540px) {
		.page_link__wrap .item{
			width: 49%;
			margin-bottom: 0.3rem;
			}
		.page_link__wrap a{
			font-size: 85%;
			padding: 0.5em 0.5em;
			}
        }


/*----- イメージ・キャッチ -----*/

.page_lead__wrap{
	margin-bottom: 4rem;
	}

.page_lead__wrap .ph{}
.page_lead__wrap .ph img{}

.page_lead__wrap .tag{
	font-size: 90%;
	font-family: "EB Garamond";
	font-weight: normal;
	letter-spacing: 2px;
	}
.page_lead__wrap .tag::after{
	display: block;
	content: '';
	width: 2.8rem;
	height: 1px;
	background: #000;
	margin: 0.75rem 0 2rem 0;
	}

.page_lead__wrap .catch{
	font-size: 140%;
	font-weight: 600;
	line-height: 170%;
	padding: 0.5rem 0;
    margin-bottom: 1.8rem;
	}
.page_lead__wrap .tx{}
	@media only screen and (max-width: 540px) {
		.page_lead__wrap .catch{
			font-size: 120%;
			line-height: 160%;
			}
		}

.page_desc{
	display: flex;
	padding: 3rem 0;
	}
.page_desc:nth-of-type(odd){/*逆順*/
	flex-direction: row-reverse;
	padding: 0;
	}

.page_desc .item{
	position: relative;
	width: 50%;
	}
.page_desc .item_wrap{/*---2025年9月変更---*/
	width: auto;
	position: absolute;
	left: calc(100% - 600px);
	right: 10%;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);*/
	}

.page_desc .catch{
	color: #0D1F62;
	font-size: 130%;
	font-weight: 600;
	margin-bottom: 1.5rem;
	}
.page_desc .tx{
	font-size: 100%;
	line-height: 200%;
	}

.page_desc .ph{
	width: 50%;
	}
.page_desc .ph img{
	margin: 0;
	}

	@media only screen and (max-width: 1300px) {
		.page_desc .item_wrap{
			width: 80%;
			left: 10%;
			}
		}
	@media only screen and (max-width: 1020px) {
		.page_desc .tx br{
			display: none;
			}
		}
	@media only screen and (max-width: 900px) {
		.page_desc{
			display: block;
			padding: 1rem 0 2rem 0!important;
			}
		.page_desc .item{
			position: inherit;
			width: 80%;
			margin: 1rem auto;
			}
		.page_desc .item_wrap{
			width: 100%;
			position: inherit;
			top: inherit;
			left: inherit;
			right: inherit;
			transform: translateY(0%) translateX(0%);
			-webkit- transform: translateY(0%) translateX(0%);
			}
		.page_desc .catch{
			font-size: 120%;
			margin-bottom: 0.5rem;
			}
		.page_desc .ph{
			width: 100%;
			}
		}
	@media only screen and (max-width: 767px) {
		.page_desc{
			padding: 1.5rem 0;
			}
		}
	@media only screen and (max-width: 540px) {
		.page_desc .catch{
			font-size: 120%;
			line-height: 150%;
			}
		.page_desc .catch br{
			display: none;
			}
		}

.page_point{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	}

.page_point .inner{
	width: 31%;
	margin-bottom: 3rem;
	}

.page_point .tag{
	color: #0D1F62;
	font-family: "EB Garamond";
	font-weight: 400;
	letter-spacing: 1px;
	}
.page_point .point{
	font-size: 85%;
	margin-right: 0.2rem;
	}
.page_point .num{
	font-size: 110%;
	}

.page_point img{}

.page_point .ttl{
	color: #0D1F62;
	font-size: 130%;
	font-weight: 600;
	line-height: 160%;
	margin-top: 0.5rem;
	margin-bottom: 0.75rem;
	}

.page_point .tx{
	font-size: 100%;
	line-height: 200%;
	}
	@media only screen and (max-width: 900px) {
		.page_point .inner{
			width: 48%;
			}
		}
	@media only screen and (max-width: 600px) {
		.page_point .inner{
			width: 46%;
			}
		.page_point .ttl{
			font-size: 120%;
			}
		.page_point .tx{
			font-size: 95%;
			line-height: 180%;
			}
		}
	@media only screen and (max-width: 480px) {
		.page_point .ttl{
			font-size: 110%;
			}
		}
	@media only screen and (max-width: 360px) {
		.page_point .inner{
			width: 100%;
			}
		}



.page_bnr{}
.page_bnr .item{
	width: 80%;
	margin: 0 auto 5rem auto;
	}
.page_bnr .item a{
	display: flex;
	align-items: center;
	text-decoration: none;
	border:solid 1px #ccc;
	line-height: 100%;
	}

.page_bnr .ph{
	width: 300px;
	height: calc(300px - 3vw);
	margin-right: 3rem;
	}
.page_bnr .ph img{
	margin: 0;
	width: auto;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	}

.page_bnr .ttl{
	color: #0D1F62;
	margin-bottom: 0.8rem;
	}

.page_bnr .tx{
	width: 70%;
	padding: 3rem 3rem;
	}

.page_bnr .en{
	font-size: 80%;
	letter-spacing: 1px;
	}
.page_bnr .en::before{
	content: '-';
	margin-right: 0.5rem;
	}

.page_bnr .detail{
	margin-top: 1.5rem;
	line-height: 190%;
	}
	@media only screen and (max-width: 1020px) {
		.page_bnr .item{
			width: 92%;
			margin: 0 auto 4rem auto;
			}
		.page_bnr .ph{
			margin-right: 1rem;
			}
		}
	@media only screen and (max-width: 900px) {
		.page_bnr .ph{
			width: 250px;
			height: calc(250px - 3vw);
			}
		.page_bnr .tx{
			padding: 2rem 2rem;
			}
		}
	@media only screen and (max-width: 767px) {
		.page_bnr .detail{
			margin-top: 1rem;
			font-size: 90%;
			}
		.page_bnr .ph{
			width: 220px;
			height: 180px;
			margin-right: 0;
			}
		.page_bnr .tx{
			padding: 1.5rem 2rem;
			}
		}
	@media only screen and (max-width: 600px) {
		.page_bnr .item a{
			display: block;
			text-decoration: none;
			border:solid 1px #ccc;
			line-height: 100%;
			}
		.page_bnr .ph{
			width: 100%;
			margin-bottom: 0.5rem;
			}
		.page_bnr .ph img{
			margin: 0 auto;
			width: 100%;
			height: 200px;
			object-fit: contain;
			}
		.page_bnr .tx{
			width: 100%;
			}
		}



/* ---------------------------------------------------------------------------------------------

　   ページ内リンク ズレ補正

--------------------------------------------------------------------------------------------- */

a.anchor{
    display: block;
    padding-top: 4.5rem;
    margin-top: -4.5rem;
	}



/* ---------------------------------------------------------------------------------------------

　   google map

--------------------------------------------------------------------------------------------- */

.map {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}








