@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
html {
  font-size: 62.5%;
  visibility: hidden;
}
html.wf-active *{
  visibility: visible;
}

body {
	width: 100%;
	font-family: "brandon-grotesque", "Quicksand", "Zen Maru Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:#000;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	font-feature-settings: "palt";
	/*text-align: justify;*/
	line-height:1.6;
	text-size-adjust: 100%;
}


*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

a{
	text-decoration: none;
	outline: none;
}

a:hover{
	text-decoration: none;
}

header,main,footer {
	width: 100%;
}

main{
	contain: paint;
}

body.modal-open {
	overflow: hidden;
}

/*400.500.700*/
.f_en {
	font-family: "brandon-grotesque", sans-serif;
}

.anime {
	position: relative;
}

.anime .off,
.anime .on {
	display: block;
}

.anime .on {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
}

.anime .off {
	opacity: 1;
}

.anime.is-on .on {
	opacity: 1;
}

.anime.is-on .off {
	opacity: 0;
}

.anime img {
	display: block;
	width: 100%;
	height: auto;
}

.anime_box {
	position: relative;
}

.anime_box span.text {
	display: inline-block;
	transition-duration: 0.5s;
	transition-property: opacity;
	opacity: 0;
	position: absolute;
}


/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	.sp{
		display: none!important;
	}
	
	a.tel[href^="tel:"] {
       pointer-events: none;
       text-decoration: none;
    }
	
	a.opacity {
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	a.opacity:hover {
		opacity: 0.7;
	}
	
	a.line {
		display: inline-block;
		position: relative;
	}
	
	a.line::after {
		content: "";
		width: 0;
		height: 1px;
		background: #808080;
		display: inline-block;
		position: absolute;
		bottom: -0.5em;
		left: 0;
		transition: width .5s ease;
	}
	
	a.line:hover::after {
		width: calc(100% + 1em);
	}
	
	a span.hover_slide:after {
		transition: margin-left .35s ease;
	}
	
	a:hover span.hover_slide:after {
		margin-left: 1em!important;
	}
	
	a.out_arrow::after {
		transition: right .35s ease;
	}
	
	a.out_arrow:hover::after {
		right: -8%!important;
	}
	
	.anime_box .anime:hover + .text {
        opacity: 1!important;
    }
	
	body {
		padding-top: 164px;
	}
	
	header {
		height: 10.93vw;
		height: 10.93cqw;
		max-height: 164px;
		padding-top: 26px;
		background: rgba(255,255,255,.85);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
	}
	
	header div#h_block {
		width: 94%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	
	header div#h_block h1 {
		width: 25.4%;
		max-width: 266px;
		line-height: 0;
	}
	
	div.reserv {
		width: 12.57%;
		max-width: 168px;
		line-height: 0;
		position: fixed;
		top: 1.25vw;
		top: 1.25cqw;
		right: 1%;
		z-index: 9999;
	}
	
	div.reserv a{
		display: block;
		padding: 5% 0;
	}
	
	div.reserv a > div{
        animation: reservFloat 2.8s ease-in-out infinite;
        will-change: transform;
    }

    @keyframes reservFloat {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-8px);
        }
        100% {
            transform: translateY(0);
        }
    }

    div.reserv a:hover {
        transform: scale(1.05);
    }
	
	header div#h_block nav.slide_nav{
		width: 58.4%;
		max-width: 780px;
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		line-height: 1;
		padding-top: 1em;
		margin-right: 14.7%;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu{
		display: inline-block;
		position: relative;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu.soon{
		text-align: center;
		cursor: pointer;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu.soon.short{
		min-width: 7em;
		text-align: center;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu.soon span.box span{
		width: 150%;
		font-size: 1.0rem;
		font-size: clamp(calc((1.0rem * 0.64)), 0.7vw, 1.0rem);
		line-height: 1;
		text-align: center;
		letter-spacing: 0.10em;
		padding: 0.75em;
		display: inline-block;
		background: #c9caca;
		border-radius: 11px;
		position: absolute;
		top: -0.65em;
		left: -25%;
		opacity: 0;
		transition-duration: 0.5s;
		transition-property: opacity;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu.soon:hover span.box span{
		opacity: 1;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu span.box{
		display: inline-block;
		position: relative;
		z-index: 3;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu a{
		color: #000;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu a,
	header div#h_block nav.slide_nav ul.nav_menu li.icon a{
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu a:hover,
	header div#h_block nav.slide_nav ul.nav_menu li.icon a:hover{
		opacity: 0.5;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.icon{
		width: 3%;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu div.outer {
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.64)), 0.98vw, 1.4rem);
		font-weight: 500;
		line-height: 1;
		padding-top: 3em;
		position: absolute;
		top: 0;
		left: -1em;
		z-index: 1;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(10px);
        transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0.4s;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu:hover div.outer{
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s;
}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu ul.submenu {
		width: 13em;
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.64)), 0.98vw, 1.4rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.16em;
		background: #fff134;
		border-radius: 40px;
		border-radius: 2.8vw;
		border-radius: 2.8cqw;
		padding: 2em 1.75em;
		position: relative;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu ul.submenu::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 10px solid transparent;
		border-left: 10px solid transparent;
		border-bottom: 19px solid #fff134;
		border-top: 0;
		position: absolute;
		top: -18px;
		left: 40px;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu ul.submenu.wide {
		width: 14em;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu ul.submenu li a{
		display: inline-block;
		padding-bottom: 0.1em;
		border-bottom: 1px solid #000;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu ul.submenu li + li{
		margin-top: 1em;
	}
	
	header div.nav_open_btn,
	header div#h_block nav.slide_nav .close_btn{
		display: none;
	}
	
	#page_title {
		height: 32.25vw;
		height: 32.25cqw;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		line-height: 0;
		position: relative;
		margin-bottom: 5.4vw;
	}
	
	#page_title h2{
		font-size: 2.0rem;
		font-size: clamp(calc((2.0rem * 0.64)), 1.4vw, 2.0rem);
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.16em;
		text-align: center;
		display: inline-block;
		padding-bottom: 0.5em;
		position: relative;
		z-index: 3;
	}
	
	#page_title h2 small{
		font-size: 100%;
		display: block;
	}
	
	#page_title div.bg{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	
	section div.section_inner h2,
	h2.news_head{
		font-size: 1.8rem;
		font-size: clamp(calc((1.8rem * 0.64)), 1.26vw, 1.8rem);
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
		letter-spacing: 0.16em;
		margin-bottom: 3em;
	}
	
	section div.section_inner h2 span,
	h2.news_head span{
		display: inline-block;
		padding-bottom: 0.1em;
		border-bottom: 1px solid #000;
	}
	
	footer {
		margin-top: 4vw;
    }
	
	footer div.f_block {
		width: 100%;
		background: #dcdddd;
		padding: 3.33vw 0 0;
		padding: 3.33cqw 0 0;
		margin-bottom: 3.33vw;
		margin-bottom: 3.33cqw;
		position: relative;
	}
	
	footer div.f_block::after {
		content: "";
		width: 100%;
		height: 3.33vw;
		display: block;
		position: absolute;
		bottom: calc(-3.3vw + 2px);
		bottom: calc(-3.3cqw + 2px);
		left: 0;
		z-index: 2;
		background: url("images/common/f_wave_pc.png") repeat-x;
		background-size: contain;
	}
	
	footer div.f_block .f_block_inner {
		width: 77.4%;
		max-width: 1100px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
	}
	
	footer div.f_block .f_block_inner div.l_block{
		width: 40%;
		position: relative;
	}
	
	footer div.f_block .f_block_inner div.l_block div.illust{
		width: 49%;
		line-height: 0;
		position: absolute;
		top: -2em;
		right: -12.4%;
		z-index: 5;
	}
	
	footer div.f_block .f_block_inner div.l_block h2{
		width: 56.1%;
		line-height: 0;
		margin: 0 0 1em 1.68%;
	}
	
	footer div.f_block .f_block_inner div.l_block figure.hours {
		line-height: 0;
	}
	
	footer div.f_block .f_block_inner div.l_block p {
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.64)), 1.12vw, 1.6rem);
		line-height: 1.8;
		font-weight: 500;
	}
	
	footer div.f_block .f_block_inner div.l_block p + p {
		margin-top: 0.25em;
	}
	
	footer div.f_block .f_block_inner div.l_block p.sup{
		margin-top: 1.5em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	footer div.f_block .f_block_inner div.l_block p.sup span {
		height: 1.4em;
		line-height: 1;
		display: inline-block;
		vertical-align: text-top;
	}
	
	footer div.f_block .f_block_inner div.l_block dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.64)), 1.12vw, 1.6rem);
		margin-top: 0.75em;
	}
	
	footer div.f_block .f_block_inner div.l_block dl dt{
		width: 4.5em;
		border: 1px solid #000;
		padding: 0.35em 0 0.25em;
		font-weight: 500;
		text-align: center;
		line-height: 1;
		letter-spacing: 0.1em;
	}
	
	footer div.f_block .f_block_inner div.l_block dl dd{
		width: calc(100% - 5.5em);
		line-height: 1;
	}
	
	footer div.f_block .f_block_inner div.l_block address{
		font-style: normal;
	}
	
	footer div.f_block .f_block_inner div.l_block p.tel {
		font-size: 5.0rem;
		font-size: clamp(calc((5.0rem * 0.64)), 3.52vw, 5.0rem);
		line-height: 1;
		letter-spacing: 0.02em;
		margin: 0.5em 0 0.25em;
	}
	
	footer div.f_block .f_block_inner div.l_block p.tel a{
		color: #000;
	}
	
	footer div.f_block .f_block_inner div.l_block p.tel + p {
		font-size: 2.2rem;
		font-size: clamp(calc((2.2rem * 0.64)), 1.54vw, 2.2rem);
		line-height: 1.4;
		letter-spacing: 0.05em;
		margin-bottom: 1em;
	}
	
	footer div.f_block .f_block_inner div.r_block{
		width: 48%;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		margin-top: 0.5em;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box{
		width: 66%;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p{
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.64)), 0.98vw, 1.4rem);
		font-weight: 400;
		line-height: 1;
		color: #00a0e9;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p:first-of-type{
		color: #e5006e;
		margin-bottom: 0.5em;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p span.arrow{
		width: 3em;
		display: inline-block;
		margin-right: 0.5em;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block a.g_map{
		width: 33%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.64)), 1.12vw, 1.6rem);
		line-height: 1;
		text-align: center;
		color: #000;
		border: 1px solid #000;
		border-radius: 5px;
		background: #FFF;
		overflow: hidden;
	}
	
	footer div.f_block .f_block_inner div.r_block h3 {
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.64)), 1.12vw, 1.6rem);
		line-height: 1.4;
		font-weight: 500;
		margin: 2.5em 0 1em 0.1em;
	}
	
	footer div.f_bottom {
		width: 77.4%;
		max-width: 1100px;
		margin: 0 auto;
		padding: 1vw 4.54% 2vw 8.6%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: flex-end;
	}
	
	footer div.f_bottom p.copy{
		display: inline-block;
		font-size: 1.0rem;
		font-size: clamp(calc((1.0rem * 0.64)), 0.7vw, 1.0rem);
		font-weight: 400;
	}
	
	footer div.f_bottom div.illust{
		width: 24.2%;
		line-height: 0;
		position: relative;
	}
	
	footer div.f_bottom div.illust::before{
		content: "";
		display: inline-block;
		position: absolute;
	}
	
	div#speech_bubble {
		width: 16.2vw;
		width: 16.2cqw;
		max-width: 230px;
		line-height: 0;
		position: fixed;
		right: 2.5%;
		bottom: 2.5vw;
		z-index: 99;
	}
	
	div#speech_bubble div{
		position: relative;
	}
	
	div#speech_bubble div a {
		width: 65%;
		display: block;
		position: absolute;
		top: 36%;
		left: 15.4%;
		z-index: 3;
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	div#speech_bubble div a:hover {
		opacity: 0.7;
	}
	
	main article nav.pager {
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		padding-bottom: 4vw;
	}
	
	main article nav.pager ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 0.66%;
	}
	
	main article nav.pager ul li{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.64)), 1.12vw, 1.6rem);
		font-size: clamp(calc((1.6rem * 0.64)), 1.12cqw, 1.6rem);
		line-height: 1;
		display: inline-block;
		color: #000;
	}
	
	main article nav.pager ul li.pager__item--dots {
		padding: 0 0.5em;
	}
	
	main article nav.pager ul li.pager__item--prev {
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		font-size: clamp(calc((1.5rem * 0.64)), 1.05cqw, 1.5rem);
		padding-right 1em;
	}
	
	main article nav.pager ul li.pager__item--next {
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		font-size: clamp(calc((1.5rem * 0.64)), 1.05cqw, 1.5rem);
		padding-left: 1em;
	}
	
	main article nav.pager ul li span.pager__link,
	main article nav.pager ul li.pager__num a{
		width: 1.86vw;
		width: 1.86cqw;
		max-width: 28px;
		height: 1.86vw;
		height: 1.86cqw;
		max-height: 28px;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		background: #000;
		border-radius: 5px;
	}
	
	main article nav.pager ul li a{
		color: #000;
		background: none;
	}
	
	main article nav.pager ul li.pager__num a{
		color: #000;
		background: none;
	}
}


@media screen and (min-width:961px) and (max-width: 1500px){
	
	body {
		padding-top: 10.93vw;
		padding-top: 10.93cqw;
	}
	
	header {
		padding-top: 1.8vw;
		padding-top: 1.8cqw;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu ul.submenu::before {
		content: "";
		border-style: solid;
		border-right: 0.7vw solid transparent;
		border-right: 0.7cqw solid transparent;
		border-left: 0.7vw solid transparent;
		border-left: 0.7cqw solid transparent;
		border-bottom: 1.33vw solid #fff134;
		border-bottom: 1.33cqw solid #fff134;
		top: -1.26vw;
		top: -1.26cqw;
		left: 2.8vw;
		left: 2.8cqw;
	}
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	/*360-960px（500pxレイアウト remはレイアウト上のフォントサイズ）
	960/500=1.92
	360/500=0.72
	(2.5rem*1.92)/960=3.33vw
	font-size: calc(2.5rem * 0.48);
	font-size: clamp(calc((2.5rem * 0.48)), 3.33vw, calc(2.5rem * 1.28));
	*/
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
   a.tel[href^="tel:"] {
       pointer-events: auto;
       text-decoration: none;
    }
	
	.anime_box.show span.text {
		opacity: 1!important;
	}
	
	body {
		padding-top: 21.8vw;
		padding-top: 21.8cqw;
	}
	
	header {
		height: 21.8vw;
		height: 21.8cqw;
		background: rgba(255,255,255,.85);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
	}
	
	header div#h_block {
		width: 100%;
		height: 100%;
		padding-top: 2.8vw;
		padding-top: 2.8cqw;
		padding-left: 5%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
	}
	
	header div#h_block::after {
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		background: rgba(255,255,255,.85);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 100;
	}
	
	header div#h_block h1 {
		width: 49%;
		line-height: 0;
		position: relative;
		z-index: 99999;
	}
	
	div.reserv {
		width: 25.8vw;
		width: 25.8cqw;
		line-height: 0;
		position: fixed;
		top: 18vw;
		top: 18cqw;
		right: 1vw;
		right: 1cqw;
		z-index: 9996;
		transition: opacity .35s ease, visibility .35s ease;
		opacity: 1;
		visibility: visible;
	}
	
	body.nav_open div.reserv{
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	
	div.reserv a{
		display: block;
		padding: 5% 0;
	}
	
	div.reserv a > div{
        animation: reservFloat 2.8s ease-in-out infinite;
        will-change: transform;
    }

    @keyframes reservFloat {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-8px);
        }
        100% {
            transform: translateY(0);
        }
    }

    header div#h_block div.reserv a:hover {
        transform: scale(1.05);
    }
	
	header div.nav_open_btn {
		width: 9.5vw;
		width: 9.5cqw;
		padding-top: 2.5vw;
		padding-top: 2.5cqw;
		position: absolute;
		top: 5vw;
		top: 5cqw;
		right: 5%;
		z-index: 9999;
		background: url("images/common/nav_menu.svg") no-repeat;
		background-size: contain;
		background-position: top center;
		cursor: pointer;
	}
	
	header div.nav_open_btn.active {
		background: url("images/common/nav_close.svg") no-repeat;
		background-size: contain;
		background-position: top center;
	}
	
	
	header div.nav_open_btn div.hamburger {
		width: 77.8%;
		height: 7.4vw;
		height: 7.4cqw;
		margin: 0 auto;
		position: relative;
	}
	
	header div.nav_open_btn div.hamburger span{
		width: 100%;
		height: 0.6vw;
		height: 0.6cqw;
		background: #000;
		display: inline-block;
		position: absolute;
		left: 0;
		transition: 0.3s ease-in-out;
	}
	
	header div.nav_open_btn div.hamburger span:first-of-type{
		top: 21.6%;
	}
	
	header div.nav_open_btn div.hamburger span:nth-child(2){
		top: calc(50% - 0.3vw);
		top: calc(50% - 0.3cqw);
	}
	
	header div.nav_open_btn div.hamburger span:last-of-type{
		bottom: 21.6%;
	}
	
	header div.nav_open_btn.active div.hamburger span:first-of-type {
		transform:rotate(45deg);
		top: calc(50% - 0.3vw);
		top: calc(50% - 0.3cqw);
	}
	header div.nav_open_btn.active div.hamburger span:last-of-type {
		transform:rotate(-45deg);
		bottom: calc(50% - 0.3vw);
		bottom: calc(50% - 0.3cqw);
	}
	header div.nav_open_btn.active div.hamburger span:nth-child(2) {
		 display: none;
	}
	
	
	#page_title {
		height: 91.5vw;
		height: 91.5cqw;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		line-height: 0;
		position: relative;
		margin-bottom: 13vw;
	}
	
	#page_title h2{
		font-size: calc(2.0rem * 0.72);
		font-size: clamp(calc((2.0rem * 0.72)), 4vw, calc(2.0rem * 1.92));
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.16em;
		text-align: center;
		display: inline-block;
		padding-bottom: 1em;
		position: relative;
		z-index: 3;
	}
	
	#page_title h2 small{
		font-size: 100%;
		display: block;
	}
	
	#page_title div.bg{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	
	section div.section_inner h2,
	h2.news_head{
		font-size: calc(1.8rem * 0.72);
		font-size: clamp(calc((1.8rem * 0.72)), 3.6vw, calc(1.8rem * 1.92));
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
		letter-spacing: 0.16em;
		margin-bottom: 2em;
	}
	
	section div.section_inner h2 span,
	h2.news_head span{
		display: inline-block;
		padding-bottom: 0.1em;
		border-bottom: 1px solid #000;
	}
		
	
	footer {
		margin-top: 16vw;
    }
	
	footer div.f_block {
		width: 100%;
		background: #dcdddd;
		padding: 12vw 0 8vw;
		padding: 12cqw 0 8cqw;
		margin-bottom: 8vw;
		margin-bottom: 8cqw;
		position: relative;
	}
	
	footer div.f_block::after {
		content: "";
		width: 100%;
		height: 8vw;
		display: block;
		position: absolute;
		bottom: calc(-8vw + 2px);
		bottom: calc(-8cqw + 2px);
		left: 0;
		z-index: 2;
		background: url("images/common/f_wave_sp.png") repeat-x;
		background-size: contain;
	}
	
	footer div.f_block .f_block_inner {
		width: 88%;
		margin: 0 auto;
		font-size: calc(1.5rem * 0.72);
		font-size: clamp(calc((1.5rem * 0.72)), 3vw, calc(1.5rem * 1.92));
	}
	
	footer div.f_block .f_block_inner div.l_block{
		width: 100%;
		position: relative;
	}
	
	footer div.f_block .f_block_inner div.l_block div.illust{
		width: 40%;
		line-height: 0;
		position: absolute;
		top: -1.25em;
		right: 4%;
		z-index: 5;
	}
	
	footer div.f_block .f_block_inner div.l_block h2{
		width: 46.2%;
		line-height: 0;
		margin: 0 0 2em 1.68%;
	}
	
	footer div.f_block .f_block_inner div.l_block figure.hours {
		line-height: 0;
	}
	
	footer div.f_block .f_block_inner div.l_block p {
		width: 97%;
		margin: 0 auto;
		font-size: calc(1.5rem * 0.72);
		font-size: clamp(calc((1.5rem * 0.72)), 3vw, calc(1.5rem * 1.92));
		line-height: 1.4;
		font-weight: 500;
	}
	
	footer div.f_block .f_block_inner div.l_block p + p {
		margin-top: 0.25em;
	}
	
	footer div.f_block .f_block_inner div.l_block p.sup{
		margin-top: 2em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	footer div.f_block .f_block_inner div.l_block p.sup span {
		height: 1.4em;
		line-height: 1;
		display: inline-block;
		vertical-align: text-top;
	}
	
	footer div.f_block .f_block_inner div.l_block dl {
		width: 97%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		font-size: calc(1.5rem * 0.72);
		font-size: clamp(calc((1.5rem * 0.72)), 3vw, calc(1.5rem * 1.92));
		margin: 0.75em auto 0;
	}
	
	footer div.f_block .f_block_inner div.l_block dl dt{
		width: 4.5em;
		border: 1px solid #000;
		padding: 0.35em 0 0.25em;
		font-weight: 500;
		text-align: center;
		line-height: 1;
		letter-spacing: 0.1em;
	}
	
	footer div.f_block .f_block_inner div.l_block dl dd{
		width: calc(100% - 5.5em);
		line-height: 1;
	}
	
	footer div.f_block .f_block_inner div.l_block address{
		font-style: normal;
	}
	
	footer div.f_block .f_block_inner div.l_block p.tel {
		font-size: calc(4.6rem * 0.72);
		font-size: clamp(calc((4.6rem * 0.72)), 9.2vw, calc(4.6rem * 1.92));
		line-height: 1;
		letter-spacing: 0.05em;
		margin: 0.25em auto 0.5em;
	}
	
	footer div.f_block .f_block_inner div.l_block p.tel a{
		color: #000;
	}
	
	footer div.f_block .f_block_inner div.l_block p.tel + p {
		font-size: calc(2.0rem * 0.72);
		font-size: clamp(calc((2.0rem * 0.72)), 4vw, calc(2.0rem * 1.92));
		line-height: 1.4;
		letter-spacing: 0.05em;
		margin-bottom: 0.75em;
	}
	
	footer div.f_block .f_block_inner div.r_block{
		margin-top: 6vw;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: calc(1.5rem * 0.72);
		font-size: clamp(calc((1.5rem * 0.72)), 3vw, calc(1.5rem * 1.92));
		margin-top: 0.5em;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box{
		width: 64%;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p{
		font-size: calc(1.1rem * 0.72);
		font-size: clamp(calc((1.1rem * 0.72)), 2.2vw, calc(1.1rem * 1.92));
		font-weight: 400;
		line-height: 1;
		color: #00a0e9;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p:first-of-type{
		color: #e5006e;
		margin-bottom: 0.5em;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p span.arrow{
		width: 3em;
		display: inline-block;
		margin-right: 0.5em;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block a.g_map{
		width: 33%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		font-size: calc(1.3rem * 0.72);
		font-size: clamp(calc((1.3rem * 0.72)), 2.6vw, calc(1.3rem * 1.92));
		line-height: 1;
		text-align: center;
		color: #000;
		border: 1px solid #000;
		border-radius: 5px;
		background: #FFF;
		overflow: hidden;
	}
	
	footer div.f_block .f_block_inner div.r_block h3 {
		font-size: calc(1.5rem * 0.72);
		font-size: clamp(calc((1.5rem * 0.72)), 3vw, calc(1.5rem * 1.92));
		line-height: 1.4;
		font-weight: 500;
		margin: 2em 0 1em 0.1em;
	}
	
	footer div.f_bottom {
		width: 88%;
		margin: 0 auto;
		padding: 4vw 0 7vw;
	}
	
	footer div.f_bottom p.copy{
		font-size: calc(1.0rem * 0.72);
		font-size: clamp(calc((1.0rem * 0.72)), 2vw, calc(1.0rem * 1.92));
		font-weight: 400;
		text-align: center;
		margin-top: 2em;
	}
	
	footer div.f_bottom div.illust{
		width: 39%;
		line-height: 0;
		position: relative;
		margin-left: 60%;
	}
	
	footer div.f_bottom div.illust::before{
		content: "";
		display: inline-block;
		position: absolute;
	}
	
	div#speech_bubble {
		width: 36.8%;
		line-height: 0;
		position: fixed;
		right: 7%;
		bottom: 5vw;
		z-index: 99;
	}
	
	div#speech_bubble div{
		position: relative;
	}
	
	div#speech_bubble div a {
		width: 65%;
		display: block;
		position: absolute;
		top: 36%;
		left: 15.4%;
		z-index: 3;
	}


    /*ハンバーガーナビ*/
    body #modal {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -888;
        background: rgba(0,0,0,0.7);
        opacity: 0;
        transition-duration: 0.5s;
        transition-property: opacity, color;
        visibility: hidden; 
    }

    body.nav_open #modal {
        z-index: 999;
        opacity: 1;
        visibility: visible;
    }

    body.nav_open {
        overflow: hidden;
    }
	
	body nav.slide_nav {
        width: 100%;
        height: 100%;
        position: fixed;
        z-index : 9997;
        top: 0;
        right: 0;
        transform: translateX(110%);
        transition-property: transform;
        transition-duration: 0.6s;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        background: #FFF;
		padding: 29vw 0 12vw;
    }
	
	body nav.slide_nav a{
        color: #000;
    }
	
	body nav.slide_nav div.nav_menu_sp {
		width: 90.4%;
		padding: 5vw 0;
		padding: 5cqw 0;
		margin-left: 6.2%;
		position: relative;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content{
		position: relative;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.soon{
		cursor: pointer;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.soon span.soon_box{
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 5;
		opacity: 0;
		transition-duration: 0.5s;
		transition-property: opacity;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.soon:hover span.soon_box{
		opacity: 1;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block{
		width: 100%;
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 5;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box{
		display: inline-block;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box h3{
		font-size: calc(1.8rem * 0.72);
		font-size: clamp(calc((1.8rem * 0.72)), 3.6vw, calc(1.8rem * 1.92));
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box h3.left{
		text-align: left;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav04 h3,
	body nav.slide_nav div.nav_menu_sp div.content.nav05 h3,
	body nav.slide_nav div.nav_menu_sp div.content.nav06 h3{
		letter-spacing: 0.08em!important;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box a{
		color: #000;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box ul a{
		display: inline-block;
		padding-right: 1.25em;
		position: relative;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box ul a::after{
		content: "→";
		position: absolute;
		top: calc(50% - 0.55em);
		right: 0;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box ul{
		width: 10em;
		font-size: calc(1.5rem * 0.72);
		font-size: clamp(calc((1.5rem * 0.72)), 3.0vw, calc(1.5rem * 1.92));
		font-weight: 400;
		letter-spacing: 0;
		line-height: 1.35;
		list-style: none;
		margin-top: 1.25em;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box ul.wide{
		width: 10.5em;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content div.block div.box ul li + li{
		margin-top: 1em;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content span.bg{
		display: block;
		position: relative;
		z-index: 0;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav01{
		width: 45.5%;
		line-height: 0;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav01 span.illust01{
		display: inline-block;
		line-height: 0;
		width: 30.8%;
		position: absolute;
		bottom: -20%;
		right: 4.4%;
		z-index: 9;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav02{
		width: 50.4%;
		line-height: 0;
		margin-top: -34.4vw;
		margin-top: -34.4cqw;
		margin-left: 49.3%;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav02 span.illust01{
		display: inline-block;
		width: 30.86%;
		position: absolute;
		top: -6.2%;
		right: 6.6%;
		z-index: 9;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav02 span.illust02{
		display: inline-block;
		width: 32.5%;
		position: absolute;
		top: 51.4%;
		right: -1%;
		z-index: 9;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav03{
		width: 43.5%;
		line-height: 0;
		margin-top: -1vw;
		margin-top: -1cqw;
		margin-left: 2.6%;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav03 span.illust01{
		display: inline-block;
		width: 46%;
		position: absolute;
		top: -40%;
		left: -6.6%;
		z-index: 9;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav04{
		width: 38%;
		line-height: 0;
		margin-top: -9.2vw;
		margin-top: -9.2cqw;
		margin-left: 54.8%;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav04 span.illust01{
		display: inline-block;
		width: 44%;
		position: absolute;
		top: -33%;
		left: 4%;
		z-index: 9;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav04 span.illust02{
		display: inline-block;
		width: 35%;
		position: absolute;
		bottom: -14.7%;
		right: -2%;
		z-index: 9;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav05{
		width: 39.1%;
		line-height: 0;
		margin-top: -3.4vw;
		margin-top: -3.4cqw;
		margin-left: 3.1%;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav05 span.illust01{
		display: inline-block;
		width: 31.2%;
		position: absolute;
		top: 0%;
		right: -3%;
		z-index: 9;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav05 span.illust02{
		display: inline-block;
		width: 37.5%;
		position: absolute;
		bottom: 6.25%;
		left: -5.6%;
		z-index: 9;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav06{
		width: 42.8%;
		line-height: 0;
		margin-top: -21.4vw;
		margin-top: -21.4cqw;
		margin-left: 53.1%;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav06 span.illust01{
		display: inline-block;
		width: 18.1%;
		position: absolute;
		bottom: -12%;
		left: -7.7%;
		z-index: 9;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav06 span.illust02{
		display: inline-block;
		width: 6.2%;
		position: absolute;
		top: 19%;
		right: 14%;
		z-index: 9;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav06 h3{
		margin-top: 0.5em;
	}
	
	body nav.slide_nav div.nav_menu_sp div.content.nav07{
		width: 43.3%;
		line-height: 0;
		margin-top: 7vw;
		margin-top: 7qw;
		margin-left: 42%;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav07 span.illust01{
		display: inline-block;
		width: 29%;
		position: absolute;
		top: -11%;
		left: 9.7%;
		z-index: 9;
	}
	body nav.slide_nav div.nav_menu_sp div.content.nav07 span.illust02{
		display: inline-block;
		width: 54%;
		position: absolute;
		bottom: -11%;
		right: -2%;
		z-index: 9;
	}
	
	body nav.slide_nav div.nav_menu_sp span.illust1{
		display: inline-block;
		line-height: 0;
		width: 23.5%;
		position: absolute;
		top: 0;
		right: 28.2%;
		z-index: 9;
	}
	body nav.slide_nav div.nav_menu_sp span.illust2{
		display: inline-block;
		line-height: 0;
		width: 21.7%;
		position: absolute;
		bottom: 0.4vw;
		left: 9.5%;
		z-index: 9;
	}
	
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu.soon.short span.box span{
		width: 140%;
		left: -20%;
	}
	
	/* hover + タップ時 */
    header div#h_block nav.slide_nav ul.nav_menu li.menu.soon:hover span.box span,
    header div#h_block nav.slide_nav ul.nav_menu li.menu.soon.is-active span.box span{
      opacity: 1;
    }
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu a{
		display: inline-block;
		color: #000;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.icon{
		width: 5.2vw;
		width: 5.2cqw;
		margin: 11vw auto 0;
	}

    nav.slide_nav.active {
        transform: translateY(0%);
    }
	
	main article nav.pager {
		margin: 8.4vw 0;
	}
	
	main article nav.pager ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 0.66%;
	}
	
	main article nav.pager ul li{
		font-size: calc(1.8rem * 0.72);
		font-size: clamp(calc((1.8rem * 0.72)), 3.6vw, calc(1.8rem * 1.92));
		line-height: 1;
		display: inline-block;
		color: #000;
	}
	
	main article nav.pager ul li.pager__item--dots {
		padding: 0 0.5em;
	}
	
	main article nav.pager ul li.pager__item--prev,
	main article nav.pager ul li.pager__item--next{
		display: none;
	}
	
	main article nav.pager ul li span.pager__link,
	main article nav.pager ul li.pager__num a{
		width: 5.72vw;
		width: 5.72cqw;
		height: 5.72vw;
		height: 5.72cqw;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		background: #000;
		border-radius: 5px;
	}
	
	main article nav.pager ul li a{
		color: #000;
		background: none;
	}
	
	main article nav.pager ul li.pager__num a{
		color: #000;
		background: none;
	}	
	
	
}