@charset "UTF-8";

/* 基本 */
:root {
    --space: clamp(90px, 9vw, 120px);
}

/* 画質調整 */
img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
　   image-rendering: -webkit-optimize-contrast;
    max-width: 100%;
	height: auto;
	vertical-align:top;
}

html { 
    scroll-behavior: smooth;
    overflow-x: hidden;
    font-family: "Noto Sans JP","メイリオ","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 1.8em;
    color: #000;
}

body {
    display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
    margin: 0;
    background-color: #ffffff;
    color: #ffffff;
    font-family: sans-serif, "メイリオ";
    overflow-x:hidden;
    width:100vw;
}

h1, h2, h3, h4, h5, h6, p, figure {
    margin:0;
}

p {
    line-height: 1.8;
}

a {
    color: inherit;
    text-decoration: none;
}

li {
    list-style: none;
}

.main img {
	width: 100%;
}


.header {
	position: fixed;
	width: calc(100% - 80px);
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	z-index: 2;
}

header img {
	width: 100%;
}

#page_top {
	position: absolute;
	right: 20px;
	z-index: 99999;
}

#page_top a {
	font-size: 48px;
	color: #666;
}

#page_top img {
	width: 60px;
}

.wrap {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
    margin-top:15px;
}


footer {
	text-align: center;
	padding: 30px 0;
}

.foot_logo {
	text-align: center;
}
.foot_logo img {
	width: 15%;
}


.copyright {
	margin-bottom: 0;
	color: #7c7c7c;
	font-size: 11px;
	line-height: 1.6em;
}

.copyright {
	margin: 15px 0 0;
}


.foot_access {
	padding: 50px 7% 80px;
	background-color: #F1ECE6;
}

.foot_access .wrap {
	background-color: #FFF;
	padding-top: 20px;
	padding-bottom: 30px;
	border-radius: 10px;
}

.foot_anounce {
    justify-content: space-between;
    padding: 20px;
	text-align: center;
    color:#000;
	}

.foot_anounce_content {
		width: 80%;
		text-align: center;
		margin: 0 auto;
	}

.foot_tax {
	color: #494848;
}

.txt_uriba {
	color: #ffffff;
	background-color: #817B7B;
	margin: 20px auto 10px;
	width: 480px;
}
.txt_tel {
	font-size: 40px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight: bold;
	margin: 20px 0 0;
}
.txt_tel a {
	text-decoration: none;
}
.pdf {
	margin: 70px auto;
	text-align: center;
}


@media only screen and (max-width: 1100px) {
	.wrap {
		max-width: 100%;
		padding-left: 4%;
		padding-right: 4%;
	}
}

@media only screen and (max-width: 768px){

	body {
		font-size: 14px;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
    
    .wrap {
        margin-left: auto;
	    margin-right: auto;
        margin-top: 15px;
    }

	footer {
		background-size: 100% auto;
	}

	.flex {
		display: block;
	}

	ul.item_list li {
		width: 100%;
		max-width: 360px;
		margin-right: auto !important;
		margin-left: auto;
		margin-bottom: 50px;
	}

	.pdf {
	margin: 30px auto;
	text-align: center;
	}
	.pdf img {
	width: 90%;
	}

	.foot_access {
	padding: 15px 4% 30px;
	background-color: #F1ECE6;
	}
    
	.txt_tel {
	font-size: 190%;
	}
    
	.foot_anounce {
	padding: 10px;
	}
    
    .foot_logo img {
	width: 35%;
}

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

	header {
		margin: 0;
		padding: 0;
	}

	#page_top {
		right: 13px;
	}

	#page_top img {
	    width: 40px;
	}

	#foot_navi_s ul.nav {
		padding: 30px 0;
	}

	.special_txt {
		text-align: left;
	}

	.txt_uriba {
		width: 100%;
	}
}

.tokuten { 
    padding: 25px 0 0 0; 
    max-width: 1080px; 
    margin:0 auto;
}

.tokuten .button_wrap {
    display:flex; 
    align-items:center;
    width: calc(100% + 50px);
    margin-left:-25px; margin-right:-25px; margin-bottom:20px; flex-wrap:wrap; 
}

.tokuten .button_wrap > *
{ width: 50%; padding:0 20px 20px; box-sizing:border-box; }

.tokuten .button_wrap .tokuten_button { display:block; text-decoration:none; padding:10px 40px; border:4px solid #E8E0D4; border-radius:100px; }
.tokuten .button_wrap .tokuten_button .main 
{ display:flex; flex-wrap:wrap; align-items:center; padding-left:70px; background:no-repeat center left / 50px auto; justify-content:center; min-height:50px; color:#997E56; font-size:1.2em; }
.tokuten .button_wrap .tokuten_button._pdf .main { background-image:url(../img/icon_pdf.png); }
.tokuten .button_wrap .tokuten_button._instagram .main { background-image:url(../img/icon_instagram.png); }
.tokuten .notice { margin-top:20px;  margin-bottom:25px; }
.tokuten .notice ul { list-style:none; padding-left:0; color:#000; font-size:clamp(16px, 0.5vw, 18px); }
.tokuten .notice ul li { text-indent:-1em; padding-left:1em;  padding-bottom:5px;}
@media (max-width:1040px) {
	.tokuten { padding-left:20px; padding-right:20px; }
}
@media (max-width:767px) {
	.tokuten .button_wrap { flex-wrap:wrap; }
	.tokuten .button_wrap > *:not(:last-child) { padding-bottom:20px; }
	.tokuten .button_wrap > * { width:100%; }
	.tokuten .button_wrap .tokuten_button { padding:10px 15px; }
	.tokuten .button_wrap .tokuten_button .main { font-size:1em; padding-left:50px; background-size:40px auto; }
}

.main_box { margin-bottom:60px; }
@media (max-width:767px) {
	.main_box { margin-bottom:40px; }
}

/* 「ムービーはこちら」ボタン */
.img_btn_wrap { position:relative; }
.img_btn_wrap .img_btn { position:absolute; display:block; }
.img_btn_wrap .img_btn img { width:100%; height:auto; opacity:1;
 transition:0.3s;}
.img_btn_wrap .img_btn img:hover {
    opacity:0.8;
    transition: 0.3s;
}
.img_btn_wrap .img_btn._09 { width:22%; top:45.5%; left:5.5%; }
@media (max-width:767px) {
	.img_btn_wrap .img_btn._09 { width:25%; top:41.5%; left:3.5%; }
}

.map { padding:60px 0; }
.map .hl_map { text-align:center; font-size:1.25em; margin-bottom:40px; position:relative; }
.map .hl_map::before { content:""; display:block; position:absolute; width:100%; height:1px; background:#000; top:50%; left:50%; transform:translate(-50%, -50%); z-index:1; }
.map .hl_map .main { display:inline-block; background:#fff; z-index:2; position:relative; padding:0 20px; margin:0; color:#000;}
.map .map_wrap { max-width:550px; margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px; }
@media (max-width:767px) {
	.map .map_wrap { max-width:100%; padding-left:20px; padding-right:20px; 
    }
}

.foot_access .foot_tax .indent { display:inline-block; text-indent:-1em; padding-left:1em; }
.txt_uriba { max-width:100%; }

#other { background:#f2f1ef; }
#other .pc { padding:2% 7%; }
