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

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

　   header

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



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

　   main

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

main#main{}

	@media only screen and (max-width: 900px) {}
	@media only screen and (max-width: 767px) {}
	@media only screen and (max-width: 600px) {}



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

　   ページタイトル

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

.pageheader{
	background: #000000;
	background: url("../img/bg.jpg") repeat;
    width: 100%;
	}

.pageheader__wrap{
	height: 10rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #787878;
	/*border-bottom: 1px solid #787878;*/
	}
/*日本語*/
.page_ttl{
	color: #fff;
	font-size: 1.2rem;
	margin-right: 3rem;
	letter-spacing: 0.1rem;
	}
/*スラッグ*/
.page_slug{
	color: #fff;
    font-size: 2.5rem;
	font-family: "EB Garamond";
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.1rem;
	text-transform:capitalize;
	margin-left: 2rem;
	}
	@media only screen and (max-width: 900px) {
		.pageheader__wrap{
			height: 8rem;
			display: block;
			justify-content: flex-start;
			align-items: center;
			padding-top: 2.5rem;
			}
		.page_ttl{
			display: inline;
			font-size: 1rem;
			margin-right: 0;
			}
		/*スラッグ*/
		.page_slug{
			display: inline;
			font-size: 2.4rem;
			margin-left: 0rem;
			margin-right: 0.5rem;
			}
		}
	@media only screen and (max-width: 767px) {

		}
	@media only screen and (max-width: 600px) {
		.pageheader__wrap{
			height: 7rem;
			padding-top: 2.1rem;
			}
		.page_ttl{
			font-size: 0.9rem;
			}
		/*スラッグ*/
		.page_slug{
			font-size: 2.1rem;
			margin-right: 0.3rem;
			}

		}
	@media only screen and (max-width: 540px) {}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {}
	@media only screen and (max-width: 260px) {}





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

　   ページナビメニュー

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

.pagenav{}

.pagenav___wrap{
	border-top: 1px solid #787878;
	border-bottom: 1px solid #787878;
	}

.pagenav___wrap ul{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	}

.pagenav___wrap li{
	display: flex;
	flex-direction: column;
	flex: 1;
	line-height: 110%;
	}
.pagenav___wrap li a{
	display: flex;
	align-items:center;
	flex-grow: 1;
	border-right: 1px solid #787878;
	padding: 1rem 1rem 1rem 1rem;
	}
.pagenav___wrap li:last-child a{
	border-right: none;
	}

.pagenav___wrap li span{
	font-size: 0.75rem;
	text-indent: -0.75rem;
	padding-left: 0.75rem;
	transition: .5s;
	}
.pagenav___wrap li span::before{
	content:'\f105';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right:5px;
	transition: .5s;
	}

.pagenav___wrap li.menu01 span::before{color: #7522c9;}
.pagenav___wrap li.menu02 span::before{color: #c72b87;}
.pagenav___wrap li.menu03 span::before{color: #d39325;}
.pagenav___wrap li.menu04 span::before{color: #b8315e;}
.pagenav___wrap li.menu05 span::before{color: #51a9be;}
.pagenav___wrap li.menu06 span::before{color: #ccbd30;}
.pagenav___wrap li.menu07 span::before{color: #89af32;}

.pagenav___wrap li.menu01 a:hover span::before{color: #7522c9;}
.pagenav___wrap li.menu02 a:hover span::before{color: #c72b87;}
.pagenav___wrap li.menu03 a:hover span::before{color: #d39325;}
.pagenav___wrap li.menu04 a:hover span::before{color: #b8315e;}
.pagenav___wrap li.menu05 a:hover span::before{color: #51a9be;}
.pagenav___wrap li.menu06 a:hover span::before{color: #ccbd30;}
.pagenav___wrap li.menu07 a:hover span::before{color: #89af32;}

.pagenav___wrap li.menu01 a:hover span{color: #7522c9;}
.pagenav___wrap li.menu02 a:hover span{color: #c72b87;}
.pagenav___wrap li.menu03 a:hover span{color: #d39325;}
.pagenav___wrap li.menu04 a:hover span{color: #b8315e;}
.pagenav___wrap li.menu05 a:hover span{color: #51a9be;}
.pagenav___wrap li.menu06 a:hover span{color: #ccbd30;}
.pagenav___wrap li.menu07 a:hover span{color: #89af32;}


	@media only screen and (max-width: 1100px) {
		.pagenav___wrap li a{
			padding: 0.75rem 0 0.75rem 0.75rem;
			}
		.pagenav___wrap li span{
			font-size: 0.7rem;
			text-indent: -0.7rem;
			padding-left: 0.7rem;
			}
		.pagenav___wrap li span br{
			display: none;
			}
		}
	@media only screen and (max-width: 900px) {}
	@media only screen and (max-width: 767px) {
		.pagenav{
			display: none;
		}
	}
	@media only screen and (max-width: 540px) {}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {}
	@media only screen and (max-width: 260px) {}








/*==================================================
　5-3-6 左から右に線が伸びて背景になる
===================================*/

.pagenav___wrap li a{
	position: relative;
	transition: all .7s;
	}
.pagenav___wrap li a::after {
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background:#f00;
	opacity: 0;
	}
.pagenav___wrap li.menu01 a::after {background:#732175;}
.pagenav___wrap li.menu02 a::after {background:#c72b87;}
.pagenav___wrap li.menu03 a::after {background:#d39325;}
.pagenav___wrap li.menu04 a::after {background:#b8315e;}
.pagenav___wrap li.menu05 a::after {background:#51a9be;}
.pagenav___wrap li.menu06 a::after {background:#ccbd30;}
.pagenav___wrap li.menu07 a::after {background:#89af32;}

.pagenav___wrap li.current a::after,
.pagenav___wrap li a:hover::after {
	width: 100%;
	opacity: 1;
	animation:bgappear 0.5s forwards;
	}

@keyframes bgappear{
  0% {
    width: 0%;
    height: 2px;
  }
  50% {
    width: 100%;
    height: 2px;
  }
  100% {
    width: 100%;
    height: 100%;
    background: #ffffff;
  }
}

.pagenav___wrap li.current a,
.pagenav___wrap li a:hover{
  	color: #fff;
	z-index: 10;
	}

	@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) {}
	@media only screen and (max-width: 260px) {}



























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

　   パンくず

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

.pan {
	color:  #fff;
	font-size:		0.7rem;
	margin: 1rem 0 3rem 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:			#fff;
	text-decoration:underline;
	}
.pan a:hover {
	text-decoration:none;
	}
.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%;
			}
		}



.note{
	margin: 1rem auto 2rem auto;
	display: flex;
	justify-content: center;
	}

.note p{
	position: relative;
	display: flex;
	align-items: center;
	font-size: 0.8rem!important;
	padding: 0.5rem 2rem;
	text-align: center;
	}
.note p:before,
.note p:after {
	position: absolute;
	content:'';
	width: 0.8rem;
	height: 100%;
	border-style: solid;
	border-color: #787878;
	}
.note p:before {
	border-width: 1px 0 1px 1px;
	left: 0;
	}
.note p:after {
	border-width: 1px 1px 1px 0;
	right: 0;
	}






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

　   見出し

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

.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%;
			}
		}





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

　   リード分

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

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



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

　   2列・3列カラム

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

.column2,
.column3,
.column4,
.column1-2{
	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%;
	}

.column1-2 .inner{
	margin-bottom: 0.5rem;
	}
.column1-2 .inner:nth-child(odd){
	width: 32%;
	}
.column1-2 .inner:nth-child(even){
	width: 64%;
	}

	@media only screen and (max-width: 900px) {
		.column1-2{
			display: block;
			}
		.column1-2 .inner:nth-child(odd){
			width: 100%;
			}
		.column1-2 .inner:nth-child(even){
			width: 100%;
			}
		}
	@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;
	color: #252525;
	}
.box.baige{
	display: block;
	background-color:#F5F4F0;
	border-radius: 0.2rem;
	color: #252525;
	}
	@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 #787878;
	border-left:1px solid #787878;
	margin:1rem 0 1rem 0!important;
	border-collapse:collapse;
	}
table.tbl_border.base th{
    background:#F7F7F7;
	color: #252525;
	text-align:center;
	padding:10px;
	border-bottom:1px solid #787878;
	border-right:1px solid #787878;
	word-break: break-all!important;
	}
table.tbl_border.base td{
	padding:12px;
	border-bottom:1px solid #787878;
	border-right:1px solid #787878;
	}

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

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

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

　テーブル 点線

----------*/
table.tbl_border.dash{
	border-top:1px dashed #787878;
	}
table.tbl_border.dash th{
	text-align:center;
	padding:25px 10px;
	border-bottom:1px dashed #787878;
    width: 25%;
	}
table.tbl_border.dash td{
	padding:25px 10px;
	border-bottom:1px dashed #787878;
    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{}

.content a:hover,
.tex a:hover{}

.content img,
.tex img{
	border: 0;
	max-width: 100%;
	height: auto;
	margin-top: 1rem;
	margin-bottom: 1rem;
	}

.content img a,
.tex img a{
	border: 0;
	}
.content a:hover img,
.tex a:hover img{}

/*赤色文字*/
.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;
	border-bottom: solid 1px #888;
	}
.entry:last-child{
	border-bottom: none;
	}
	@media only screen and (max-width: 767px) {
		.entry{}
		}


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

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

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

.entry_header{
	text-align: center;
	}

/*エントリータイトル*/
.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: #ffffff;
	}
/*クライアント・日付*/
.entry .client,
.entry .date{
	display: inline-block;
	color: #fff;
	font-size: 0.75rem;
	font-family: "EB Garamond";
	font-weight: 400;
	line-height: 100%;
	text-transform:lowercase;
	margin: 0;
	}
.entry .client{
	margin-right: 1rem;
	}
.entry .tx {
	font-size: 0.85rem;
	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: #ffffff;
	text-decoration: none;
	}
.entry .tx a:hover {
	color: #ffffff;
	text-decoration: underline;
	}


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

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

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

.postmetadata a{
	margin: 5px 0 50px 0;
	padding: 12px 22px 14px 22px;
	color: #252525;
	display: inline-block;
	background-color: #fff;
	border-radius: 3px;
	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 0 3rem 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 #ffffff;
	border-radius: 3px;
	color: #ffffff;
    display: inline;
    padding: 0.75rem 1rem;
    text-decoration: none;
	}
.pagenation li.active a{
	background-color: #fff;
	color: #252525!important;
    cursor: not-allowed;
	}
.pagenation li a:hover {
    background-color: #ffffff;
    color: #252525!important;
	}
	@media only screen and (max-width: 650px) {
			.pagenation{
				padding: 10px 20px 40px 0px;
				}
			.pagenation li a,
			.pagenation li.active{
				padding: 5px 10px;
				}
			}
*/










/* リンクの枠 */
.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
}

 /* 数字のリンク */
.pagination .nav-links .page-numbers {
  display: inline-block;
  text-decoration: none;
  border: 1px solid #787878;
  padding: 0.2rem 1.2rem;
  border-radius: 5px;
  color: #ffffff;
	font-size: 0.8rem;
  transition: background-color 0.3s, color .3s;
}

/* 現在のページ */
.pagination .nav-links .current {
  background-color: #ffffff;
  color: #252525;
}

/* 現在のページとドット以外にホバーした時 */
.pagination .nav-links a:hover {
	background-color: #ffffff;
	color: #252525;
}

	@media only screen and (max-width: 1100px) {
	.pagination .nav-links .page-numbers {
		padding: 0.1rem 0.5rem;
		font-size: 0.75rem;
		}
	}
	@media only screen and (max-width: 767px) {
		.pagination .prev,
		.pagination .next{
			display: none!important;
			}
		}
	@media only screen and (max-width: 600px) {
	.pagination .nav-links .page-numbers {
		font-size: 0.7rem;
		}
	}
	@media only screen and (max-width: 480px) {
	.pagination .nav-links .page-numbers {
		font-size: 0.65rem;
		}
	}
	@media only screen and (max-width: 360px) {
		.pagination .nav-links .page-numbers {
		font-size: 0.6rem;
		}
	}
	@media only screen and (max-width: 260px) {}












/* リンクの枠 */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  gap: 8px;
	}

 /* 数字のリンク */
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .first,
.wp-pagenavi .last{
  display: inline-block;
  text-decoration: none;
  border: 1px solid #787878;
  padding: 0.2rem 1.2rem;
  border-radius: 5px;
  color: #ffffff;
	font-size: 0.8rem;
  transition: background-color 0.3s, color .3s;
	}

/* 現在のページ */
.wp-pagenavi .current {
  background-color: #ffffff;
  color: #252525;
	}

/* 現在のページとドット以外にホバーした時 */
.wp-pagenavi a:hover {
	background-color: #ffffff;
	color: #252525;
	}

	@media only screen and (max-width: 1100px) {
		.wp-pagenavi .page,
		.wp-pagenavi .current,
		.wp-pagenavi .first,
		.wp-pagenavi .last{
			padding: 0.1rem 0.75rem;
			font-size: 0.75rem;
			}
		}
	@media only screen and (max-width: 767px) {
		.wp-pagenavi .previouspostslink,
		.wp-pagenavi .nextpostslink{
			display: none!important;
			}
		}
	@media only screen and (max-width: 600px) {
		.wp-pagenavi .page,
		.wp-pagenavi .current,
		.wp-pagenavi .first,
		.wp-pagenavi .last {
			font-size: 0.7rem;
			}
		}
	@media only screen and (max-width: 480px) {
		.wp-pagenavi .page,
		.wp-pagenavi .current,
		.wp-pagenavi .first,
		.wp-pagenavi .last {
			font-size: 0.65rem;
			}
		}
	@media only screen and (max-width: 360px) {
		.wp-pagenavi .page,
		.wp-pagenavi .current,
		.wp-pagenavi .first,
		.wp-pagenavi .last {
			font-size: 0.6rem;
			padding: 0.1rem 0.5rem;
			}
		}
	@media only screen and (max-width: 260px) {}










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

　   お問い合わせ　contact

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

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

.contact_tel .phone{
    color:#ffffff;
    font-size: 3rem;
	font-family: "EB Garamond";
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
    line-height: 100%;
    }
.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{
	font-size: 1.2rem;
    line-height: 150%;
    margin: 0 0 0.5rem 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: none;
	border: solid 1px #fff;
	color: #fff!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: #ffffff;
	color: #252525!important;
	border: solid 1px #fff;
	-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: #fff;
	color: #252525!important;
	}

/*リンク*/
.form a{
	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: 2rem;
	}

.page_lead__wrap .catch{
	font-size: 140%;
	font-weight: 600;
	line-height: 170%;
	padding: 0.5rem 0 0 0;
    margin-bottom: 0;
	}

.page_lead__wrap .tag{
	font-size: 0.65rem;
	font-family: "EB Garamond";
	font-weight: normal;
	letter-spacing: 2px;
	}
.page_lead__wrap .tag::after{
	display: block;
	content: '';
	width: 3rem;
	height: 1px;
	background: #787878;
	margin: 0.5rem 0 2rem 0;
	}

.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: #ffffff;
	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: #ffffff;
	font-family: "EB Garamond";
	font-weight: 400;
	letter-spacing: 1px;
	}
.page_point .point{
	font-size: 0.8rem;
	margin-right: 0.2rem;
	}
.page_point .num{
	font-size: 110%;
	}

.page_point img{}

.page_point .ttl{
	color: #ffffff;
	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: #ffffff;
	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: 10rem;
    margin-top: -10rem;
	}



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

　   google map

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

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

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






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

　  スライダー

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

.slider___wrap{
	margin: 0 0 3rem 0;
	}

.thumbnail_slider{
	margin-bottom: 1rem;
	}
.thumbnail {
    position: relative;
	}
.thumbnail_content .slick-slide {
    text-align: center;
    vertical-align: middle;
	}

.thumbnail_content {
    position: relative;
	text-align: center;
	}
.thumbnail_content img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
	border-radius: 3px;
	}

.slick-slider .fa-angle-left {
    position: absolute;
    top: 35%;
    transform: translate(0, -35%);
    left: 1.5rem;
    z-index: 2;
    color: #fff;
    padding: 5px 9px 5px 10px;
    background-color: rgba(0, 0, 0, 0.4);
	transition: .3s;
	}
.slick-slider .fa-angle-right {
    position: absolute;
    top: 35%;
    transform: translate(0, -35%);
    right: 1.5rem;
    z-index: 2;
    color: #fff;
    padding: 5px 9px 5px 10px;
    background-color: rgba(0, 0, 0, 0.4);
	transition: .3s;
	}
.fa-angle-right:hover,
.fa-angle-left:hover {
    opacity: 0.7;
	}
	@media only screen and (max-width: 767px) {
		.slick-slider .fa-angle-left {
			left: 0.5rem;
			}
		.slick-slider .fa-angle-right {
			right: 0.5rem;
			}
		}
	@media only screen and (max-width: 480px) {
		.slick-slider .fa-angle-left {
			left: 0;
			}
		.slick-slider .fa-angle-right {
			right: 0;
			}
		}


.thumbnail_nav___list{
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
	}
.thumbnail_item{
	margin: 0 0.25rem;
	height:100%;
	}
.thumbnail_nav___list img{
	width: 100%;
    height: 150px;
	object-fit: cover;
	}
	@media only screen and (max-width: 767px) {
		.thumbnail_nav___list img{
			height: 110px;
			}
		}
	@media only screen and (max-width: 540px) {
		.thumbnail_nav___list img{
			height: 90px;
			}
		}


.dots-wrap {
    display: flex;
    justify-content: center;
	margin: 2.5rem auto;
	}

.dots-wrap li {
    width: 30px;
    height: 2px;
    margin: 0 3px;
    background: #ffffff;
    cursor: pointer;
	}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: #cccccc;
	}
.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
	}

	@media only screen and (max-width: 767px) {
		.dots-wrap li {
			width: 20px;
			margin: 0 2px;
			}
		}
	@media only screen and (max-width: 480px) {
		.dots-wrap li {
			width: 14px;
			height: 2px;
			}
		}





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

　最近の制作実績

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

.sec_works .post .ph img{
	margin: 0;
	}

	@media only screen and (max-width: 767px) {
		.sec_works .post{
			margin-bottom: 2rem!important;
			}
		.sec_works .post:last-child{
			margin-left: auto;
			margin-right: auto;
			}
		.sec_works .post .client,
		.sec_works .post .date{
			display: block;
			line-height: 100%;
			}
		.sec_works .post .tx:empty{
			display: none;
			}
		}
	@media only screen and (max-width: 600px) {}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {}
	@media only screen and (max-width: 260px) {}




