@charset "utf-8";

body,p,td,li, h5,h6 {
	font-family: "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
	font-size:1rem;
	line-height:1.8em;
}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5,.h6 {
	font-family: "BIZ UDPMincho", "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",source-han-serif-japanese,"游明朝","Yu Mincho","游明朝体",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
	font-weight:800;
	line-height:1.5em;
}

.font-g {
	font-family: "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

.font-m {
	font-family: "BIZ UDPMincho", "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",source-han-serif-japanese,"游明朝","Yu Mincho","游明朝体",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
}

.bold {
	font-weight:800;
}

.container {
	max-width: 1164px;
}

html {
    scroll-behavior: smooth;
}

img { max-width: 100%;height:auto!important; }

@media (min-width: 768px) {
	figure { 
		max-width: 75%;
	}
}
figure { 
	margin-bottom: 25px; }
figure.wp-block-image { 
	padding:12px;
	box-shadow: 1px 1px 4px #aaa;
	margin-left:2px;
	margin-right:2px;
}
figure figure.wp-block-image { 
	padding:6px;
}

figure figure { max-width: 50%; }

.is-layout-flex { display:flex;column-gap: 8px; }
.is-layout-flex .wp-block-image { flex: 1 1; }

figure>figure { margin-bottom: 0px; }
figcaption {text-align: center;}
p { margin-bottom: 5px; }

.wp-block-table table {
	border-spacing: 0;
}
.wp-block-table table td {
	border-width: 1px;
	padding: 2px 5px;
}

.lum-lightbox-position-helper {
			display: flex;
			align-items: center;
			flex-direction: column-reverse;
		}
		.lum-lightbox-caption {
			font-weight:bold;
			font-size:1.2em;
		}

/* 文字サイズ
==================================================== */
h1 { font-size:1.5rem; }

@media (min-width: 576px) {
	h1 { font-size:1.8rem;letter-spacing:2px; }
}
@media (min-width: 768px) {
	h1 { font-size:1.8rem; }
}
@media (min-width: 1200px) {
	h1 { font-size:2rem;letter-spacing:2px; }
}
@media (min-width: 1400px) {
	h1 { font-size:2.2rem;letter-spacing:2px; }
}

@media (min-width: 768px) and (max-width: 1050.98px) {
	.top_square .top_text { font-size:0.8rem; }
}
@media (max-width: 767.98px) {
	.top_text { font-size:1rem; }
}



/* マージン、パディング
==================================================== */
.mt-40 { margin-top:40px; }
.mb-40 { margin-bottom:40px; }
.pt-40 { padding-top:40px; }
.pb-40 { padding-bottom:40px; }
.mt-80 { margin-top:80px; }
.mb-80 { margin-bottom:80px; }
.pt-80 { padding-top:80px; }
.pb-80 { padding-bottom:80px; }
.ps-80 { padding-left:80px; }
.pe-80 { padding-right:80px; }
.mt-110 { margin-top:110px; }
.mb-110 { margin-bottom:110px; }
.pt-110 { padding-top:110px; }
.pb-110 { padding-bottom:110px; }
.ps-110 { padding-left: 110px; }

.my-80 { margin-top:80px; margin-bottom:80px; }
.my-110 { margin-top:110px; margin-bottom:110px; }
.py-80 { padding-top:80px; padding-bottom:80px; }
.px-80 { padding-left:80px; padding-right:80px; }
.py-110 { padding-top:110px; padding-bottom:110px; }

@media (max-width: 767.98px) {
	.mt-40, .mt-80, .mt-110 { margin-top:30px; }
	.mb-40, .mb-80, .mb-110 { margin-bottom:30px; }
	.pt-40, .pt-80, .pt-110 { padding-top:30px; }
	.pb-40, .pb-80, .pb-110 { padding-bottom:30px; }
	.ps-80, .ps-110 { padding-left:30px; }
	.pe-80, .pe-110 { padding-right:30px; }
	.my-80, .my-110 { margin-top:30px; margin-bottom:30px; }
	.py-80, .py-110 { padding-top:30px; padding-bottom:30px; }
	.mx-80 { margin-left:30px; margin-right:30px; }
}

.lh-1 { line-height: 1em; }
.lh-2 { line-height: 2em; }
.lh-3 { line-height: 3em; }




/* リンク
==================================================== */
a {
	color: #333;
	opacity:.9;
}

footer a {
	color: #fff;
}

.effect a,
.effect a:after,
.effect a::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.effect a {
	position: relative;
	display: inline-block;
	outline: none;
	text-decoration: none;
	letter-spacing: 0px;
	text-shadow: 0 0 1px rgba(255,255,255,0.3);
}
@media (min-width: 768px) and (max-width: 1070.98px) {
	.effect a {
		font-size:0.8em;
	}
}

.effect a:hover,
.effect a:focus {
	outline: none;
}

/* Effect: move up fade out, push border */
.cl-effect-n a {
	color: #333;
	opacity:.8;
	text-shadow: none;
	padding: 0px 5px;
}
.cl-effect-n a:hover,
.cl-effect-n a.selected
 {
	color: #1f0000;
}
.cl-effect-n a::before {
	color: #1f0000;
	text-shadow: 0 0 1px rgba(255,255,255,0.3);
	content: attr(data-hover);
	position: absolute;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
	-moz-transition: -moz-transform 0.3s, opacity 0.3s;
	transition: transform 0.3s, opacity 0.3s;
	pointer-events: none;
}

.cl-effect-n a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 4px;
	background: rgba(255,255,255,0.7);
	opacity: 0;
	-webkit-transform: translateY(5px);
	-moz-transform: translateY(5px);
	transform: translateY(5px);
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
	-moz-transition: -moz-transform 0.3s, opacity 0.3s;
	transition: transform 0.3s, opacity 0.3s;
	pointer-events: none;
}

.cl-effect-n a.selected::before,
.cl-effect-n a:hover::before,
.cl-effect-n a:focus::before {
	opacity: 0;
	-webkit-transform: translateY(-2px);
	-moz-transform: translateY(-2px);
	transform: translateY(-2px);
}

.cl-effect-n a.selected::after,
.cl-effect-n a:hover::after,
.cl-effect-n a:focus::after {
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	transform: translateY(0px);
}


/* ナビバー
==================================================== */
@media (max-width: 767.98px) {
	body { padding-top:49px; }
}
.navbar-brand {
	padding:0;
	margin:0;
	padding-left: 15px;
}

.navbar-toggler { 
	position:relative;
	border:none!important;
	padding-bottom:0;
}

.navbar-light .navbar-toggler .navbar-toggler-icon {
	position:relative;
	margin-top:-16px;
}

.navbar-nav .nav-link {
	padding-left: 15px;
}

.navbar-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
}


/* コピーライト
==================================================== */
#main {
	margin-top:10px;
}
@media (min-width: 768px) {
	#main {
		margin-top:9px;
	}
}
@media (min-width: 992px) {
	#main {
		margin-top:17px;
	}
}


/* コピーライト
==================================================== */
#copyright {
	font-size:13px;
	padding-bottom:10px;
}





/* トップへ戻る
==================================================== */
/*TOPへ戻るボタン*/
a.bottomFooter__topBtn {
    text-decoration:none;
}
.bottomFooter__topBtn {
    position: fixed;
    bottom: 0;
    right: 0;
    display: block;
    background-color: #dacb7a;
    color: #fff;
    z-index: 999
    font-weight:bold
}

.bottomFooter__topBtn{
width: 0;
height: 0;
border-top: 40px solid transparent;
border-right: 40px solid #dacb7a;
border-bottom: 40px solid #dacb7a;
border-left: 40px solid transparent;
margin-right:0px;
margin-bottom:0px;
background:none;
color: #fff;
}
.bottomFooter__topBtn:before{
display:block;
margin-right:-20px;
margin-top:13px;
}


/* メディアクエリ
==================================================== */
// X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) {}

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) {}

// Large devices (desktops, 992px and up)
@media (min-width: 992px) {}

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) {}

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) {}


// X-Small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) {}

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) {}

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) {}

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) {}

// X-Large devices (large desktops, less than 1400px)
@media (max-width: 1399.98px) {}
