@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;
}


/*--------------------------------------------------------
　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;
	}
	
	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: 90%;
		/*max-width: 1110px;*/
		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;
	}
	
	header div#h_block div.reserv {
		width: 5.18%;
		max-width: 57px;
		height: 4.4vw;
		height: 4.4cqw;
		max-height: 57px;
		background: #fff134;
		border-radius: 100%;
		position: absolute;
		top: calc(50% - 28.5px);
		right: 0;
		z-index: 5;
	}
	
	header div#h_block div.reserv:hover {
		transform: scale(1.1);
	}
	
	header div#h_block div.reserv a{
		width: 100%;
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		font-family: "Zen Maru Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.64)), 0.98vw, 1.4rem);
		line-height: 1.14;
		text-align: center;
		color: #000;
	}
	
	header div#h_block nav.slide_nav{
		width: 66%;
		max-width: 837px;
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		line-height: 1;
		padding-top: 1em;
		margin-right: 6.6%;
	}
	
	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;
		cursor: pointer;
	}
	
	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: 100%;
		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: 0;
		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 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.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{
		display: block;
	}
	
	#page_title div.bg{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	
	section div.section_inner h2{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.64)), 1.12vw, 1.6rem);
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
		letter-spacing: 0.16em;
		margin-bottom: 3em;
	}
	
	section div.section_inner h2 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.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		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 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		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: 1.5em 0 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: 2.0rem;
		font-size: clamp(calc((2.0rem * 0.64)), 1.4vw, 2.0rem);
		line-height: 1.4;
		letter-spacing: 0.05em;
		margin-bottom: 0.15em;
	}
	
	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: 60%;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p{
		font-size: 1.2rem;
		font-size: clamp(calc((1.2rem * 0.64)), 0.84vw, 1.2rem);
		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.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1.05vw, 1.5rem);
		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(0.64rem, 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;
	}
}


@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 div.reserv {
		top: calc(50% - 2vw);
		top: calc(50% - 2cqw);
	}
}
	

/*--------------------------------------------------------
　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;
    }
	
	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: top;
		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: 9998;
	}
	
	header div#h_block h1 {
		width: 49%;
		line-height: 0;
		position: relative;
		z-index: 99999;
	}
	
	header div#h_block div.reserv {
		width: 12vw;
		width: 12cqw;
		height: 12vw;
		height: 12cqw;
		background: #fff134;
		border-radius: 100%;
		position: absolute;
		top: calc(50% - 7vw);
		top: calc(50% - 7cqw);
		right: 16vw;
		right: 16cqw;
		z-index: 99999;
	}
	
	header div#h_block div.reserv a{
		width: 100%;
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		font-family: "Zen Maru Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: calc(1.48rem * 0.72);
		font-size: clamp(calc((1.48rem * 0.72)), 2.96vw, calc(1.48rem * 1.92));
		line-height: 1.14;
		text-align: center;
		color: #000;
	}
	
	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{
		display: block;
	}
	
	#page_title div.bg{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	
	section div.section_inner h2{
		font-size: calc(1.6rem * 0.72);
		font-size: clamp(calc((1.6rem * 0.72)), 3.2vw, calc(1.6rem * 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{
		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: 60%;
	}
	
	footer div.f_block .f_block_inner div.r_block div.block div.box p{
		font-size: calc(1.0rem * 0.72);
		font-size: clamp(calc((1.0rem * 0.72)), 2vw, calc(1.0rem * 1.92));
		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.3rem * 0.72);
		font-size: clamp(calc((1.3rem * 0.72)), 2.6vw, calc(1.3rem * 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 ul.nav_menu {
        width: 74%;
		margin: 0 auto;
    }

	body nav.slide_nav ul.nav_menu li.menu {
		display: block;
		font-size: calc(1.6rem * 0.72);
		font-size: clamp(calc((1.6rem * 0.72)), 3.2vw, calc(1.6rem * 1.92));
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
    }
	
	body nav.slide_nav ul.nav_menu li.menu + li.menu {
		margin-top: 3em;
    }
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu span.box{
		display: inline-block;
		padding-bottom: 0.15em;
		border-bottom: 1px solid #000;
		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: 8em;
		text-align: center;
	}
	
	header div#h_block nav.slide_nav ul.nav_menu li.menu.soon span.box span{
		width: 110%;
		font-size: calc(1.0rem * 0.72);
		font-size: clamp(calc((1.0rem * 0.72)), 2vw, calc(1.0rem * 1.92));
		line-height: 1;
		text-align: center;
		letter-spacing: 0.10em;
		padding: 1.25em;
		display: inline-block;
		background: #c9caca;
		border-radius: 2.6vw;
		position: absolute;
		top: -0.65em;
		left: -5%;
		opacity: 0;
		transition-duration: 0.5s;
		transition-property: opacity;
	}
	
	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%);
    }
	
	
}