@charset "utf-8";
/* 
共通
 */

.only_PC{
display:none;
}

.only_SP{
display:block;
}

/* 全体高さ */
html {
	height: 100%;
	overflow-x: hidden!important;
}


*,
*:before,
*:after {
  box-sizing: border-box;
}


/* body指定 */
body {
	font-family:'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
	letter-spacing: 0;
	background-color: #f0f4eb;
	color: #333;
min-height: 100%;
overflow-x: hidden!important;
box-sizing: border-box;
}

img{
	width: 100%;
	height:auto;
}


/* 基本リンク指定 */
a:link { color: #333; text-decoration: none; }
a:visited { color: #333; text-decoration:none; }
a:hover { color: #333; text-decoration: none; }
a:active { color: #333; text-decoration: none; }

.anchor{
    display: block;
    padding-top: calc(100vh + 20px);
    margin-top: calc(-100vh - 20px);
}

.anchor_contact{
    display: block;
    padding-top: 60px;
    margin-top: -60px;
}


#Back_img{
width: 100%;
height: 90vh;
}

.Back_img_in {
width: 100%;
height: 90vh;
position: fixed;
top: 0;
left: 0;
z-index: -100;
}

.Back_img_in img{
width: 100%;
height: 100%;
object-fit:cover;
}

/* 
header 
*/
#top_logo{
width: 100%;
height: 100vh;
background: #f0f4eb;
  display: flex;
  justify-content: center;
  align-items: center;
z-index:50;	
transition:0.3s;
}

#top_logo.fixed{
height: 70px;
background: #333;
position: fixed;
top: 0;
left: 0;
}
#top_logo img{
max-width: 70%;
height: 100%;
max-height: 70%;
animation: slideUp 1s 1;
}

#top_logo.fixed img{
display: none;
}

@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(200px);
  }
  50% {
    opacity: 1;
    transform: translateY(-20px);
  }
 
  55% {
    transform: translateY(10px);
  }
  
  60% {
    transform: translateY(0);
  }

  90% {
    transform: scale(1.2);
  }
 
  80%, 100% {
    transform: scale(1.0);
  }
}



/* 
sp_menu 
*/
#menu_sp{
width: 100%;
height: 70px;
position: fixed;
top: -70px;
left: 0;
transition:0.5s;
z-index: 100;
}

#menu_sp.fixed{
top: 0;
}

#menu_sp .head_logo{
position: absolute;
top: 0;
right: 0;
text-align: right;
}

#menu_sp .head_logo a{
  display: block;
padding: 10px 20px;
position: relative;
top: 0;
right: 0;
}

#menu_sp .head_logo img{
width: auto;
height: 50px;
}

.gnavi{
position: relative;
transition: opacity 0.3s ease-in-out;
}





/* 
sp_menu_ハンバーガー
*/
.menu-btn2 {
	position: relative;
top:-20px;
	left:54px;
	display: inline-block;
    height: 70px;
	color: #fff;
cursor: pointer;
	vertical-align: middle;
}

.menu-btn {
    position: relative;
    top: 15px;
    left: 15px;	
    height: 40px;
    width: 40px;
	border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
	cursor: pointer;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 20px;
    border-radius: 1px;
    background-color: #ffffff;
    position: absolute;
transition: all 0.3s;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}


.menu-btn3 span{
display: block;
	width: 100%;
	height: 100%;
	background: #222;
}


/* 
sp_menu_ハンバーガー内
*/
#menu-btn-check {
    display: none;
}

nav {
	display: none;
    width: 100%;
    height: calc(100% - 70px);
    position: fixed;
    top: 70px;
    right: 100%;
    transition: all 0.5s;
		overflow-y: hidden;
background: #f2f2f2;
overscroll-behavior: none;
}

nav.fixed{
display: block;
}

#menu-btn-check:checked ~ nav {
    right: 0;/*メニューを画面内へ*/

}

nav li a{
display: block;
border-bottom: 1px solid #000;
padding: 10px 20px;
}

nav li a i{
padding-right: 5px;
}

nav li a span{
font-size: 0.875em;
padding-right: 5px;
}

#top .menu_top a,
#fellow .menu_fellow a,
#st_01_kakinokizaka .menu_01_kakinokizaka a,
#st_02_shimomaruko .menu_02_shimomaruko a,
#st_03_komazawa .menu_03_komazawa a,
#st_04_sunzui .menu_04_sunzui a,
#fellow .menu_fellow a{
background: #ddd;
color: #666;	
}


/* 
wrap_全体
*/
.wrap{
max-width: 100%;
height: 100%;
margin:auto;
background: #f0f4eb;
padding-bottom: 150px;
}

/* head_section */
.head_section{
padding: 100px 0;
text-align: center;
}


h3{
font-size: 2.5em;
font-weight: 800;
text-align: center;
padding-bottom: 20px;
letter-spacing: 0.05em;
}


/* 
スタジオ一覧
*/

#studio{
margin: auto;
padding-bottom: 100px;
}

#studio .st_head{
background: #f0f4eb;
}

#top #studio .st_head{
background: none;
}

#studio h2{
background:rgba(0,0,0,0.3);
color: #fff;
text-align: center;
padding: 15px;
font-size: 16px;
font-weight: 400;
}


.grid_top_st {
display: grid;
grid-template-columns: 100%;
grid-gap: 20px;
margin-bottom: 80px;
}



.ph_top_st{
  width: 100%;
aspect-ratio: 3 / 2;
  position: relative;
}


.ph_st_logo {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.ph_st {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: cover;
  background-position: center center;
  
  animation: img_switch 15s infinite;
}


#kakinokizaka .ph_st:nth-of-type(1)  { background-image: url(../01_kakinokizaka/img/01.jpg); animation-delay: 0s;}
#kakinokizaka .ph_st:nth-of-type(2)  { background-image: url(../01_kakinokizaka/img/02.jpg); animation-delay: 5s;}
#kakinokizaka .ph_st:nth-of-type(3)  { background-image: url(../01_kakinokizaka/img/03.jpg); animation-delay: 10s;}

#shimomaruko .ph_st:nth-of-type(1)  { background-image: url(../02_shimomaruko/img/01.jpg); animation-delay: 0s;}
#shimomaruko .ph_st:nth-of-type(2)  { background-image: url(../02_shimomaruko/img/02.jpg); animation-delay: 5s;}
#shimomaruko .ph_st:nth-of-type(3)  { background-image: url(../02_shimomaruko/img/03.jpg); animation-delay: 10s;}

#komazawa .ph_st:nth-of-type(1)  { background-image: url(../03_komazawa/img/01.jpg); animation-delay: 0s;}
#komazawa .ph_st:nth-of-type(2)  { background-image: url(../03_komazawa/img/02.jpg); animation-delay: 5s;}
#komazawa .ph_st:nth-of-type(3)  { background-image: url(../03_komazawa/img/03.jpg); animation-delay: 10s;}

#komazawa2nd .ph_st:nth-of-type(1)  { background-image: url(../04_komazawa2nd/img/01.jpg); animation-delay: 0s;}
#komazawa2nd .ph_st:nth-of-type(2)  { background-image: url(../04_komazawa2nd/img/02.jpg); animation-delay: 5s;}
#komazawa2nd .ph_st:nth-of-type(3)  { background-image: url(../04_komazawa2nd/img/03.jpg); animation-delay: 10s;}

#sunzui .ph_st:nth-of-type(1)  { background-image: url(../04_sunzui/img/01.jpg); animation-delay: 0s;}
#sunzui .ph_st:nth-of-type(2)  { background-image: url(../04_sunzui/img/02.jpg); animation-delay: 5s;}
#sunzui .ph_st:nth-of-type(3)  { background-image: url(../04_sunzui/img/03.jpg); animation-delay: 10s;}

@keyframes img_switch {
0%, 63%, 100% { opacity: 0;}
20%, 33% {opacity: 1;}
}

.st_desc {
margin:0 20px;
}
.st_desc p:first-child{
text-align: center;
font-size: 1.125em;
line-height: 1.2;
}

.st_desc h4{
text-align: center;
font-size: 1.625em;
font-weight: 600;
letter-spacing: 0.05em;
padding-bottom: 15px;
line-height: 1.5;
}

.but_st a{
display: block;
text-align: center;
font-weight: 500;
width:100%;
border: 1px #000 solid;
border-radius:50px;
padding:20px 0;
margin-top: 40px;
background:#333;
color: #fff;
}


/* 
スタジオ一覧footer用
*/
#footer_st{
width: 100%;
background: #d8dbd3;
}



#footer_st h2{
background:rgba(0,0,0,0.3);
color: #fff;
text-align: center;
padding: 15px;
font-size: 16px;
font-weight: 400;
}







/* FeatuedWorks */
.grid_top_fw {
display: grid;
grid-template-columns: 100%;
grid-gap: 30px;
padding: 0 20px;
}

.grid_top_fw iframe{
width: 100%;
aspect-ratio: 16/9
}

.fw_desc{
font-size: 0.875em;
line-height: 1.4;
padding-top: 7px;
}

.fw_desc p:nth-child(1) {
display: inline-block;
background: #000;
padding: 2px 6px;
color: #fff;
}

.fw_desc p:nth-child(2) {
display: inline-block;
	padding-left: 10px;
}

.fw_desc p:nth-child(3) {
font-weight: 700;
	padding: 5px 0;
}

.fw_desc a{
display: inline-block;
text-decoration: underline;
padding-left: 5px;
}






/* もっと見る */
.view_hide{
display: none;
}

.but_viewmore{
width: 100%;
padding: 0 20px;
margin: 50px 0;
text-align: center;
}


button.more {
width: 100%;
display: block;
 margin: auto;
overflow: hidden;
padding: 20px 0;
color: #333;
border: 2px dotted #000;
border-radius: 10px;
transition: .5s;
cursor: pointer;
}


button.more::after {
white-space: pre;
font-family: "Font Awesome 6 Free";
content: 'すべての動画を観る\A\f103';
font-weight: 600;
transition: .5s;
}

button.more.on-click::after{
white-space: pre;
font-family: "Font Awesome 6 Free";
content: '\f102\A動画の表示数を減らす';
font-weight: 600;
transition: .5s;
}











/* map指定 */
.map_wrap {
line-height: 0em;
margin-top: 15px;
}

.map {
height:570px;
	border:none;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}






/* footer */
footer {
	width: 100%;
	height: 50px;
	background: #383c3c;
	color:#ddd;
	text-align: center;
	font-size: 0.8em;
	line-height: 50px;
	letter-spacing: 0.05em;
font-weight:500;
}

/* backTOP */
#backTOP{
display: block;
position: fixed;
left: 0;
bottom: -50px;
font-size: 1.8em;
opacity:0.7;
color: #f4f5f7;
background:#050505;
padding:auto;
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
box-sizing: border-box;
}




/* 01_studio */
#st_intro{
padding: 100px 0;
text-align: center;
}


.st_name {
margin-bottom:50px;
line-height: 1.8;
}

.st_name p{
font-size: 1.125em;
}

.st_name h4{
text-align: center;
font-size: 2.0em;
line-height: 1.5;
font-weight: 700;
padding-bottom: 10px;
}


/* もっと見る_studioPH */
.view_hide{
display: none;
}

.but_viewmore_stph{
width: calc(100% - 40px);
padding: 0;
margin: 50px auto;
text-align: center;
}


button.morePH {
width: 100%;
display: block;
 margin: auto;
overflow: hidden;
padding: 20px 0;
color: #333;
border: 2px dotted #000;
border-radius: 10px;
transition: .5s;
cursor: pointer;
}


button.morePH::after {
white-space: pre;
font-family: "Font Awesome 6 Free";
content: 'すべての写真を観る\A\f103';
font-weight: 600;
transition: .5s;
}

button.morePH.on-click::after{
white-space: pre;
font-family: "Font Awesome 6 Free";
content: '\f102\A写真の表示数を減らす';
font-weight: 600;
transition: .5s;
}



.swiper-slide p:nth-child(2){
padding: 2px 10px;
background: #fff;
}



/* stリンクボタングリッド */
.grid_st_but01{
display: grid;
grid-template-columns: 100%;
grid-gap:20px;
margin: 0;
}

.grid_st_but01in{
display: grid;
grid-template-columns: 40px auto;
grid-gap:10px;
place-content: center;
place-items: center;
text-align: left;

}

.grid_st_but01in img{
vertical-align: middle;
}

.grid_st_but02{
display: grid;
grid-template-columns: 100%;
grid-gap:20px;
margin: 100px 20px;
}

.grid_st_but02b{
width: 100%;
margin: 100px 0;
padding: 0 20px;
}

.grid_st_but04in{
display: grid;
grid-template-columns: 1fr;
grid-gap:10px;
place-content: center;
place-items: center;
}

/* stリンクボタン */
.st_but01{
width:calc(100% - 40px);
height: 70px;
font-weight: 500;
line-height: 1.3;
border: 1px #000 solid;
border-radius:8px;
background:#fff;
color: #333;
display: flex;
justify-content: center;
align-items: center; 
margin: 0 auto;
}


.grid_st_but01in img{
	width: 40px;
}




.st_but02{
margin: 0 auto;
}

a .st_but02{
width:calc(100% - 40px);
height: 70px;
font-weight: 500;
border: 1px #000 solid;
border-radius:8px;
background:#333;
color: #fff;
display: flex;
justify-content: center;
align-items: center; 
}

.st_but_contact a .st_but02{
width:100%;
}





a .st_but03{
width:100%;
height: 170px;
font-weight: 500;
border: 1px #000 solid;
border-radius:8px;
background:#333;
color: #fff;
display: flex;
justify-content: center;
align-items: center; 
}




.st_but04{
width:100%;
height: 170px;
border: 1px #000 solid;
border-radius:8px;
background:#fff;
color: #333;
display: flex;
justify-content: center;
align-items: center; 
	text-align: center;
}


.st_but04 img{
width: 60px;
}

.st_but04 p:first-child{
font-weight: 700;
}


.st_but05{
width:80%;
border: 1px #000 solid;
border-radius:50px;
display: inline-block;
text-align: center;
padding: 15px;
margin-top: 20px;
}


.st_but06{
width:100%;
border: 1px #000 solid;
border-radius:8px;
display: inline-block;
text-align: center;
padding: 20px 0;
margin: 100px 0;
background: #333;
font-weight: 400;
	color: #fff;
}

.st_but06 p:first-child{
font-size: 1.25em;
font-weight: 600;
padding-bottom: 10px;
	
}






.st_but_contact{
padding: 0;
}




/* swiperの画像cursor */
.js-open-modal p{
cursor: pointer;
}

/* studioPHグリッド */
.grid_st_ph{
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap:20px 5px;
margin: 0 20px;
padding-top: 20px;
font-size: 0.875em;
}


/* st_info */
#st_info{
padding-top: 100px;
}
/* grid_st_info */
#grid_st_info{
display: grid;
grid-template-columns: 100%;
grid-gap:50px;
padding-top:100px;
}

.tel{
text-align: center;
}
.tel a{
font-size: 2.0em;
font-weight: 700;
}

.tel p:nth-child(3){
font-size: 0.875em;
text-align: left;
padding-top: 15px;
}
/* contact */
.wrap_contact{
width: 100%;
background: #fff;
padding: 20px;
}

.title_contact{
width: 100%;
background: #333;
color: #fff;
padding: 30px 0;
text-align: center;
}

.st_info_detail{
width: 100%;
padding: 0 20px;
}


/* mailform */
.contact_form iframe{
max-width: 100%;
border: none;
overflow: hidden;
}




.grid_st_summary{
display: grid;
grid-template-columns: 100%;
grid-gap:10px;
text-align: center;
border-top: solid #000 1px;
border-bottom: solid #000 1px;
padding: 20px 0;
margin: 30px 0;
}

.grid_st_summary p{
font-size: 1.125em;
font-weight: 500;
letter-spacing: 0.05em;
line-height: 1.6;
}

.grid_st_summary p span{
font-size: 16px;
font-weight: 400;
}

.but_price a{
display: inline-block;
background: #333;
color: #fff;
padding: 10px 20px;
margin-top: 10px;
border-radius: 30px;
}


.st_dat_lead{
line-height: 2.0;
}

.st_dat_lead .note{
font-weight: 500;
}

.st_dat{
margin-top: 15px;
font-weight: 500;
}
.st_dat p{
padding-bottom: 5px;
padding-left: 23px;
}

.st_dat p:first-child{
padding-left: 0;
}

.st_dat p i{
padding-right: 5px;
}
.st_dat_note{
font-size: 0.875em;
font-weight: 400;
}


/* st_fellow */
#st_fellow{
width: 100%;
background: #fff;
text-align: center;
margin: 100px auto;
}

.st_fellow_in{
background: #fff;
padding: 40px;
}

.grid_st_fellow{
display: grid;
grid-template-columns: 100%;
grid-gap:10px;
margin: 0 auto;
}

#st_02_shimomaruko #st_fellow{
width: 100%;
background: #fff;
text-align: center;
margin: 100px auto;
padding: 50px 20px;
}

#st_02_shimomaruko .st_but05{
margin: 40px auto;
}

#st_02_shimomaruko .grid_st_fellow{
display: grid;
grid-template-columns: 100%;
grid-gap:20px;
margin: 0 auto;
vertical-align: top;
align-items: start;
}

#st_02_shimomaruko .grid_st_fellow img{
vertical-align: top;
}

#st_02_shimomaruko .grid_st_fellow p{
padding-top: 8px;

}

#st_02_shimomaruko .grid_st_fellow p span{
display:block; 
font-size: 0.875em;
line-height: 1.5;
}

/* price */
#st_price{
width: 100%;
padding: 20px;
margin-top: 100px;
}

#st_price .st_but02{
margin-top: 100px;
}

#st_price .st_but_contact{
padding: 0;
}


.grid_price_list{
display: grid;
grid-template-columns: 100%;
grid-gap:5px;
padding-top: 20px;

font-weight: 600;
}


.grid_price_list ul{
margin-bottom: 20px;
font-weight: 400;
line-height: 2.0;
}

.grid_price_list ul span{
margin-left: 35px;
display: block;
margin-top: 2px;
font-size: 0.875em;
}

.grid_price_list li{
margin-left: 35px;
padding-top: 8px;
line-height: 1.5;
}

.grid_price_list li:first-child{
padding-top: 0;
}



.grid_price_list ul li:before {
font-family: "Font Awesome 6 Free";
  content: "\f14a ";
padding-right: 5px;
margin-left: -20px;
}



.st_but_contact{
padding: 0 20px;
}






/* 関連会社 */
#other_head{
padding: 100px 20px 150px;
text-align: center;
}


#other_head h2{
text-align: center;
font-size: 2.5em;
font-weight: 700;
padding-bottom:10px;
letter-spacing: 0.05em;
}

#fellow_content{
width: 100%;
padding: 0 20px;
}

.grid_fellow {
display: grid;
grid-template-columns: 100%;
grid-gap: 10px;
padding-bottom: 80px;
}


.fellow_desc h4{
font-size: 1.6em;
font-weight: 600;
padding-bottom: 10px;
}

.fellow_loca{
font-size: 0.875em;
padding-bottom: 10px;
}
.fellow_loca a {
text-decoration: underline;
}

.fellow_link {
padding-top: 30px;
}
.fellow_link a {
text-decoration: underline;
}




/* terms */
#st_terms{
width: 100%;
padding: 20px;
margin-top: 100px;
}



.terms_list p {
    margin-bottom: 15px;
    font-weight: 400;
    line-height: 1.8;
	margin-left: 25px;
}

.terms_list p:before {
font-family: "Font Awesome 6 Free";
  content: "\f14a ";
padding-right: 5px;
margin-left: -23px;
}

#st_terms .st_but_contact{
padding: 0;
}



/* ピッチ調整 */
.mar_t5 {
	margin-top: 5px;
}

.mar_t10 {
	margin-top: 10px;
}

.mar_t20 {
	margin-top: 20px;
}

.mar_t30 {
	margin-top: 30px;
}


.mar_b10 {
	margin-bottom: 10px;
}

.mar_b15 {
	margin-bottom: 15px;
}

.pad_t10 {
	padding-top: 10px;
}

.pad_t20 {
	padding-top: 20px;
}

.pad_b10 {
	padding-bottom: 10px;
}

.pad_tb10 {
	padding: 10px 0;
}

.pad_tb20 {
	padding: 20px 0;
}



/* modal指定 */
.mod_box{
display: flex;
align-items: center;
}

.mod_box a:hover{
opacity: 0.3;
transition:0.5s;
}

.mod_box img{
display: block;
}

/* modalフェード */
.mfp-fade.mfp-bg{
	opacity: 0;
	transition: all 0.3s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing{
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content{
	opacity: 0;
	transition: all 0.3s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content{
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content{
	opacity: 0;
}

/* modalcss上書きここから */
/* 背景透過指定 */
.mfp-bg {
    opacity: 0.9;
}

/* wrap幅調整 */
.mfp-image-holder .mfp-content {
    max-width: 80%;
}

.mfp-iframe-holder .mfp-content
{
    max-width: 80%;
}


.interstitial-wrapper {
    max-width: 80%;
}

 /* 画像下の要素隠す */
 .mfp-bottom-bar {
 display:none ;
 }


 /* 左右矢印フチ消し */
.mfp-arrow-right:before {
border-left: none;
}
.mfp-arrow-left:before {
border-right: none;
}

/* 左右矢印位置調整 */
.mfp-arrow-left {
    left: -20px;
}
.mfp-arrow {
    width: 60px;
}
/* modalcss上書きここまで */


/* セクションごとの区切りシャドウ */
.wrap, #FeatuedWorks, #st_price, #st_terms, #studio h2, #footer_st h2{
border-radius: 10px 10px 0 0;
box-shadow: 0px -8px 8px 0px rgba(0, 0, 0, 0.2);
}

.st_info_contact .title_contact{
border-radius: 20px 20px 0 0;
box-shadow: 0px -8px 8px 0px rgba(0, 0, 0, 0.2);
}
