@charset "utf-8";
/* common
-----------------------------------------------------*/
br.sp{
	display: inline;
}
br.pc{
	display: none;
}
br.sphide{
	display: none;
}
body{
	font-size: 1.4rem;
}
a.fadehover:hover,
a:hover .fadehover{
	opacity: 1;
}
a .zoomhover img{
	transition: none;
}
a:hover .zoomhover img{
	transform: scale(1);
}
/* header
-----------------------------------------------------*/
/* footer
-----------------------------------------------------*/
#site_footer{
	padding: 75px 0 80px 0;
}
#site_footer .row{
	display: block;
	text-align: center;
}
#footer-logo img{
	width: 200px;
	height: auto;
}
#site_footer .row01 nav.menu{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px 0;
	margin-top: 35px;
}
#site_footer .row01 nav.menu a + a{
	margin-left: 0;
}
#site_footer .row02 nav.menu{
	margin: 60px 0 70px 0;
}
#site_footer .row02 nav.menu a + a{
	margin-left: 30px;
}
#site_footer .row02 nav.sns{
	display: block;
}
#site_footer .row02 nav.sns h3{
	margin-right: 0;
	margin-bottom: 34px;
	font-size: 1.8rem;
}
#site_footer .row02 nav.sns a + a{
	margin-left: 38px;
}
#site_footer .row02 nav.sns img{
	width: 36px;
	height: 36px;
}
#site_footer .copyright{
	font-size: 1.6rem;
	margin-top: 97px;
}
/* top
-----------------------------------------------------*/
#mainvisual .searchbox{
	width: auto;
	position: static;
	margin: 0 40px;
}
#mainvisual .searchbox-wrap{
	background: rgba(28,28,28,0.7);
	padding: 30px 0;
	position: absolute;
	top: 80vw;
	left: 20px;
	width: calc(100% - 40px);
	transform: translate(0, 0);
	z-index: 5;
}
#mainvisual .searchbox-wrap > p{
	display: block;
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1.5rem;
	text-align: center;
	margin-top: 10px;
}
#mainvisual .searchbox input[type="text"]::placeholder{
	color: transparent;
}
#mainvisual .google-searchbox{
	width: auto;
	position: static;
	padding: 0 20px;
}
#mainvisual .googlesearch .gsc-input-box input{
	height: 28px !important;
}
#mainvisual .googlesearch .gsc-input-box{
	height: 42px;
}
#mainvisual .googlesearch .gsc-search-button-v2{
	height: 42px;
}
#mainvisual-slide .title{
	display: block;
	height: auto;
	padding: 40px 40px;
}
table.gsc-search-box td{
	padding: 0;
}
#mainvisual .googlesearch .gsib_a{
	padding-left: 15px;
}
#mainvisual-slide .slick-dots{
	bottom: auto;
	top: 128vw;
}
#mainvisual-slide .title p{
	line-height: 1.75em;
}
#mainvisual-slide .title a{
	display: block;
	width: 100%;
	max-width: 280px;
	height: 54px;
	line-height: 54px;
	margin: auto;
	margin-top: 38px;
}
.slidesec{
	padding: 100px 0 100px 0;
}
.slidesec h2{
	font-size: 3.4rem;
}
.post-archive h1{
	line-height: 1.4em;
}
.location-cat{
	margin-top: 24px;
}
.slidesec .swiper-slide{
	width: 240px;
}
.swiper-contols{
	flex-wrap: wrap;
	margin-right: 40px;
}
.swiper-scrollbar-wrap{
	width: 100%;
}
.swiper-contols button.prev{
	margin-left: auto;
}
.swiper-contols button.next{
	margin-right: auto;
}
.swiper-contols button{
	width: 40px;
	height: 40px;
}
.swiper-contols button:before{
	border-width: 5px;
	margin-top: -5px;
	left: 10px;
}
.swiper-contols button.next:before{
	left: 17px;
}
.swiper-scrollbar-wrap{
	margin-bottom: 40px;
}
.btnbox{
	padding: 0 40px;
}
.btnbox a.btn{
	height: 54px;
	font-size: 1.6rem;
	width: 100%;
	max-width: 280px;
}
/* single
-----------------------------------------------------*/
#single main article{
	margin-top: 40px;
}
#single main article .cat a{
	font-size: 1.4rem;
}
#single main article h1{
	margin-top: 20px;
	margin-bottom: 14px;
}
#single #scrollcontainer{
	margin-left: -40px;
	margin-right: -40px;
	margin-top: 30px;
	margin-bottom: 30px;
}
#single .twocol .entry-content{
	border-top: 0;
	padding-top: 0;
	margin-top: 0;
}
#single main article section{
	padding: 100px 0;
}
#single h2.sectitle{
	font-size: 3.4rem;
	margin-bottom: 40px;
}
#single #highlights .highlights-flex{
	display: block;
}
#single #highlights .content{
	max-width: none;
}
#single #highlights .content h3{
	font-size: 2.4rem;
}
#single #highlights .content h3:before{
	font-size: 2.4rem;
}
#single #highlights .content + .content{
	margin-top: 50px;
}
body .entry-content table th,
body .entry-content table td{
	display: block;
	padding: 15px 10px;
	border: 0;
}
body .entry-content table td:first-child,
body .entry-content table th:first-child{
	padding-right: 10px;
	font-size: 1.8rem;
	width: auto;
	white-space: normal;
}
body .entry-content table td + td,
body .entry-content table th + td{
	padding-top: 0 ;
}
body .entry-content table tr{
	border-bottom: 1px solid #000;
}
div.map{
	margin-top: 40px;
}
div.map iframe{
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
}
#single .faq-content h3,
#single .faq-content p{
	padding-top: 24px;
	padding-bottom: 24px;
	padding-left: 60px;
	padding-right: 20px;
}
#single .faq-content h3{
	padding-right: 53px;
}
#single .faq-content h3 span.ico{
	top: 36px;
	right: 20px;
}
#single .faq-content h3:before, 
#single .faq-content p:before{
	left: 20px;
}
#single .faq-content h3{
	margin-top: 20px;
}
/* archive
-----------------------------------------------------*/
#archive-col{
	margin-top: 45px;
	margin-bottom: 60px;
}
#archive h1.cattitle{
	font-size: 3.4rem;
	margin-bottom: 40px;
}
#postlist{
	display: grid;
	/*grid-template-columns: 1fr 1fr;*/
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-gap: 50px 20px;
}
#postlist .post-archive{
	width: auto;
}
#postlist .post-archive .thumb .cat{
	position: static;
	mix-blend-mode: normal;
	margin-top: 15px;
}
#postlist .post-archive .thumb .cat a{
	background: #ffffff;
	color: #C31919;
	font-size: 1rem;
}
#postlist .post-archive h1{
	font-size: 1.8rem;
}
#postlist .post-archive .excerpt p{
	font-size: 1.4rem;
}
#postlist .location-cat{
	margin-top: 20px;
}
#postlist .location-cat a{
	line-height: 1.2em;
	font-size: 1.4rem;
}
#postlist .location-cat a:before{
	top: 0;
}
#archive .backtotop{
	margin-bottom: 100px;
}
/* page
-----------------------------------------------------*/
#page{
	margin-top: 40px;
	padding-bottom: 100px;
}
#page h1{
	font-size: 3.4rem;
	margin-bottom: 40px;
}
/* about us
-----------------------------------------------------*/
.entry-content p.logotxt{
	font-size: 2.2rem;
	margin-top: 20px;
	margin-bottom: 50px;
}
.entry-content div.logoimg img{
	max-width: 280px;
}









