/* =============================================================================
   HTML5 CSS Reset Minified - Eric Meyer
   ========================================================================== */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
input,select{vertical-align:middle}
li{list-style:none;}
hr{ unicode-bidi: isolate;
    margin-block-start:0;
    margin-block-end: 0;
    overflow: hidden;}


/* =============================================================================
   My CSS
   ========================================================================== */

/* ---- base ---- */

html{
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
	font-family:"游ゴシック", "Hiragino Maru Gothic W4 JIS2004", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #000;
	text-align: center;
	background-color: #fff;

}

.roboto {font-family: 'Roboto', sans-serif;}


.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

a:link,a:visited { color:#000; text-decoration: none;}

a.pagetop {
	width:40px;
	height:0;
	background: url(../img/pagetop.png) no-repeat 0 0;
	padding-top: 40px;
	text-indent:-9999px;
	overflow: hidden;
	display:block;
}


/* ---- upfade ---- */
.pre_upfd{
		opacity: 0;
	transform: translate(0,100px); 
	-webkit-transform: translate(0,100px);
		transition: .8s;
}

.upfd{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
		transition: .9s;
}

/* ---- Material icons ---- */

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* 推奨サイズ */
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  text-transform: none;
 
  /* WebKitブラウザサポート */
  -webkit-font-smoothing: antialiased;
  /* Chrome、Safariサポート */
  text-rendering: optimizeLegibility;
 
  /* Firefoxサポート */
  -moz-osx-font-smoothing: grayscale;
 
  /* IEサポート */
  font-feature-settings: 'liga';
}

/* アイコンサイズ */
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

/* 背景が明るいとき用のアイコン色 */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

/* 背景が暗いとき用のアイコン色 */
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }


/* ====== top  ====== */

/* ---- mainimage ---- */

#mainimage {

z-index:0;
height:100%;
height:100vh;
background-attachment:fixed;
position:relative;
background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#mainimage h1 img{
	position: absolute;
	bottom: 20%;
	right: 40px;
}

#mainimage p img {
	position: absolute;
	top: 40%;
	left: 10%;
}

#mainimage h2 .tattoo img{
	width:100%;
}
#mainimage h2 .is img{
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -60px;
	margin-left: -60px;
	width: 120px;
	height: auto;
}
#mainimage h2 .b img {
	width:100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -50%;
}
#mainimage h2 .t {
	visibility: hidden;
}


/* ---- header ---- */

header {
	position: relative;
	z-index:50;
}

header h1 {
	position: fixed;
	top: 50%;
	left: 10px;
	margin-top: -104px;
}

header p.cont {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
		position: fixed;
	top: 20px;
	right: 20px;
	font-size: 12px;
	width: 14px;
}
header p.cont img {
	width: 14px;
	height: auto;
	margin-top: 5px;
}

header p.works {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
		position: fixed;
	top: 130px;
	right: 20px;
	font-size: 12px;
	width: 14px;
}
header p.works img {
	width: 14px;
	height: auto;
	margin-top: 5px;
}

header p.store {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
		position: fixed;
	bottom: 20px;
	left: 10px;
	font-size: 12px;
	width: 14px;
}
header p.store img {
	width: 18px;
	height: auto;
	margin-top: 2px;
}

header p.insta {
	position: fixed;
	bottom: 180px;
	left: 7px;
	font-size: 12px;
	width: 14px;
}
header p.insta img {
	width: 14px;
	height: auto;
	margin-top: 2px;
}


/* ---- copy ---- */

#copy{
	 background-image: url(../img/copy_bg.jpg);
	 background-position:center top;
	 background-size: cover;
	z-index:0;
	padding-bottom: 120px;
}
#copy h2 {
	padding:120px 0 30px 0;
}

#copy .catch_en{
	margin: 0 0 50px 0;
}
#copy hr {
height: 2px;
 background-color:#222;
 width: 100px;
 border: none;
display: block;
}

#copy .txt01{
	margin: 60px 0 30px 0;
	font-size: 24px;
	line-height: 60px;
}
#copy .txt02{
	margin: 0 0 50px 0;
	font-size: 24px;
	line-height: 60px;
}
#copy .txt01 .brsp {
	display: none;
}
#copy h3 {
	font-size: 40px;
	font-weight: 500;
	margin: 0 0 40px 0;
}

/* ---- image ---- */

#image{
	 background-image: url(../img/image_bg.jpg);
	 background-position:center top;
	 background-size: cover;
	height: 1550px;
}

/* ---- cont_wrap ---- */

.cont_wrap{
	width: 1200px;
	margin: 0 auto;
}

/* ---- pt ---- */

#pt {
	padding-bottom: 40px;
}

#pt h2{
	font-size: 32px;
	line-height: 60px;
	font-weight: normal;
	margin:70px 0 60px;
}
#pt h2 span{
	font-size: 16px;
	line-height:30px;
	font-weight: normal;
	display: block;
	margin-top: 10px;
}


/*  ptA  */
#pt .ptA{
	overflow: hidden;
}
#pt .ptA .blk_txt{
	float: left;
	width: 500px;
	background-position:0 0;
	background-repeat: no-repeat;
	background-size: 67px;
	padding-top: 85px;
}
#pt .ptA .blk_txt h3 {
	font-weight: normal;
	font-size: 36px;
}
#pt .ptA .blk_txt h3 span {
	font-size: 16px;
	display: block;
	margin-top: 10px;
}
#pt .ptA .blk_txt .txt {
	font-size: 18px;
	line-height: 30px;
	margin-top: 30px;
	text-align: left;
}
#pt .ptA .blk_txt .txt_en {
	font-size: 16px;
	line-height: 24px;
	margin-top: 20px;
	text-align: left;
}
#pt .ptA .blk_txt .btn {
	margin: 30px 0 0 50px;
	width: 400px;
	height: 70px;
	border: #222 solid 2px;
	line-height: 70px;
	font-size: 20px;
	
}
#pt .ptA .blk_txt .btn:hover {
	border: #bbb solid 2px;
	-webkit-transition: all .2s;
  transition: all .2s;
}
#pt .ptA .blk_img{
	float: right;
	width: 660px;
	background-image: url(../img/pt_img_bg.png);
background-position : right top ;
	background-repeat: no-repeat;
	padding: 20px 10px 0 0;
	margin-top: 60px;
}

/*  ptB  */

#pt .ptB{
	overflow: hidden;
	margin: 60px 0;
}
#pt .ptB .blk_txt{
	float: right;
	width: 500px;
	background-position:0 0;
	background-repeat: no-repeat;
	background-size: 67px;
	padding-top: 85px;
}
#pt .ptB .blk_txt h3 {
	font-weight: normal;
	font-size: 36px;
}
#pt .ptB .blk_txt h3 span {
	font-size: 16px;
	display: block;
	margin-top: 10px;
}
#pt .ptB .blk_txt .txt {
	font-size: 18px;
	line-height: 30px;
	margin-top: 30px;
	text-align: left;
}
#pt .ptB .blk_txt .txt_en {
	font-size: 16px;
	line-height: 24px;
	margin-top: 20px;
	text-align: left;
}
#pt .ptB .blk_txt .btn {
	margin: 30px 0 0 50px;
	width: 400px;
	height: 70px;
	border: #222 solid 2px;
	line-height: 70px;
	font-size: 20px;
}
#pt .ptB .blk_txt .btn:hover {
	border: #bbb solid 2px;
	-webkit-transition: all .2s;
  transition: all .2s;
}
#pt .ptB .blk_img{
	float: left;
	width: 660px;
	background-image: url(../img/pt_img_bg.png);
background-position : left top ;
	background-repeat: no-repeat;
	padding: 20px 0 0 10px;
	margin-top: 60px;
}

/*  pt icon  */
#pt .icon01{background-image: url(../img/pt_icon_point01.png);}
#pt .icon02{background-image: url(../img/pt_icon_point02.png);}
#pt .icon03{background-image: url(../img/pt_icon_point03.png);}
#pt .icon04{background-image: url(../img/pt_icon_point04.png);}

#pt .blk_txt .arr {
	background-image: url(../img/icon_arr.png);
	background-position: 20px center;
	background-repeat: no-repeat;
	background-size: 14px;
}
#pt .blk_txt .icon {
	background-image: url(../img/icon_otubB.png);
	background-position: 290px center;
	background-repeat: no-repeat;
	background-size: 18px;
}


/* ---- prs (process)---- */
#prs {
	background-color:#fbf0f0;
	padding: 90px 0 80px 0;
}

#prs #prs_ttl h2{
	font-size: 32px;
	font-weight:normal;
	padding-bottom: 15px;
}
#prs #prs_ttl hr {
	border: #222 solid 1px;
	width: 225px;
	height: 4px;
	background-color: #ffffff;
}
#prs #prs_ttl p {
	font-size: 14px;
	margin: 15px 0 0 0;
} 

/* prs box*/
#prs .box {
	width: 1200px;
	margin: 50px auto 0;
	text-align: left;
	border: #222 solid 2px;
	position: relative;
	padding-bottom: 60px;
	clear: both;
}
#prs .box .txt {
	float: left;
	width: 700px;
	margin: 60px 0 0 60px;
}

#prs .box .txt h3 {
	font-size: 28px;
	font-weight: bold;
	height: 40px;
	padding-left: 60px;
	line-height: 40px;
	background-position: 0 center;
	background-repeat: no-repeat;
	background-size: 40px;
}
#prs .box .txt h3 span {
	font-size: 16px;
	line-height: 16px;
	padding: 0 0 10px 20px;
}

#prs .box .txt .jp{
	font-size: 16px;
	line-height: 30px;
	margin: 30px 0 0 0;
}
#prs .box .txt .en{
	font-size: 15px;
	line-height: 24px;
	margin: 20px 0 0 0;
}

#prs .box .img {
	float: right;
	margin: 60px 60px 0 0;
}

#prs .box img.arr {
	position: absolute;
	bottom: -22px;
	left: 50%;
	width: 24px;
	height: auto;
	margin-left: -12px;
	z-index: 1;
}

/* prs box icon*/
#prs .box .txt h3.icon01 {background-image: url(../img/prs_icon01.png);}
#prs .box .txt h3.icon02 {background-image: url(../img/prs_icon02.png);}
#prs .box .txt h3.icon03 {background-image: url(../img/prs_icon03.png);}


/* ---- btn---- */
.btnA {
    position: relative;
    z-index: 1;
	width:900px;
	margin: 70px auto 0;
	background-color: #fff;
	border: #222 solid 2px;
	padding: 30px 0;
}
.btnA a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.btnA p.jp{
	font-size: 22px;
	background-image: url(../img/icon_otub.svg);
	background-position: 640px center;
	background-repeat: no-repeat;
	margin-left: -40px;
}
.btnA p.en{
	font-size: 15px;
	margin-top: 10px;
}

.btnA:hover {
	background-color: #222;
	color: #fff;
	-webkit-transition: all .3s;
  transition: all .3s;
}
.btnA:hover p.jp{
	background-image: url(../img/icon_otub_fff.svg);
}


/* ---- artist---- */
	
#artist {
	padding: 80px 0 80px 0;
}

#artist #artist_ttl h2{
	font-size: 38px;
	font-weight:normal;
	padding-bottom: 8px;
}
#artist #artist_ttl hr {
	border: #222 solid 1px;
	width: 130px;
	height: 4px;
	background-color: #ffffff;
}

/* artist box */
#artist .box{
	width: 1200px;
	margin: 80px auto 0;
}
#artist .box .img{
	float: left;
}
#artist .box .txt{
	float: right;
	width: 770px;
	text-align: left;
	position: relative;
}

#artist .box .txt h3{
	font-size: 30px;
	padding-bottom: 10px;
}
#artist .box .txt hr {
	border: none;
	height: 3px;
	background-color: #222;
	width: 32px;
	text-align: left;
	display: block;
	margin-inline-start: 0;
    margin-inline-end:0;
}


/* artist tub */

#artist section {
	position: relative;
}

#artist .tab {
	position: absolute;
	top:-60px;
	right: 0;
	border: #222 solid 1px;

}

#artist .tab li {
	margin: 0;
	padding: 5px;
	cursor: pointer;
	vertical-align: middle;
	text-align: center;
	background: #fff;
	float:left;
	font-size: 12px;
}
#artist .tab li.current {
	background: #222;
	color: #fff;
	border-bottom: none;
}

#artist .content{
	margin: 30px 0 0 0;
}
#artist .content ul li{
	font-size: 14px;
	margin-bottom: 8px;
	line-height: 20px;
}
#artist .content p{
	font-size: 16px;
	line-height: 30px;
	padding-top: 20px;
}

#artist .box .txt img.Balloon {
	position: absolute;
	left: -40px;
	bottom: 0;

}

#artist .contents .content {
	display: none;
}
#artist .contents .content:nth-child(1) {
	display: block;
}



/* ---- price ---- */

#price {
	background-color:#fbf0f0;
	padding: 80px 0 80px 0;
}

#price #price_ttl h2{
	font-size: 38px;
	font-weight:normal;
	padding-bottom: 8px;
}
#price #price_ttl hr {
	border: #222 solid 1px;
	width: 110px;
	height: 4px;
	background-color: #ffffff;
}


#price #p_wrap{
	width: 1200px;
	margin: 50px auto 0;
	text-align: left;
}

#price #p_wrap .box_jp{
	width: 560px;
	float: left;
}
#price #p_wrap .box_en{
	width: 560px;
	float: right;
}

#price #p_wrap .dlt dl{
	border-bottom: #222 solid 1px;
	overflow: hidden;
	padding: 30px 0 20px;
	font-size: 18px;
}

#price #p_wrap .dlt dl dt {
	float: left;
}
#price #p_wrap .dlt dl dd {
	float: right;
}

/* ---- studio ---- */

#studio {
	padding: 80px 0 80px 0;
}

#studio #studio_ttl h2{
	font-size: 38px;
	font-weight:normal;
	padding-bottom: 8px;
}
#studio #studio_ttl hr {
	border: #222 solid 1px;
	width: 136px;
	height: 4px;
	background-color: #ffffff;
}

/*box01*/
#studio #box01 {
	margin: 80px auto 0; 
	width: 1200px;
	text-align: left;
}
#studio #box01 .img01 {
	float: left;
}
#studio #box01 .detail{
	float: right;
	width: 620px;
}

#studio #box01 .detail dl {
	border-bottom: #222 solid 1px;
	padding: 24px 0;
	overflow: hidden;
	font-size: 16px;
}
#studio #box01 .detail dl dt{
	float: left;
	width: 140px;
}
#studio #box01 .detail dl dd{
	float: left;
}

#studio #box01 .detail dl.name {
	border-bottom: #222 solid 2px;
	padding: 0 0 15px 0;
}
#studio #box01 .detail dl.name dt{
	font-size: 32px;
	width: 280px;
}
#studio #box01 .detail dl.name dd{
	font-size: 18px;
	padding-top: 11px;
}



#studio #box01 .detail dl.open dd{
	padding-right: 15px;
}
#studio #box01 .detail dl.mail dd{
	padding-right: 15px;
}
#studio #box01 .detail dl.add dd{
	width: 480px;
}
#studio #box01 .detail dl.add dd.pt{
	padding-top: 10px;
	line-height: 24px;
}
#studio #box01 .detail dl.add dt{
	height:50px;

}

#studio .address {
    unicode-bidi : bidi-override;
    direction : rtl;
}

/*box02*/
#studio #box02 {
	margin: 40px auto 0; 
	width: 1200px;
	text-align: left;
}
#studio #box02 .map {
	width:540px;
	height:552px;
	float: left;
}

#studio #box02 #gmap {
	width:540px;
	height:552px;
}
#studio #box02 .img {
	float: right;
	width: 640px;
}
#studio #box02 .img img.img02{
	margin-bottom: 15px;
}
#studio #box02 .img img.img03{
	margin-right: 15px;
	width: 310px;
	height: auto;
}
#studio #box02 .img img.img04{
	width: 310px;
	height: auto;
}


/* ---- faq ---- */

#faq {
	background-color:#fbf0f0;
	padding: 80px 0 80px 0;
}

#faq #faq_ttl h2{
	font-size: 38px;
	font-weight:normal;
	padding-bottom: 8px;
}
#faq #faq_ttl hr {
	border: #222 solid 1px;
	width: 70px;
	height: 4px;
	background-color: #ffffff;
}

#faq #qa{
	width: 1200px;
	margin: 80px auto 0;
	text-align: left;
}
#faq #qa dl {
	width: 560px;
	float:left;
	margin-bottom: 50px;
}
#faq #qa dl:nth-child(2n+1){
	margin-right: 80px;
}
#faq #qa dl dt {
	font-size: 20px;
	border-bottom:#222 solid 1px;
	padding-bottom: 15px;
}
#faq #qa dl dd {
	font-size: 16px;
	line-height: 28px;
	margin-top: 15px;
}
/*hyg*/
#faq #hyg {
	width: 1200px;
	margin: 40px auto 0;
	border: #222 solid 1px;
	padding-bottom: 40px;
}
#faq #hyg h3 {
	font-size: 20px;
	padding: 40px 0 30px;
}
#faq #hyg p {
	width: 1120px;
	margin-left: 40px;
	text-align: left;
		font-size: 15px;
	line-height: 24px;
}
#faq #hyg p.jp{
padding-bottom: 15px;
}

/*att*/
#faq #att {
	width: 1200px;
	margin: 60px auto 0;
	border: #222 solid 1px;
	padding-bottom: 40px;
}
#faq #att h3 {
	font-size: 20px;
	padding: 40px 0 30px;
}
#faq #att ul {
	width: 1120px;
	margin-left: 60px;
	text-align: left;
	font-size: 15px;
	line-height: 24px;
	list-style-type: disc;
}
#faq #att ul li{
	list-style-type: disc;
}
#faq #att ul.en{
	padding-top: 15px;
}

.call_btn {
	display:none;
}


/* ---- footer ---- */

footer{
	padding: 40px 0;
	position: relative;
}
footer .logo img {
	width: 244px;
	height: auto;
}


footer p.works {
	font-size: 12px;
	position: absolute;
	right: 150px;
	top: 45px;
}
footer p.works img {
	width: 14px;
	height: auto;
	margin-left: 5px;
}

footer p.insta {
	font-size: 12px;
	position: absolute;
	right: 90px;
	top: 43px;
}
footer p.insta img {
	width: 18px;
	height: auto;
}
