@charset "UTF-8";

/* preset */
*, *:before, *:after {
box-sizing:border-box;
}
* {
margin: 0;
padding: 0; 
}
:root{
--black:#3f3f3f;
--hover:#000;
--border:1px solid #eee;
--border-bold:2px solid #1C1C1C;
--dot:1px dotted #ccc;
--bg:#fff;
--btn-bg:#ECECEC;
--hover-bg:#F3F319;
}

ul,ol,li,dd,dt,dl,address,table,tr,td,div,form,th,label,legend{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-weight:normal;line-height:1.8rem;}
ul,ol,li,dd,dt,dl,address,table,tr,td,div,form,label,em{font-weight:normal;font-style:normal;line-height:1rem;letter-spacing:0.04rem;}
ul,ol,li{list-style-type:none;}
table{border-collapse:collapse;}
th{text-align:inherit;}
caption{caption-side:bottom;}
img{max-width:100%;height:auto;border-style:none;}
main,header,footer,section,article{margin:0;padding:0;}
figure{margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0;}

p,dd{margin:0;padding:0;text-align:justify;line-height:1.7rem;letter-spacing:0.02rem;}
p ~ p{margin-top:5px;}
p img,p svg,li img,li svg{vertical-align:middle;padding-bottom:0.2em;}
th,td{line-height:1.4rem;letter-spacing:0.02rem;}

@media (max-width:767px){p,li,td,dd{font-size:15px;}}
@media (min-width:768px){p,li,td,dd{font-size:14px;}}

.n,.cc-imagewrapper{margin:0 !important;padding:0 !important;}

/* a */
a{color:var(--black);text-decoration:none;transition: all 0.3s ease 0s;border:0;backface-visibility:hidden;!important;}
a:hover{color:var(--hover);!important;}
a .st0{fill:#1C1C1C;}
a:hover .st0{fill:var(--hover);!important;}

a.btn.more{display:block;text-align:right;margin-top:8px;position:relative;padding-top:9px;text-decoration:none;color:#bbb;font-size:18px;transition: all 0.3s ease-in 0s;}
a.btn.more:hover{color:var(--black);}
a.btn.more:before{
content: '';
display: inline-block;
width: 67px;
height:6px;
background-image: url(https://u.jimcdn.com/cms/o/s01b4d2983012ded6/userlayout/img/btn-arrow.png?t=1757405108);
background-repeat: no-repeat;
background-size: contain;
vertical-align: middle;
position:absolute;
top:0;right:0;
padding-top:10px;transition: all 0.4s ease-out 0s;
}
a.btn.more:hover:before{margin-right:-8px;}

.btnbox{text-align:center;position:relative;}
.btnbox .btn.reserv{
display:inline-block;width:400px;min-width:350px;margin:0 auto;font-size:16px;padding:18px;border:1px solid #999;position:relative;text-decoration:none;color:#999;
}
@media (max-width: 1023px) {
.btnbox .btn.reserv{width:calc(100% - 40px);margin:40px auto;max-width:400px;}}
.btnbox .btn.reserv:hover{color:var(--black);background-color:#eee;border:1px solid #eee;}
.btnbox .btn.reserv:before{
content: '';
display: inline-block;
width: 67px;
height:6px;
background-image: url(https://u.jimcdn.com/cms/o/s01b4d2983012ded6/userlayout/img/btn-arrow.png?t=1757405108);
background-repeat: no-repeat;
background-size: contain;
vertical-align: middle;
position:absolute;
top:22px;right:8px;
transition: all 0.4s ease-out 0s;
}
.btnbox .btn.reserv:hover:before{
right:-4px;
}

.ja,h1,h2,h3,h4,h5,h6,ul,ol,li,dd,dt,dl,address,table,tr,td,div,form,th,label,legend,p,ul,ol,li,dd,dt,dl,address,table,tr,td,div,form,label,em,select,input{
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 200;
font-style: normal;
}

.en {
font-family: "Cormorant Infant", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
}

body,body.body {
background-color:var(--bg);
color:var(--black);
font-family: "Noto Serif JP", serif;
font-weight: 200;
}

/* nav */
#giheader {display: flex;height:120px;}
#giheader h1 img#gi_logo{width:185px;height:auto;}

nav ul li a:link,
nav ul li a:visited,
#sitemap ul li a:link,
#sitemap ul li a:visited {
text-decoration:none;
color:var(--black);
}
nav ul li a:hover{
text-decoration:none;
color:var(--hover);
}
#sitemap ul li a:hover {
text-decoration:none;
color:var(--hover);
}

@media (max-width: 1023px) {
#sitemap ul li a,
nav ul li a {
display:block;
padding:10px 20px;
border-top:var(--border);
margin:0;
}

#giheader {
display: flex;
align-items: center;
margin: 0 auto;
padding: 10px 20px;
position: relative;
}

/* ハンバーガーボタン */
.nav-toggle {
display: none;
}

.nav-toggle-label {
position: absolute;
right: 20px;
top: 15px;
cursor: pointer;
width: 30px;
height: 25px;
display: flex;
align-items: center;
justify-content: center;
z-index: 1001;
}

.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
display: block;
background: var(--black);
height: 2px;
width: 28px;
border-radius: 0;
position: relative;
transition: 0.3s ease;
}

.nav-toggle-label span::before,
.nav-toggle-label span::after {
content: "";
position: absolute;
left: 0;
}

.nav-toggle-label span::before {
top: -8px;
}

.nav-toggle-label span::after {
top: 8px;
}

/* スライドイン */
nav {
position: fixed;
top: 100px;
right: -100%;
width: 100%;
height: calc(100vh - 120px);
background: rgba(255, 255, 255, 0.9);
transition: right 0.4s ease;
z-index: 1000;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding-top: 20px;
}
.nav-toggle:checked ~ nav {
right: 0;
}
.nav-toggle:checked + .nav-toggle-label span {
background: transparent;
}
.nav-toggle:checked + .nav-toggle-label span::before {
top: 0;
transform: rotate(45deg);
}
.nav-toggle:checked + .nav-toggle-label span::after {
top: 0;
transform: rotate(-45deg);
}
nav ul {
list-style: none;
text-align: center;
padding: 0;
width: 100%;
}
}

@media (min-width: 1024px){
.nav-toggle,.nav-toggle-label {display: none;}
nav {
margin-left: auto;
position: static;
width: auto;
height: auto;
background: none;
transition: none;
display: block;
}
nav ul {list-style:none;display: flex;}
nav ul li .level_1{margin-left: 18px;padding:2px;padding-left:0px;background: rgba(255, 255, 255, 0.9);}
}
@media (min-width: 1024px){
ul.mainNav2 {
		display: block;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  position: absolute;
  padding: 10px 0;
  list-style: none;
  z-index: 100;
  top: 100%;
  left: -110px;
  transform: translateY(10px);
}

ul.mainNav2 li a {
		display: block;
		width:130px;
  padding: 6px 10px;
  border-top:1px solid rgba(255, 255, 255, 0);
  white-space: nowrap;
  opacity: 0;
  transform: translateX(20px);
  background: rgba(255, 255, 255, 0.9);
}
ul.mainNav2.show {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

}
ul.mainNav2 {
  pointer-events: none;
}

ul.mainNav2.show {
  pointer-events: auto;
}
ul.mainNav2.show li a {animation: slideInRight 0.4s ease forwards;}

ul.mainNav2.show li:nth-child(1) a { animation-delay: 0.05s; }
ul.mainNav2.show li:nth-child(2) a { animation-delay: 0.15s; }
ul.mainNav2.show li:nth-child(3) a { animation-delay: 0.25s; }
ul.mainNav2.show li:nth-child(4) a { animation-delay: 0.35s; }

@keyframes slideInRight {
  0% {opacity: 0;transform: translateX(20px);}
  100% {opacity: 1;transform: translateX(0);}
}
ul.mainNav2.show li a:hover{background: rgba(240, 240, 240, 0.9);}

nav ul li {
  position: relative;
}

/* footer */
@media (min-width: 1024px){
#sitemap{border-top:var(--border);border-bottom:var(--border);padding:25px 0;}
#sitemap ul{display:flex;justify-content:space-around;width:100%;}
#sitemap ul .anchor{display:block;}
#sitemap ul .anchor li{display:block;margin-left:20px;}
#sitemap li a{display:block;padding:6px 0;}
.gutter {margin:0 auto;padding:10px 60px 30px;}
}

#share {align-items:right;margin:0 auto;padding:10px 60px;}
#share div.cc-sharebuttons-size-64 a::after{font-size:20px !important;}
div.cc-sharebuttons-size-64 a{width:48px !important;height:48px !important;}

/* Reserve */
#reserve{padding:10px 0;}
#note,
.j-module.n.j-formnew form{width:calc(100% - 50px);margin:0 25px 30px;}

#note p{text-align:center;}

form.cc-m-form.cc-m-form-layout-0 .cc-m-form-view-element>label{
float:none!important;
max-width:calc(100% - 50px)!important;
min-width:calc(100% - 50px)!important;
width:calc(100% - 50px)!important;
margin-bottom:7px;
}

@media (min-width: 1024px){
#note,
.j-module.n.j-formnew form{max-width:800px;margin:0 auto 30px;}
form.cc-m-form.cc-m-form-layout-0 .cc-m-form-view-element>label{
display:inline-block;
float:left!important;
max-width:180px!important;
min-width:150px!important;
width:25%!important;
margin-top:12px;
}

}

/* ラジオボタン */
.cc-m-form-checkable-horizontal div label {
display: flex;
align-items: center;
gap: 0 6px;
position: relative;
padding: 12px 25px 12px 20px;
border: 1px solid #929292;
border-radius: 3px;
background-color: #92929226;
cursor: pointer;
font-size:14px;
}

.cc-m-form-checkable-horizontal div label:has(:checked) {background-color: #929292;color: #fff;}
.cc-m-form-checkable-horizontal div label::before,
.cc-m-form-checkable-horizontal div label:has(:checked)::after {border-radius: 50%;content: '';}
.cc-m-form-checkable-horizontal div label::before {width: 14px;height: 14px;background-color: #fff;}
.cc-m-form-checkable-horizontal div label:has(:checked)::after {
position: absolute;
top: 50%;
left: 27px;
transform: translate(-50%, -50%);
width: 7px;
height: 7px;
background-color: #929292;
}
.cc-m-form-checkable-horizontal div input {display: none;}

/* セレクトボックス */
.cc-m-form-select .cc-m-form-view-input-wrapper{position: relative;}
.cc-m-form-select .cc-m-form-view-input-wrapper::before,
.cc-m-form-select .cc-m-form-view-input-wrapper::after {
position: absolute;content: '';pointer-events: none;
}
.cc-m-form-select .cc-m-form-view-input-wrapper::before {
right: 0;
display: inline-block;
width: 2.8em;
height: 3em;
border-radius: 0 3px 3px 0;
background-color: #7a7a7a;
content: '';
}
.cc-m-form-select .cc-m-form-view-input-wrapper::after {
position: absolute;
top: 50%;
right: 1.4em;
transform: translate(50%, -50%) rotate(45deg);
width: 6px;
height: 6px;
border-bottom: 3px solid #fff;
border-right: 3px solid #fff;
content: '';
}
.cc-m-form-select .cc-m-form-view-input-wrapper select {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
min-width: 230px;
height: 2.8em;
padding: .4em 3.6em .4em .8em;
border: 1px solid #7a7a7a;
border-radius: 3px;
color: #606060;
font-size: 1em;
cursor: pointer;
width: 100%!important;
font-size:14px;
}
.cc-m-form-select .cc-m-form-view-input-wrapper select:focus {
outline: 1px solid #7a7a7a;
}
/* input */
input[type="text"],
input[type="email"],
input[type="date"],
.cc-m-form-view-sortable textarea{
width: 100% !important;
padding: 8px 10px !important;
border: 1px solid #969da3 !important;
border-radius: 3px !important;
color: #333!important;
line-height: 1.5 !important;
font-size:14px !important;
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="date"]::placeholder{color: #999;}

/* submit */
input[type="submit"]{display:inline-block;width:400px;min-width:350px !important;margin:40px  auto 20px !important;font-size:16px;padding:18px !important;border:1px solid #999;position:relative;text-decoration:none;color:#999;background-color:#fff !important;letter-spacing: 0.2rem;}
input[type="submit"]:hover {color:var(--black) !important;background-color:#eee !important;border:1px solid #eee !important;}
input[type="submit"]:before{
content: '';
display: inline-block;
width: 67px;
height:6px;
background-image: url(https://u.jimcdn.com/cms/o/s01b4d2983012ded6/userlayout/img/btn-arrow.png?t=1757405108);
background-repeat: no-repeat;
background-size: contain;
vertical-align: middle;
position:absolute;
top:22px;right:8px;
transition: all 0.4s ease-out 0s;
}
input[type="submit"]:hover:before{
right:-4px;
}

/* layout */
#headline,
#calendar,
#roomtype{margin:50px 20px;position:relative;}
.j-module.n.j-imageSubtitle{width:100vw;height:auto;margin:0;padding:0;}
.j-module.n.j-imageSubtitle img{width:100vw;height:auto;}

.j-blog.n.clearover.j-blogarticle #cc-matrix-,
#studio_A,#studio_B,#calendar,#headline,#roomtype,
.studio_detail,#steps .flow,#faq .q_and_a,#infoMap{
margin:0 auto;width:calc(100% - 50px);
}
#infoMap{margin-bottom:50px;}
#infoMap .gi_map{margin-top:40px;}
#studio_A,#studio_B{position:relative;}
#official{display: flex;justify-content: flex-end;gap:20px;}
#official #instagram,
#official #line{width:22px;height:22px;}

@media (max-width: 1023px) {
#official {margin: -75px auto 20px;padding: 10px 20px;}
}
@media (min-width: 769px){
.j-blog.n.clearover.j-blogarticle #cc-matrix-,
#studio_A,#studio_B,#calendar,#headline,#roomtype,
.studio_detail,#steps .flow,#faq .q_and_a,#infoMap{margin:40px auto 50px;width:calc(100% - 100px);}
}
@media (min-width: 1024px){
#giheader{align-items: center;margin:0 auto;width:calc(100% - 120px);}
#official{margin:-40px auto 20px;width:calc(100% - 120px);}
#headline{display: grid;grid-template-columns:370px 1fr;margin:30px auto;width:calc(100% - 120px);}
#calendar{display: grid;gap:10px;margin:50px auto;width:calc(100% - 120px);position:relative;}
#roomtype{display: grid;grid-template-columns:1fr 1fr;gap:30px;margin:50px auto;width:calc(100% - 120px);position:relative;}
.studio_detail{display: grid;grid-template-columns:1fr 1fr;gap:50px;margin:30px auto;width:calc(100% - 120px);position:relative;}
#studio_A,#studio_B{margin:0 auto;width:calc(100% - 120px);}
#infoMap{display: grid;grid-template-columns:1fr 1fr;gap:50px;margin:30px auto;width:calc(100% - 120px);position:relative;}
#infoMap .info_table{order: 2;}
#infoMap .gi_map{order: 1;margin-top:0;}
#steps .flow{display:grid;grid-template-columns:1fr 1fr 1fr;position:relative;margin:30px auto;width:calc(100% - 120px);}
#faq .q_and_a{display:grid;grid-template-columns:250px 1fr;position:relative;margin:30px auto;width:calc(100% - 120px);}

.cc-m-gallery-container{width:calc(100% - 120px)!important;margin:20px auto 0;padding-top:38px;}
.cc-m-gallery-container{display:grid;grid-template-columns:1fr 1fr 1fr;position:relative;}
.cc-m-gallery-cool-item img{width:100%!important;height:auto!important;}
.j-blog.n.clearover.j-blogarticle #cc-matrix-{margin:50px auto;width:calc(100% - 180px);position:relative;}
.j-module.n.j-imageSubtitle img{width:100vw;height:auto;}
}

@media (min-width: 1400px){
#giheader,#gimain,#gifooter,.j-module.n.j-imageSubtitle{max-width:1240px;margin:0 auto;}
#giheader,#headline,#roomtype,#calendar,#sitemap,#share,.gutter{padding:10px 0;}
#official{width:100%;}
}

.j-blog{margin-left:10px;}

/* top */
.blog-item{margin-top:10px;padding-bottom:6px;border-bottom:var(--border);}
@media (min-width: 769px){
#message{margin-top:25px;}
#blog-latest{display: grid;grid-template-columns:100px 1fr;gap: 30px;margin-left:100px;margin-top:30px;}
.blog-latest-list{margin-top:25px;}

.blog-item .blog-date{display:inline-block;width:80px;font-size:84%;}
.blog-item a.blog-title:link,
.blog-item a.blog-title:visited,
.blog-item a.blog-title:hover{text-decoration:none;color:var(--black);}
}
#roomtype section{padding-top:60px;position:relative;}
#roomtype .grid{display:grid;grid-template-columns:1fr 1fr;position:relative;}
#studio_A h2,
#studio_B h2{text-align:left !important;font-size:60px !important;position:absolute !important;top:30px !important;left:0;display:inline-block;}
.spec h3{font-size:16px;margin:7px 0;}
.spec li{margin-bottom:6px;}

/* calendar */
#calendar .aboutMark{margin-top:20px;}
#calendar .aboutMark li{display:inline-block;padding-right:20px;}

/* information */
.text_grid{
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns: 150px 1fr;
}
.studio_detail{margin:20px auto 40px;}
.studio_detail .features{margin:20px auto;}
.usage li{padding:6px;}
.usage li:before{content: '・ ';}
.outline{grid-row: 1;grid-column:1;}
.usage{grid-row: 1;grid-column:2;border-left:var(--border);}
.features{grid-row: 2;grid-column:1 / span 2;}

@media (min-width: 1024px){
.usage{margin-left:30px;}
}


.dli-chevron-round-right {
display: inline-block;
vertical-align: middle;
color: #333;
line-height: 1;
position: relative;
width: 0.6em;
height: 0.6em;
		transform: translateX(-25%) rotate(45deg);
		margin-right:7px;
}

.dli-chevron-round-right::before, .dli-chevron-round-right::after {
content: '';
position: absolute;
background: currentColor;
border-radius: 0.1em;
}

.dli-chevron-round-right::before {
top: 0;
left: 0;
right: 0;
height: 0.1em;
}

.dli-chevron-round-right::after {
top: 0;
right: 0;
bottom: 0;
width: 0.1em;
}

/* FAQ */

@media (max-width: 1023px){
#steps ol.flow{margin-bottom:100px;}
#steps ol.flow li{border-bottom:var(--border);padding:40px 0;}
#faq .q_and_a h3{text-align:center;}
}
@media (min-width: 1024px){
#faq .q_and_a{padding:0 60px;}
#steps ol.flow{border-right:var(--border);margin-bottom:80px;}
#steps ol.flow li{border-left:var(--border);padding:0 40px;}
}
#faq .q_and_a dl{margin-bottom:50px;margin-top:8px;}
.q_and_a dd{margin:0;padding:0;text-align:justify;line-height:1.7rem;letter-spacing:0.02rem;}

/* news */
#cc-matrix- #cc-m-1{display:inline-block;}
#cc-matrix- + #cc-m-1{display:inline-block;width:100px;font-sise:80%;}
#cc-matrix- #cc-m-1:nth-child(3){
display:block;
text-align:justify;line-height:1.7rem;letter-spacing:0.02rem;}
#cc-matrix- #cc-m-1:nth-child(5),
#cc-matrix- #cc-m-1:nth-child(6){display:block;}
#cc-matrix- #cc-m-1:nth-child(5) .cc-m-spacer{border-bottom:var(--border);height:40px!important;}
#cc-matrix- #cc-m-1.j-module.n.j-hgrid {display:block;}
#cc-matrix- #cc-m-1 p{text-align:right !important;}

#cc-matrix- #cc-m-1 p a{
display:inline-block;text-align:right;margin-top:8px;position:absolute;
padding-top:4px;
padding-right:8px;
text-decoration:none;color:#bbb;font-size:18px;transition: all 0.3s ease-in 0s;
font-family: "Cormorant Infant", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;right:33px;
}

@media (min-width: 1024px){
#cc-matrix- #cc-m-1 p a{right:8px;}
}

#cc-matrix- #cc-m-1 p a:hover{color:var(--black);}
#cc-matrix- #cc-m-1 p a:before{
content: '';
display: inline-block;
width: 67px;
height:6px;
background-image: url(https://u.jimcdn.com/cms/o/s01b4d2983012ded6/userlayout/img/btn-arrow.png?t=1757405108);
background-repeat: no-repeat;
background-size: contain;
vertical-align: middle;
position:absolute;
top:0;right:0;
padding-top:10px;transition: all 0.4s ease-out 0s;
}

#cc-matrix- #cc-m-1 p a:hover:before{margin-right:-8px;}

#load-more-blog-posts::before {
content: "";
display: block;
width: 20px;
height: 20px;
margin: 0 auto 8px;
border-left: 1px solid #bbb;
border-bottom: 1px solid #bbb;
transform: rotate(-45deg);
}
#cc-matrix-1 .j-module.n.j-imageSubtitle img{width:calc(39% - 30px);}
@media (min-width: 1024px){
#cc-matrix-1 .j-module.n.j-imageSubtitle img{width:calc(39% - 70px);}
}


.schedule{border:var(--border);padding:15px;}

/* calendar	*/
.yobiraps{padding:5px;box-shadow:none !important;border-top:var(--border);border-bottom:var(--border);}

nav ul li a img.nav-icon {
  width: 22px;
  height: auto;
  vertical-align: top;
		transition: opacity 0.3s ease;
		display:inline-block;
}

nav ul li a img.nav-icon:hover {
  opacity: 0.7;
}
@media (min-width: 1024px){
#cc-nav-view-2292719812,
#cc-nav-view-2292719912{width:40px;}
}