@charset "utf-8";

body{
    font-size: 1.4em;
}

/*---------------------------------------------
	[SP] header
---------------------------------------------*/
header{
    background-image: url("/img/common/main_sp.jpg") ;
    background-position: top center;
}
.mainimg_change{
    background-image: url("/img/common/main_sp_2.jpg") ;
    background-position: top center;
}

/*---------------------------------------------
	[SP] vertical
---------------------------------------------*/
/*
.vertical {
    letter-spacing: 0.3rem;
    line-height: 2.5rem;
    font-size: 1.0em;
    margin: 0 auto;
    display: block;
}
*/
.vertical{ 
    text-align: left;
    width: 90%;
    margin: 20px auto 30px auto;
    padding-left: 1.5em;
    line-height: 2.5rem;
}
.index_gallery_txt .vertical{
    padding-left: 4.5em;
}

.poet{
    width: 90%;
    margin: 20px auto 20px auto;
    line-height: 2.5rem;
    padding-left: 1em;
}

.pc_br{ display:none;}

/*---------------------------------------------
	menu
---------------------------------------------*/
.menu {
    left: -90%;
    width: 90%;
}
.menu p {
    width: 60vw;
    text-align: center;
    font-size: 1.0em;
 }

/*---------------------------------------------
	button
---------------------------------------------*/
.btn{
    width: 80vw;
    text-align: left !important;
  }
.btn a{
      text-indent: 1.5em;
  }


/*---------------------------------------------
	[SP] column
---------------------------------------------*/
.flexbox{
    display: flex;
    flex-direction: column;
}

.column3 .flex_inner{
    width: 100%;
   }
  
.column2 .flex_inner{
    width: 100%;
   }

/*---------------------------------------------
	[SP] 01 index
---------------------------------------------*/
#index_news{
    width: 100vw;
}
#index_news .ticker{
    width: 95vw;
}
#index_news h2{
    text-align: center !important;
    border-bottom: 1px solid #666;
}
#container{
    padding-bottom: 2em;
}


/*---------------------------------------------
	all - mainview
---------------------------------------------*/

#mainview img{ width: 100%;}

#infoindex #mainview{
    width: 100vw;
    min-height: 50vh;
    display: block;
    position: relative;
    background: url("/img/common/info_mainview.jpg") no-repeat 50% 50%;
    background-size: cover;
  }
  
  #conce #mainview{
    width: 100vw;
    min-height: 50vh;
    display: block;
    position: relative;
    background: url("/img/common/conce_mainview.jpg") no-repeat 50% 50%;
    background-size: cover;
  }
  
  #gallery #mainview{
    width: 100vw;
    min-height: 50vh;
    display: block;
    position: relative;
    background: url("/img/common/gallery_mainview.jpg") no-repeat 50% 50%;
    background-size: cover;
  }
  
  #contact #mainview{
    width: 100vw;
    min-height: 50vh;
    display: block;
    position: relative;
    background: url("/img/common/contact_mainview.jpg") no-repeat 50% 50%;
    background-size: cover;
  }
  


/*---------------------------------------------
	[SP] index_concept
---------------------------------------------*/
#index_concept  .flexbox .flex_inner:nth-child(1){
    background: url(/img/concept/concept_photo_sp2.jpg) top no-repeat;
    background-repeat: no-repeat;
    background-size: cover ;
    height: 60vw;
    width: 100vw;
    margin-bottom: 2em;
} 
#index_concept2  .flexbox .flex_inner:nth-child(1){
    background: url(/img/concept_photo_sp.jpg) top no-repeat;
    background-repeat: no-repeat;
    background-size: cover ;
    height: 60vw;
    width: 100vw;
    margin-bottom: 2em;
} 

#index_concept  .flexbox .flex_inner:nth-child(2){ width: 100%;}

#index_concept .vertical{
    background-image: url("/img/index_concept_title.png") ;
    background-repeat: no-repeat;
    background-position: 5vw 0;
    background-size: 1.8em;
    margin-top: 2em;
    padding-left: 4.5em;
}

/*---------------------------------------------
	[SP] index_gallery
---------------------------------------------*/
#index_gallery .gallery_small{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row;
}
#index_gallery .gallery_small img{
    width: 50vw;
    max-height: 30vw;
 }

#index_gallery .flexbox .flex_inner{
    display: block;
}
.index_gallery_txt{
    background-image: url("/img/index_gallery_title.png") ;
    background-repeat: no-repeat;
    background-position: 10vw 0;
    background-size: 1.8em;
    margin-top: 2em;
}

#index_concept .btn,
.index_gallery_txt .btn{
    margin: 40px auto;
    text-align: center;
  }



/*---------------------------------------------
	[SP] footer
---------------------------------------------*/
footer{ margin-top: 5em;}

footer dl.company{
    margin-left: 2em;
}
footer dl.company dt{
    margin-right: 1em;
}
footer dl.company dd{
    width: 12em;
}
footer .logo svg{
    width: 90vw;
}

/*---------------------------------------------
	[SP] news - wp
---------------------------------------------*/

.info_list,
.info_side{
    width: 90%;
    margin: 0 auto;
}

.info_list .vertical{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    margin: 0 auto;
    text-orientation: mixed;
    vertical-align: baseline;
    display: inline-block;
    min-height: 25em;
}

@media only screen and (max-width: 600px) {
.widget_media_image{ display: none;} 
}


/*---------------------------------------------
	[SP] concept
---------------------------------------------*/

#concept_body_6  .flexbox .flex_inner:nth-child(3){
    background: url(/img/index_concept_sp_ttl.png) center no-repeat;
    background-repeat: no-repeat;
    background-size: contain ;
    height: 30vw;
    width: 100vw;
    margin-bottom: 2em;
} 

#concept_body_1  .flexbox .flex_inner:nth-child(1){
    background: url(/img/concept/concept_photo_sp2.jpg) top no-repeat;
    background-repeat: no-repeat;
    background-size: cover ;
    height: 60vw;
    width: 100vw;
    margin-bottom: 2em;
}
#concept_body_6  .flexbox .flex_inner:nth-child(1){
    background: url(/img/concept/concept_photo_sp.jpg) top no-repeat;
    background-repeat: no-repeat;
    background-size: cover ;
    height: 60vw;
    width: 100vw;
    margin-bottom: 2em;
} 


/*	[SP] 順番入れ替え */
#concept_body_2 .gallery_large{ order: -1;}
#concept_body_4 .gallery_large{ order: -1;}
#concept_body_7 .gallery_large{ order: -1;}

#concept_body_1  .flexbox .flex_inner:nth-child(2){ width: 100% !important;}
#concept_body_6  .flexbox .flex_inner:nth-child(1){
    background-image: url(/img/concept/concept_photo_sp.jpg) !important;
} 

/*---------------------------------------------
	[SP] form
---------------------------------------------*/
.form_inner dl dt{ width: 30%; text-align: left; margin-bottom: 10px;}

.form_inner dl{
    width: 90%;
    margin: 20px auto;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.wpcf7-not-valid-tip{
    background: #d89c9c;
    color: #fff;
    font-weight: bold;
    width: 100%;
    padding: 0.5em 1em;
    text-align: left;
}

span.form_require{
    display: block;
    font-size: 1rem;
    font-weight: bold;
    color: #31A5A6;
    padding: 0.5em 1em;
    border: #31A5A6 1px solid;
    width: 5em;
    text-align: center;
    margin-left: 0px;
  }
