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

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

body {
	width: 100%;
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:#000;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	font-feature-settings: "palt";
	text-align: justify;
	background:#FFF;
	line-height:1.6;
	text-size-adjust: 100%;
	/*-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;*/
}


*{-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;
}

f_en {
	font-family: "acumin-variable";
}

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

header {
	background: #FFF;
	position: relative;
	z-index: 1;
}

footer {
	background: #FFF;
}

footer a{
	color: #FFF;
}

main{
	
}

article {
	contain: paint;
}

/*マスク*/
.clip-defs{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}

#page_title{
	position: relative;
	z-index: 10;
	background: #000;
	color: #FFF;
}

#page_title .title_block{
	overflow: hidden;
	position: relative;
	line-height: 0;
}

#page_title .title_block div.block{
	width: 100%;
	height: 100%;
}

#page_title .title_block picture{
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
}

#page_title .title_block picture img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section#page_title .title_block .block h2{
	font-family: "acumin-variable", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-variation-settings: 'wght' 100, 'wdth' 115, 'slnt' -12;
	line-height: 1;
	position: absolute;
	z-index: 5;
}

section#page_title .title_block .block h2 small{
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-variation-settings: 'wght' 500;
	letter-spacing: 0.12em;
	margin-top: 1em;
    display: block;
}

/*--------------------------------------------------------
　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.hover_red,
	a.hover_black{
		position: relative;
		overflow: hidden;
		z-index: 1;
	}
	
	a.hover_red::before,
	a.hover_black::before{
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -3;
	}
	
	a.hover_red::before {
		background: #000;
	}
	
	a.hover_red.white::before {
		background: #FFF;
	}
	
	a.hover_black::before {
		background: #ff0000;
	}
	
	a.hover_black.yellow::before {
		background: #d9c300;
	}
	
	a.hover_red::after,
	a.hover_black::after{
		content: "";
		width: 0;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		transition: width .35s ease;
	}
	
	a.hover_red::after {
		background: #ff0000;
	}
	
	a.hover_black::after {
		background: #000;
	}
	
	a.hover_red:hover::after,
	a.hover_black:hover::after{
		width: 100%;
	}
	
	body nav.slide_nav div.close_btn {
        width: 5vw;
        width: 5cqw;
        max-width: 60px;
        height: 5vw;
        height: 5cqw;
        max-height: 60px;
        position: absolute;
        top: 25px;
        right: 7.5%;
        cursor: pointer;
    }

	
	header {
		width: 100%;
		height: 10.5vw;
		height: 10.5cqw;
		background: #000;
		padding-top: 2.48vw;
		padding-top: 2.48cqw;
	}
	
	header div.h_block {
		width: 94%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
	}
	
	header div.h_block h1{
		width: 11.5vw;
		width: 11.5cqw;
		position: absolute;
		line-height: 0;
		top: 2.44vw;
		top: 2.44cqw;
		left: 44.5%;
	}
	
	header div.h_block h1 a{
		display: block;
	}
	
	header div.h_block h1 a:hover{
		opacity: .7;
	}
	
	header div.h_block h1 span{
		display: inline-block;
		margin-left: 2em;
	}
	
	header div.h_block div.nav_block{
		width: 18%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	header div.h_block div.nav_block a {
        width: 63%;
		height: 3vw;
		height: 3cqw;
		display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        border-radius: 21px;
        font-size: 1.4rem;
        font-size: clamp(0.94rem, 0.979vw, 1.4rem);
        font-weight: 700;
        line-height: 1;
        color: #000;
		transition-duration: 0.5s;
		transition-property: color;
    }
	
	header div.h_block div.nav_block a:hover {
        color: #FFF;
    }
	
	header div.h_block  div.nav_block  div.menu{
		width: 19%;
		line-height: 0;
		cursor: pointer;
	}

	div.fixed_banner {
		line-height: 0;
		width: 5.76vw;
		width: 5.76cqw;
		max-width: 98px;
		position: absolute;
		right: 0;
		top: 15.7vw;
		top: 15.7cqw;
		z-index: 20;
		background: #FFF;
	}
	
    div.fixed_banner.is-fixed {
      position: fixed;
    }
	
	div.fixed_banner a {
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	div.fixed_banner a:hover {
		opacity: 0.7;
	}
	
	section#page_title {
		margin: -2vw 0 0;
		margin: -2cqw 0 0;
		padding-bottom: 4.5vw;
		margin-bottom: 7vw;
    }
	
	section#page_title div.title_block {
        width:100%;
        aspect-ratio: 1432.09 / 475.75;
		-webkit-clip-path: url(#svgPath1);
		clip-path: url(#svgPath1);
		margin-bottom: 3.5vw;
    }
	
	section#page_title .title_block .block h2{
		font-size: 10.0rem;
		font-size: clamp(6.72rem, 6.993vw, 10.0rem);
		line-height: 1.2;
		color: #FFF;
		top: calc(50% - 1em);
		left: 5.6%;
    }
	
	section#page_title .title_block .block h2 small{
        font-size: 24%;
    }
	
	section#page_title .section_inner{
		width: 85%;
		margin: 0 auto;
    }
	
	section#page_title .section_inner p{
		font-size: 1.8rem;
		font-size: clamp(1.2rem, 1.258vw, 1.8rem);
		line-height: 2.8;
		text-align: center;
		letter-spacing: 0.12em;
    }
	
	
	
	
	
	/*フッター・共通パーツ*/
	
	div#common_space {
		width: 100%;
		margin-top: 6.5vw;
	}
	
	div#common_space div.btn_box{
		width: 100%;
		padding: 4.8vw 0;
		background: #e5e5e5;	
	}
	
	div#common_space div.btn_box a{
		width: 39%;
		max-width: 558px;
		height: 8.1vw;
		height: 8.1cqw;
		max-height: 116px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 0 auto;
		border-radius: 44px;
		font-size: 2.0rem;
        font-size: clamp(1.34rem, 1.398vw, 2.0rem);
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 1;
		color: #FFF;
	}
	
	div#common_space div#other_nav{
		width: 100%;
		padding: 6.9vw 0;
		background: #4d4d4d;
	}
	
	div#common_space div#other_nav div.inner{
		width: 85.3%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	div#common_space div#other_nav div.inner div.block{
		width: 31.2%;
		line-height: 0;
		position: relative;
	}
	
	div#common_space div#other_nav div.inner div.block::before,
	div#common_space div#other_nav div.inner div.block::after{
		content: "";
		width: 12.1%;
		height: 26.2%;
		display: block;
		position: absolute;
		z-index: 5;
	}
	
	div#common_space div#other_nav div.inner div.block::before {
		background: url("images/common/insert_top.svg") no-repeat;
		background-size: contain;
		top: -5.5%;
		left: -2.6%;
	}
	
	div#common_space div#other_nav div.inner div.block::after {
		background: url("images/common/insert_bottom.svg") no-repeat;
		background-size: contain;
		bottom: -6.5%;
		right: -2.6%;
	}
	
	div#common_space div#other_nav div.inner div.block a{
		display: block;
		height: 100%;
		background: #FFF;
		border-radius: 24px;
		overflow: hidden;
		font-size: 2.0rem;
        font-size: clamp(1.34rem, 1.398vw, 2.0rem);
		line-height: 1;
		color: #000;
		padding: 3em 1.75em
	}
	
	div#common_space div#other_nav div.inner div.block a h6{
		font-size: 2.0rem;
        font-size: clamp(1.34rem, 1.398vw, 2.0rem);
        font-weight: 700;
        letter-spacing: 0.06em;
	}
	
	div#common_space div#other_nav div.inner div.block a p{
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		line-height: 1.8;
		letter-spacing: 0.02em;
		margin-top: 1em;
	}
	
	#side_contact {
		font-size: 2.0rem;
        font-size: clamp(1.34rem, 1.398vw, 2.0rem);
		line-height: 0;
		position: fixed;
		top: 13vw;
		right: 0;
		z-index: 99;
		background: #FFF;
		border-radius: 20px 0 0 20px;
		overflow: hidden;
	}
	
	#side_contact a{
		color: #FFF;
		display: block;
		background: #ff0000;
		padding: 1.5em 2em;
	}
	
	#side_contact a span{
		width: 1.6vw;
		width: 1.6cqw;
		display: inline-block;
	}
	
	footer {
        padding: 42px 0 52px;
    }
	
	footer div.f_block {
		width: 94%;
		max-width: 1350px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
	}
	
	footer div.f_block nav {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 8.88%;
		margin-bottom: 3.5vw;
	}
	
	footer div.f_block nav div.nav_box{
		display: inline-block;
	}
	
	footer div.f_block nav div.nav_box:last-of-type{
		width: 34.5%;
	}
	
	footer div.f_block nav div.nav_box ul li{
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
	}
	
	footer div.f_block nav div.nav_box ul li + li{
		margin-top: 1em;
	}
	
	footer div.f_block nav div.nav_box ul li a{
		color: #000!important;
		display: inline-block;
	}
	
	footer div.f_block nav div.nav_box ul li a::after{
		content: ">";
		display: inline-block;
		margin-left: 1em;
	}
	
	footer div.f_block h2{
		width: 11.7%;
		line-height: 0;
	}
	
	footer div.f_block div.address_block{
		display: inline-block;
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		line-height: 1.7;
	}
	
	footer div.f_block div.address_block h1{
		font-size: 1.6rem;
		font-size: clamp(1.07rem, 1.118vw, 1.6rem);
		font-weight: 400;
	}
	
	footer div.f_block div.link_block{
		width: 24.5%;
		margin-left: 12.8%;
	}
	
	footer div.f_block div.link_block ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	footer div.f_block div.link_block ul li{
		width: 12.65%;
	}
	
	footer div.f_block div.link_block ul li:first-of-type{
		width: 45%;
	}
	
	footer div.f_block div.link_block ul li:first-of-type a{
		height: 94%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		border-radius: 21px;
		font-size: 1.4rem;
		font-size: clamp(0.94rem, 0.979vw, 1.4rem);
		font-weight: 700;
		line-height: 1;
		color: #FFF;
	}
	
	footer div.f_block div.link_block p{
		font-size: 1.2rem;
		font-size: clamp(0.8rem, 0.839vw, 1.2rem);
		line-height: 1;
		text-align: right;
		margin-top: 2em;
	}
	
	footer div.f_block a#page_top{
		font-size: 1.4rem;
		font-size: clamp(0.94rem, 0.979vw, 1.4rem);
		line-height: 1;
		color: #000;
		display: inline-block;
		position: absolute;
		top: -56px;
		right: 0;
		z-index: 10;
	}
	
	footer div.f_block a#page_top::before{
		content: "";
		width: 34%;
		height: 1.09vw;
		height: 1.09cqw;
		max-height: 15px;
		display: block;
		margin: 0 auto;
		background: url("images/common/page_top.svg") no-repeat;
		background-size: contain;
	}
	
	footer div.f_block a#page_top p{
		margin-top: 0.25em;
	}
}


@media screen and (min-width:961px) and (max-width: 1430px){
	
	div#common_space div.btn_box a{
		border-radius: 3vw;
		border-radius: 3cqw;
	}
	
	footer {
        padding: 2.94vw 0 3.45vw;
		padding: 2.94cqw 0 3.45cqw;
    }
	
	footer div.f_block a#page_top{
		top: -3.8vw;
		top: -3.8cqw;
	}
	
}
	

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

@media screen and (max-width: 960px){
	/*360-960px
	font-size: clamp(6.25rem, 17.3vw, 16.62rem);
	font-size: clamp(4rem, 11.1vw, 10.664rem);
	font-size: clamp(3rem, 8.31vw, 7.98rem);
	font-size: clamp(2.8rem, 7.75vw, 7.448rem);
	font-size: clamp(2.6rem, 7.2vw, 6.916rem);
	font-size: clamp(2.4rem, 6.65vw, 6.384rem);
	font-size: clamp(2.2rem, 6.09vw, 5.852rem);
	font-size: clamp(2.0rem, 5.54vw, 5.32rem);
	font-size: clamp(1.84rem, 5.1vw, 4.905rem);
	font-size: clamp(1.8rem, 4.98vw, 4.788rem);
	font-size: clamp(1.65rem, 4.58vw, 4.398rem);
	font-size: clamp(1.6rem, 4.43vw, 4.256rem);
	font-size: clamp(1.56rem, 4.33vw, 4.158rem);
	font-size: clamp(1.47rem, 4.08vw, 3.919rem);
	font-size: clamp(1.4rem, 3.87vw, 3.724rem);
	font-size: clamp(1.38rem, 3.83vw, 3.679rem);
	font-size: clamp(1.3rem, 3.6vw, 3.465rem);
	font-size: clamp(1.2rem, 3.32vw, 3.192rem);
	font-size: clamp(1.1rem, 3.054vw, 2.9326rem);
	font-size: clamp(1rem, 2.77vw, 2.66rem);
	font-size: clamp(0.92rem, 2.55vw, 2.45rem);
	font-size: clamp(0.736rem, 2.04vw, 1.962rem);
	*/
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
   a.tel[href^="tel:"] {
       pointer-events: auto;
       text-decoration: none;
    }
	
	a.hover_red,
	a.hover_black{
		position: relative;
		overflow: hidden;
		z-index: 1;
	}
	
	a.hover_red::before,
	a.hover_black::before{
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -3;
	}
	
	a.hover_red::before {
		background: #000;
	}
	
	a.hover_black::before {
		background: #ff0000;
	}
	
	body nav.slide_nav div.close_btn {
        width: 10vw;
        height: 10vw;
        position: absolute;
        top: 2vw;
        right: 5%;
        cursor: pointer;
    }
	
	header {
		width: 100%;
		height: 16vw;
		height: 16cqw;
		background: #000;
		padding-top: 2.48vw;
		padding-top: 2.48cqw;
	}
	
	header div.h_block {
		width: 94%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
	}
	
	header div.h_block h1{
		width: 18vw;
		width: 18cqw;
		position: absolute;
		line-height: 0;
		top: 3.44vw;
		top: 3.44cqw;
		left: 44.5%;
	}
	
	header div.h_block h1 a{
		display: block;
	}
	
	header div.h_block h1 a:hover{
		opacity: .7;
	}
	
	header div.h_block h1 span{
		display: inline-block;
		margin-left: 2em;
	}
	
	header div.h_block div.nav_block{
		width: 8%;
	}
	
	header div.h_block div.nav_block a {
        display: none;
    }
	
	header div.h_block  div.nav_block  div.menu{
		width: 100%;
		line-height: 0;
		cursor: pointer;
	}
	
	nav.slide_nav ul {
        margin-top: 15vw;
    }
	
	section#page_title {
		margin: -2vw 0 0;
		margin: -2cqw 0 0;
		padding-bottom: 10vw;
		margin-bottom: 15vw;
    }
	
	section#page_title div.title_block {
        width:100%;
        aspect-ratio: 1432.09 / 668.77;
		-webkit-clip-path: url(#svgPath2);
		clip-path: url(#svgPath2);
		margin-bottom: 8vw;
    }
	
	section#page_title .title_block .block h2{
		font-size: 10.0rem;
		font-size: clamp(4rem, 11.1vw, 10.664rem);
		line-height: 1.2;
		color: #FFF;
		top: calc(50% - 1em);
		left: 5.6%;
    }
	
	section#page_title .title_block .block h2 small{
        font-size: 30%;
		margin-top: 0.5em;
    }
	
	section#page_title .section_inner{
		width: 90%;
		margin: 0 auto;
    }
	
	section#page_title .section_inner p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		line-height: 2.8;
		text-align: center;
		letter-spacing: 0.10em;
    }
	
	
	
	
	
	/*フッター・共通パーツ*/
	
	div#common_space {
		width: 100%;
		margin-top: 15vw;
	}
	
	div#common_space div.btn_box{
		width: 100%;
		padding: 12vw 0;
		background: #e5e5e5;	
	}
	
	div#common_space div.btn_box a{
		width: 80vw;
        width: 80cqw;
        height: 14vw;
        height: 14cqw;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 0 auto;
		border-radius: 5.4vw;
		font-size: 1.3rem;
        font-size: clamp(1.3rem, 3.6vw, 3.465rem);
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 1;
		color: #FFF;
	}
	
	div#common_space div#other_nav{
		width: 100%;
		padding: 15vw 0;
		background: #4d4d4d;
	}
	
	div#common_space div#other_nav div.inner{
		width: 88%;
		margin: 0 auto;
	}
	
	div#common_space div#other_nav div.inner div.block{
		width: 100%;
		line-height: 0;
		position: relative;
	}
	
	div#common_space div#other_nav div.inner div.block + div.block{
		margin-top: 7vw;
	}
	
	div#common_space div#other_nav div.inner div.block::before,
	div#common_space div#other_nav div.inner div.block::after{
		content: "";
		width: 8.9%;
		height: 26.2%;
		display: block;
		position: absolute;
		z-index: 5;
	}
	
	div#common_space div#other_nav div.inner div.block::before {
		background: url("images/common/insert_top.svg") no-repeat;
		background-size: contain;
		top: -5.5%;
		left: -2.3%;
	}
	
	div#common_space div#other_nav div.inner div.block::after {
		background: url("images/common/insert_bottom.svg") no-repeat;
		background-size: contain;
		bottom: -6.5%;
		right: -2.3%;
	}
	
	div#common_space div#other_nav div.inner div.block a{
		display: block;
		height: 100%;
		background: #FFF;
		border-radius: 24px;
		overflow: hidden;
		font-size: 2.0rem;
        font-size: clamp(1.34rem, 1.398vw, 2.0rem);
		line-height: 1;
		color: #000;
		padding: 3em 1.75em
	}
	
	div#common_space div#other_nav div.inner div.block a h6{
		font-size: 1.6rem;
        font-size: clamp(1.6rem, 4.43vw, 4.256rem);
        font-weight: 700;
        letter-spacing: 0.06em;
	}
	
	div#common_space div#other_nav div.inner div.block a p{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem);
		line-height: 1.8;
		letter-spacing: 0.02em;
		margin-top: 1em;
	}
	
	#side_contact {
		display: none;
	}
	
	footer {
        padding: 6vw 0 15vw;
    }
	
	footer div.f_block {
		width: 92%;
		margin: 0 auto;
		position: relative;
	}
	
	footer div.f_block nav {
		width: 100%;
		display: block;
		margin-bottom: 10vw;
	}
	
	footer div.f_block nav div.nav_box{
		width: 100%;
		display: block;
	}
	
	footer div.f_block nav div.nav_box ul li{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem);
		margin-bottom: 0.75em;
	}
	
	footer div.f_block nav div.nav_box ul li a{
		color: #000!important;
		display: inline-block;
	}
	
	footer div.f_block nav div.nav_box ul li a::after{
		content: ">";
		display: inline-block;
		margin-left: 1em;
	}
	
	footer div.f_block h2{
		width: 45%;
		padding-left: 5%;
		margin: 0 auto;
		line-height: 0;
	}
	
	footer div.f_block div.address_block{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem);
		line-height: 1.7;
		margin-top: 0.5em;
	}
	
	footer div.f_block div.address_block h1{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		font-weight: 400;
	}
	
	footer div.f_block div.address_block p{
		margin-top: 0.25em;
	}
	
	footer div.f_block div.link_block{
		margin: 8vw auto 0;
	}
	
	footer div.f_block div.link_block ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 5%;
	}
	
	footer div.f_block div.link_block ul li{
		width: 10%;
	}
	
	footer div.f_block div.link_block ul li:first-of-type{
		width: 45%;
	}
	
	footer div.f_block div.link_block ul li:first-of-type a{
		height: 94%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		border-radius: 5vw;
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		font-weight: 700;
		line-height: 1;
		color: #FFF;
	}
	
	footer div.f_block div.link_block p{
		font-size: 1rem;
		font-size: clamp(1rem, 2.77vw, 2.66rem);
		line-height: 1;
		text-align: center;
		margin-top: 2em;
	}
	
	footer div.f_block a#page_top{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem);
		line-height: 1;
		color: #000;
		display: inline-block;
		position: absolute;
		top: -11vw;
		right: 0;
		z-index: 10;
	}
	
	footer div.f_block a#page_top::before{
		content: "";
		width: 50%;
		height: 5.4vw;
		height: 5.4cqw;
		display: block;
		margin: 0 auto;
		background: url("images/common/page_top.svg") no-repeat;
		background-size: contain;
	}
	
	footer div.f_block a#page_top p{
		margin-top: 0.8em;
	}
	
}

/*ハンバーガーナビ*/
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 div.close_btn::before{
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	background: #FFF;
	transform-origin : 50%;
	transform: rotate(-45deg);
}

body nav.slide_nav div.close_btn::after{
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	background: #FFF;
	transform: rotate(45deg);
}

body nav.slide_nav {
	min-width: 300px;
    height: 100%;
	position: fixed;
    z-index : 9999;
    top: 0;
    right: 0;
    transform: translateX(110%);
    transition-property: transform;
	transition-duration: 0.6s;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
	background: #ff0000;
	padding: 8vw 5%;
}

body nav.slide_nav ul li + li{
   margin-top: 1.5em;
}

body nav.slide_nav ul li a{
    color: #FFF;
}

nav.slide_nav.active {
  transform: translateY(0%);
}