/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */

* {
	margin: 0;
	padding: 0;
	margin-top: 0;
}
body {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	line-height: 1.6;
	letter-spacing: .07em;
	font-size: 14px;
	color: #231815;
}

a{text-decoration: none; color: #231815;}
a:hover img {
	opacity: 0.7;
	filter: menu_right(opacity=70);
	-ms-filter: "menu_left(opacity=70)";
}
p{font-size:14px;line-height:1.6; margin: 0;}
h1,h2,h3,h4,h5,h6{text-transform:none;font-weight: 500;}
h1 {
	font-size: 25px;
	margin: 0;
}
h1.common {
	font-weight: 400;
	font-size: 25px;
	padding: .5em 0;
	color: #fff;
	text-align: center;
}
@media (min-width: 992px){
	h1.common {
		font-size: 27px;
	}
}
h2 {
	font-size: 23px;
	margin: 0;
}
h2.index1 {
	font-size: 28px;
	padding-bottom: .5em;
	border-bottom: 1px solid #1d6bb4;
	color: #1d6bb4;
}
h2.index1 span { font-size: .8em; }
h2.index2 {
	font-size: 23px;
	padding-bottom: .5em;
	border-bottom: 1px solid #1d6bb4;
	color: #1d6bb4;
}
h2.index2 span { font-size: .8em; }
h2.index3 {
	font-size: 28px;
/*	padding-bottom: .5em;
	border-bottom: 1px solid #1d6bb4;*/
	color: #1d6bb4;
}
h2.index3 span { font-size: .8em; }
h2.index5 {
	font-size: 23px;
	padding-bottom: .5em;
	border-bottom: 1px solid #fff;
	color: #fff;
}
h2.contact1 {
	font-weight: 400;
	position: relative;
	margin-bottom: 1em;
	text-align: center;
}
h2.contact1:before {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 5px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #1d6bb4;
}
h2.privacy {
	font-size: 20px;
	margin-bottom: .4em;
	padding: .25em 0 .25em 1.2em;
	border-left: 3px solid #1d6bb4;
}
h3 {
	font-size: 20px;
	margin-top: 0;
}
h3.index1 { color: #1d6bb4; }
	

/* CUSTOMIZE THE SLIDER
-------------------------------------------------- */




/* CUSTOMIZE THE NAVBAR
-------------------------------------------------- */
/* header */
/*
.gnav { background-color: #f3cd5c; }
@media (min-width: 992px){
	.gnav li:first-of-type a {
		padding-left: 10px;
	}
	.gnav li a {
		display: block;
	}
	.gnav li {
		position: relative;
		display: inline-block;
	}
	.gnav li:not(:last-child):after {
		display: block;
		content: '';
		position: absolute;
		top: 26px;
		right: -20px;
		background: #4f4c4b;
		width: 35px;
		height: 1px;
		-webkit-transform: rotate(-50deg);
		-ms-transform: rotate(-50deg);
		transform: rotate(-50deg);
	}
}
*/

.navbar {
	padding: 0;
}
.navbar-wrapper, .navbar-wrapper a { }
.nav-fill .nav-item {
	text-align: left;
	padding: 15px 0;
}
.nav-fill .nav-item a {
	text-decoration: none;
	font-weight: 900;
	font-size: 16px;
}
@media (min-width: 992px){
	/*
	.navbar-wrapper {
		background-color: #f3cd5c;
	}*/
	.nav-fill .nav-item {
		text-align: center;
	}
	.nav-fill .nav-item:hover {	
	opacity: 0.7;
	filter: menu_right(opacity=70);
	-ms-filter: "menu_left(opacity=70)";
}
	.nav-fill .nav-item a {
		position: relative;
		display: inline-block;
		text-decoration: none;
		color: #4f4c4b;
		font-size: 16px;
	}
}



.custom-hamburger .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='dimgray' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
/* 991px以下 */
@media (max-width: 991px){
.navbar-brand {
	background: url("img/header_logo.png") no-repeat left center;
	background-size: contain;
	width: 200px;
/*	margin-left: 10px;*/
}
}
.dropdown:hover > .dropdown-menu{
  display: block;
}






/* CUSTOMIZE FOR MAIN
-------------------------------------------------- */

/* header */
a.p_header1, a.p_header1:hover {
	font-size: .9em;
	color: #1d6bb4 !important;
}
/*
.p_header1 a, .p_header1 a:hover {
	font-size: .9em;
	color: #1d6bb4 !important;
}
*/
.p_header2 {
	font-weight: 700;
	font-size: 23px;
}

/* main */

ol, ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.breadcrumb {
	background: transparent;
	font-size: 12px;
	color: red;
	margin-bottom: 0;
}
.breadcrumb li+li:before {
	font-family: "Font Awesome 5 Free";
	content: '\f054' !important;
	font-weight: 900;
	color: red;
}

.ggmap {
	position: relative;
	height: 0;
	overflow: hidden;
}
.ggmap_m {
	padding-bottom: 56.25%;
}
@media (min-width: 992px){
	.ggmap_m {
		padding-bottom: 37.5%;
	}
}
.ggmap_s {
	padding-bottom: 37.5%;
}
@media (min-width: 992px){
	.ggmap_s {
		padding-bottom: 30%;
	}
}
.ggmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%!important;
	height: 100%!important;
}


/* animation
-------------------------------------------------- */
.fluffy:hover {
	-webkit-animation: fluffy 0.8s linear 0s 1;
	animation: fluffy 0.8s linear 0s 1;
}
@-webkit-keyframes fluffy {
	0%   { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
	15%  { -webkit-transform: scale(0.9, 0.9) translate(0%, 5%); }
	30%  { -webkit-transform: scale(1.3, 0.8) translate(0%, 10%); }
	50%  { -webkit-transform: scale(0.8, 1.3) translate(0%, -10%); }
	70%  { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
	100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes fluffy {
	0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
	15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
	30%  { transform: scale(1.3, 0.8) translate(0%, 10%); }
	50%  { transform: scale(0.8, 1.3) translate(0%, -10%); }
	70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
	100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

/*左から右にフェードイン*/
.left-to-right {
/*  opacity: 0.1;*/
  transform: translateX(-50px);
  transition: all 1s;
}
.left-to-right.scrollin {
/*  opacity: 1;*/
  transform: translate(0);
}

/*下から上にフェードイン*/
.down-to-top {
/*  opacity: 0.1;*/
  transform: translateY(50px);
  transition: all 1s;
}
.down-to-top.scrollin {
/*  opacity: 1;*/
  transform: translateY(0);
}


.p_mincho {
	font-family: 'Playfair Display', serif;
}

.text-blue { color: #1d6bb4; }
.font-small { font-size: .85em; }
@media (min-width: 992px){
	.br-sp { display: none; }
}

#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
#pageTop i {
  padding-top: 6px;
}
#pageTop a {
  display: block;
  z-index: 999;
  padding: 5px 0 0;
  border-radius: 5px;
  width: 50px;
  height: 50px;
  background-color: #231815;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  text-decoration: none;
  text-align: center;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}




#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #3e3a39;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -100px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 12px;
  position: absolute;
  top: 15px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #3e3a39;
}
@media (min-width: 992px){
	#page_top a::before{
		top: -40px;
	}
	#page_top a::after{
		top: 45px;
	}
}



/* side */
/*
.btn_side {
	display: inline-block;
	padding: 1.5em .8em;
	width: 100%;
    text-decoration: none;
	text-align: center;
    color: #231518;
	background: none;
    border: solid 1px #231518;
    transition: .4s;
	margin-bottom: 1em;
}
.btn_side:hover {
	background: none;
	color: #fff;
	background-color: #ccc;
	border: solid 1px #ccc;
}
*/



/* footer */
footer {
	margin: 0;
	font-size: 12px;
	/*
	color: #fff;*/
}
/*footer a, footer a:hover { font-size: 12px; color: #fff !important; }*/
/*footer a.nav-link { color: #fff; }*/
/*footer a:hover { text-decoration: underline !important; }*/
footer .copyright {
	line-height: 5;
	font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 10px;
	background-color: #1d6bb4;
	color: #fff;
	padding-left: 1.2em;
}
ul.footer_menu {
	line-height: 2.3;
	color: #fff;
}
.p_footer1 a, .p_footer1 a:hover {
	font-size: 2em;
	color: #fff !important;
}
.lnk_footer1 {
	position: relative;
	display: inline-block;
	padding: .3em 3.6em;
	border: 1px solid #fff;
	color: #fff !important;
	text-align: center;
	text-decoration: none;
	outline: none;
	transition: all .2s;
}
.lnk_footer1::before,
.lnk_footer1::after {
	position: absolute;
	z-index: 2;
	content: '';
	width: 0;
	height: 0;
	border: 1px solid transparent;
}
.lnk_footer1::before {
	top: -2px;
	left: -2px;
}
.lnk_footer1::after {
	bottom: -2px;
	right: -2px;
}
.lnk_footer1:hover {
	color: #ffeb99;
}
.lnk_footer1:hover::before,
.lnk_footer1:hover::after {
	width: 100%;
	height: 100%;
}
.lnk_footer1:hover::before {
	border-bottom-color: #ffeb99;
	border-left-color: #ffeb99;
	transition: height .3s, width .3s .3s;
}
.lnk_footer1:hover::after {
	border-top-color: #ffeb99;
	border-right-color: #ffeb99;
	transition: height .3s, width .3s .3s;
}

.p_copyright {
	font-family: 'Abel', sans-serif;
	font-size: 11px;
}

.btn_footer1 {
	display: inline-block;
	padding: .8em;
	width: 100%;
    text-decoration: none;
    color: #fff;
/*	background: #322b29;
    border: solid 1px #fff;*/
    transition: .4s;
	margin: 2px auto;
	font-size: .9em;
	text-align: center;
}
.btn_footer1:hover {
	background: none;
	color: #322b29;
	border: solid 1px #fff;
}



/* index.php
-------------------------------------------------- */
a:link { text-decoration: none; color: #231815; } 
a:visited { text-decoration: none; color: #231815; } 
a:hover { text-decoration: none; color: #231815; }

.lbl_index1 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: .5em 1.5em;
  min-width: 120px;
  max-width: 100%;
  color: #1d6bb4;
  font-size: 16px;
  background: #ffeb99;
  border-radius: 10px;
}
.lbl_index1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #ffeb99;
}
.lbl_index1 p {
  margin: 0;
  padding: 0;
}
.lbl_index2 {
	position: relative;
    display: inline-block;
  padding: .2em .5em;
	width: 14em;
  border: 1px solid #1d6bb4;
  background-color: #1d6bb4;
  border-radius: 20px;
	font-size: 1.5em;
  color: #ffeb99;
}
.lbl_index3 {
	position: relative;
    display: inline-block;
	padding: 1px 1.5em;
	border: 1px solid;
}

.box_index1 {
	background-color: #fff;
	padding: .5em 1.5em;
	border-radius: 10px;
}
@media (min-width: 992px) {
	.box_index1 {
		padding: 2em 3em;
	}
}

.p_index1 {
	font-weight: 600;
	font-size: 1.5em;
	color: #1d6bb4;
}
ul.ul_index1 { list-style-type: cjk-ideographic; margin-left: 1.5em; }

.tbl_index1 th { font-weight: 400; /*width: 6em;*/ text-align: right; }
.tbl_index1 > thead > tr > th,
.tbl_index1 > tbody > tr > th,
.tbl_index1 > tfoot > tr > th {
	border-top: none!important;
	border-right: 1px solid;
	border-left: none!important;
	border-bottom: none!important;
	padding-right: 1em;
}
.tbl_index1 > thead > tr > td,
.tbl_index1 > tbody > tr > td,
.tbl_index1 > tfoot > tr > td {
	border-top: none!important;
	border-right: none!important;
	border-left: none!important;
	border-bottom: none!important;
	padding-left: 1em;
}
@media (min-width: 992px) {
	.tbl_index1 > thead > tr > th,
	.tbl_index1 > tbody > tr > th,
	.tbl_index1 > tfoot > tr > th {
		padding-right: 1.5em;
	}
	.tbl_index1 > thead > tr > td,
	.tbl_index1 > tbody > tr > td,
	.tbl_index1 > tfoot > tr > td {
		padding-left: 1.5em;
	}
/*	.tbl_index1 th { width: 20%; }*/
}
/*
.tbl_index1 > thead > tr > th,
.tbl_index1 > tbody > tr > th,
.tbl_index1 > tfoot > tr > th,
.tbl_index1 > thead > tr > td,
.tbl_index1 > tbody > tr > td,
.tbl_index1 > tfoot > tr > td {
*/
.pb_index1 {
	padding-bottom: 100px;
}
@media (min-width: 992px) {
	.pb_index1 {
		padding-bottom: 250px;
	}
}
.pos_index1 {
	position: absolute;
    top: -2vh;
    right: 1vh;
    z-index: 1;
}



/* animation
-------------------------------------------------- */



/* contact.php
-------------------------------------------------- */




/* privacy.html
-------------------------------------------------- */




/* INDEX.PHP
-------------------------------------------------- */
/* --- WordPress新着記事 --- */
@media (min-width: 992px) {
	.page-section {
		padding: 100px 0;
	}
}
.index-date, .index-title a {
	color: #231815;
}
.index-title a:hover {
	text-decoration: underline;
}

.article-cat {
	display: inline-block;
	width: 12em;
	padding: 0.3em 0.4em;
	text-align: center;
}

/* カテゴリ別に背景を色分け(span.カテゴリスラッグ) */
/*
span.news    { background: #5bb761; }
span.diary   { background: #f6c45e; }
span.recruit { background: #ee86a1; }
span.others  { background: #666; }

span.news, span.diary, span.recruit, span.others {
	color: #fff;
	font-size: 11px;
	font-weight: 500;
}
*/

/*
.thumb {
	text-align: center;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
}
.thumb img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
.thumb-circle {
	text-align: center;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
}
.thumb-circle img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	border-radius: 50%;
}
*/

select{
width: 20em;
border:solid 1px #ccc;
margin-top:10px;
padding:5px 0;
font-size: 12px;
	border-radius: 5px;
}
#search form {
	margin-top: 15px;
}
#search #s {
	margin-right: 10px;
	width: 70%;
}
#search #searchsubmit {
	font-size: 12px;
}


.notFound{
	margin-top:40px;
	margin-bottom:60px;
}
.notFound p{
	margin:10px 0;
}
.notFound strong{
	font-size:40px!important;
	color: #ccc;
}

.post-navigation {
	overflow: hidden;
/*	padding: 12px 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;*/
}
 
.prev {	float: left; }
.next {	float: right; }

/* cms-pagination */
.cms-pagination {
    width: 100%;
    overflow: hidden;
    margin-top: 40px;
	font-size: 13px;
}
.cms-pagination ul {
    position: relative;
    float: left;
    left: 50%;
    margin-bottom: 12px;
}
.cms-pagination ul li {
    position: relative;
    float: left;
    left: -50%;
    width: 34px;
    height: 38px;
    display: table;
    margin: 0 2px;
}
.cms-pagination ul li.pagination-no-num {
    width: 50px;
    display: table;
}
.cms-pagination ul li.pagination-no-num span {
    background: #eee;
    border: 1px solid #ddd;
    color: #ccc;
}
.cms-pagination ul li.pagination-sp {
    display: table;
}
.cms-pagination ul li a,
.cms-pagination ul li span {
    width: 100%;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    position: relative;
    border: 1px solid #999;
    background: #fff;
	color: #231815;
}
.cms-pagination ul li span {
    background: #555;
    border: 1px solid #555;
    color: #fff;
}
.pagination-txt {
    clear: both;
    text-align: center;
    margin-bottom: 40px;
	font-size: 13px;
}
.pagination-txt span {
    color: #999;
}
@media print,screen and (min-width: 1024px) {
    .cms-pagination ul li {
        width: 40px;
        height: 44px;
        margin: 0 3px;
        display: table;
    }
    .cms-pagination ul li a {
        -webkit-transition: background 0.3s ease;
        -moz-transition: background 0.3s ease;
        transition: background 0.3s ease;
    }
    .cms-pagination ul li a:hover {
        background: #ccc;
        -webkit-transition: background 0.3s ease;
        -moz-transition: background 0.3s ease;
        transition: background 0.3s ease;
    }
    .cms-pagination ul li.pagination-no-num {
        width: 60px;
    }
    .pagination-txt {
        margin-bottom: 60px;
    }
}

.cat-item {
	display: inline-block;
	padding: .3em .8em;
	text-align: center;
	background-color: #717175;
    border: solid 1px #717175;
	font-size: .8em;
    transition: .4s;
	margin: .4em .2em;
	color: #fff;
}
.cat-item a {
    color: #fff;
}
.cat-item:hover {
	color: #717175;
	background: none;
    border: solid 1px #717175;
	text-decoration: none!important;
}
.cat-item a:hover {
	color: #717175;
	text-decoration: none!important;
}

.article-list {
	border-bottom: 1px solid #dee2e6;
	padding-bottom: .5em;
}



.btn_index1 {
	display: inline-block;
	padding: .5em .1em;
	width: 100%;
    text-decoration: none;
	text-align: center;
/*	font-size: 1.3em;*/
    color: #1d6bb4;
	background: none;
    border: solid 1px #1d6bb4;
    transition: .4s;
	margin: .5em auto;
}
.btn_index1:hover {
	background: none;
	color: #fff;
	background-color: #1d6bb4;
	border: solid 1px #1d6bb4;
}









/* CONTACT.PHP
-------------------------------------------------- */
/*　ContactForm7のテーブル化レスポンシブ調整　*/

/*テーブルを親要素の幅いっぱいに伸ばす*/
.table-res-form {
    width: 100%;
}
/*一行ごとに上ボーダー*/
.table-res-form tr {
    border-top: 1px #DDD solid;
}
/*一番上の行だけボーダーなし*/
.table-res-form tr:first-child {
    border-top: none;
}
/*奇数行だけ背景色つける*/
/*
.table-res-form tr:nth-child(2n+1) {
    background: #eee;
}
*/
/*thとtd内の余白指定*/
.table-res-form th, .table-res-form td {
    padding: 1em;
}
/*th（項目欄）は30%幅、テキストを右寄せ*/
.table-res-form th {
	font-weight: 400;
    width: 30%;
    text-align: right;
}
/*「必須」部分のスタイリング*/
.table-res-form .requied {
    color: red;
}
/*「任意」部分のスタイリング*/
.table-res-form .any {
    font-size: 0.8em;
    color: #FFF;
    display: inline-block;
    padding: 0.3em 0.5em 0.2em;
/*    background: gray;*/
    border-radius: 2px;
}

/*ここから992px以下の指定*/
@media only screen and (max-width: 992px) {
    .table-res-form th, .table-res-form td {
        width: 100%;
        display: block;
    }
    .table-res-form th {
        padding-bottom: 0;
        text-align: left;
    }
　　　　　/*不要な最終行の左のthを非表示にする*/
    .table-res-form .empty {
        display: none;
    }
}

/*ここから入力欄のスタイル指定*/

/*各入力フォームスタイリング*/
.table-res-form input[type="text"], input[type="email"], input[type=date], textarea {
    border: 1px #ccc solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}
.table-res-form input[type="checkbox"] {
	margin-right: .3em;
}
.table-res-form .wpcf7-list-item .wpcf7-list-item-label {
	margin-right: 1em;
}
/*入力欄にフォーカスしたら変化*/
.table-res-form input[type="text"]:focus, textarea:focus {
    background: #eee;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

/*送信ボタンスタイリング*/
.sendsp input[type="submit"] {
	display: inline-block;
	padding: .5em 1em;
	width: 100%;
    text-decoration: none;
	text-align: center;
	background-color: #231815;
    border: solid 1px #231815;
    color: #fff;
    transition: .4s;
	margin: .5em auto;
	border-radius: 8px;
}
.sendsp input[type="submit"]:hover {
	background: #fff;
	color: #231815;
}

/* エラーメッセージの上部を消去 */
div.screen-reader-response{
  display: none;
}

div.wpcf7-mail-sent-ok { border: solid 1px #fff !important; background: #bfefdf; color: #666; text-align: center; padding: .5em; }
div.wpcf7-validation-ok { border: solid 1px #fff !important; background: #bfefdf; color: #666; text-align: center; padding: .5em; }
div.wpcf7-validation-ng { border: solid 1px #fff !important; background: #fa8072; color: #fff; text-align: center; padding: .5em; }
div.wpcf7-validation-blocked { border: solid 1px #fff !important; background: #f4a460; color: #fff; text-align: center; padding: .5em; }
div.wpcf7-validation-errors { border: solid 1px #fff !important; background: #fafad2; color: #666; text-align: center; padding: .5em; }