@CHARSET "UTF-8";
/*
Theme Name: Hyper Space Tattoo
date: 2024.03.30
*** basic setting on css/destyle.css ***
*/


/* = common setting
-------------------------------------------------------------- */ 

:root {
	--bk: #333;
  --gold: #b9a365;
	--white: rgba(255,255,255,.3);
	--red: #e3007b;
}

*{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html{
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 400;
	/*font-family: 'Noto Sans JP',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;*/
	font-family: 'ten-mincho','游明朝','Yu Mincho',YuMincho,serif;
	color: #fff;
	line-height: 1.7;
	letter-spacing: 1px;
	background: var(--bk);
}
.en_US body{
	font-family: "Libre Baskerville", 'ten-mincho','游明朝','Yu Mincho',YuMincho,serif;
	font-size: 1.2rem;
}
.bg_noise{
	position: relative;
	z-index: 5;
}
.bg_noise::before{
	content: '';
	background: url('images/noise.png');
	background-size: 100px 100px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: .1;
}

.font_en{
	font-family: "Lugrasimo", cursive;
  font-weight: 400;
  font-style: normal;
}

body,
#page{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#site_footer{
  margin-top: auto;
}

a {
	outline: none;
	color: #fff;
	text-decoration: none;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transform: translateZ(0);
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;
}
*:focus {
  outline: none;
}
img{
	max-width: 100%;
	height: auto;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	vertical-align: bottom;
	-webkit-transform: translateZ(0);
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;
}
iframe{
	max-width: 100%;
}
h1,h2,h3,h4,h5,h6{
	margin: 0;
	font-weight: 400;
}
ul,dl,dt,dd{
	margin: 0;
	padding: 0;
	font-weight: 400;
}
li{
	list-style-type: none;
	margin: 0;
	padding: 0;
}
p{
	margin: 0;
}
.pc_only{
	display: none;
}

.btn_link{
	background: #000;
	border: #000 solid 1px;
	color: #fff;
	display: block;
	padding: 1.5rem;
	width: 100%;
	max-width: 350px;
	margin: 0 auto;
  position: relative;
	text-align: center;
}

.link_none{
  pointer-events: none !important;
  cursor: default !important;
  opacity: .3;
}

table{
	width: 100%;
	border-collapse: collapse;
  border-spacing: 0;
}
table th{
	padding: 1rem;
	text-align: left;
  width: 30%;
	font-weight: 400;
}
table td{
	padding: 1rem;
}
button,
input[type="submit"]{
	outline: 0;
	box-shadow: none;
	border: 0;
	cursor: pointer;
}
.txt_right{
	text-align: right;
}

/* Clearing floats */
.clear:after{
	clear: both;
}
.clear:before,
.clear:after{
	display: table;
	content: "";
}

.accordion dd{
	display: none;
}

summary{
	cursor: pointer;
}
summary::marker{
  content: none;
}
summary::-webkit-details-marker{
  display: none;
}

.slick-arrow{
	width: 2rem;
  height: 2rem;
  z-index: 10;
}
.slick-prev{
  left: -1rem;
}
.slick-next{
  right: -1rem;
}
.slick-arrow:before{
  content: '' !important;
  width: 100%;
  height: 100%;
  border-top: #fff solid 1px;
  border-left: #fff solid 1px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 1;
}
.slick-prev:before{
  transform: translate(-35%,-50%) rotate(-45deg);
}
.slick-next:before{
  transform: translate(-65%,-50%) rotate(135deg);
}
.slick-slide:focus{
  outline: 0;
}
.slick-dots > li:first-child:last-child {
   display: none;
}
.youtube_wrap{
  position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.youtube_wrap iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wrapper{
	width: 90%;
	max-width: 1050px;
	margin: 0 auto;
}

.container{
	padding: 3rem 0;
}
.section{
	margin-bottom: 8rem;
}
.section_title{
	border-bottom: var(--white) solid 1px;
	margin-bottom: 3rem;
	padding-bottom: .5rem;
	font-size: 1.2rem;
}
.section_title .font_en{
	font-size: 220%;
	margin-right: 2rem;
	line-height: 1;
}

.block{
	margin-bottom: 5rem;
}
.block_title{
	padding-left: 1.5rem;
	border-left: #fff solid .5rem;
	margin-bottom: 2rem;
	line-height: 1.5;
	font-size: 1.6rem;
}
.page_header{
	position: relative;
	overflow: hidden;
	margin-bottom: 3rem;
}
.page_header__img{
	height: 180px;
	width: 100%;
	background: #000;
	position: relative;
}
.page_header__img::before{
	content: '';
	height: 100%;
	width: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: .7;
	position: absolute;
	top: 0;
	left: 0;
}
#studio_header .page_header__img::before{
	background-image: url('images/header/studio.jpg');
}
#system_header .page_header__img::before{
	background-image: url('images/header/system.jpg');
}
#faq_header .page_header__img::before{
	background-image: url('images/header/faq.jpg');
}
#gallery_header .page_header__img::before{
	background-image: url('images/header/gallery.jpg');
}
#price_header .page_header__img::before{
	background-image: url('images/header/price.jpg');
}
#contact_header .page_header__img::before{
	background-image: url('images/header/contact.jpg');
}
.page_header__title{
	position: absolute;
	left: 5%;
	top: 50%;
	translate: 0 -50%;
	font-size: 2rem;
	z-index: 50;
	text-shadow: 0 0 3px rgba(0,0,0,.3);
}
.link_arrow{
	display: inline-flex;
	align-items: center;
	text-align: left;
}
.link_arrow::before{
	content: '';
	margin-right: .5rem;
	width: 1rem;
	height: 1rem;
	clip-path: polygon(0 0,100% 50%,0 100%);
	display: inline-block;
	background: #fff;
	transition: .3s;
}

.no_posts{
	text-align: center;
	padding: 2rem 0;
	background: var(--white);
}

.post_thumb{
	position: relative;
	overflow: hidden;
}
.post_thumb::before{
	content: '';
	background: var(--white);
	padding-top: 120%;
	display: block;
}
.post_thumb img{
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: 1s;
}


#message_404 .btn_link{
	margin: 5rem 0 0;
}

.entry_content{
	padding-bottom: 8rem;
}
.entry_content p{
	word-break: break-all;
}
.entry_content img{
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.underline{
	background: linear-gradient(to bottom , rgba(255,255,255,0) 70%, var(--red) 71%);
}

.tub{
	display: flex;
}
.tub_cont{
	display: none;
}
.cont_current{
	display: block;
}




/* =page nav
-------------------------------------------------------------- */

.page_links{
  text-align: center;
  display: flex;
  justify-content: center;
  margin: 5rem auto;
}
.page_links a, 
.page_links span{
  display: flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--bk);
  margin: 0 2px;
  border-radius: 50%;
}
.page_links span.current,
.page_links a:hover{
  background: var(--gold);
  color: #fff;
}
.page_links a.previouspostslink{
  margin-right: 10px;
}
.page_links a.nextpostslink{
  margin-left: 10px;
}


.nav_single{
	clear: both;
	display: flex;
  justify-content: center;
  margin: 5rem 0;
  border-top: var(--white) solid 1px;
}
.nav_single li{
	width: 50%;
	text-align: center;
}
.nav_single li a{
	display: block;
	padding: 1.5rem 0;
}
.nav_archive{
	border-left: #ccc solid 1px;
	border-right: #ccc solid 1px;
}




/* =header
-------------------------------------------------------------- */

#site_description{
	background: #000;
	color: #fff;
	font-weight: 400;
	font-size: 1rem;
	padding: .5rem 7rem .5rem 5%;
}
/*
#site_header{
  padding: 1rem;
}
*/

#header_nav__btn{
	position: fixed;
	top: 1rem;
	right: 1rem;
	width: 5rem;
	height: 5rem;
	text-align: center;
	z-index: 9999;
  cursor: pointer;
	background: #000;
	border: var(--white) solid 1px;
	transition: .3s;
}
#header_nav__btn .border_wrap{
  position: absolute;
	left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}
#header_nav__btn .border{
	width: 30px;
	height: 3px;
	background-color: #fff;
	border-radius: 3px;
  display: block;
  margin-bottom: 5px;
  transition: all .4s;
	box-sizing: border-box;
}
#header_nav__btn .border:last-child{
  margin: 0;
}

.nav_active #header_nav__btn .border:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.nav_active #header_nav__btn .border:nth-of-type(2) {
	opacity: 0;
}
.nav_active #header_nav__btn .border:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}
#header_nav__inner{
	width: 100%;
	height: 100%;
	background: #000;
	z-index: 999;
	position: fixed;
	top: 0;
	left: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
.nav_active #header_nav__inner{
	opacity: 1;
	visibility: visible;
}
.main_navigation{
	position: relative;
	padding: 8rem 0;
	z-index: 5;
}
.main_navigation li{
	border-bottom: var(--white) solid 1px;
}
.main_navigation li:last-child{
	border: 0;
}
.main_navigation li a{
	display: block;
	padding: 1.5rem;
	text-align: center;
	position: relative;
	font-size: 1.6rem;
}
.main_navigation li a span{
	display: block;
	font-size: 70%;
}
#header_logo{
  position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	max-width: 300px;
	z-index: -1;
	opacity: .2;
	translate: -50% -50%;
}

#breadcrumbs{
	display: none;
}

#lang_switcher{
	position: fixed;
	right: 1rem;
	top: 7rem;
	z-index: 99;
}
#lang_switcher li{
	margin-bottom: 1rem;
}
.bogo-language-name{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	height: 3rem;
	background: #ccc;
	border-radius: .5rem;
	text-align: center;
	overflow: hidden;
}
.bogo-language-name a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #fff;
	color: #000;
}
#lang_switcher li.current a{
	background: var(--gold);
	color: #fff;
}



/* =footer
-------------------------------------------------------------- */

#site_footer{
	border-top: var(--white) solid 1px;
}
#site_footer__inner{
	padding: 3rem 0 2rem;
}
#footer_info{
	display: flex;
	align-items: flex-start;
	flex: 1;
}
#footer_logo{
	flex: 0 0 30%;
	margin-right: 2rem;
}
#footer_info__inner{
	font-size: 1.2rem;
}
#footer_info__inner h2{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}
#footer_info__inner .btn_link{
	text-align: center;
	margin: 2rem 0 0;
	padding: .8rem;
	max-width: 250px;
}
#footer_info__inner .btn_link i{
	font-size: 150%;
}
#footer_links{
	margin-top: 5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	font-size: 1.2rem;
}
#footer_links li{
	margin-left: 2rem;
	white-space: nowrap;
}
#footer_copy{
	background: #000;
	text-align: center;
	padding: 2rem 0;
	font-size: 1rem;
}



/* =TOP
-------------------------------------------------------------- */

#main_visual__logo{
	width: 50%;
	max-width: 200px;
	position: absolute;
	top: 50%;
	left: 5%;
	translate: 0 -50%;
	z-index: 20;
}
#main_slide{
	/*margin: 0 auto;
	width: 100%;
	max-width: 1600px;*/
	margin: 0;
}
#main_slide .page_header__img{
	height: 350px;
	background-position: center right;
	background-repeat: no-repeat;
	background-size: cover;
}
#main_slide .slick-dots{
	z-index: 50;
	bottom: 1rem;
	right: 1rem;
	width: auto;
}
.slick-dots li{
	width: 3rem;
	height: .5rem;
	margin: 0 0 0 1rem;
}
.slick-dots li button{
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.6);
	padding: 0;
}
.slick-dots li.slick-active button{
	background: var(--gold);
}
.slick-dots li button:before{
	content: none;
}

#front_gallery{
	overflow: hidden;
}
#gallery_slide{
	margin-bottom: 3rem;
}
#gallery_slide .slick-list{
	overflow: visible;
}
#gallery_slide .slick-slide{
	padding: 0 .5rem;
}
#front_gallery .btn_link{
	display: block;
}

#front_about__inner{
	overflow: hidden;
}
#front_about__img{
	float: right;
	margin: 0 0 1rem 1rem;
	width: 40%;
}
#front_about__txt p{
	margin-bottom: 2rem;
}
#front_about__links{
	margin-top: 4rem;
}
#front_about__links li{
	margin-bottom: 1rem;
}
#front_about__links .btn_link{
	margin: 0 0 0 auto;
	display: block;
}



/* =Studio
-------------------------------------------------------------- */

#artist_inner figure{
	width: 80%;
	margin: 0 auto 2rem;
}
#artist_inner__txt p{
	margin: 1rem 0;
}
#access_resavation{
	background: var(--gold);
	padding: 2rem 0;
	text-align: center;
	margin-bottom: 2rem;
}
#access_resavation h3{
	font-size: 1.8rem;
}
.gmap iframe{
	width: 100%;
	height: 300px;
	filter: grayscale(100%);
}
#access_route{
	margin-top: 2rem;
}
#access_route h3{
	font-size: 1.8rem;
	margin: 2rem 0 1rem;
}
#access_route ul{
	margin-top: 3rem;
}
#access_route ul li{
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: .5rem;
}

#sanitation_txt p{
	margin-bottom: 2rem;
}
#sanitation_machines{
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: var(--white) solid 1px;
}
#sanitation_machines li{
	display: flex;
	margin-bottom: 3rem;
}
#sanitation_machines li figure{
	flex: 0 0 35%;
	margin-right: 2rem;
	text-align: center;
}
.sanitation_machines__txt{
	flex: 1;
	font-size: 1.2rem;
}
.sanitation_machines__txt h3{
	font-size: 1.6rem;
	background: #fff;
	padding: .5rem;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 1rem;
	color: var(--bk);
}
.sanitation_machines__txt h3 span{
	font-size: 70%;
	display: block;
}
.body_en .sanitation_machines__txt{
	font-size: 1rem;
}

#stodio_photo{
	background: url('images/studio/studio_photo.jpg') no-repeat center center / cover;
	width: 100%;
	height: 25rem;
	margin-bottom: 5rem;
}



/* =price
-------------------------------------------------------------- */

#price_intro{
	margin-bottom: 4rem;
}
#price_intro p{
	margin-bottom: 2rem;
}
.price_box{
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
}
.price_box figure{
	flex: 0 0 40%;
	margin-right: 1rem;
}
.price_box__txt{
	flex: 1;
}
.price_box__txt h3{
	font-size: 1.6rem;
	margin-bottom: 2rem;
	line-height: 1.4;
}
.price_box__txt h3 span{
	display: block;
	font-size: 80%;
}
.price{
	font-size: 1.6rem;
	line-height: 1.2;
}
.price .tax{
	font-size: 70%;
	margin-left: .5rem;
}






/* =faq
-------------------------------------------------------------- */

#faq_wrap .section_title{
	font-size: 1.8rem;
}
.faq_box{
	margin-bottom: 2rem;
	border: #fff solid 1px;
}
.faq_icon{
	flex: 0 0 3rem;
	font-size: 1.6rem;
}
.faq_box__q{
	display: flex;
	align-items: center;
	padding: 2rem 4rem 2rem 5%;
	position: relative;
	transition: .3s;;
}
.faq_box[open] .faq_box__q{
	background: var(--white);
}
.faq_box__q::after{
	content: '';
	border-top: #fff solid 1px;
	border-right: #fff solid 1px;
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	right: 5%;
	translate: 0 -50%;
	rotate: 135deg;
}
.faq_box[open] .faq_box__q::after{
	rotate: -45deg;
}
.faq_box__q h3{
	flex: 1;
}
.faq_box__a{
	display: flex;
	padding: 2rem 5%;
}
.faq_box__inner{
	flex: 1;
}

.faq_box__attention{
	background: #efefef;
	padding: 2rem 5%;
	margin-top: 2rem;
	color: var(--bk);
}
.faq_box__attention h3{
	border-bottom: var(--bk) solid 1px;
	margin-bottom: 1rem;
}
.faq_box__attention p{
	font-size: 1.2rem;
}

.faq_box__inner .btn_link{
	margin-top: 2rem;
	padding: 1rem 1.5rem;
}

.faq_box__inner p a{
	text-decoration: underline;
	color: var(--gold);
}
.faq_box__inner p a:hover{
	text-decoration: none;
}





/* =Contact
-------------------------------------------------------------- */

#contact_intro{
	margin-bottom: 3rem;
}
.form_wrap{
	background: var(--white);
	padding: 3rem 5%;
	width: 100%;
}
.required{
	color: var(--gold);
	font-size: 70%;
	margin-left: 1rem;
}
.input_box{
	width: 100%;
	padding: .5rem 1rem;
	margin-bottom: 3px;
  line-height: 1.7;
  font-size: 1.6rem;
  border: #ccc solid 1px;
	background: #fff;
	color: #000;
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset;
}
.input_box.short_box{
	width: 12rem;
}
.form_wrap input[type="radio"],
.form_wrap input[type="checkbox"]{
	width: 20px;
	height: 20px;
	vertical-align: middle;
}
.form_wrap label{
	cursor: pointer;
}
.formInner .wpcf7-list-item{
	margin: 0 3rem .5rem 0;
}
.wpcf7 form .wpcf7-response-output{
	text-align: center;
	padding: 1rem;
}

.form_wrap input[disabled]{
	background: #ccc !important;
	border: #ccc solid 1px;
	color: #fff !important;
	box-shadow: none;
	transform: none;
}

.form_wrap th{
	display: block;
	width: 100%;
	padding: 0 0 1rem;
	font-size: 1.4rem;
}
.form_wrap td{
	display: block;
	padding: 0 0 3rem;
	border-bottom: var(--white) solid 1px;
	margin-bottom: 2rem;
}
.form_wrap .attention{
	border: #fff solid 1px;
	padding: 1rem 5%;
	margin-top: 1rem;
	font-size: 1.2rem;
}
.form_wrap .attention p{
	margin: 1rem 0;
	word-break: break-all;
}
.policy_check{
	text-align: center;
	margin: 2rem 0 3rem;
}
.policy_check p{
	margin: 1rem 0;
}
.policy_check p a{
	text-decoration: underline;
}
.policy_check p a:hover{
	text-decoration: none;
}
.form_wrap .wpcf7-not-valid-tip{
	font-weight: 700;
	background: var(--red);
	padding: .2rem 1rem;
	display: inline-block;
	color: #fff;
	font-size: 1.2rem;
	margin: .5rem 0;
}

.form_recaptcha{
	border: #999 solid 1px;
	padding: 20px 5%;
	margin: 0 auto;
	max-width: 500px;
	font-size: 12px;
}
.form_recaptcha p{
	margin: 0;
	text-align: left;
}
.form_recaptcha p a{
	text-decoration: underline;
	margin: 0 5px;
}
.grecaptcha-badge{
	visibility: hidden;
}

#policy_date{
	text-align: right;
	margin-top: 3rem;
}


/* =dictionary
-------------------------------------------------------------- */

.page_nav{
	display: flex;
	flex-wrap: wrap;
	border-bottom: #fff solid 1px;
	margin-bottom: 5rem;
}
.page_nav li{
	margin-right: .5rem;
	margin-bottom: -1px;
}
.page_nav li .btn_link{
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
	padding: 1rem 2rem;
	background: var(--white);
	border-color: #fff;
}
.page_nav li.current .btn_link{
	background: #fff;
	color: #333;
}

.dictionary_intro{
	padding: 1.5rem 1rem;
	text-align: center;
	margin-bottom: 3rem;
	border: #fff solid 1px;
}
.dictionary_box{
	margin-bottom: 5rem;
	font-size: 1.2rem;
}
.dictionary_box h2{
	margin-bottom: 1rem;
}
.dictionary_box h3{
	margin-bottom: 1rem;
}
.dictionary_box p{
	margin-bottom: 2rem;
}

#wabori_details{
	padding-left: 3rem;
	margin-top: 3rem;
}


/* =system
-------------------------------------------------------------- */

.system_wrap{
	margin-bottom: 3rem;
}
.system_wrap .section_title{
	font-size: 1.8rem;
}
.flow_block{
	margin-bottom: 2rem;
}
.flow_block__title{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}
.flow_block__title .flow_step{
	display: block;
	color: var(--gold);
	font-size: 120%;
	line-height: 1;
}
.flow_block__inner{
	font-size: 1.2rem;
	padding: 1rem 0 3rem 5rem;
	position: relative;
	flex: 1;
}
.flow_block__inner::before{
	content: '';
	background: var(--white);
	width: 1px;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 2rem;
}
.body_en .flow_block__inner{
	font-size: 1rem;
}
.flow_block__txt p{
	margin-bottom: 1rem;
}
.flow_block__txt .btn_link{
	margin-top: 3rem;
}
.flow_block__img{
	margin-top: 2rem;
	text-align: center;
}
.flow_attentions{
	border: #fff solid 1px;
	margin-top: 3rem;
}
.flow_attentions h4{
	text-align: center;
	padding: .5rem;
	font-size: 120%;
	background: var(--white);
}
.flow_attentions p{
	padding: 2rem 5% 1rem;
}

#system_wrap03 .flow_block__inner{
	padding: 0;
	margin-bottom: 5rem;
}
#system_wrap03 .flow_block__inner::before{
	content: none;
}




/* =gallery
-------------------------------------------------------------- */

#gallery_intro__jp{
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: var(--white) solid 1px;
}
#gallery_list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1rem;
}
#gallery_list li{
	width: 50%;
	padding: 0 1rem;
	margin-bottom: 3rem;
}

.gallery_img{
	margin-bottom: 2rem;
}
.gallery_img::before{
	background: none;
}
.gallery_img img{
	object-fit: contain;
}

.gallery_txt h3{
	margin: 3rem 0 1rem;
	background: var(--white);
	padding: .5rem 5%;
}
.gallery_txt h3 span{
	margin-left: 2rem;
}
.gallery_txt p{
	padding: 0 5%;
}
#single_gallery__header h1{
	font-size: 2rem;
	line-height: 1.5;
}

#front_banner li{
	margin-bottom: 1rem;
}

#gallery_nav{
	border: 0;
	margin-bottom: 3rem;
}
#gallery_nav li{
	margin-bottom: 1rem;
}
#gallery_nav .btn_link{
	border-radius: 0;
}


/* =RWD
-------------------------------------------------------------- */

@media screen and (min-width: 768px){
  .mobile_only{
		display: none;
	}
	.pc_only{
		display: block;
	}
  a[href*="tel:"] {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
  }
  table th{
		padding: 1rem;
	}
	table td{
		padding: 1rem;
	}
	.page_header{
		margin: 0;
	}
	#breadcrumbs{
		display: block;
		font-size: 1rem;
		padding: 1rem 5%;
		text-align: right;
	}
	.section_title .font_en{
		font-size:300%;
	}
	#site_footer__inner{
		padding: 5rem 0 2rem;
	}
	#footer_info{
		align-items: center;
	}
	#footer_logo{
		flex: 0 0 150px;
	}
	#main_slide .page_header__img{
		height: 450px;
	}
	#front_gallery .btn_link{
		margin: 0 0 0 auto;
	}
	#gallery_slide .slick-slide{
		padding: 0 1.5rem;
	}
	#front_about__inner{
		display: flex;
	}
	#front_about__img{
		float: none;
		margin: 0 3rem 0 0;
		flex: 0 0 35%;
		width: auto;
	}
	#artist_inner{
		display: flex;
		align-items: center;
	}
	#artist_inner figure{
		flex: 0 0 30%;
		margin: 0 3rem 0 0;
	}
	#artist_inner__txt{
		flex: 1;
	}
	.gmap iframe{
		height: 40rem;
	}
	#access_route{
		display: flex;
		flex-direction: row-reverse;
		margin-top: 3rem;
	}
	#access_route figure{
		flex: 0 0 40%;
		margin-left: 3rem;
	}
	#access_route__txt{
		flex: 1;
	}
	#price_list{
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	#price_list li{
		width: 25%;
		padding: 0 1rem;
		display: block;
		margin-bottom: 3rem;
	}
	.price_box figure{
		margin: 0 0 1rem;
	}
	.price_box__txt{
		text-align: center;
	}
	.price_box__txt h3{
		margin: .5rem 0 1rem;
	}
	#sanitation_machines{
		display: flex;
	}
	#sanitation_machines li{
		display: block;
		width: 33.33%;
		padding: 0 1rem;
		margin: 0;
	}
	#sanitation_machines li figure{
		margin: 0 0 1rem;
	}
	#contact_intro{
		margin-bottom: 5rem;	
	}
	.form_wrap{
		width: 90%;
		box-shadow: 5px 5px #aaa;
		padding: 5rem 5%;
	}
	.flow_block__inner{
		display: flex;
		padding-left: 15%;
	}
	.flow_block__inner::before{
		left: 5%;
	}
	.flow_block__img{
		flex: 0 0 35%;
		margin: 0 0 0 2rem;
	}
	#gallery_list li{
		width: 25%;
	}
	#gallery_single__inner{
		display: flex;
	}
	.gallery_img{
		flex: 0 0 50%;
		margin-right: 2rem;
	}
	.gallery_txt{
		flex: 1;
	}
	#front_banner{
		display: flex;
		flex-wrap: wrap;
	}
	#front_banner li{
		margin-bottom: 1rem;
		padding: 0 .5rem;
		width: 50%;
	}
}


@media screen and (min-width: 1024px){
	html{
    font-size: 75%;
		scroll-padding-top: 30px;
  }
	#site_description{
		text-align: right;
		padding: 1rem 5%;
		background: none;
	}
	.page_header__img{
		height: 220px;
	}
	.page_header__title{
		font-size: 3rem;
	}
	#main_visual{
		margin-bottom: 3rem;
	}
	#main_slide .page_header__img{
		height: 650px;
	}
	.faq_box__q{
		padding: 2rem 10% 2rem 5%;
	}
	#main_visual__logo{
		max-width: 300px;
		left: 50%;
		margin-left: -525px;
	}
}




@media screen and (min-width: 1024px) {
	#site_header{
		position: relative;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		background: #000;
		width: 100%;
	}
	#site_description{
		position: absolute;
		top: 1.5rem;
		right: 13rem;
		padding: 0;
	}
	#header_nav__btn{
		display: none;
	}
	#header_nav__inner{
		opacity: 1;
		visibility: visible;
		position: static;
		overflow: visible;
		background: none;
		padding: 1rem 2rem;
		display: flex;
		align-items: flex-end;
	}
	#header_logo{
		position: static;
		display: block;
		width: 100px;
		margin: 0 auto 0 0;
		translate: none;
		opacity: 1;
		z-index: 5;
	}
	.scroll #header_logo{
		width: 80px;
	}
	.main_navigation{
		padding: 0;
		display: flex;
		align-items: center;
	}
	.main_navigation li{
		border: 0;
		margin-left: 3rem;
	}
	.main_navigation li a{
		padding: 0;
		padding: .2rem 0;
	}
	.main_navigation li a::after{
		content: '';
		background: #fff;
		width: 0;
		height: 2px;
		position: absolute;
		bottom: 0;
		left: 0;
		transition: .3s;
	}
	.main_navigation li.current a::after,
	.main_navigation li a:hover::after{
		width: 100%;
	}
	.main_navigation li a span{
		display: none;
	}
	#lang_switcher{
		position: absolute;
		top: 1rem;
		right: 1rem;
		font-size: 1.2rem;
	}
	#lang_switcher ul{
		display: flex;
		align-items: center;
	}
	#lang_switcher ul li{
		margin: 0 0 0 1rem;
	}
	#page{
		padding-top: 124px;
	}
	#stodio_photo{
		background-attachment: fixed;
	}
}

/*
@media screen and (min-width: 1024px) and (min-height: 600px){
	body{
		display: flex;
		flex-direction: row;
	}
	#page{
		width: 80%;
	}
	#header_nav{
		position: relative;
		z-index: 9999;
		width: 20%;
		background: rgba(0,0,0,.8);
	}
	#header_logo{
		width: 40%;
	}
	#header_nav .menu_wrap{
		position: sticky;
		top: 0;
		left: 0;
	}
	#header_nav__btn{
		display: none;
	}
	#header_nav__inner{
		opacity: 1;
		visibility: visible;
		position: static;
		overflow: visible;
		background: none;
		padding: 1.5rem 0;
	}
	#header_logo{
		position: static;
		display: block;
		width: 35%;
		margin: 0 auto 2rem;
		translate: none;
		opacity: 1;
	}
	.main_navigation{
		padding: 0;
	}
	.main_navigation li a{
		font-size: 1.2rem;
		padding: 1rem;
	}

}


@media screen and (min-width: 1024px) and (min-height: 750px){
	.main_navigation li a{
		font-size: 1.4rem;
		padding: 1.5rem;
	}
	#header_logo{
		width: 40%;
	}
} */



@media (hover: hover) {
  .img_opacity:hover img{
  	opacity: .8;
  }
  .hover_up:hover{
  	transform: translateY(-5px);
  	box-shadow: 0 12px 10px -6px rgba(0,0,0,.3);
  }
  .hover_up__img:hover img{
  	transform: translateY(-5px);
  	box-shadow: 0 12px 10px -6px rgba(0,0,0,.3);
  }
	.btn_link:hover{
		background: #fff;
		color: #000;
	}
	.link_arrow:hover::before{
		background: #000;
	}
	.link_border{
		position: relative;
	}
	.link_border::after{
		content: '';
		background: #fff;
		width: 0;
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 0;
		opacity: 0;
		transition: .3s;
	}
	.link_border:hover::after{
		width: 100%;
		opacity: 1;
	}
	a:hover .post_thumb img{
		scale: 1.1;
	}
	#footer_links .link_arrow:hover::before{
		background: #fff;
	}
	.faq_box__q:hover{
		background: var(--white);
	}
	.page_nav a:hover{
		color: #fff;
		background: rgba(255,255,255,.7);
	}
}