@charset "utf-8";

.aligncenter{ display:block; margin:0 auto; }
.alignleft{ display:block; margin:0 auto 0 0; }
.alignright{ display:block; margin:0 0 0 auto; }
.txtcenter{ text-align:center; }
.txtleft{ text-align:left; }
.txtright{ text-align:right; }
.floatright{ padding:4px; margin:0 0 2px 8px; display:inline; float:right; }
.floatleft{ padding:4px; margin:0 8px 2px 0; display:inline; float:right; }
.imgWrap{ overflow:hidden; }
.imgWrap img{ display:block; transition-duration:0.8s; margin:auto; }
.imgWrap img:hover{ transform:scale(1.2); transition-duration:0.8s; }
.sp-br,.ssp-br,.sp-tblbr{ display:none; }
.sp-img{ display:none; }
.pc-cnt{ text-align:center; }
.sp-cnt{ text-align:left; }
span.req,
span.any{ color:#FFF; font-size:10px; display:block; border-radius:3px; padding:0 5px; margin:0 0 0 10px; }
span.req{ background:#BD4E4E; }
span.any{ background:#8C8C8C; }
@media only screen and (min-width:768px){
	span.req,
	span.any{ margin:0; }
}
@media only screen and (max-width:767px){
	.pc-br{ display:none; }
	.sp-br{ display:block; }
	.pc-cnt{ text-align:left; }
	.sp-cnt{ text-align:center; }
}
@media only screen and (max-width:690px){
	.pc-img{ display:none; }
	.sp-img{ display:block; }
}
@media only screen and (max-width:380px){
	.pc-tblbr{ display:none; }
	.sp-tblbr{ display:block; }
}
@media only screen and (max-width:350px){
	.spc-br{ display:none; }
	.ssp-br{ display:block; }
}

/* Margin
--------------------*/
.l-mg{ margin-bottom:100px!important; }
.m-mg{ margin-bottom:75px!important; }
.s-mg{ margin-bottom:40px!important; }
.no-mg{ margin-bottom:0!important; }
@media only screen and (max-width:690px){
	.l-mg{ margin-bottom:80px!important; }
	.m-mg{ margin-bottom:55px!important; }
	.s-mg{ margin-bottom:30px!important; }
}
@media only screen and (max-width:979px){
	.l-mg{ margin-bottom:60px!important; }
	.m-mg{ margin-bottom:35px!important; }
	.s-mg{ margin-bottom:20px!important; }
}

/* Page header
--------------------*/
#page-header{ margin:60px auto 0; max-width:1000px; width:calc(100% - 40px); height:120px; position:relative; display:flex; align-items:end; }
#page-header .title{ color:#46464F; font-weight:bold; text-align:center; font-size:35px; margin:0 0 15px; font-family:"Arimo",sans-serif; }
@media only screen and (min-width:768px){
	#page-header{ margin:80px auto 0; height:170px; }
	#page-header .title{ font-size:50px; margin:0 0 20px; }
}

/* Side
--------------------*/
#side-contents{ display:flex; flex-wrap:wrap; }
#side-contents .main-data{ border-radius:6px; width:100%; margin-bottom:3em; box-sizing:border-box; }
#side-contents .main-data h3{ font-size:18px; font-weight:500; margin:0 0 20px 0; background:#222; padding:10px; color:#666; color:#FFF; }
#side-contents .main-data h3::after{ display:none; }
#side-contents .main-data #comments{ background:transparent; border-bottom:1px solid #222; color:#222; }
#side-contents .main-data #reply-title{ border:1px solid #222; background:#FFF; color:#222; }
#side-contents .side-data{ width:100%; padding:20px; box-sizing:border-box; }
#side-contents .widget_block{margin:0 0 30px; }
#side-contents .widget_block:last-of-type{margin:0; }
.post-images{ margin-bottom:2em; line-height:0; display:inline-block; }
.wp-block-search-button{ color:#000; }
.side-data h2{ border-bottom:1px solid #222; font-size:16px; margin:0 0 15px; padding:0; font-weight:400; height:50px; line-height:50px; }
.side-data ul li{ margin:0; padding:0 0 10px; background:none; position:relative; margin:0 0 10px; border-bottom:1px dashed #ccc; }
.side-data ul li a{ display:block; padding:0; overflow:hidden; text-decoration:none; position:relative; box-sizing:border-box; }
.side-data ul li a:hover{ background:#FFF; color:#222; }
@media only screen and (min-width:768px){
	#side-contents .main-data{ width:calc(65% - 10px); margin-right:10px; }
	#side-contents .side-data{ width:calc(35% - 10px); margin-left:10px; }
}
@media only screen and (min-width:1024px){
	#side-contents .main-data{ width:calc(70% - 20px); margin-right:20px; }
	#side-contents .side-data{ width:calc(30% - 20px); margin-left:20px; }
}

/* Comment
--------------------*/
.btn-contact input[type="submit"]{ background:#565656; font-size:14px; margin:30px auto 0; display:block; border:1px solid #565656; text-align:center; padding:6px 2rem; color:#FFF; transition:all 0.4s ease; }
.btn-contact input[type="submit"]:hover{ background:#FFF; color:#565656; }
#respond{ margin-top:30px; padding-top:10px; border-top:1px dashed #ccc; }
.comment-form-comment label{ display:block; }
#comment{ padding:8px; width:100%; background:#FFF; border:1px solid #ccc; }
#commentform input[type="text"]{ padding:8px; width:100%; background:#FFF; border:1px solid #ccc; border-radius:6px; }
#comments{ margin:50px 0 20px!important; }
.commentlist{counter-reset:titleNum; }
.commentlist li{ position:relative; padding:6px 0 6px 2.5em; list-style:none; }
.commentlist li::before{ position:absolute; top:6px; left:0; counter-increment:titleNum; content:counter(titleNum); width:32px; height:32px; line-height:32px; background-color:#222; color:#FFF; text-align:center; }
.form-submit #submit{ border:none; color:#FFF; padding:10px; appearance:none; display:block; background-color:#222; transition:all .2s ease; }
.form-submit #submit:hover{ background-color:#666; }
h3.under-line{ border-bottom:2px solid #000; font-size:25px; margin:0 auto 45px; }

/* Pagination
--------------------*/
.nav-links{ display:table; margin:60px auto 0; }
.current{ background:#565656!important; border:1px solid #565656; color:#FFF!important; }
.page-numbers{ line-height:25px; color:#565656; margin:4px; text-decoration:none; width:25px; height:25px; text-align:center; display:inline-flex; align-items:center; justify-content:center; }
.next.page-numbers,
.prev.page-numbers{ width:auto!important; }
@media only screen and (min-width:768px){
	.nav-links{ margin:90px auto 0; }
}
@media only screen and (min-width:1024px){
	.nav-links{ margin:120px auto 0; }
}

/* List
--------------------*/
.list-disc li{ list-style-type:disc; margin:0 0 0 20px; }

/* Gallery
--------------------*/
.gly-list{ width:100%; margin:0; padding:0; display:flex; flex-wrap:wrap; }
.gly-list li{ display:inline-block;width:calc(50% - 5px);margin:10px 10px 0 0;position:relative;overflow:hidden;line-height:0;box-sizing:border-box; }
.gly-list li:nth-child(2n){ margin:10px 0 0; }
.gly-list li:nth-child(-n+1){ margin:0 10px 0 0; }
.gly-list li:nth-child(2){ margin:0; }
.gly-list li a{ line-height:0; }
.gly-list li img{ width:100%; object-fit:cover; object-position:center; }
.gly-list li a span{ line-height:1.4; }
@media only screen and (min-width:768px){
	.gly-list li,
	.gly-list li:nth-child(2),
	.gly-list li:nth-child(-n+1),
	.gly-list li:nth-child(2n){ margin:20px 20px 0 0; width:calc(100%/3 - 13.3333px); }
	.gly-list li:nth-child(3n){ margin:20px 0 0; }
	.gly-list li:nth-child(-n+2){ margin:0 20px 0 0; }
	.gly-list li:nth-child(3){ margin:0!important; }
	.gly-list li span{ position:absolute; width:100%; height:100%; display:none; padding:20px; font-size:20px; color:#FFF; display:block; background-color:rgba(0,0,0,.5); transition:0.2s; opacity:0; }
	.gly-list li a:hover span{ opacity:1;}
}
@media only screen and (min-width:1024px){
	.gly-list li,
	.gly-list li:nth-child(2),
	.gly-list li:nth-child(-n+1),
	.gly-list li:nth-child(2n){ margin:50px 50px 0 0; width:calc(100%/3 - 33.3333px); }
	.gly-list li:nth-child(3n){ margin:50px 0 0; }
	.gly-list li:nth-child(-n+2){ margin:0 50px 0 0; }
}

/* Wide
--------------------*/
.wide{ margin-left:auto; margin-right:auto; }
.wide-700{ max-width:700px; }

/* Table
--------------------*/
.tbl-A{ margin:auto; }
.tbl-A th,
.tbl-A td{ padding:0 0 20px; }
.tbl-A tr:last-child th,
.tbl-A tr:last-child td{ padding:0; }
.tbl-A th{ width:80px; }
.tbl-A td{ width:calc(100% - 80px); }
.tbl-B{ width:100%; border-collapse:collapse; margin-bottom:40px; }
.tbl-B th,
.tbl-B td{ vertical-align:middle; display:block; }
.tbl-B td{ margin:0 0 25px; }
.tbl-B th p{ display:flex; align-items:center; justify-content:start; }
.tbl-C th,
.tbl-C td{ padding:5px 0; }
.tbl-C th{width:70px;}
.tbl-C td{ width:calc(100% - 70px); }
@media only screen and (min-width:768px){
	.tbl-A th{ position:relative; width:auto; padding:10px 90px 10px 0; }
	.tbl-A tr:last-child th{ padding:10px 90px 10px 0; }
	.tbl-A th::after{ content:''; position:absolute; margin:auto; top:25px; right:0; width:50px; height:1px; background:#46464F; }
	.tbl-A td{ width:auto; padding:0 0 0 30px; }
	.tbl-A tr:last-child td{ padding:0 0 0 30px; }
	.tbl-B th,
	.tbl-B td{ padding:20px 5px; display:table-cell; }
	.tbl-B th{ width:150px;}
	.tbl-B td{ width:calc(100% - 100px); margin:0; }
	.tbl-B th p{ justify-content:space-between; }
	.tbl-C th{ width:150px;}
	.tbl-C td{ width:calc(100% - 100px); margin:0; }
}
@media only screen and (min-width:1024px){
	.tbl-A th,
	.tbl-A tr:last-child th{ padding:10px 150px 10px 0; }
	.tbl-A th::after{ width:70px; }
	.tbl-A td,
	.tbl-A tr:last-child td{ padding:0 0 0 50px; }
}

/* Google Map
--------------------*/
.g-map{ position:relative; width:100%; padding-top:56.25%; height:0; }
.g-map iframe{ position:absolute; top:0; left:0; width:100%; height:100%;}

/* Etc
--------------------*/
p.check .wpcf7-list-item{ margin:0; }
p.check a{ text-decoration:underline; }
@media only screen and (min-width:768px){
	p.check{ width:calc(100% - 150px); margin:0 0 0 auto; }
}