html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	color:#555;
  	font-family: "M PLUS Rounded 1c", sans-serif;
  	font-weight: 300;
	font-style: normal;	
}

/*							*/
/*			header 			*/
/*							*/

header {
	position: fixed !important;
    transition: top 0.5s;
}

.navbar_toggle {
    top: 0;
    transform: translate(0, 0);
    right: 0;
    height: 66px;
    width: 66px;
    background-color:rgb(255,64,73);
}

.navbar_toggle_icon {
    width: 30px;
	margin-top:18px;
    margin-left: 18px;
	margin-bottom:10px;
    background: white;
}
.navbar_toggle_icon:nth-child(2) {
    margin-left:18px;
	margin-top:12px;
}
.navbar_toggle_icon:nth-child(3) {
	margin-top:12px;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
    top: 14px;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
    top: -14px;
}

nav a{
	font-weight: 600;
}

.headCopy{
	display:none;
	font-size:0.8em;
}

.navbar_brand{
	height:54px;
}

.navbar_menu > ul > li {
	padding:0;
}
.navbar_menu > ul > li a{
	display:block;
	padding: 0.75em 2em;
	width:100%;
	height:100%;
}

@media screen and (min-width: 568px) {
	nav a{
		font-size:16px;
	}
	
	nav a.reserve{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top:0;
		right:0;
		width:66px;
		height: 66px;
		background:rgb(238,0,11);
		color:white;
		text-decoration: none;
		z-index:9999;
	}
	
	nav a.reserve:hover{
		opacity:0.5;
		transition: ease .3s;
	}
		
	.navbar_brand{
		left: 0;
		transform:  translate(0%, -50%)
	}
	.navbar_menu > ul {
        justify-content:flex-end;
		margin-right:80px;
    }

	.navbar_menu > ul > li {
		border-right: none;
		padding: 0 0.75em;
	}
	.navbar_menu > ul > li a{
		display:inline;
		padding:0;
	}
}
@media screen and (min-width: 768px) {
	.headCopy{
		position:absolute;
		display:inline;
		margin-left:120px;
		top:2em;
		z-index:9999;
	}
	.navbar_menu > ul > li {
		border-right: none;
		padding: 0 1em;
	}	
}

@media screen and (min-width: 1024px) {
	nav a{
		font-size:18px;
	}
}


@media screen and (min-width: 1320px) {
	header nav{
		max-width:1230px;
	}
}
/*							*/
/*			main 			*/
/*							*/
html{
	background-color:#E8F6EF;
}
main {
	background-color:white;
}

.breadcrumb {
	position:relative;
	z-index:1;
}


main .lead {	
	text-align:center;
	position: relative;
	z-index:100;
	margin-bottom:2em;	
}
main .lead p{
	font-size:1.8em;
	line-height:1.8em;
	text-align:center;
	color:#666;
	position: relative;
	font-family: "Poppins";
	font-weight: 600;
	margin-bottom:0;
}
main .lead p b{
	font-family: "Poppins";
	color:rgb(255,64,73);
}

main .lead h2,
main .lead h3{
	font-size:1.2em;
	line-height: 1.5em;
	text-align:center;
}

@media screen and (min-width: 568px) {
	main .lead {
		font-size:1.2em;
	}
}
@media screen and (min-width: 768px) {
	main .lead {
		font-size:1.3em;
	}
}
@media screen and (min-width: 1024px) {
	main .lead {
		font-size:1.4em;
	}
}

@media screen and (min-width: 1320px) {
	main .lead {
		font-size:1.5em;
	}
}


h3,
h3 span{
	font-weight: 600;
}


main b{
	color:rgb(255,64,73);
}

@media screen and (min-width: 568px){
	main{
		padding-top:77px;
	}
}
@media screen and (min-width: 1320px){
	.contents {
		max-width: 1230px;
	}
}

/*							*/
/*		bottom logo 		*/
/*							*/
.bottom_logo{
	width:100%;
	text-align: center;
	margin:3em auto;
}

.bottom_logo.hidden{
	display:none;
}

.bottom_logo img{
	width:200px;
	height: auto;	
}

@media screen and (min-width: 568px) {
	.bottom_logo{
		margin:5em auto;	
	}
}
@media screen and (min-width: 768px) {
	.bottom_logo{
		margin:6em auto;	
	}
}
@media screen and (min-width: 1024px) {
	.bottom_logo{
		margin:7em auto;	
	}
}
@media screen and (min-width: 1320px) {
	.bottom_logo{
		margin:8em auto;	
	}
}

/*							*/
/*			map 			*/
/*							*/

#map{
	position: relative;
	opacity:0;
}



/*							*/
/*			reserve 		*/
/*							*/
.reserve-section{
	padding:2.5em 0 11em 0;
	position: relative;
    overflow: visible;
	z-index:888;
}

.reserve-section .reserve-contents{
	position: relative;
	margin-bottom:1.25em;
}

.reserve-section h3{
	font-size:1.5em;
	line-height:1.5em;
	
	text-align:center;
	margin:0 0 1em 0;
}
.reserve-section p{
	margin:0.15em 0 0 0;
	line-height: 1.6em;
}
.reserve-section a.tel{
	display:block;
	text-align:right;
	font-family: "Poppins";
	font-weight: 600;
	text-decoration: none;
	font-size:2.4em;
	line-height:0.7em;
	margin:0.5em 0 0 0;
}

.reserve-section a.tel small.tel{
	display:inline-block;
	font-size:0.4em;	
	margin-right:0.5em;
    transform: translateY(-3px);
}

.reserve-section a.tel small.rule{
	font-size:0.35em;
	display:inline-block;	
    border: 0.5px solid black;
    padding: 0 4px 1px 4px;
	line-heght:0;
}

.reserve-section a.reserve-bt{
	display:flex;
    align-items: center;
    justify-content: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-size:1.3em;
	width:100%;
	margin-top:2.5em;
	border-radius:.3rem;
	background:rgb(255,64,73);
	padding:0.25em 0;
}

.reserve-section a.reserve-bt span{
	color:white;
    border: 0.5px solid white;
	font-size:0.7em;
    padding: 2px 4px 3px 4px; /* 内側の余白 */
	margin:0 5px 0 5px;
	line-height:1.2em;
    display: inline-block; /* 適切なサイズでBOXを表示 */
    vertical-align: middle; /* 親要素に対して垂直方向の中央に配置 */
}

.reserve-section .background-section{
	position:absolute;
	width:100%;
	height:100%;
	background:#FFD9DB;
	top:0;
	z-index:-2;
}

.reserve-section i.reserve{
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('../img/24.svg');
    background-size: cover;
    background-position: center;
    width: 1.5em;
    height: 1.5em;
	margin-right:0.25em;
}

.reserve-section .reserve-info{
	position: relative;
}
.reserve-section .reserve-info p{
	position: absolute;
	margin-top:-1.75em;
	margin-bottom:0;
}


@media screen and (min-width: 568px) {
	.reserve-section a.tel{
		display:flex;
		justify-content:flex-end;
		margin-bottom:1em;
	}
	.reserve-section a.tel small.tel{
		transform: translateY(3px);
	}
	.reserve-section a.tel small.rule{
		margin-left:0.75em;
	}
	.reserve-section a.reserve-bt{
		position: relative;
		margin-top:3em;		
		margin-left:37.5%;
		width:62.5%;
	}	
}
@media screen and (min-width: 768px) {
	.reserve-section .contents{
		max-width:720px;
	}
	.reserve-section h3{
		text-align:left;
		margin-bottom:0.5em;
	}
	.reserve-section p{
		font-size:1.1em;
	}
	
	.reserve-section a.tel{
		justify-content: space-between;
		font-size:2.1em;
		margin:0.2em 0 1.38em 0;
	}
	.reserve-section a.reserve-bt{
		margin-top:1.35em;		
		margin-left:0%;
		width:100%;
	}
	.reserve-section .reserve-info p{
		position: relative;
		
		top:0;
	}
}
@media screen and (min-width: 1024px) {
	.reserve-section .reserve-contents h3{
		font-size:1.5em;
	}
}

/*							*/
/*			footer 			*/
/*							*/
footer{
	margin-top:-11em;
	padding:2.5em 0 3em 0;
	position: relative;
    overflow: hidden; /* overflowをhiddenに設定して、背景がはみ出さないようにする */	
	z-index:999;
}
foooter .footer-contents{
	opacity:0;
}

footer .background-section{
	position:absolute;
	width:100%;
	height:100%;
	background-color:#E8F6EF;
	top:0;
	z-index:-1;	
}

footer .lead{
	font-weight: 400;	
	font-size:2.5em;
	text-align:center;
}

footer .groupLink {
	width:calc(100% - 4em);
	margin-left:2em;
	margin-bottom:2em;
}

footer .groupLink a{
	margin-bottom:2em;
	display: block;
}

footer .groupLink a:hover{
	opacity:0.5 !important;
	transition: ease .5s !important;
}

footer .groupLink img{
	border:1px solid #545555;
	margin-bottom:0.5em;
	border-radius: .3rem;
}

footer .groupLink span{
    display: inline-block;
    position: relative;
    padding-right:1.5em; /* 背景のアイコン分の余白を確保 */
}

footer .groupLink span::after{
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("../img/icon_ExLink.svg") no-repeat;
    background-size: contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
footer .menu{
	margin-bottom:1.5em;
}
footer .menu a{
	font-weight: 600;
	font-size:1.1em;
	margin-right:0.75em;
	line-height:2em;
}

footer .info{
	position:relative;
	margin-bottom:1em;
}

footer .info .address{
	position:relative;
}

footer .info .sns{
	position: absolute;
	bottom:0;
	right:0;
	display: flex;
	gap:1em;
}
footer .sns a{
	display: block;
	width:3em;
}

@media screen and (min-width: 568px) {
	footer .groupLink{
		width:100%;
		margin-left:0;
		margin-bottom:3em;
		display:flex;
		gap:1em;
	}
	footer .groupLink a{
		flex:1;
		margin-bottom:0;
	}
	footer .info{
		margin-bottom:1.5em;
	}
	footer .sns a{
		width:2em;
	}	
}

@media screen and (min-width: 768px) {
	footer{
		padding-top:3em;
	}
	footer .groupLink{
		gap:1.5em;
	}
	footer .menu a{
		margin-right:1.25em;
	}
	
	footer .info{
		margin-bottom:2em;
	}
	footer .info .sns{
		bottom:-1.5em;
	}
	footer .sns a{
		width:3em;
	}	
}

@media screen and (min-width: 1024px) {
	footer{
		padding-top:4em;
	}
	footer .contents{
		max-width:980px;
	}
	footer .groupLink{
		gap:2em;
	}
	footer .groupLink img{
		margin-bottom:0.75em;
	}
}
