@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
font: 16px/1.7 'Noto Serif JP',"Lucida Sans Unicode", "Lucida Grande","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
color:#333;
-webkit-text-size-adjust:100%;
}
#mainNav{
    font-family: 'Noto Serif JP', "Lucida Grande","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
    z-index: 2;
    background-color: #fff;
    padding: 10px 0;
    width: 100%;
    
-webkit-text-size-adjust:100%;
}

/* リンク設定
------------------------------------------------------------*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#000;
}

/*a:hover, a:active{
outline: none;
color:#8B3E14;
}*/

/*a img:hover{opacity:.8;}*/


/**** Clearfix ****/
/*nav#mainNav ul:after, nav#mainNav .inner:after, .newsTitle:after, .post:after,.inner:after,ul.news:after{content:""; display: table;clear:both;}*/
nav#mainNav ul,.newsTitle, .post, nav#mainNav .inner,ul.news{zoom: 1;}


/* レイアウト
------------------------------------------------------------*/
.inner{
margin:0 auto;
width:1100px;;
}
.inner2{
margin:0 auto;
width:80%;    
    text-align: center;
}
#content{
float:right;
width:690px;
padding:50px 0;
}

#toppage #content{
width:100%;
}

#sidebar{
float:left;
width:220px;
padding:20px 0 50px;
}

#footer{
clear:both;
} 
/* 画面外にいる状態 */
.fadein {
	opacity : 0;
	transform : translate(0px, 0);
	transition : all 1500ms;
	}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}

/* ヘッダー
*****************************************************/

/* サイト説明文
----------------------------------*/
#header h1{
width:300px;
padding:15px 0;
font-size:80%;
color:#333;
font-weight:normal;
    display: inline-block;
}

/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
clear:both;
text-align:center;
padding:30px 0 10px 0;
color: #515151;
font-size:160%;
font-weight:bold;
}
#header img{
   width: 300px;
}
/* SNS
----------------------------------*/
.sns{
text-align:right;
position: absolute;
top:25px;
left: 10%;
}

.sns img{
    width:35px;
    margin-left:15px;}


/* トップページ　メイン画像
----------------------------------*/
#mainImg{
clear:both;
margin:180px auto 0;;
line-height:0;
text-align:center;
z-index:0;
width: 80%;
position: relative;
}
#mainImg img{
    width:100%;
}
#mainImg .main_bg{
    width: 90%;
    z-index: -1;
    position: absolute;
    left: 5%;
}
#mainImg .main_bg2{
    position: absolute;
    bottom: 4%;
    right: 0;
    width: 24%;
    z-index: 1;
}
.main_img{
    text-align: center;
}
#mainImg .main_img img{
    width:80%; 
    margin: 0 auto;
}
.sp{
    display: none;
}
.pad2{
    display: none;
}
.pad3{
    display: none;
}
.m0_auto{
    margin: 0 auto;
}
.mb50{
    margin-bottom: 50px;
}
.mb80{
    margin-bottom: 80px;
}
.text{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    padding: 10px 15px;
    background:rgba(255,255,255,0.8);
    font-size: 21px;
    letter-spacing: 3px;
    z-index: 1;
}
.message{
    position: absolute;
    right: 0;
    bottom:10%;
}
.text_right{
    text-align: end;
}
.text_left{
    text-align: left;
}
.contact_fixed ul{
    position: fixed;
    right:0px;
    top:0px;
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
}
.contact_fixed ul li{
    flex-basis: 100%;
    color: #fff;
    font-size: 12px;
    background-position: 0% 50%;
    background-repeat: no-repeat;
    padding: 45px 15px 5px;
    background-color: #000;
    border-top: double 5px #fff;
    border-bottom: double 5px #fff;
    background-size: 30px;
    background-position:top 30% left 50%;
}
.contact_fixed ul a:nth-child(1) li{
    background-image: url("./images/index/EVENT_icon.png");
}
.contact_fixed ul a:nth-child(3) li{
    background-image: url("./images/index/request_icon.png");
}
.contact_fixed ul a:nth-child(2) li{
    background-image: url("./images/index/CONSULTATION_icon.png");
}
.contact_fixed ul a:nth-child(4) li{
    background-image: url("./images/index/line_icon.png");
}
.contact_fixed ul a:first-child{
    border-right: solid 1px #fff;
}
.contact_fixed ul a:nth-child(2){
    border-right: solid 1px #fff;
}
.contact_fixed ul a:nth-child(3){
    border-right: solid 1px #fff;
}

.contact_fixed ul a:last-child{
}

.contact_fixed ul a{
    transition: 0.5s;
}
.contact_fixed ul a:hover{
    opacity: 0.7;
}

.contact_fixed2 ul{
    position: fixed;
    right:100px;
    bottom:55px;
    display: none;
    flex-wrap: wrap;
    background-color: #000;
    padding:10px 20px;
    border-radius: 15px;
    width:230px;
}
.contact_fixed2 ul li{
    flex-basis: 100%;
    color: #fff;
    background-image: url("./images/index/icon_mail.png");
    background-position: 0% 50%;
    background-repeat: no-repeat;
    padding: 10px 0px 10px 50px;
}
.contact_fixed2 ul li:first-child{
    border-bottom: solid 1px #fff;
    background-image: url("./images/index/icon_tel.png");
}

/*.pagetop{
    position: fixed;
    width:50px;
    right: 3%;
    bottom:20px;
}*/
.pagetop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 10px;
    transition: 1;
}
.pagetop a{
    color: #fff;
}
.pagetop2 {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 10px;
}
.pagetop2 img{
    width:70px;
}
.pagetop2 a {
    display: block;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 1;
}
.pagetop2 a:hover {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
.btn1{
    margin-top: 30px;
    display: inline-block;
    font-weight: bold;
    padding: 10px 30px 15px;
    background-color: #000;color:#fff;
    border-radius: 35px;
    border: solid 2px #000;
    transition: 0.5s;
}
.btn1:hover{
    background-color: #FFD900;
    color:#000;
}
.btn2{
    margin-top: 30px;
    display: inline-block;
    font-weight: bold;
    padding: 10px 30px 15px;
    background-color: #000;
    border: solid 1px #000;
    color: #fff;
    transition: 0.5s;
}
.btn2:hover{
    background-color: #fff;
    border: solid 1px #000;
    color:#000;
}
.btn3{
    margin-top: 30px;
    display: inline-block;
    font-weight: bold;
    padding: 10px 20px;
    border: solid 1px #000;
    transition: 0.5s;
}
.btn3:hover{
    background-color: #000;
    border: solid 1px #000;
    color:#fff;
}
.btn4{
    margin-top: 30px;
    display: inline-block;
    font-weight: bold;
    padding: 10px 20px;
    border: solid 1px #000;
    border-radius: 20px;
    box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .7);
    transition: 0.5s;
}
.btn5{
    width:100%;
    padding: 10px 0;
    background-color: #000;
    border: solid 1px #000;
    color: #fff;
}
.btn6{
    width:100%;
    padding: 10px 0;
    background-color: #D5B145;
    border: solid 1px #D5B145;
    color: #fff;    
}
.pd10{
    padding: 10px;
}
.commit_bg{
/*    background-image: url("images/index/commit_bg2.png");*/
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
    padding-bottom: 50px;
}
.commit_flex{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
/*    background-image: url("images/index/commit_bg.png");*/
    background-size: 450px;
    background-repeat: no-repeat;
    position: relative;
}
.commit_flex li{
    flex-basis: 40%;
    margin: 0 5px 30px;
}
.commit_flex .commit_left{
    flex-basis: 50%;
    padding-left: 30px;
    align-self: flex-end;
    margin-right: 20px;
}
.commit_flex .commit_left2{
    padding-left: 50px;
    position: relative;
	flex-basis: 43%;
}
.commit_flex img{
    width:100%;
}
.commit_flex .commit2_img{
    width:350px;
    margin-top: 30px;
}
.commit_right{
    position: relative;
/*    align-self: flex-end;*/
}
.commit_right2{
    position: relative;
}
.commit_flex .commit_fade1{
    position: absolute;
    width:300px;
    top:0px;
    left: 0px;
}
.commit_flex  .commit_fade2{
    position: absolute;
    width:300px;
    top:-50px;
    right: -20px;
}
.mt30{
    margin-top: 30px;
}
.mt50{
    margin-top: 50px;
}
.mb0{
    margin-bottom: 0px;
}
.mb10{
	margin-bottom: 10px;
}
.mb15{
	margin-bottom: 15px;
	}
.mb20{
	margin-bottom: 20px;
}
.mb30{
    margin-bottom: 30px;
}
.pt50{
    padding-top: 50px;
}
.w80{
    width:80%;
    margin: 0 auto;
}
.f120{
    font-size:120%;
}
.f80{
    font-size: 80%;
}
.f70{
    font-size: 70%;
}
.f65{
	font-size: 65%;
}
.f85{
	font-size: 90%;
}
.f150{
    font-size: 150%;
}
.f200{
    font-size: 200%;
}
.f250{
    font-size: 250%;
    font-weight: bold;
}
.f300{
	font-size: 300%;
}
.lh1{
    line-height: 1;
}
.lh3{
    line-height: 3;
}
.img_w100 img{
    width:100%;
}
.orange{
    color:#EA5514;
}
.bg_gray{
    background-color: #efefef;
    padding: 20px 0 50px;
}
.bg_blue{
/*    background-color: #F2F8F0;*/
    padding: 20px 0 50px;
}
.bg_black{
    background-color: #000000;
    padding: 20px 0 50px;
	}
.text_bottom{
    position: absolute;
    right: 30px;
    bottom:50px;
}
.lineup{
/*    background-image: url("images/index/lineup_bg.png");*/
    background-size: cover;
    padding:50px 0 80px;
}
.lineup h2.title{
    margin: 20px 0;
}
.lineup p{
    width:90%;
}
.text_center{
    text-align: center;
}
.lineup_btn1,.lineup_btn2,.lineup_btn3,.lineup_btn4,.lineup_btn5,.lineup_btn6,.lineup_btn7{
    display: inline-block;
    padding: 3px 10px;
    margin-top: 10px;
    color:#fff;
}
/*
.lineup_btnall{
    background-color: #78643c;
    color: #fff;
}
.lineup_btn1{
    background-color: #54C3F1;
}
.lineup_btn2{
    background-color: #62BB79;
}
.lineup_btn3{
    background-color: #EA5E7E;
}
.lineup_btn4{
    background-color: #F39800;
}
.lineup_btn5{
    background-color: #3F88AF;
}
.lineup_btn6{
    background-color: #AD84A9;
}
.lineup_btn7{
    background-color: #848484;
}*/
.lineup_btnall,.lineup_btn1,.lineup_btn2,.lineup_btn3,.lineup_btn4,.lineup_btn5,.lineup_btn6,.lineup_btn7{
    background-color: #999;
    color: #fff;
}
#toppage .lineup h3{
    display: inline-block;
    text-align: center;
    font-size: 24px;
    padding: 0 10px;
/*    background-image: url("images/index/under.png");*/
    background-position: bottom;
    background-repeat: no-repeat;
/*   padding-bottom: 1rem;*/
/*    margin-bottom: 20px;*/
}

.lineup_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.lineup_flex li{
    flex-basis: 48%;
    background-color: #fff;
    padding:25px;
    border: solid 1px #ccc;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.lineup_flex a {
    flex-basis: 48%;
    background-color: #fff;
    margin-top: 30px;
}
.lineup_flex .lineup_img{
    width:40%;
}

.lineup_flex .lineup_text{
    width:55%;
    position: relative;
}
.lineup_flex li img{
    width:100%;
    height:190px;
    object-fit: contain;
}
#toppage .lineup .lineup_flex h3{
    font-family:'Noto Serif JP';
    background-image: none;
    border-bottom: solid 5px #000;
    padding-bottom: 0px;
    margin-bottom: 10px;
    
}
.lineup .text_right{ 
    position: absolute;
    bottom: 0;
    right: 0;
}
.top_preview{
    position: relative;
}
.top_preview_img{
    position: absolute;
    right:-70px;
    bottom:-40px;
}

.top_gallery_flex ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.top_gallery_flex ul li{
    background-color: #fff;
    padding: 10px;
    transition: 0.5s;
}
.top_gallery_flex ul li:hover{
    opacity: 0.5;
    background-color: #fff;
}
.top_gallery_flex ul a{
    position: relative;
    flex-basis: 22%;
    margin: 15px 5px;
    background-color: #fff;
}
.top_gallery_flex .lineup_btn1,.top_gallery_flex .lineup_btn2,.top_gallery_flex .lineup_btn3,.top_gallery_flex .lineup_btn4,.top_gallery_flex .lineup_btn5,.top_gallery_flex .lineup_btn6{
    position: absolute;
    top:0;
    left:10px;
    font-size: 14px;
}

.top_gallery_flex ul li img{
	width: 100%;
    height: 200px;
    object-fit: cover;
}

.top_other_flex ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.top_other_flex ul li{
    position: relative;
    flex-basis: 240px;
    height: 140px;
    padding: 10px;
}
.top_other_flex ul li img{
    width:100%;
    height:100%;
}
.top_other_flex ul li iframe{
    width:100%;
    height:100%;
}
.post{
margin:0 0 20px 0;
}

.toppage h4{
margin:0 0 10px;
font-size:16px;
font-weight:normal;
color:#333;
}


/* 記事ループ
*****************************************************/
.list{
padding:10px 0;
border-bottom:1px dashed #e4e4e4;
}

.list:last-child{border:0;}

.post .list p{padding:0;}

.list span{padding-left:10px;}


/* タイポグラフィ
*****************************************************/
h2.title{
clear:both;
margin:50px 0;
font-size:36px;
text-align:center;
    line-height: 0.9;
    letter-spacing: 2px;
}
h2.title span{
    font-size: 16px;
}

.commit .commit_flex h3.title{
    margin: 0 0 20px;
    text-align: left;
    font-size: 26px;
}

h2.title img{
    width: 100%;
}
.dateLabel{
text-align:right;
font-family:'Noto Serif JP';
}


@media only screen and (max-width:1024px){
h2.title{
margin:30px 0;
font-size:40px;
}
}

@media only screen and (max-width:480px){
h2.title{
font-size:24px;
}
h2.title span{
    font-size: 14px;
}
#toppage .lineup h3 {
    font-size: 20px;
}
}

.post p{padding-bottom:15px;}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin:5px 5px 5px 20px;
list-style-type:disc;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:10px 0 30px 0;
padding-bottom:12px;
font-size:130%;
border-bottom:2px solid #000000;
}

.post h2{
margin:10px 0 30px 0;
padding:4px 5px 4px 15px;
font-size:130%;
border-left:4px solid #000000;
}

.post h3{
margin:10px 0 30px 0;
padding-bottom:12px;
font-size:120%;
border-bottom:1px solid #999999;
}

.post h4{
margin:10px 0 30px 0;
padding:4px 5px 4px 15px;
font-size:110%;
border-left:4px solid #eeeeee;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 0;
border-left:5px solid #eeeeee;
}
 
.post ul {
margin:15px 0 30px;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #535353 solid;
border-collapse: collapse;
border-spacing: 0;
margin:20px 0 20px;
}

.post table th{
padding:15px;
border:1px #535353 solid;
border-width: 0 0 1px 1px;
background:#ececec;
}

.post table td{
padding:10px;
border: 1px #535353 solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter {
display: block;
margin:10px auto;
}

img.alignright, img.alignleft{
margin: 0 10px 15px 15px;
display:inline;
}

img.alignleft{margin:10px 15px 15px 10px;}

.alignright{float:right;}
.alignleft{float:left;}


/* サイドバー　ウィジェット
*****************************************************/
.widgetWrap, section.widget ul{
margin:10px 0 20px 0;
padding:10px 10px 0 10px;
}

section.widget ul ul{
border:0;
margin:0;
padding:0 0 0 10px;
box-shadow:none;
}

#sidebar ul#banners{
width:220px;
margin:10px 0;
}

#sidebar ul#banners li{
float:none;
margin:0 0 10px;
}

section.widget h3{
clear:both;
margin:0 0 -5px;
padding:5px 0;
font-size:110%;
border-bottom:1px solid #eee;
}

section.widget li a{
color:#000000;
display:block;
padding:7px 0 7px 0;
border-bottom:1px dashed #e4e4e4;
}

section.widget li a:hover{color:#999999;}

section.widget li:last-child a{border:0;}


/* お知らせ　
-------------*/
.news-title{
  border-bottom:none;
  width:250px;
  margin:50px 10px 10px;
  float:left;
  padding-bottom:10px;
  
}
.news-title2{
  text-align:left;
  border-bottom:none;
  margin:60px 0px 10px 50px;
  float:left;
  padding-bottom:10px;
  font-size: 120%;
  
}

.news{
  line-height:2em;
  text-align:left;
}
.news .label1,.news .label2{
    font-family: 'Noto Serif JP';
}
.news dl{
  margin-bottom:1.5em;
}
.news dt{
  width:25%;
  float:left;
}
.news dd{
  width:75%;
  float:left;
}
.newslist{
  width: 100%;
margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.newslist a{
  display: flex;
  padding:0;

    margin-left: 5%;
 flex-wrap: wrap;
    
/*background-image: linear-gradient(to right, #000, #000 1px, transparent 5px, transparent 4px);
background-size: 10px 1px;
background-position: bottom;
background-repeat: repeat-x;*/
    width:30%;
}
.newslist a:nth-of-type(3n+1){
    margin-left: 0px;
    
}
.newslist li{
    display: flex;
    flex-wrap: wrap;
    align-self: baseline;
    margin-bottom: 40px;
}
.newslist li img{
    max-width: 100%;

}
.day{
 /* flex-basis: 15%;*/
}
.label1{
  background-color:#e67d6e;
  color:#fff;
  width:100px;
  margin:0px;
  text-align: center;
    height:2em;
}
.label2{
  background-color:#69a091;
  color:#fff;
  width:100px;
  margin:0px;
  text-align: center;
}
.label3{
  background-color:#faaf46;
  color:#fff;
  width:100px;
  margin:0px;
  text-align: center;
}
.newslist li a:last-child{
    flex-basis: 100%;
    text-align: left;
  transition: all 0.3s ease 0s;
}
.text2{
   width:100%;
}
.newslist .newslist_img{
    overflow: hidden;
    height:200px;
    width:100%;
    margin-bottom: 10px;
}
.newslist .zoom-in-img img{
    object-fit: cover;
}
.newslist a:hover{
    opacity: 0.7;
}




/* トップページ */



/* フッター
*****************************************************/
.footer ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.footer ul li{
    margin: 30px 0;
}
.footer ul li:nth-child(1){
    flex-basis: 35%;
}
.footer ul li:nth-child(2){
    flex-basis: 33%;
}
.footer ul li:nth-child(3){
    flex-basis: 25%;
}
.footer p{
    line-height: 1.5;
}
.footer_img img{
    width:45px;
    margin-top: 30px;
    margin-right: 20px;
}
.footer_tel{
    background-image: url("./images/index/footer_contact_bg.png");
    background-size: contain;
    background-repeat: no-repeat;
    padding: 20px;
    text-align: center;
    margin-bottom: 20px;
    background-position: center;
}
.footer_banner p{
    position: relative;
    padding:20px 20px;
    border: 1px solid #000;
    margin-bottom: 50px;
    background-image: url("./images/index/arrow.png");
    background-repeat:no-repeat;
    background-position: 90% 50%;
    font-weight: bold;
    transition: 0.5s;
}
.footer_bg1:hover{
    background-color: #FFD900;
}
.footer_bg2:hover{
    background-color: #00B900;
    border: solid 1px #00B900;
    color: #fff;
    background-image: url("./images/index/arrow2.png");
}
.footer_banner .test{
    display: block;
    position: absolute;
    padding: 15px;
    border: none;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
    right:-10px;
    bottom:-10px
}
#copyright{
clear:both;
padding:50px 0;
text-align:center;
font-size:90%;
}

.footer_navi ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 20px 15px;
    border-bottom: solid 2px #000;
}
.footer_navi img{
    width:250px;
    margin: 50px 0;
}
.footer_navi a:hover{
	opacity: 0.6;
}
/* トップページ 最新記事4件
------------------------------------------------------------*/
ul#banners,ul.post{
width:960px;
margin-right:-20px;
padding-bottom:20px;
}

ul#banners li,ul.post li{
float:left;
width:220px;
margin-right:20px;
}

ul#banners li,ul.post li p{
margin-bottom:10px;
}

ul.post{
padding:0;
background:transparent;
border:0;
box-shadow:none;
margin:50px 0 50px 0;
}

ul.post img{
max-width:220px;
height:auto;
}

ul.post h3{
margin:10px 0;
padding-bottom:5px;
font-size:14px;
font-weight:normal;
color:#333;
border:0;
}

p.readon a{
color:#000000;
display:block;
padding:10px;
font-size:95%;
border:2px solid #000000;
text-align:center;
}

p.readon a:hover{
color:#999999;
}

ul#banners:after{content:""; display: table;clear:both;}
ul#banners{zoom: 1;}

/*コンタクトページ
***************************（11/25大森追加）*/
.contact{
	width: 1000px;
	margin: 0 auto;
}
.contact .btn5{
	max-width: 100%;
	padding-left: 15px;
	margin: 10px auto 20px;
}
.contact_btn1{
    margin-top: 30px;
    display: inline-block;
    font-weight: bold;
    padding: 10px 20px;
	background-color: #efefef;
	font-size: 80%;
}
div.contact{
	margin-bottom: 40px;
}
.f_item{
	padding-left: 8px;
	border-left: 7px solid #000000;
}
.red{
	color: red;
}
textarea{
	border-radius: 10px;
	border: solid 1.5px;
	width: 100%;
}
input.input_solo{
	border-radius: 10px;
	border: solid 1.5px;
	height: 3em;
	width: 100%;
}
input.btn{
	padding: 8px 25px;
	color: #ffffff;
	background-color: #000000;
	cursor: pointer;
}
input.btn:hover{
	opacity: 0.6;
}
.c{
	text-align: center;
}
.contact_cat{
	padding-bottom: 50px;
}
.contact_cat ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.contact_cat ul li:first-child{
	background-image: url("images/contact/mail.png");
	background-repeat: no-repeat;
	background-position-y: 50%;
	height: 55px;
}
.contact_cat ul a{
	position: relative;
    text-align: center;
    flex-basis: 270px;
    height: 55px;
    padding: 10px 20px;
    margin: 10px;
    box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .7);
    border: solid 1px #000;
    transition: 0.5s;
}
.contact_cat ul a.online{
    box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .3);
    border: solid 1px #000;
	background-color: #000000;
	color: #ffffff;
    transition: 0.5s;
}
.contact_cat a:hover{
	opacity: 0.6;
}

.contact_cat p{
	position: absolute;
    width: 270px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.contact_cat p{
	left: 55%;
}
.online p{
	left: 50%;
}
#contact2{
	width: 1100px;
	margin: 0 auto;
	color: #ffffff;
}
.contact_flow{
	background-color: #ffffff;
	width: 1000px;
	height: 6em;
	display: table-cell;
	vertical-align: middle;
	padding: 15px;
}
.contact img{
	margin: 20px auto 10px;
}
.contact_details{
	border-bottom: solid 0.5px;
	padding-bottom: 10px;
}
.contact_details a{
	text-decoration: underline;
}
::placeholder {
  color: #9fa0a0;
	font-weight: bold;
}
/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #9fa0a0;
	font-weight: bold;
}
/* IE対応 */
:-ms-input-placeholder {
  color: #9fa0a0;
	font-weight: bold;
}
.contact_flex{
	display: flex;
}
.flex_left{
	width: 60%;
	margin-top: 30px;
}
.flex_right a{
	color: #ffffff;
}
.zoom{
	width: 395px;
	height: 125px;
	background-color: #006bb8;
	margin: 35px 0 20px;
}
.line{
    width: 395px;
    height: 125px;
    background-color: #00B900;
}
.zoom:hover,.line:hover, .contact_details a:hover{
	opacity: 0.6;
}
.freeapp{
	padding: 10px 10px 0 15px;
}
.appname{
	text-align: center;
}
label{
	margin-right: 20px;
}
.border_b{
	border-bottom: solid 1px;
}
@media only screen and (max-width:1200px){
    #contact2,.contact{
        width:90%;
    }
	.btn5{
		width: auto;
	}
}

/*　幅920px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 920px){
	.contact_flex{display: block;
	}
	.flex_left{
		width: 100%;
		margin: 30px auto 0;
		text-align: center;
	}
	.flex_right{
		display: flex;
	}
	.zoom, .line{
		margin: 20px 10px 10px;
	}
}
@media only screen and (max-width: 737px){
	.flex_right{
		flex-wrap: wrap;
		justify-content: center;
	}
}
/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px){
div.panel{
display:block !important;
}

a#menu{display:none;}

nav#mainNav ul{
display: flex;
justify-content: space-around;
clear:both;
position:relative;
z-index:200;
width:100%;
margin:0 auto;
}

nav#mainNav li{
/*float: left;
margin-right:20px;*/
position: relative;
text-align: center;
/*border-left: 0.5px solid #000;*/
    padding: 5px 16px;
}
nav#mainNav li:last-child{
 /*   border-right: 0.5px solid #000;*/
    }
nav#mainNav li a{
display: block;
_float:left;
font-size:110%;
/*line-height:45px;*/
color:#000000;
/*border-bottom:1px solid #eee;*/
}

nav#mainNav li.current-menu-item a, nav#mainNav li a:hover, nav#mainNav li.current-menu-parent a{
color:#999999;
border-color:#000000;
}

nav#mainNav li.hassub li a,nav#mainNav li.hassub.current-menu-item li a, nav#mainNav li.hassub.current-menu-parent li a, nav#mainNav li.hassub li a:hover{background:none;}

nav#mainNav ul ul{
width:160px;
background:#fff;
}

nav#mainNav li ul{
display:none;
opacity:0;
}

nav#mainNav li:hover ul{
display: block;
position: absolute;
top:46px;
left:0;
z-index:500;
opacity:1;
}

nav#mainNav li li{
margin:0;
float: none;
width:160px;
}

nav#mainNav li li a, nav#mainNav li.current-menu-parent li a,nav#mainNav li.current-menu-item li a{
padding:0 0 0 5px;
height:35px;
font-size:95%;
line-height:35px;
}

nav#mainNav li.current-menu-item li a, nav#mainNav li.current-menu-parent li a{
color:#adadad;
border-bottom:1px solid #adadad;
}

nav#mainNav li li.current-menu-item a,nav#mainNav li li a:hover{
color:#999999;
border-color:#000000;
}
}
/* 1200以下から
------------------------------------------------------------*/
@media only screen and (max-width:1200px){
    .inner{
        width:90%;
    } 
    .text{
        font-size: 16px;
    }
    .footer_navi ul li{
        flex-basis: 18%;
        margin: 5px 0;
    }
    .top_other_flex ul li {
    flex-basis: 300px;
    height: 165px;
}

    .text_bottom {
    bottom: -50px;
}
    .pc2{
        display: none;
    }
}

/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
	nav#mainNav{
	clear:both;
	width:100%;
	margin:0 auto 10px;
        background-color: #efefef;
        z-index: 2;
        padding: 0;
	}
	
	nav#mainNav a.menu{
	color:#000000;
	width:100%;
	display:block;
	height:50px;
	line-height:50px;
	font-weight: bold;
	text-align:left;
	border-top:1px solid #d5d5d5;
	border-bottom:1px solid #d5d5d5;
	}
	
	nav#mainNav a.menu:before{
	content:"≡";
	font-size: 18px;
	}
	
	nav#mainNav a#menu span{padding-left:10px;
    font-size: 20px;
    letter-spacing: 1.2px;}
		
	nav#mainNav a.menuOpen{
	border-bottom:0;
	}

	nav#mainNav a.menuOpen:before{
	content:"×";
	}
	
	nav#mainNav a#menu:hover{cursor:pointer;}
	
	nav .panel{
	display: none;
	width:100%;
	position: relative;
	right: 0;
	top:0;
	z-index: 1;
	}

	nav#mainNav ul{margin:0;padding:0;}

	nav#mainNav ul li{
	float: none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1.2;
	}

	nav#mainNav ul li a{color:#000000;}

	nav#mainNav ul li:first-child{border-top:1px solid #d5d5d5;}
	nav#mainNav ul li li:first-child{border-top:0;}

	nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
	display: flex;
    align-items: center;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #ccc;
	background:#fff;
	}
	
	nav#mainNav ul li:last-child a{border:0;}
	nav#mainNav ul li li:last-child a{border:0;}
	nav#mainNav ul li li:last-child a{border-bottom:1px dashed #ccc;}

 	nav#mainNav ul li a span{
        /*display:none;*/
        margin-left: 10px;
        padding-left: 10px;
        border-left: solid 1px #000;
}
 
	nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:hover,nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active{
	background:#f6f6f6;
	}

	nav#mainNav ul li li{
	float:left;
	border:0;
	}

	nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a{
  padding-left:40px;
	background:#fff url(images/sub1.png) no-repeat 20px 18px;
	}

	nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover{
	background:#f6f6f6 url(images/sub1.png) no-repeat 20px -62px;
	}
	
	nav#mainNav ul li li:last-child a{background:#fff url(images/subLast.png) no-repeat 20px 20px;}
	nav#mainNav ul li li:last-child.current-menu-item a,nav#mainNav ul li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child a:hover{background:#f6f6f6 url(images/subLast.png) no-repeat 20px -65px;}
	
	nav div.panel{float:none;}
	
	#mainImg{margin-bottom:20px;}
    
    
    .top_gallery_flex ul li{
        flex-basis: 45%;
    }
    
    .top_other_flex ul{
        justify-content: space-around;
    }
    
    .top_other_flex ul li{
        flex-basis: 300px;
        height:165px;
    }
    .top_preview_img{
        display: none;
    }
    
    .sns {
    top: 25px;
    left: auto;
    right: 10%;
    /* top: inherit; */
    width: 200px;
}
    .sns img {
    width: 40px;
    margin-left: 15px;
}
    .contact_fixed ul {
    right: 50%;
    flex-wrap: nowrap;
    justify-content: center;
    width: 70%;
    background: none;
    padding: 0;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
    #mainImg {
    margin: 170px auto 0;
}
    
.lineup_flex .lineup_img{
    width:100%;
}

.lineup_flex .lineup_text{
    width:100%;
}
    
    .lineup .text_right {
    text-align: center;
    position: relative;
}
    

    
    
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px){
#header{width:100%}
.inner,.boxWrap{width:90%;}
    .inner2{
        width: 90%;
    }
    .inner2 .inner{
        width:100%;
    }
    .lineup .inner header{
        width:90%;
        margin: 0 auto;
    }
#mainImg img{width:96%;height:auto;}

#content, #sidebar{clear:both;width:95%;float:none;margin:0 auto;padding:10px 0;}
#sidebar{background:url(images/border.png) repeat-x;padding-top:30px;}

ul.post,ul#banners,#sidebar ul#banners{width:100%;display:table-row;margin:0;}
ul.post li,ul#banners li,#sidebar ul#banners li{float:left;width:23%;margin:0 1%;padding:0 0 20px;}
ul.post img,ul#banners li img,#sidebar ul#banners img{max-width:98%;height:auto;}

#calendar_wrap table{width:260px;margin:0;}

#footer .boxWrap{margin:0;padding:0;}
#footer .box{float:none;width:100%;margin:10px 0;}

    
    .day{
      /*  flex-basis: 20%;*/
    }
    .top_preview_img{
        display: none;
    }
    .text{
        font-size: 14px;
        text-align: center;
        width:230px;
    }
    .lineup_flex li {
        flex-basis: 25%;
    }
    .text_bottom {
    bottom: -100px;
}
}
/* 820px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 820px){
    .footer ul{
        justify-content: space-between;
    }
    .footer ul li:nth-child(1) {
    flex-basis: 100%;
} 
    .footer ul li:nth-child(2) {
    flex-basis: 50%;
}
    .footer ul li:nth-child(3) {
    flex-basis: 35%;
}
    .commit_flex .commit_left{
        padding-left: 0px;
		margin-right: 0px;
}
    .commit_flex .commit_left2 {
    padding-left: 0px;
}
    .pad{
        display: none;
    }
    .pad2{
        display: table-column;
    }
    .pad3{
        display: block;
    }
    .commit_bg{
        background: none;
    }
    .commit_flex li{
        flex-basis: 45%;
    }
    .top_gallery_flex ul a {
    flex-basis: 45%;
}
    
}

/* 幅620px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 620px){
    body{
font: 13px/1.7 'Noto Serif JP',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
color:#333;
-webkit-text-size-adjust:100%;
        padding-bottom: 100px;
}
    .contact_fixed ul {
        right:50%;
        flex-wrap: nowrap;
        justify-content: center;
        width:100%;
        background: none;;
        padding: 0;
        top:auto;
        bottom:0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
        z-index: 2;
    } 
    .contact_fixed ul li:first-child {
     /*   border-bottom: none;*/
    }
    .contact_fixed ul li a{
        padding:20px;
    }
    
    
    .contact_fixed2 ul {
        display: flex;
        right:50px;
        bottom:95px;
        flex-wrap: nowrap;
        width:auto;
        background: none;;
        padding: 0;
    } 
    .contact_fixed2 ul li {
        flex-basis: 40px;
        padding:10px 0;
        background-position: center;
        background-color: #000;
        margin:0 10px 0 0;
        border-radius: 15px;
    }
    .contact_fixed2 ul li:first-child {
        border-bottom: none;
    }
    .contact_fixed2 ul li a{
        padding:20px;
    }
    
    .pagetop2 {
    right: 5px;
    bottom:95px;
}
    .pagetop2 img {
    width: 50px;
}
        .contact_fixed ul li {
 /*   padding: 15px 10px 15px 30px;
            background-position: top 50% left 23px;*/
}
  .pagetop a {
      text-align: center;
    width: 33%;
      font-size: 16px;
}  
    
    
    
    
    
ul.post li,ul#banners li,#sidebar ul#banners li{width:42%;margin:0 0 0 6%;}
ul.post li:nth-child(2n+1){clear:left;}
.post img{max-width:100%;height:auto;}
img.alignright, img.alignleft{display:block;margin:5px 2%;max-width:96%;height:auto;}
.alignright,.alignleft{float:none;}
.news-title{
  text-align:center;
  border-right:none;
  width:150px;
  margin:50px 0 10px;
  float:left;
  padding-bottom:10px;
  
}
    .mt30{
        margin-top: 15px;
    }
    .mt50{
        margin-top: 30px;
    }
	.mb20{
		margin-bottom: 20px;
	}
    .mb30{
        margin-bottom: 30px;
    }
    .mb50{
        margin-bottom: 20px;
    }
    .mb80{
        margin-bottom: 30px;
    }
    .f150{
        font-size: 130%;
    }
    .f200{
        font-size: 170%;
    }
    .f250{
        font-size: 200%;
    }
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    .news-title2{
        margin: 60px 0 10px;
        }
    .day{
   /*     flex-basis: 30%;*/
    }
    .newslist li {
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 0;
    }
    .newslist li a {
    /*flex-basis: 100%;*/
}
    
    .newslist a {
    width: 100%;
        margin-left: 0;
        margin-bottom: 20px;
}
    .newslist .newslist_img,.newslist .newslist_text{
        width:48%;
        height:auto;
    }
    .label1,.label2,.label3{
        margin: 0;
    }
    #header h1{
        width:100%;
    }
    h1 img{
        width:100%;
    }
    
    #mainImg{
        width:90%;
    }
    #mainImg .main_bg {
    width: 105%;
    left: -2%;
}
    #mainImg .main_img img {
    width: 100%;
}
    #mainImg img {
    width: 100%;
}
    nav#mainNav .inner{
        position: relative;
    }
    .sns{
        top:0px;
        left:auto;
        right:15%;
/*        top:inherit; */
        width:150px;
    }

    .btn1{
        display: inline-block;
        line-height: 2.0;
        margin-right: 5%;
        margin-top: 15px;
        padding: 5px 15px; 
        font-size: 14px;
    }
    .commit_left{
        padding-left: 0px;
    }
    .commit_left2{
        padding-left: 0px;
    }
    .text_bottom{
        position: relative;
        right: 0px;
        bottom: auto;
        text-align: right;
    }
    .commit{
        padding-top: 30px;
    }
    .commit_flex li{
        flex-basis: 90%;
        margin: 0 5px 10px;
    }
    .lineup .inner{
        width: 100%;
    }
    .lineup_flex li{
    flex-basis: 95%;
    margin: 0; 
        padding: 5px;
    }
    .lineup_flex {
        justify-content: space-between;
    }
    .lineup_flex a {
    flex-basis: 50%;
}
    .lineup p{
        width:100%;
        font-size: 10px;
    }
    #toppage .lineup .lineup_flex h3 {
    border-bottom: solid 2px #000;
    padding-bottom: 0px;
    margin-bottom: 10px;
        font-size: 14px;
}
    .lineup_flex li img {
    height: 140px;
}
    .commit_bg{
        background: none;
        padding-bottom: 15px;
    }
    .commit h2.title{
        margin: 30px 0;
    }
    .commit_flex .commit_left{
        order:1; 
        padding-left: 0px;
        flex-basis: 100%;
    }
    .commit_flex .commit_right{
        order:2; 
    }
    .commit_flex .commit_left2{
        order:4; 
        padding-left: 0px;
		flex-basis: 80%;
    }
    .commit_flex .commit_right2{
        order:3; 
        margin-top: 50px;
    }
    .commit_fade2{
        top:-80px;
    }
    .top_gallery_flex ul li{
        flex-basis: 100%;
    }
    .top_gallery_flex ul a {
    flex-basis: 100%;
}
    #copyright{
        padding: 20px 0;
    }
        .footer_navi img{
        margin: 20px 0;
    }
    .footer ul li{
        margin: 15px 0;
    }
.footer_navi ul li{
    flex-basis: 45%;
    padding: 5px 0;
}
    .footer_banner p{
        margin-bottom: 30px;
    }
    .footer ul li:nth-child(1) {
    flex-basis: 100%;
}
    .footer ul li:nth-child(2) {
    flex-basis: 100%;
}
    .footer ul li:nth-child(3) {
    flex-basis: 100%;
}
    .footer_tel {
     padding: 15px 20px;
        background-position: left;
        text-align: left;
    }
    .footer_img img {
     width:35px;
        margin-right: 5px;
    }
	.zoom, .line{
		height: 85px;
	}
	.appname{
		margin-top: -15px;
	}
	.commit_flex .commit_left2{
    padding-left: 14px;
    position: relative;
	flex-basis: 85%;
}
    .contact_fixed ul a {
    width:33%;
        text-align: center;
}
   .commit_flex .commit_fade1 {
    top: 0px;
       width:250px;
       left:-30px;
       
}
}	

/*-----------------------------------ギャラリー-----------------------------*/
.slider li{
}
.slider li img{
    width:600px;
    height:400px;
    object-fit: contain;
    margin: 0 auto;
}
.slick-work{
    display: flex;
    align-items: center;
    justify-content: center;
}
.slick-main{
    flex-basis: 20%;
}
.slick-thumb{
    flex-basis: 70%;
}


.vertical { max-width: 200px; margin: 20px auto;}
.vertical { width: 100%; line-height: 200px; text-align: center;}
.vertical img { width: 100%;
    height:100px;
    object-fit: contain;
}
.vertical .slick-prev { left: calc(50% - 10px); top: -5%; transform: rotateZ(90deg);}
.vertical .slick-next { right: calc(50% - 10px); top: 105%; transform: rotateZ(90deg);}



.gallery h3{
    border-bottom: solid 1px #333;
    font-weight: bold;
    padding: 5px;
    margin-bottom: 10px;
}
.gallery .inner{    
    position: relative;
    padding-bottom: 150px;
    background-image: url("images/gallery/bg2.png");
    background-position: 0% 100%;
    background-repeat: no-repeat;
    
}
.gallery .inner .gallery_bg2 img{
    width:30px;
}
.gallery_bg{
    padding: 20px;
    background-color: #FFD900;
}
.gallery_flex{
    display: flex;
    align-items: baseline;
}
.gallery_flex p{
    margin-left: 15px;
}
.gallery p{
    word-break: break-all;
}
.gallery_bg2{
    position: absolute;
    top:-10px;
    right: 25%;
}
.drawing{
    text-align: center;
    margin: 50px 0;
}
.drawing img{
    width:100%;
}
.trouble{
    margin-top: 50px;
}
@media only screen and (max-width: 820px){
    .slick-main{
        flex-basis: 20%;
    }
    .slider li img{
    width:400px;
    
}
}
@media only screen and (max-width: 620px){
.gallery .inner{   
    padding-bottom: 0px;
    background-image: none;
}
.slider li img{
    width:100%;
    height: 300px;
}
    .slick-thumb{
    flex-basis: 100%;
}
}


/*-----------------------------------施工実績一覧-----------------------------*/
.gallerylist{
    display: flex;
    flex-wrap: wrap;
/*    justify-content: space-between;*/
/*	text-align: center;*/
}

.gallerylist li{
    flex-basis: 300px;
    margin: 10px 33px 20px;
    transition: 0.5s;
}
.gallerylist li:hover{
    opacity: 0.5;
}
#content .gallerylist img{
    width:300px;
    height:200px;
    object-fit: cover;
}

.gallery .lineup_btn1,.gallery .lineup_btn2, .gallery .lineup_btn3, .gallery .lineup_btn4, .gallery .lineup_btn5, .gallery .lineup_btn6{
    margin-top: 0px;
}



@media only screen and (max-width: 1024px){
    
.gallerylist li{
    flex-basis: 270px;
    margin: 10px 18px 20px;
}
	
.gallerylist img{
    width:270px;
    height:180px;
}
	
}

@media only screen and (max-width: 820px){

.gallerylist li{
/*	flex-basis: 300px;*/
    margin: 10px 37px 20px;
/*    justify-content: space-around;*/
}
}
	
@media only screen and (max-width: 620px){
    
.gallerylist{
		justify-content: space-around;
    display: flex;
    flex-wrap: wrap;
}
}

@media only screen and (max-width: 480px){
.gallerylist li {
    margin: 10px 5px 20px;
    flex-basis: 100%;
}
    .gallerylist {
    justify-content: space-around;
    display: flex;
    flex-wrap: wrap;
        width:100%;
}
    #content .gallerylist img {
    width:100%;
}
}

/*-----------------------------------オンライン内覧会-----------------------------*/
.preview_video{
    width:800px;
    margin: 0 auto 30px;
    padding: 20px 20px;
    background-color: #EFEFEF;
    position: relative;
}
.preview_video p{
    padding: 5px 10px;
    background-color: #000;
    color:#fff;
    position: absolute;
    left:20px;
    bottom:10px;
}
@media only screen and (max-width: 820px){
    
.preview_video {
    width: auto;
    }

}

/*-----------------------------------会社概要-----------------------------*/
.company_info{
    margin: 50px auto 20px;
    width:800px;
}
.company_info th,.company_info td{
    padding: 15px 10px;
    border-bottom: solid 1px #333;
}
.company_info th{
    width:25%;
    vertical-align: middle;
    text-align: center;
}
.company_info td{
    width:70%;
}
.company_info .th_last,.company_info .td_last{
    border-bottom: none;
}
.shopguide h3{
    padding: 5px 0;
    font-size: 140%;
    font-weight: bold;
    background-image: url("images/company/border.png");
    background-position: 0% 100%;
    background-repeat: no-repeat;
}
.shopguide ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 50px;
}

.shopguide ul li:nth-child(1){
    flex-basis: 35%;
}
.shopguide ul li:nth-child(2){
    flex-basis: 55%;
}
.shopguide ul li:nth-child(2) img{
    width:50%;
}
.shopguide iframe{
        width:100%;
    height: 300px;
    }
.info_table{
    width: 100%;
    table-layout: fixed;
}
.info_table th{
    width:10%;
    padding: 0 20px 0 0;
}
.info_table td{
    width:55%;
    padding: 0px;
}
.info_table th{
    border-bottom: none;
    text-align: left;
}
.info_table td{
    border-bottom: none;
}
@media only screen and (max-width: 820px){
    .company_info{
        width:100%;
    }
    .info_table th{
    width:10%;
}
}
@media only screen and (max-width: 620px){

    .company_info th,.company_info td{
        width:auto;
        display: block;
        border-bottom: none;
    }
    .company_info th{
        background-color: #efefef;
        text-align: left;
    }
.shopguide ul li:nth-child(1){
    flex-basis: 100%;
}
.shopguide ul li:nth-child(2){
    flex-basis: 100%;
}
.shopguide ul li:nth-child(2) img{
    width:100%;
}   
    .company .btn2{
        padding: 10px 10px 15px;
    }
    .info_table tr{
        display: flex;
    }
    .info_table th{
        width:15%;
        background: none;
    }
    .info_table td{
        width:80%;
    }
}

@media only screen and (max-width: 620px){
    .shopguide iframe{
        width:100%;
    }
}


/*-----------------------------------こだわり-----------------------------*/
.concept{
    position: relative;
}
.concept_bg1{
    display: inline-block;
    background-image: url("images/concept/bg1.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 0 60px;
}
.concept_bg2{
    display: inline-block;
    background-image: url("images/concept/bg2.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 0 200px;
}
.concept_bg3{
    position: absolute;
    bottom:0;
}
.concept_bg4{
    background-color: #FFFCEC;
    padding:80px 0 30px;
}
.concept_bg5{
    display: inline-block;
    background-image: url("images/concept/bg5.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 0 60px;
}
.concept_bg6{
    display: inline-block;
    background-image: url("images/concept/bg6.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 0 60px;
}
.greeting ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 30px;
}

.greeting ul li:nth-child(1){
    flex-basis: 45%;
    line-height: 2.0;
}
.greeting ul li:nth-child(2){
    flex-basis: 45%;
}
.greeting ul li:nth-child(2) .greeting_img1{
    width:100%;
}
.greeting ul li:nth-child(2) img{
    width:49%;
}
.can{
    line-height: 2.5;
}
.consultation{
    display: inline-block;
}
.consultation p{
    padding: 10px 50px;
    border: solid 1px #333;
}
.consultation_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
}
.consultation_flex li{
    flex-basis: 20%;
    margin: 10px 5px;
}
.consultation_flex li p{
    text-align: left;
}
.consultation_flex h3{
    background-color: #FFD900;
    padding: 5px 0;
    width:80%;
    margin: 0 auto;
    font-weight: bold;
}
.consultation_flex img{
    width:55%;
}
.reason h4{
    padding: 20px ;
    border-bottom: solid 1px #333;
}
.reason p{
    padding: 20px;
    text-align: left;
}

@media only screen and (max-width: 820px){

.concept_bg2{
    padding: 0 100px;
}
.greeting ul li:nth-child(1){
    flex-basis: 100%;
    line-height: 2.0;
    order:2;
}
.greeting ul li:nth-child(2){
    flex-basis: 100%;
    order:1;
}
.consultation_flex li{
    flex-basis: 24%;
    margin: 10px 0px;
}
}

@media only screen and (max-width: 820px){
    .concept_bg1{
        padding: 0px;
        background: none;
}
    .concept_bg2{
        padding: 0px;
        background: none;
}    
    .concept_bg5{
        padding: 0pc;
        background: none;
    }
    .concept_bg6{
        padding: 0px;
        background: none;
    }
    
}

@media only screen and (max-width: 620px){
   .consultation_flex li{
    flex-basis: 50%;
    margin: 10px 0px;
} 
    .greeting ul li:nth-child(2) img{
        width:48%;
}
}
/*-----------------------------------ニュース・ブログ-----------------------------*/


.news_cat ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 50px;
    font-family: 'Noto Serif JP';
}


.news_cat ul a{
    flex-basis: 15%;
    padding: 5px 10px;
    text-align: center;
    box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .1);
    margin: 5px 20px;
}
.news_details .text_center a{
    text-align: left;
}
.news_details a{
    padding:5px 40px;
    background-image:url("images/news/PDF_32.png");
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;

    
}
.news_details a:hover{
    opacity: .6;
}
/*
.tab{
	border-radius: 5px;
	background-color:#aaa;
	padding: 10px 75px;
	text-decoration: none;
	color: white;
	box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .1);
	margin: 0 10px;
}

.tab2{
	border-radius: 5px;
	background-color:#FFA021;
	padding: 10px 75px;
	text-decoration: none;
	color: white;
	box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .1);
	margin: 0 10px;
}

.tab3{
	border-radius: 5px;
	background-color:#8B3E14;
	padding: 10px 75px;
	text-decoration: none;
	color: white;
	box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .1);
	margin: 0 10px;
}*/




.news_cat ul a:nth-child(1){
    background-color: #999;
    color: #fff;
}
.news_cat ul a:nth-child(2){
    background-color: #999;
    color:#fff;
}
.news_cat ul a:nth-child(3){
    background-color: #999;
    color:#fff;display: none;
}
.news_cat ul a:nth-child(4){
    background-color: #69a091;
    color:#fff;
}

.text2 h3{
    font-size: 140%;
    font-weight: bold;
}
.newspage .label1{
    margin: 0 0 10px;
}
.newspage .label2 {
    margin: 0 0 10px;
}
.newspage .label3 {
    margin: 0 0 10px;
}
.newspage .text2 h3{
    /*background-image: url("images/news/underline.png");*/
    background-repeat: no-repeat;
    background-position: 0 100%;
    padding-bottom: 0px;
}
.newspage .text2:hover{
    text-decoration: none;
}
.newspage p{
    margin: 20px 0 50px;
    word-break: break-all;
}
.newspage .btn3 p{
    margin: 0px;
}
.newspage img{
    max-width: 100%;
}
@media only screen and (max-width: 1024px){
.news_details img{
    max-width: 800px;
}
}
@media only screen and (max-width: 820px){
.news_details img{
    max-width: 600px;
}
}
@media only screen and (max-width: 620px){
.news_details img{
    width: 100%;
}
    .news .label1, .news .label2{
        margin-right: 30%;
    }
.news_cat ul a{
    margin: 5px;    
}
}


/*-----------------------------------よくあるご質問-----------------------------*/
.qa .qa_bg1{
    padding: 20px;
    background-image: url("images/qa/subtitle.png");
    background-position: 35% 30%;
    background-size: contain;
    background-repeat: no-repeat;
}
.qa_bg2{
    padding:0 0 20px 0;
    background-image: url("images/qa/qa_bg.png");
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;  
}
.qa-list dl {
    position: relative;
    margin: 10px 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    background-color: #fff;
}

.qa-list dl::before {
    position: absolute;
    top: 25px;
    right: 35px;
    display: block;
    margin: auto;
    content: '＋';
    transform: rotate(90deg);
    transition: 0.3s;
    font-size: 25px;
}
.qa-list .open::before {
    transform: rotate(135deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 20px;
    color: #3285bf;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 33px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 30px 0 0 50px;
    border-top: solid 1px #333;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
.qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 3px;
    left: 5px;
    content: 'Q.';
}
.qa-list dl dd::before {
    font-size: 14px;
    top: 15px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 10px 0 0 30px;
    font-size: 14px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}
@media screen and (max-width: 620px) {
.qa .qa_bg1{
    text-align: center;
    display: inline-block;
    padding: 5px 5px 10px 5px;;
    background-image: url("images/qa/subtitle_s.png");
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 20px;
    height: 20px;
    font-size: 15px;
}
}


/*-----------------------------------家ができるまで-----------------------------*/
.flow_cat{
    padding-bottom: 50px;
    border-bottom: solid 1px #000;
}
.flow_cat ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.flow_cat ul a{
    position: relative;
    text-align: center;
    flex-basis: 270px;
    height:55px;
    padding: 10px 20px;
    margin: 10px;
    box-shadow: 3px 3px 0px 0 rgba(0, 0, 0, .7);
    border: solid 1px #000;
    transition: 0.5s;
}
.flow_cat ul a:hover{
    background-color: #FFD900;
    color: #000;
    
}
.flow_cat p{   
    position: absolute;
    width:280px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.flow_cat1{
    position: relative;
    text-align: center;
    width: 270px;
    height:55px;
    padding: 10px 20px;
    margin: 0 auto 30px;
    border: solid 1px #000;
    background-color: #FFD900;
}
.flow_cat1 p{   
    position: absolute;
    width:280px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.flow1 ul{
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width:500px;
    margin: 0 auto;
}
.flow1 ul li{
    flex-basis: 500px;
    margin-top: 40px;
    
}
.flow1 ul li p{
    padding: 10px 0;
    border: solid 1px #000;
    text-align: center;
    position: relative;
}
.flow1 ul li p::before{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -160%);
    -webkit-transform: translate(-50%, -160%);
    -ms-transform: translate(-50%, -160%);
    content:"▼";
    font-size: 150%; 
}

.flowfirst p::before{
    display: none;
}

.flow1 ul li ul li{
    flex-basis: 240px;
    margin-top: 0px;
}
.flow .btn4{
    margin-top: 30px;
    display: inline-block;
    font-weight: inherit;
    padding: 10px 20px;
    border: none;
    border-radius: 20px;
    box-shadow: none;
    transition: 0.5s;
    background-color: #efefef;
    }
@media only screen and (max-width: 620px){
    .flow .btn4{
    margin-top: 30px;
    display: inline-block;
    font-weight: inherit;
    padding: 10px 20px;
    border: none;
    border-radius: 20px;
    box-shadow: none;
    transition: 0.5s;
    background-color: #efefef;
    width: 230px;
    }
    .flow .mb80{
        margin-bottom: 60px;
    }
.flow1 ul{
    width:100%
    }
.flow1 ul li{
    flex-basis: 100%;
    margin-top: 40px;  
}
.flow1 ul li ul{
    width:100%;
} 
.flow1 ul li ul li{
    flex-basis: 140px;
    margin-top: 0px;
}
.flow1 ul li p::before{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -170%);
    -webkit-transform: translate(-50%, -170%);
    -ms-transform: translate(-50%, -170%);
    content:"▼";
    font-size: 150%; 
}
.flow_cat1{
    padding: 10px;
}
}

/*-----------------------------------ラインナップ-----------------------------*/
.lineup_bg1{
    padding:30px 0;
    background-color:rgba(143,211,245,0.3);
}
.lineup_bg1 .inner{
    position: relative;
}
.lineup_bg1 .inner .lineup_img{
    position: absolute;
    right:0px;
    top:-50px;
}
.lineup_bg1 .lineup_img img{
    width:500px;
	margin-top: -45px;
}

.lineup_bg2{
    padding:30px 0;
    background-color:rgba(98,187,121,0.30);
}
.lineup_bg2 .inner{
    position: relative;
}
.lineup_bg2 .inner .lineup_img{
    position: absolute;
    right:0px;
    top:86px;
}
.lineup_bg2 .lineup_img img{
    width:450px;
    margin-top: -178px;
}
.lineup_bg3{
    padding:55px 0;
    background-color:rgba(237,115,88,0.20);
}
.lineup_bg3 .inner{
    position: relative;
}
.lineup_bg3 .inner .lineup_img{
    position: absolute;
    right:0px;
    top:-83px;
}
.lineup_bg3 .lineup_img img{
    width: 450px;
	margin-top: 55px;
}



.lineup_bg4{
    padding:30px 0;
    background-color:rgba(243,152,0,0.20);
}
.lineup_bg4 .inner{
    position: relative;
}
.lineup_bg4 .inner .lineup_img{
    position: absolute;
    right:0px;
    top:0px;
}
.lineup_bg4 .lineup_img img{
    width:470px;
	margin-top: 35px;
}


.lineup_bg5{
    padding:30px 0;
    background-color:rgba(75,157,201,0.20);
}
.lineup_bg5 .inner{
    position: relative;
}
.lineup_bg5 .inner .lineup_img{
    position: absolute;
    right:0px;
    top:-6.5px;
}
.lineup_bg5 .lineup_img img{
    width:470px;
	margin-top: -7px;
}


.lineup_bg6{
    padding:30px 0;
    background-color:rgba(173,132,169,0.20);
}
.lineup_bg6 .inner{
    position: relative;
}
.lineup_bg6 .inner .lineup_img{
    position: absolute;
    right:0px;
    top:15px;
}
.lineup_bg6 .lineup_img img{
    width:480px;
}


.lineuppage h4{
    font-size: 150%;
	font-weight: bold;
    padding-bottom: 10px;
    margin-bottom: 15px;
    border-bottom: solid 1px #000;
}
.lineup_cat{
    display: flex;
    flex-wrap: wrap;
}
.lineup_cat p{
    margin: 10px;padding: 3px 10px;
    border-radius: 15px;
    background-color: #54C3F1;
    color: #fff;
}
.lineup_cat2 p{
    display: inline-block;
    margin: 10px;padding: 3px 10px;
    border-radius: 15px;
    background-color: #62BB79;
    color: #fff;
}

.lineup_cat5 p{
    display: inline-block;
    margin: 10px;padding: 3px 10px;
    border-radius: 15px;
    background-color: #4B9DC9;
    color: #fff;
}

.lineup_cat6 p{
    display: inline-block;
    margin: 10px;padding: 3px 10px;
    border-radius: 15px;
    background-color: #AD84A9;
    color: #fff;
}

.lineup_cat_flex{
    position: relative;
}
.lineup_cat_flex img{
    position: absolute;
    top:-80px;
    right:0px;
    
}
.lineup_cat_flex ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.lineup_cat_flex ul li{
/*    flex-basis: 16%;*/
    text-align: center;
    margin-bottom: 15px;
}
.lineup_cat_flex ul li div{
    
    padding: 10px 20px;
    display: block;
}

.lineup_concept{
    padding: 3px 10px;
    margin-bottom: 20px;
    width:80px;
    text-align: center;
    color:#fff;
    background-color: #000;
}
.lineup_point{
	padding: 3px 10px;
    margin-bottom: 20px;
    width:80px;
    text-align: center;
    color:#fff;
    background-color: #000;
	margin-top: 30px;
}

.lineup_info_flex ul{
    display: flex;
    /*flex-wrap: wrap;*/
    justify-content: space-between;
}
.lineup_info_flex ul li{
    flex-basis: 50%;
}
.lineup_info_flex ul li:nth-child(2){
    flex-basis: 750px;
}

.titlebar1{
    font-size: 250%;
    font-weight: bold;
    padding-top:0.5em;
    background-image: url("images/lineup/title_bg1.png");
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}
.titlebar2{
    font-size: 250%;
    font-weight: bold;
    padding-top:0.5em;
    background-image: url("images/lineup/title_bg2.png");
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}
.titlebar3{
    font-size: 250%;
    font-weight: bold;
    padding-top:0.5em;
    background-image: url("images/lineup/title_bg3.png");
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}
.titlebar4{
    font-size: 200%;
    font-weight: bold;
    padding-top:1em;
    background-image: url("images/lineup/title_bg4.png");
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}
.titlebar5{
    font-size: 250%;
    font-weight: bold;
    padding-top:0.5em;
    background-image: url("images/lineup/title_bg5.png");
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}
.titlebar6{
    font-size: 250%;
    font-weight: bold;
    padding-top:0.5em;
    background-image: url("images/lineup/title_bg6.png");
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}
.lineup_nextbtn .btn1:hover{
    background-color: #fff;
    color:#000;
}
.lineup_nextbtn2 .btn1:hover{
    background-color: #62BB79;
    color:#fff;
}
.lineup_nextbtn3 .btn1:hover{
    background-color: #EA5E7E;
    color:#fff;
}
.lineup_nextbtn4 .btn1:hover{
    background-color: #F39800;
    color:#fff;
}
.lineup_nextbtn5 .btn1:hover{
    background-color: #4B9DC9;
    color:#fff;
}
.lineup_nextbtn6 .btn1:hover{
    background-color: #AD84A9;
    color:#fff;
}
.collaboration ul{
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.collaboration ul li{
    margin: 10px;
}
.collaboration_point ul{
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.collaboration_point2 ul{
    margin-top: 10px;
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}

.collaboration_point2 li{
    margin-top: 30px;
}

.collaboration_point ul li{
    flex-basis: 30%;
    margin: 10px 0;
	display: flex;
	flex-wrap: wrap;
}
.collaboration_point ul li img {
    width:100%;
}
.lineup_flex2_img img{
    width:100%;;
}
.collaboration_point h3{
    text-align: center;
    font-size: 120%;
    padding: 5px;
    border: solid 1px #000;
    margin-bottom: 20px;
	width: 100%;
}
.collaboration_point li p{
	height: 8em;
}

.collaboration_point3 ul{
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.collaboration_point3 ul li{
    flex-basis: 30%;
}
.collaboration_point3 h3{
    text-align: center;
    font-size: 120%;
    padding: 5px;
    border: solid 1px #000;
    margin-bottom: 30px;
}

.title_flex{
    display: flex;
    align-items: baseline;
}
.lineup_flex2 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.lineup_flex2 ul li{
    flex-basis: 75%;
    margin: 20px 0px;
}
.lineup_flex2 ul .lineup_flex2_img{
    flex-basis: 20%;
}

.fullrenovation_option{
	position: relative;
	background-color:rgba(173,132,169,0.20);
	padding: 8px;
	margin-top: 60px;
}

.fullrenovation_option h5{
	font-size: 25px;
	font-weight: bold;
	text-align: center;
}

.fullrenovation_option:after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: rgba(173,132,169,0.20) transparent transparent transparent;
  border-width: 20px 20px 0 20px;
}
.madori_img{
    max-width: 100%;
}
@media only screen and (max-width: 1024px){

.lineup_flex2 ul .lineup_flex2_img img {
    width:100%;
}
.collaboration_point3 ul li img{
    width:100%;
}    
.collaboration_point ul li img{
    width:100%;
} 
.collaboration_point li p{
	height: auto;
	margin-bottom: 10px;
}	
}
@media only screen and (max-width: 820px){
.lineup_bg1 {
    padding: 230px 0 30px;    
}
.lineup_bg2 {
    padding: 230px 0 30px;
}
.lineup_bg3 {
    padding: 180px 0 30px;
}
.lineup_bg4 {
    padding: 210px 0 30px;
}
.lineup_bg5 {
    padding: 230px 0 30px;
}
.lineup_bg6 {
    padding: 230px 0 30px;
}
.lineup_bg1 .inner .lineup_img {
     top: -260px; 
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.lineup_bg2 .inner .lineup_img {
    top: -270px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.lineup_bg3 .inner .lineup_img {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -200px;
}
.lineup_bg4 .inner .lineup_img {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -260px;
}
.lineup_bg5 .inner .lineup_img {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -210px;
}
.lineup_bg6 .inner .lineup_img {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -210px;
}
.lineup_bg1 .lineup_img img {
    width: 350px;
    margin-top: 0px;
}
.lineup_bg2 .lineup_img img {
    width: 350px;
    margin-top: -20px;
}
.lineup_bg3 .lineup_img img {
    width: 330px;
    margin-top: 10px;
}
.lineup_bg4 .lineup_img img {
    width: 330px;
    margin-top: 55px;
}
.lineup_bg5 .lineup_img img {
    width: 350px;
}
.lineup_bg6 .lineup_img img {
    width: 350px;
}
.lineup_info_flex ul {
    flex-wrap: wrap;
    justify-content: space-between;
}
.lineup_info_flex ul li{
    flex-basis: 100%;
}
.lineup_cat_flex ul li {
    flex-basis: 30%;
}

.lineup_info_flex ul li:nth-child(2) {
    flex-basis: 100%;
}

.responsive .lineup_info_flex ul li {
    flex-basis: 100%;
}
.collaboration_point ul {
    margin-top: 10px;
    }
.collaboration ul li {
    flex-basis: 40%;
}
    .collaboration ul li img{
    width:100%;
}
.collaboration ul li:nth-child(2){
    flex-basis: 10%;
}
.collaboration_point ul li {
    flex-basis: 100%;
}
.title_flex {
    display: block; 
}
.collaboration_point3 ul li img {
    width:100%;
}
.lineup_cat_flex ul li div{
    
    padding: 10px;
}
}
@media only screen and (max-width: 620px){
    .text_center2{
        text-align: center;
    }
.lineup_bg1 {
    padding: 265px 0 30px;    
}
.lineup_bg2 {
    padding: 255px 0 30px;
}
.lineup_bg3 {
    padding: 228px 0 30px;
}
.lineup_bg4 {
    padding: 228px 0 30px;
}
.lineup_bg5 {
    padding: 228px 0 30px;
}
.lineup_bg6 {
    padding: 229px 0 30px;
}
.lineup_bg1 .lineup_img img {
    width:230px;
    margin-top: -10px;
}
.lineup_bg2 .lineup_img img {
    width:230px;
    margin-top: -5px;
}
.lineup_bg3 .lineup_img img {
    width:230px;
	margin-top: -43px;
}
.lineup_bg4 .lineup_img img {
    width:230px;
    margin-top: 27px;
}
.lineup_bg5 .lineup_img img {
    width:230px;
	margin-top: -3px;
}
.lineup_bg6 .lineup_img img {
    width:230px;
    margin-top: -3px;
}
.lineup_bg1 .inner .lineup_img {
    text-align: center;
    top: -230px;
    left: 0%;
    transform: translateX(-0%);
    -webkit-transform: translateX(-0%);
    -ms-transform: translateX(-0%);
}
.lineup_bg2 .inner .lineup_img {
    text-align: center;
    top: -230px;
    left: 0%;
    transform: translateX(-0%);
    -webkit-transform: translateX(-0%);
    -ms-transform: translateX(-0%);
}
.lineup_bg3 .inner .lineup_img {
    text-align: center;
    top: -160px;
    left: 0%;
    transform: translateX(-0%);
    -webkit-transform: translateX(-0%);
    -ms-transform: translateX(-0%);
}
.lineup_bg4 .inner .lineup_img {
    text-align: center;
    top: -230px;
    left: 0%;
    transform: translateX(-0%);
    -webkit-transform: translateX(-0%);
    -ms-transform: translateX(-0%);
}
.lineup_bg5 .inner .lineup_img {
    text-align: center;
    top: -200px;
    left: 0%;
    transform: translateX(-0%);
    -webkit-transform: translateX(-0%);
    -ms-transform: translateX(-0%);
}
.lineup_bg6 .inner .lineup_img {
    text-align: center;
    top: -200px;
    left: 0%;
    transform: translateX(-0%);
    -webkit-transform: translateX(-0%);
    -ms-transform: translateX(-0%);
}
.collaboration ul li {
    flex-basis: 100%;
}
    .collaboration ul li img{
    width:100%;
}
.collaboration ul li:nth-child(2){
    flex-basis: 10%;
}
.lineup_flex2 ul .lineup_flex2_img {
    flex-basis: 100%;
}
.lineup_flex2 ul li {
    flex-basis: 100%;
    margin: 10px 0px;
}
.collaboration_point3 ul li {
    flex-basis: 100%;
    margin: 10px 0;
}
.collaboration_point2 li{
    flex-basis: 48%;
}
.collaboration_point2 li img{
    width:100%;
}
    .lineuppage .btn1{
        margin-bottom: 30px;
    }
}
/*-----------------------------------Lineup 樽谷追記-----------------------------*/
.contentsprice{
	margin-left: 65px;
}
    
@media only screen and (max-width: 820px){
.contentsprice{
    margin-top: 25px;
	margin-left: 0px;
}
}


/*-----------------------------------コンテスト-----------------------------*/
.contest_img img{
    width:100%;
}

.contest_flex ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.contest_flex ul li{
    flex-basis: 30%;
}

.contest_present{
    border: solid 1px #D5B145;
    position: relative;
    padding-bottom: 30px;
    background-image: url("images/contest/contest_bg.png");
    background-repeat: no-repeat;
    background-position: 40% 40%;
}
.contest_img2{
    position: absolute;
    right:20px;
    bottom:20px;
}
.contest_present p{
    color:#D5B145;
    margin-bottom: 20px;
}
.contest_present .mb0{
    margin-bottom: 0px;
}
.contest_present .white2{
    color:#fff;
}
.contest_flex2{
    display: flex;
    justify-content: center;
}
.contest_present .white{
    color: #fff;
    background-color: #D5B145;
    padding: 5px 20px;
    border: solid 1px #D5B145;
}
.contest_present .border_gold{
    padding: 5px 20px;
    border: solid 1px #D5B145;
}

.contest_conditions{
    border: solid 1px #000;
}
.contest_conditions p{
    
}
.contest_conditions .text_left{
    margin: 20px;
}

.contest_conditions .text_left p{
    margin-bottom: 15px;
}
.contest_conditions .text_left span{
    margin-left: 1em;
}
.contest_flex3{
    display: flex;
    margin: 20px;
}
.contest_flex3 p:nth-child(1){
    padding: 5px 20px;
    border-radius: 20px;
    background-color: #000;
    color: #fff;
}

.contest_flex3 p:nth-child(2){
    padding: 5px;   
}


@media only screen and (max-width: 820px){
.contest_present {
    background-image:none;

}
    .contest_present .red{
        color: red;
    }
.contest_img2{
    display: none;
}
}


@media only screen and (max-width: 620px){
.contest_flex3 {
    display: block;
}
.contest_flex2 {
    margin: 0 15px;
    flex-wrap: wrap;
}
.contest_present .white {
    padding: 5px 0;
    margin-bottom: 0px;
    flex-basis: 100%;
}
.contest_flex3 p:nth-child(1) {
    display: block;
    padding: 5px 20px;
    border-radius: 0px;
    background-color: #999;
    color: #fff;
}
}


/*-----トップのフェードイン-------*/
.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
    text-align: center;
}
.start p {
    font-weight: bold;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
    font-size: 120%;
}


@media only screen and (max-width: 620px){
.start p {
    width:95%;
}
    .start p img{
        width:250px;
    }
}
@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

.preview_banner{
    width:840px;
	text-align: center;
    margin: 0 auto;
}
.preview_banner img{
    width:100%;
}
.movie{
    margin: 0 auto 50px;
    width: 900px;
    height: 506px;
}
.movie ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width:1100px;
    margin: 0 auto;
}
.movie li{
    width:240px;
    height:140px;
    margin-bottom: 20px;
}
    .movie iframe{
        width:100%;
        height:100%;
}

@media only screen and (max-width: 1024px){
.movie ul{
    width:540px;
}

.movie{
    margin: 0 auto 50px;
    width: 600px;
    height: 337px;
}
}
@media only screen and (max-width: 820px){
    .preview_banner{
        width:auto;
    }
.movie ul{
}
    .movie {
    width: 560px;
    height: 315px;
}
}
@media only screen and (max-width: 620px){
    .movie {
    width: 391px;
    height: 220px;
}
}
@media only screen and (max-width: 480px){
    

.movie ul{
    width:320px;
}
.movie li{
    width:320px;
    height:180px;
    margin-bottom: 20px;
}
    .movie {
    width: 320px;
    height: 180px;
}
}

/*--------------------グローバルナビ固定---------------------*/
#mainNav2{
    background-color: #fff;
    position: fixed;
    top:0;
    width:100%;
    z-index: 10;
}

#mainNav2.m_fixed {
	position: fixed;
    width:100%;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
}
.m_fixed .sns{
  /*  top:20px;*/
}

@media only screen and (max-width: 1024px){
    
.panel{
    padding-bottom: 20px;
}
    .m_fixed .sns {
    top: 0px;
}
}



#kids,#free,#shop,#exterior,#renovation,#fullrenovation,#privacy{
    padding-top: 152px;
    margin-top: -152px;
}
/*--------------------ホバーエフェクト---------------------*/
.zoom-in-img {
  overflow: hidden;
  cursor: pointer;
}
.lineup_flex li{
    transition: 0.5s;
}
.lineup_flex li:hover{
    opacity: 0.5;
    background-color: #fff;
}
.zoom-in-img img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.zoom-in-img img {
  transform: scale(1);
  transition: .3s ease-in-out;
}
.zoom-in-img:hover img {
  transform: scale(1.1);
}

.hover1 img:hover{
  box-shadow: 10px 10px 10px rgba(0,0,0,0.5);
  transform: translateY(-10px);
  transition-duration: 0.5s;
}

.wrap-img-hover-04 figure{
	overflow: hidden;
	position: relative;
    margin: 10px;
}
.wrap-img-hover-04 figure figcaption{
	transition: all .3s;
	opacity: 0;
	background: rgba(0,0,0,0.7);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	color: #fff;
}
.wrap-img-hover-04 figure:hover figcaption{
	opacity: 1;
}
.wrap-img-hover-04 figure figcaption p{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	width: 90%;
}


/*--------------------資料請求---------------------*/

.request h2{
    font-size: 200%;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}
.request_title{
    margin-bottom: 60px;
    padding: 15px;
    border: solid 1px #000;
}
.request_title p{
    text-align: center;
}
.request_title ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 30px;
}
.request_title li{
    width:40%;
}
.request_title img{
    width: 100%;
    margin-top: 10px;
}
.request_flex{
    margin-top: 50px;
}
.request_flex li{
    display: flex;
    margin:0 auto 30px;
    padding-bottom: 30px;
    border-bottom: solid 1px #ccc;
    width: 80%;
}
.request_flex span{
    color:#999;
}
.request_flex li .request_l{
    width:30%;
    display: flex;
    align-items: baseline;    
}
.request_flex li .request_r{
    width:70%;
    
}
.request_flex li .request_l p:nth-child(2){
    width:130px;
}
.book h3{
    font-size: 110%;
    text-align: center;
    width:100%;
    margin-bottom: 10px;
}
.book p{
    font-size: 80%;
    width: 100%;
}
.request_flex .book img{
    width:100%;
}
.request_flex .book div{
    width:30%;
    flex-wrap: wrap;
    display: block;
    margin: 0;
}
.request_flex .book .book_l,.request_flex .book .book_r{
    width:100%;
}
#content .request_flex .book .book_text{
    width:100%;
    margin-left: 0;
    padding: 0;
}
#content .request_flex .book .book_text p{
    width:100%;
}
.any{
    display: inline-block;
    padding: 0px 10px;
    background-color: #999;
    color:#fff;
    margin-right: 30px;
    width:32px;
}
.mandatory{
    display: inline-block;
    padding: 0px 10px;
    background-color: #FD9EAF;
    color:#fff;
    margin-right: 30px;
}
.hope{
    margin-bottom: 20px;
}
.request textarea{
    border-radius: 0;
}
.knew{
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}
.knew p{
    width:33%;
}
.request_btn{
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
.request_btn .btn3{
    margin: 0 10px;
}
.request_privacy a{
    text-decoration: underline;
}
.request_privacy a:hover{
    opacity: 0.5;
}
.name input,.kana input,.mail input,.tel input,.address input{
    background-color: #FCF7F0;
    border: solid 1px #ccc;
}
.yubin input,.sonota textarea{
    background-color: #F5F5F5;
    border: solid 1px #ccc;
}
.request_flex .book{
    text-align: center;
    width:100%;
    justify-content: space-between;
    padding-bottom: 60px;
    flex-wrap: wrap;
}
.request_flex .book.request_book {
    justify-content: space-around;
}
.consent{
    text-align: center;
    padding: 25px 0;
    background-color: #FCF7F0;
    border: solid 1px #ccc;
    margin-top: 50px;
}
.book input[type="checkbox"]{
    width:17px;
    height:17px;
    vertical-align: text-bottom;
}
.consent input[type="checkbox"]{
    width:20px;
    height:20px;
    vertical-align: text-top;
}


    .book iframe{
        width:100%;
        margin: 20px 0;
    }

.date{
    flex-wrap: wrap;
}
.request_flex .date .request_r{
    display: flex;
    width:70%;
}
.date .request_r{
    margin-bottom: 30px;
}
.date .request_r p{
    margin-right: 10px;
    width: 50%;
}
.request_r select{
    padding: 1.5% 1%;
    width: 100%;
}
/* form-nav */
.progressbar {
  display: flex;
  flex-wrap: wrap;
    margin-bottom: 50px;
}
.progressbar .item {
    position: relative;
    width: 33%;
    text-align: center;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 13px 0;
    line-height: 1.5;
    background: #F5F5F5;
    color: #999999;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 100%;
    content: '';
    border: 25px solid transparent;
    border-left: 20px solid #F5F5F5;
    margin: auto;
}
.progressbar .item:not(:last-child)::before {
    margin-left: 1px;
    border-left-color: #FFF;
}

@media screen and (max-width: 767px) {
.progressbar .item {
    font-size: 11px;
    line-height: 1.4;
    padding: 10px 0;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    border-width: 25px;
    border-left-width: 12px;
}
}

/* active */

.progressbar .item.active {
    z-index: 1;
    background: #4D4D4D;
    color: #FFF;
}
.progressbar .item.active:not(:last-child)::after {
    border-left-color: #4D4D4D;
}
.progressbar .item.active:not(:last-child)::before {
    border-left: none;
}

@media screen and (max-width: 820px) {
    .request_flex li {
    width: 100%;
}
    .any {
    margin-right: 20px;
}
    .mandatory {
    margin-right: 20px;
}
}

@media screen and (max-width: 820px) {
    .request_flex li div:first-child {
    width: 100%;
}
    .request_flex .book div{
        width:100%;
        display: flex;
        margin-bottom: 20px;
    }
    .request_flex li div:last-child {
    width: 100%;
}
    .request_flex li {
    flex-wrap: wrap;
}
    .request_flex li div:first-child p:nth-child(2) {
    width: auto;
}
        .request_flex .book .book_l {
    width: 47%;
        display: flex;
        align-items: flex-start;
        text-align: left;
        justify-content: space-between;
}
    .request_flex .book .book_r {
    width: 47%;
        margin-left: 0;
        display: flex;
        align-items: flex-start;
        text-align: left;
        justify-content: space-between;
        align-self: baseline;
}
    .book p{
        font-size: 100%;
    }
    .book h3{
        text-align: left;
    }
    .request_flex .date .request_l {
    width: 30%;
}
}

@media screen and (max-width: 480px) {
    .knew p {
    width: 100%;
        margin-top: 5px;
}
    .address input{
        width:99%;
    }
    .sonota textarea{
        width:98%;
    }
    .request_title li {
    width: 100%;
        margin-bottom: 30px;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    border-width: 17px;
    border-left-width: 12px;
}
    .request_flex .book .book_l {
    width: 47%;
        display: flex;
        align-items: flex-start;
        text-align: left;
        justify-content: space-between;
}
    .request_flex .book .book_r {
    width: 47%;
        margin-left: 3%;
        display: flex;
        align-items: flex-start;
        text-align: left;
        justify-content: space-between;
}
    .request_flex .book div:nth-child(3) {
    width: 100%;
    margin-left: 0;
}
    .request_flex li div:first-child {
    margin-bottom: 10px;
}
    .book p{
        font-size: 100%;
    }
    .consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    vertical-align: top;
}
    .book input[type="checkbox"] {
    vertical-align: sub;
}
    
    .request_flex .book .book_l img {
    width: 100%;
}
 
    .request_flex .book div {
    padding: 0px;
        margin-bottom: 20px;
        display: flex;
}
    .book h3 {
    text-align: left;
}
    .book iframe {
    height:120px;
}
    .request_flex .book {
    padding-bottom: 30px;
}
.request_flex li .request_l {
    width: 100%;
}
    
.date .request_r:first-child,.date .request_l:first-child{
    margin-bottom: 10px;
}
    
.request_flex .date .request_r{
    display: flex;
    flex-wrap: wrap;
    width:100%;
    margin-bottom: 30px;
}
    .date .request_l{
        margin-bottom: 10px;
    }
    
.request_flex .date .request_r:last-child{
    margin-bottom: 0px;
    }
    .date .request_r p {
    margin-bottom: 10px;
}
	.request_flex .date .request_l {
    width: 100%;
}
}



#toppage #content{
    margin-top: 152px;
}
#toppage.home #content{
    margin-top:0;
}
.eventdate{
    font-size: 120%;
}


@media screen and (max-width: 620px) {
    #toppage #content {
    margin-top: 0px;
}
}

.sp .ricoh-theta-spherical-image{
}.start img{
    width: 300px;
}




/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	clear: both;
/*    overflow: hidden; */
    position: relative;
    width:100%;
    z-index: 10;
    transition: 1s;
}
.menubar_bg{
    width:100%;
    background-color: #fff;
}
#menubar ul{
    display: flex;
    flex-wrap: wrap;
    width:1000px;
    margin: 0 auto;
    justify-content: space-around;
    align-items: center;
}
/*メニュー１個あたりの設定*/
#menubar li {
    padding: 0px 10px;
/*	width: 16.6%;	/*メニュー幅（100÷5個=20%）*/

}
#menubar li a {
    font-family: 'Noto Serif JP',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
    font-size: 110%;
}
#menubar li:first-child{
    text-align: center;
}
#menubar .nav_contact{
    width:400px;
}
#menubar .nav_contact li{
    padding: 23px 15px;
}
#menubar .nav_contact li a{
    font-size: 15px;
}

/*装飾文字（英語表記）の設定*/
#menubar li a span {
/*	letter-spacing: 0.2em;	/*文字間隔を少し広くする設定*/
/*	padding-left: 3px;		/*左に少しだけ余白を作る。*/
/*	opacity: 0.6;			/*60%だけ色がついた状態。*/
}
/*マウスオン時メニューと、現在表示中(current)メニューの設定*/
#menubar li a:hover,#menubar li.current a {
/*	background: rgba(0,0,0,0.15);	/*0,0,0は黒の事で、0.15は15%だけ色がついた状態の事。*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}
.nav{
    display: flex;
    position: fixed;
    top:75px;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-around;
}
.nav ul {
    font-size:0;
}
.nav ul li {
    text-align: center;
    display: inline-block;
    font-size:16px;
    box-sizing: border-box;
    position: relative;
    }
.nav ul li a {
    text-decoration: none; 
    display: block;
}
.nav li a:hover{
    
color:#999999;
}
.nav .nav_contact li:last-child a{
    color:#fff;
    padding:10px 40px;
    border-radius: 10px;
    background: -moz-linear-gradient(left, #F39B0E, #E10F13);
  background: -webkit-linear-gradient(left, #F39B0E, #E10F13);
  background: linear-gradient(to right, #F39B0E, #E10F13);
    background: linear-gradient(270deg, #FFF81B 0%, #F39B0E 25%, #F39B0E 51%, #E10F13 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
}
.nav .nav_contact li:first-child a{
}
.nav .nav_contact li:last-child a:hover{
    color:#fff;
    background-position: 99% 50%;
}
.nav li ul {
  position: absolute;
    z-index: 9999;
    width: 100%;
}
.nav li ul li {
  display: block;
    width: 100%;   
}
.nav li ul li a {
  padding: 5px 0;
  background: black;
}
.nav li ul li{
  overflow: hidden;
  height: 0;
  transition: .2s;
}
.nav li:hover ul li{
  overflow: visible;
  height: 26px;
}
/*fixmenu設定（メニューが画面上部に到達した際のスタイル）
---------------------------------------------------------------------------*/
/*上部固定メニュー用fixmenu設定*//*
body.is-fixed-menu #menubar.nav-fix-pos {
	position: fixed;width: 100%;top: 0px;
    background-color: #fff;
}*/
body.is-fixed-menu .contents:first-of-type {
/*	margin-top: 100px;	/*メニューブロックの高さを指定する。背景画像も高さ100pxなので通常はこのままで。*/
}
/*※以下の２ブロックのスタイルの「中身」は、上の２ブロックのスタイルと単純に合わせておいて下さい。fixmenuスクリプトを２つ使う為に必要な設定になります。*/
body.is-fixed #menubar.nav-fix-pos {
	position: fixed;width: 100%;top: 0px;
}
body.is-fixed .contents:first-of-type {
	margin-top: 100px;
}

/*画面幅1250px以下の設定 メニューバー
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1200px){
#menubar ul {
    width: 90%;
}
#menubar li {
    padding: 0px 10px;
}
.nav ul li {
    font-size: 14px;
}

}
/*画面幅480px以下の設定 メニューバー
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px){
    #menubar ul {
    justify-content: flex-end;
}
    #menubar li{
        position: relative;
    text-align: center;
    /* border-left: 0.5px solid #000; */
    padding: 5px 16px;
    }
    #menubar-s ul{
        padding: 20px;
        background-color: #efefef;
    }
}
.logo {
    position: fixed;
    top: 10px;
    left: 5%;
    z-index: 10001;
}
.logo2 {
    text-align: center;
    width: 100%;
    height:75px;
    margin-top: 15px;
    background-color: #fff;
}
.logo2 img{
    width:300px;
}
header {
    position: relative;
}
/*画面幅900px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px){

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明(0%)から色を100%出すアニメーション指定。*/
@keyframes menu1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/*スマホ用メニューブロック*/
#menubar-s {
	display: block;overflow: hidden;
	position: fixed;
	top: 75px;	/*上から100pxの場所に配置*/
	width: 100%;
	z-index: 10000;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
    #menubar-s li{
        background-color: #fff;
    }
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;text-decoration: none;
	height: auto;		/*高さ。下のpadding-top(15)と合計して「100」になるようにする。*/
	padding: 10px 10px;	/*上に空ける余白*/
/*	padding-left: 80px;	/*左に空ける余白。背景用アイコンとの距離をここで調整。*/
	border-bottom: 1px dashed #ccc;	/*下の線の幅、線種、色*/
	font-size: 14px;	/*文字サイズ*/
}
/*「施設のご案内」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の一番上(0)を基準に読み込む。サイズは50px。*/
#menubar-s li.info {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px 0px / 50px;
}
/*「イベント」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-100px)を基準に読み込む。サイズは50px。*/
#menubar-s li.event {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -100px / 50px;
}
/*「お買い物」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-200px)を基準に読み込む。サイズは50px。*/
#menubar-s li.shopping {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -200px / 50px;
}
/*「周辺マップ」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-300px)を基準に読み込む。サイズは50px。*/
#menubar-s li.map {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -300px / 50px;
}
/*「お問い合わせ」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-400px)を基準に読み込む。サイズは50px。*/
#menubar-s li.contact {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -400px / 50px;
}
/*英語表記（飾り文字）*/
#menubar-s li a span {
	font-size: 12px;	/*文字サイズを小さく*/
}
/*PC用メニューを非表示にする*/
#menubar {display: none;}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;
	top: 25px;	/*上から24pxの場所に配置*/
	right: 3%;	/*左から3%の場所に配置*/
/*	border: 1px solid #000;	/*枠線の幅、線種、色*/
    z-index: 11;
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: #fff url(./images/icon_menu.png) no-repeat center top/50px;
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #fff url(./images/icon_menu.png) no-repeat center bottom/50px;
}

/*fixmenu設定（メニューが画面上部に到達した際のスタイル）の設定をなくす
---------------------------------------------------------------------------*/
body.is-fixed-menu .contents:first-of-type,
body.is-fixed .contents:first-of-type {
	margin-top: 0px;
}
}

/*画面幅830px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:830px){
    #header{
        height:75px;
    }
#header h1 {
    width: 250px;
    display: block;
    position: absolute;
    top: 50%;
    left: 2%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
#header img {
    width: 250px;
}
.sns {
    top: 25px;
    left: auto;
    right: 15%;
    /* top: inherit; */
    width: 200px;
}
}
/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){
.sns {
    top: 21px;
    left: auto;
    right: 50px;
    /* top: inherit; */
    width: 100px;
}
.sns img {
    width: 35px;
    margin-left: 0px;
}
#header img {
    width: 180px;
}
#menubar_hdr.close, #menubar_hdr.open {
    width: 40px;
    height: 40px;
}
#menubar_hdr.close {
    background: #fff url(./images/icon_menu.png) no-repeat center top/40px;
}
#menubar_hdr.open {
    background: #fff url(./images/icon_menu.png) no-repeat center bottom/40px;
}
#menubar_hdr {
    top: 23px;
    right: 10px;
}
#header h1 {
    width: 200px;
    left: 15px;
}
#mainImg {
    margin: 30px auto 0;
}
}


.footer_time{
    display: flex;
}
.mainimg2{
    padding-top: 135px;
    position: relative;
}
.mainimg2 img{
    width: 100%;
    position: relative;
}
.text{
    top: 50%;
    font-family: 'Noto Serif JP', serif;
    background: none;
    color: #fff;
}
/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:820px){
    .text{
    top: 60%;
    }
}
/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){
    .mainimg2 {
    padding-top: 0px; 
}
.text{
    top: 59%;
    color: #000;
}
}



.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
.eachTextAnime2 span{opacity: 0;}
.eachTextAnime2.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
.eachTextAnime3 span{opacity: 0;}
.eachTextAnime3.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
.eachTextAnime4 span{opacity: 0;}
.eachTextAnime4.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
.eachTextAnime5 span{opacity: 0;}
.eachTextAnime5.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}


.movie_bg{
    padding: 30px 0 80px;
}

.start p{
}
.title .title_and{
    font-size: 60%;
    padding: 0 5px;
}


/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:820px){
.movie_bg {
    padding: 30px 0 50px;
}
}
/*イベントフォーム追加分
----------------------------------------------------------------------------------*/
.event_bg{
    background-color: #f9f9f9;
    padding: 50px 0;
}
.newspage .inner{
    width: 900px;
}
#event_reserve{
    padding-top: 150px;
    margin-top: -150px;
}
.sticky {
  position: -webkit-sticky; /* safari対応 */
  position: sticky;
  bottom: 0px;
  text-align: center;
    padding: 20px;
    background-color: #fff;
    font-size: 24px;
    opacity: 0.8;
}
.hidden-sticky{
    visibility: hidden;
    opacity: 0;
}
.sticky a{
    color: #fff;
}
.sticky h3{
    display: inline-block;
    padding: 10px 20px;
    background-color: #000;
}
.event_info table{
    width: 100%;
    margin:10px 0 80px;
}
.event_info span{
    font-size: 12px;
}
.event_info a{
    color: #999;
}
.event_info th,.event_info td{
    padding: 10px;
    border-bottom: solid 1px #ccc;
}
.event_info th{
    width: 20%;
    vertical-align:middle;
}
.event_info td{
    width: 65%;
}

.eventform h4{
    text-align: center;
    font-size: 24px;
}
.newspage .eventform p{
    margin-top: 10px;
}
.eventform table{
    width: 100%;
}
.eventform th,.eventform td{
    display: block;
    width: 100%;
}
.newspage .eventform p{
    margin-bottom: 0;
}
.eventform span{
    font-size: 14px;
}
.event_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.event_flex2{
    display: flex;
    flex-wrap: wrap;
}
.event_flex .calendar{
    width: 44%;
}
.event_flex2 .people{
    width: 150px;
    margin-right: 10px;
}
.event_flex2 select{
    width: 98%;
    padding: 1%;
}
.event_flex select{
    width: 46%;
    padding: 1%;
}
.eventform .red{
    margin-left: 10px;
}
.eventform input{
    padding: 1%;
    width: 98%;
}
.eventform textarea{
    border-radius: 0;
    width: 98%;
    padding: 1%;
}
.eventform td{
    margin-bottom: 20px;
}
/*トップページお知らせ追加分
----------------------------------------------------------------------------------*/
.r{
    text-align: right;
}
.top_news{
    max-width: 900px;
    margin: 0 auto 100px;
}
.top_news .btn1{
    display: inline-block;
}
.top_news ul{
    display: flex;
    flex-wrap: wrap;
}
.top_news li{
    width: 100%;
    padding:0 20px 40px;
    margin-bottom: 40px;
    border-bottom: solid 1px #ccc;
}
.top_news li a{
    display: flex;
    align-items: center;
    
}
.top_news li a:hover{
    opacity: 0.6;
}
.news_day{
    width: 20%;
    color: #666;
}
.top_news_title{
    width: 80%;
    position: relative;
    padding-right: 50px;
}
.top_news_title::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-image: url("images/index/news_arrow.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 16px;
    height: 16px;  
}
/*画面幅820px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:820px){
    .top_news li{
        padding: 0 10px 20px;
        margin-bottom: 20px;
    }  
.top_news{
    max-width: 900px;
    margin: 0 auto;
}
.newspage .inner{
    width: 90%;
}
.news_day{
    width: auto;
    color: #666;
}  
.top_news_title{
    width: 75%;
    position: relative;
    padding-right: 20px;
    padding-left: 15px;
}
.top_news_title::before{
    right: 0px;;
}
}

.request_flex .book .reserve_tel {
    width: 100%;
    flex-wrap: wrap;
    display: block;
    margin-top: 60px;
    font-size: 30px;
}
.news_details h3{
    font-size: 130%;
    margin-bottom: 20px;
}



.lineuppage h2{
    font-size: 42px;
}
.lineuppage h2 span{
    font-size: 18px;
    margin-left: 10px;
}
.lineuppage h3{
    font-size: 21px;
}

.lineupflex{
    display: flex;
    flex-wrap: wrap;
}
.lineupflex li{
    width: 46%;
    margin:30px 2%;
}
.lineupflex li img{
    max-width: 100%;
}
.lineuppage .btn1{
    margin-top: 0px;
    margin-bottom: 50px;
}


@media screen and (max-width:1020px){
.lineuppage h2{
    font-size: 36px;
}
.lineuppage h2 span{
    font-size: 16px;
    margin-left: 10px;
}
.lineuppage h3{
    font-size: 18px;
}
}


@media screen and (max-width:900px){

.lineupflex{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.lineupflex li{
    width: 100%;
    max-width: 500px;
    margin:0px 0 10px;
}
.lineupflex li img{
    max-width: 100%;
}
.lineupflex .lineupflex_img{
    order: 2;
    margin-bottom: 50px;
}
.lineupflex_text{
    order: 1;
}
}

@media screen and (max-width:480px){
.lineuppage h2{
    font-size: 36px;
}
.lineuppage h2 span{
    font-size: 16px;
    margin-left: 10px;
}
.lineuppage h3{
    font-size: 18px;
    margin-bottom: 10px;
}
.lineuppage p{
    font-size: 14px;
    line-height: 1.5;
}

}

.openbtn {
        display: block;
        position: fixed;
        cursor: pointer;
        top: 200px;
        right: 0px;
        width: 100px;
        height: 50px;
        z-index: 10;
        background-image: url(./images/lineup/lineup.png);
        background-size: contain;
        background-repeat: no-repeat;
}

.lineupcat{
    opacity: 0;
    position: fixed;
    right: -200px;
    padding: 10px;
    top:250px;
    transition: 0.8s;
    background-color: #fff;
}
.lineupcat a{
    margin: 10px;
}
.lineupcat.open{
    opacity: 1;
    right: 0;
}

#sararino,#teire,#shirocara,#miserino,#miseto,#hacocara{
    margin-top: -135px;
    padding-top: 135px;
}


@media screen and (max-width:480px){
.openbtn {
        top: 80px;
}
.lineupcat{
    top:130px;
}

.lineupcat.open{
/*    background:rgba(255,255,255,0.5)*/
}
#sararino,#teire,#shirocara,#miserino,#miseto,#hacocara{
    margin-top: -75px;
    padding-top: 75px;
}
}