@charset "UTF-8";
/* CSS Document */

/* お問合せ　PCスマホ共通
-----------------------------------------------------------------------------*/
#info input[type="text"],
#info input[type="email"]{
    box-sizing: border-box;
    padding: 10px;
}
#info textarea {
    box-sizing: border-box;
    padding: 10px;
    min-height: 250px;
	width: 100%;
}
#info .g-enquete-row {
    margin-bottom: 20px;
}
#info .action-buttons {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
#info input[type="submit"] {
    padding: 20px;
    width: 45%;
}
.mw_wp_form_g-enquete .g-enquete-items .g-enquete-row {
    border-top: 0 !important;
    border-bottom:0 !important;
    padding:0 !important;
}

/* for PC & Tablet */
@media (min-width:737px){
/*PCここから*/

.pc_none{
display: none !important;
}

/* header
-----------------------------------------------------------------------------*/
header {
z-index: 800;
width: 100%;

position: relative;
}
#top header:before{
position: absolute;
left: 0;
top: 0;
content: '';
width: 50%;
height: 100%;
background-image: url("img/top05.jpg");
}
header .container{
background: none;
padding-top: 130px;
}
/* ビデオレスポンシブ
----------------------------------------------- */
header .y_wrap{
width: 86%;
margin:0 auto 30px;
}

/* ヘッダーロゴ
----------------------------------------------- */
header .container h1 {
z-index: 888;
width:12%;

position: absolute;
top: 0;
left: 0;
}
header .container h1 a{
display: block;
}
header .container h1 a img{
width: 100%;
height: auto;
}

/*お問い合わせボタン*/
.container .mail {
position: absolute;
display: block;
width: 90px;
height: 90px;
color: #000;
font-size: 30px;
line-height: 90px;
text-align: center;
top: 0;
right: 90px;
z-index: 888;
background: url("img/top07.jpg");
}
.container .mail:hover,
.container .mail:active {
alpha:(opacity=70); opacity:0.7; transition-property: all; transition: 0.3s linear;
}
/*ヘッダーナビ*/
header .container .h_nav {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
position: absolute;
right: 240px;
width: 43%;
/* line-height: 100px; */
font-weight: bold;
font-size: 14px;
}
header .container .h_nav li a{
display:block;
width:100%;
height:90px;
line-height:91px;
}

/* main
-----------------------------------------------------------------------------*/
/*sec01*/
#top .main .sec01{
}
#top .main .sec01 .container{
max-width:1300px;
width:80%;
}

/* グローバルナビ　縦書き
-----------------------------------------------------------------------------*/
.sec_nav{
position: relative;
min-height: 260px;
background-image: url("img/top01.png");
background-repeat: no-repeat;
background-position: 10% 30px;
}
.h_list{
position: absolute;
top: 30px;
right: 7%;
width: 50%;
/*文字縦書き*/
writing-mode: vertical-rl;
}
.h_list li{
margin-left: 20px;
line-height: 1.4;
}
.h_list li a{
display: block;
}
.h_list li small{
display: block;
font-size: 80%;
color: #999999;
}
.vertical{
text-orientation: upright;
}

/*sec02*/
#top .main .sec02{
padding: 0 0 150px;
}
#top .main .sec02 .container{
max-width:1300px;
width:90%;
margin:0 auto;

background-image: url("img/top03.png");
background-position: right top;
background-repeat: no-repeat;
background-size: 55% auto;
}
#top .main .sec02 .container .wrap{
width: 40%;
margin-right: 60%;
overflow: hidden;
}
#top .main .sec02 .container .wrap h2 {
width: 100px;
height: 324px;
float: right;
}
#top .main .sec02 .container .wrap .text{
writing-mode: vertical-rl;
max-height: 450px;
font-size: 13px;
float: right;
padding-right: 30px;
}
#top .main .sec02 .container .wrap .text .name{
text-align: right;
}

/*sec03*/
#top .main .sec03 {
padding: 150px 0;
position: relative;
}
#top .main .sec03:before{
content: 'MENU';
font-size: 90px;
position: absolute;
top: -5px;
left: 5%;
color:rgba(0,0,0,0.6);
display: block;
}
#top .main .sec03 .container{
max-width:1300px;
width:90%;
margin:0 auto;

overflow: hidden;
}
#top .main .sec03 .container h2 {
width: 20%;
float: right;
text-align: center;
}
#top .main .sec03 .container .w_nav{
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
flex-wrap: wrap;
}
#top .main .sec03 .container .w_nav li{
width: 30%;
height: auto;
margin-bottom: 30px;
}
#top .main .sec03 .container .w_nav li a{
display: block;
margin-bottom: 10px;
}
#top .main .sec03 .container .w_nav li img{
display: block;
width: 100%;
height: auto;
z-index: 111;
}

/*sec04*/
#top .main .sec04 {
overflow:hidden;
background-image: url(img/top05.jpg);
}

#top .main .sec04 .container{
max-width:1300px;
width:80%;
margin:150px auto;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}
#top .main .sec04 .container h2 {
width:30%;
display: inline-block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
margin-bottom:30px;
}
#top .main .sec04 .container h2 small{
display: block;
font-size: 50%;
color: #666;
}
#top .main .sec04 .container h2::after{
content:"";
width: 60px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}
#top .main .sec04 .container .wrap{
width:70%;
border-top:1px dashed #CCC;
}
#top .main .sec04 .container .wrap dl{
padding:10px;
box-sizing:border-box;
border-bottom:1px dashed #CCC;
}
#top .main .sec04 .container .wrap dl dd{
position: relative;
}
#top .main .sec04 .container .wrap dl dd i{
display: block;
position: absolute;
top: 0;
right: 24px;
bottom: 0;
width: 17px;
height: 6px;
margin: auto;
}
#top .main .sec04 .container .wrap dl dd i::before {
display: block;
position: absolute;
right: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #222;
content: '';
}
#top .main .sec04 .container .wrap dl i::after {
display: block;
position: absolute;
right: -1px;
bottom: 2px;
width: 6px;
height: 1px;
transform: rotate(45deg);
background: #222;
content: '';
}
.tate{
width:20px;
position: fixed;
right:0;
top:25%;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
font-weight:bold;
}

/*sec05*/
#top .main .sec05 {
overflow:hidden;
}

#top .main .sec05 .container{
max-width:1300px;
width:80%;
margin:150px auto;
}
#top .main .sec05 .container dl {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
margin-bottom: 70px;
}
#top .main .sec05 .container dl dt {
width:20%;
display: inline-block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
margin-bottom:60px;
}
#top .main .sec05 .container dl dd {
width:70%;
line-height: 2;
}
#top .main .sec05 .container h2 small{
display: block;
font-size: 45%;
color: #666;
margin-top: 5px;
}
#top .main .sec05 .container h2::after{
content:"";
width: 60px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}
#top .main .sec05 .container .wrap{
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}
#top .main .sec05 .container .wrap li{
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
padding:50px 30px 30px;
border:2px solid #222;
letter-spacing: .5em;
position: relative;
z-index: 1;
font-family: 'Noto Serif JP', serif;
font-size: 20px;
-webkit-box-shadow: 0px 5px 10px -3px rgba(0, 0, 0, 0.3);
box-shadow: 0px 5px 10px -3px rgba(0, 0, 0, 0.3);
}
#top .main .sec05 .container .wrap li::after{
width: 50px;
height: 50px;
border-radius: 50%;
position: absolute;
top: -25px;
left: 50%;
margin-left: -25px;
color: #fff;
z-index: 888;
-webkit-writing-mode: horizontal-tb;
-ms-writing-mode: horizontal-tb;
writing-mode: horizontal-tb;
background-color: #222;
text-align: center;
line-height: 50px;
display: block;
letter-spacing: 0.01em;
}
#top .main .sec05 .container .wrap .bt01::before,
#top .main .sec05 .container .wrap .bt02::before,
#top .main .sec05 .container .wrap .bt03::before,
#top .main .sec05 .container .wrap .bt04::before,
#top .main .sec05 .container .wrap .bt05::before,
#top .main .sec05 .container .wrap .bt06::before,
#top .main .sec05 .container .wrap .bt07::before{
position: absolute;
right: -22px;
top: 36%;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-left: 20px solid #CC0000;
content: "";
}
#top .main .sec05 .container .wrap .bt08::before{
position: absolute;
right: -22px;
top: 36%;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-right: 20px solid #fff;
content: "";
}
#top .main .sec05 .container .wrap .bt01::after{
content: '01';
}
#top .main .sec05 .container .wrap .bt02::after{
content: '02';
}
#top .main .sec05 .container .wrap .bt03::after{
content: '03';
}
#top .main .sec05 .container .wrap .bt04::after{
content: '04';
}
#top .main .sec05 .container .wrap .bt05::after{
content: '05';
}
#top .main .sec05 .container .wrap .bt06::after{
content: '06';
}
#top .main .sec05 .container .wrap .bt07::after{
content: '07';
}
#top .main .sec05 .container .wrap .bt08::after{
content: '08';
}
/*sec06*/
#top .main .sec06 {
overflow:hidden;
}

#top .main .sec06 .container{
max-width:1300px;
width:80%;
margin:100px auto;
}
#top .main .sec06 .container dl {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
margin-bottom: 70px;
}
#top .main .sec06 .container dl dt {
width:30%;
display: inline-block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
margin-bottom:60px;
}
#top .main .sec06 .container dl dd {
width:70%;
line-height: 2;
}
#top .main .sec06 .container h2 small{
display: block;
font-size: 45%;
color: #666;
margin-top: 5px;
}
#top .main .sec06 .container h2::after{
content:"";
width: 70px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}

.yoko {
font-size: 70%;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
position: fixed;
right: 2%;
bottom: 32%;
z-index: 800;
letter-spacing: 0.3em;
}
.yoko li{
display: inline-block;
}
.yoko li a{
display: block;
}
.yoko .copy{
font-size:14px; 
}
.yoko .yoko01 a{
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
border-radius:15px;
-webkit-border-radius:15px;
-moz-border-radius:15px;
background-color: #000;
color: #fff;
display: inline-block;
margin: 10px 0 0;
}
.yoko .yoko01 a:before {
font-family: FontAwesome;
content: '\f09a';
color: #fff;
}
.yoko .yoko02 a{
display: inline-block;
}
.yoko .yoko02 a:before {
font-family: FontAwesome;
content: '\f16a';
font-size: 30px;
}

/* フッター
-----------------------------------------------------------------------------*/
footer{
background: #333333;
color: #fff;
}
footer .container{
max-width: 1300px;
width: 80%;
margin: 0 auto;
padding:80px 0;

display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}
footer .container .wrap01{
padding-left: 150px;
min-height: 150px;
color: #fff;
background-image: url("img/logo.png");
background-position: left top;
background-size: 140px auto;
background-repeat: no-repeat;
padding-top: 20px;
}
footer .container .wrap01 small{
font-size: 80%;
display: block;
line-height: 1;
}
footer .container .wrap02{
writing-mode: vertical-rl;
/*text-orientation: upright;*/
color: #fff;
}
footer .container .wrap02 li{
line-height: 1.2;
margin-left: 30px;
}
footer .container .wrap02 li a small{
font-size: 80%;
display: block;
color: #989696;
}
footer .container .wrap02 li a:link ,
footer .container .wrap02 li a:visited {
color: #fff;
}
footer .copy{
background-color: #393939;
color: #fff;
text-align: center;
padding: 30px 0 27px;
line-height: 1;
font-size: 12px;
letter-spacing: 0.2em;
color: #f3f3f3;
}

/*ホバーボタン*/
.button1 {
position: relative;
display: block;
width: 360px;
height: 70px;
border: none;
margin: 20px auto 0;
}
.button1 .bt{
position:absolute;
top:0;
left:0;
width:360px;
height:60px;
display:block;
background-color:#222;
color:#fff;
z-index:2;
line-height:61px;
}
.button1 img{
position:absolute;
top:19px;
right:25px;
z-index:777;
}
.button1 .button00{
position: relative;
display: inline-block;
color: #fff;
text-decoration: none;
transition: .3s;
text-align:center;
}
.button1 .button00:hover {
color: #fff;
}
.button1 .button00::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
content: '';
background:#333;
transform-origin: right top;
transform: scale(0, 1);
transition: transform .3s;
}
.button1 .button00:hover::before {
transform-origin: left top;
transform: scale(1, 1);
}
.button1 .bt_after{
position:absolute;
top:7px;
left:7px;
width:360px;
height:60px;
display:block;
z-index:1;
background: url("img/top07.jpg");
}
.button1 a i{
display: block;
position: absolute;
top: 0;
right: 24px;
bottom: 0;
width: 17px;
height: 6px;
margin: auto;
}
.button1 a i::before {
display: block;
position: absolute;
right: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #fff;
content: '';
}
.button1 a i::after {
display: block;
position: absolute;
right: -1px;
bottom: 2px;
width: 6px;
height: 1px;
transform: rotate(45deg);
background: #fff;
content: '';
}
/*トップぺ戻る*/
.pagetop {
display: none;
position: fixed;
bottom: 50px;
right: 10px;
width: 60px;
height: 60px;
border-radius: 50%;
background: #000;
transition: 0.3s ease-in-out;
color: #fff;
z-index: 8888;
-webkit-box-shadow: 0px 5px 15px -3px rgba(0, 0, 0, 0.3);
box-shadow: 0px 5px 15px -3px rgba(0, 0, 0, 0.3);
}
.pagetop::before {
display: block;
position: absolute;
top: 28px;
right: 0;
left: 0;
width: 10px;
height: 10px;
margin: auto;
transform: rotate(45deg);
border-top: 1px solid #fff;
border-left: 1px solid #fff;
content: '';
}

/* ハンバーガー
-----------------------------------------------------------------------------*/
/*メニュー部分*/
nav{
display:none;
position: absolute;
top:0;
width: 100%;
height: 100vh;
background: url("img/top07.jpg");
left: 0;
z-index: 900;
}
header nav ul{
display: block;
width: 90%;
height: 350px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
margin: auto;

display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-align-items: flex-start;
align-items: flex-start;
-webkit-flex-direction: column;
flex-direction: column;
}
header nav ul li{
margin: 0 auto;
text-align: center;
}
header nav ul li:last-child{
border: none;
}
header nav ul li a{
display: block; 
color: #000 !important;
}

/*開閉ボタン*/
#nav_toggle {
position: absolute;
display: block;
width: 30px;
height: 20px;
top: 0px;
z-index: 999;
right: 0;
background-color: #000;
padding: 35px 30px;
}
#nav_toggle:hover,
#nav_toggle:active {
alpha:(opacity=70); opacity:0.7; transition-property: all; transition: 0.3s linear;
}
#nav_toggle div {
position: relative;
}
#nav_toggle span{
display: block;
height: 2px;
background: #fff;
position:absolute;
width: 100%;
left: 0;
-webkit-transition: 0.5s ease-in-out;
-moz-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;	
}
#nav_toggle span:nth-child(1){
top:0px;
}
#nav_toggle span:nth-child(2){
top:9px;
}
#nav_toggle span:nth-child(3){
top:19px;
}

/*開閉ボタンopen時*/
.open #nav_toggle span{
background: #fff;
}
.open #nav_toggle span:nth-child(1) {
top: 12px;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
width: 0;
left: 50%;
}
.open #nav_toggle span:nth-child(3) {
top: 12px;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
transform: rotate(-135deg);
}

/* お知らせシングル
-----------------------------------------------------------------------------*/
#info .main .sec01 {
overflow:hidden;
}

#info .main .sec01 .container{
max-width:1300px;
width:80%;
margin:150px auto;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}
#info .main .sec01 .container h2 {
width:40%;
display: inline-block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
margin-bottom:30px;
}
#info .main .sec01 .container h2 small{
display: block;
font-size: 50%;
color: #666;
}
#info .main .sec01 .container h2::after{
content:"";
width: 60px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}
#info .main .sec01 .container .wrap{
width:60%;
}
#info .main .sec01 .container .wrap dl{
padding:100px 50px;
box-sizing:border-box;
border-bottom:1px dashed #CCC;
background: url("img/top05.jpg");
}
#info .main .sec01 .container .wrap dl:last-child{
border-bottom:0;
}
#info .main .sec01 .container .wrap dl dt {
padding-bottom:40px;
}
#info .main .sec01 .container .wrap dl dt h3{
font-size:30px;
margin-bottom:10px;
position:relative;
padding-bottom: 15px;
}
#info .main .sec01 .container .wrap dl dt h3::after {
position:absolute;
content: "";
width: 60px;
bottom: 0;
left: 0;
height: 3px;
background-color: #CC0000;
display: inline-block;
}
#info .main .sec01 .container .wrap dl dd{
position: relative;
font-size:110%;
line-height:2;

font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
#info .main .sec01 .container .wrap dl dd img{
max-width:100%;
height:auto;
}

/* 設計実績_single
-----------------------------------------------------------------------------*/
.w_single header h2 { background-image:url(img/works_bg01.jpg); background-repeat:no-repeat; background-size:cover;}
.w_single .main .sec01 .container { width:960px; margin:0 auto; padding:90px 0 100px;}
.w_single .main .sec01 .container h3 { font-size:25px; margin:0 0 20px; text-align:center; font-weight:bold; line-height:1.3em; }
.w_single .main .sec01 .container .category { width:244px; border:2px solid #E2E2E2; font-size:12px; text-align:center; margin:0 auto 30px;}
.w_single .main .sec01 .container .category dt { padding:4px 0 2px; font-weight:bold; background:#E2E2E2;}
.w_single .main .sec01 .container .category dd { padding:7px 0 5px; }
.w_single .main .sec01 .container .info { text-align:center; font-size:16px; line-height:2em; margin:0 auto 60px;}
.w_single .main .sec01 .container .text { 
overflow:hidden; 
margin:0 0 30px 0;
padding: 0 100px;
}

.w_single .main #nxpv{
width: 100%;
height: 50px;
line-height: 50px;
margin: 50px auto;
display: flex;
justify-content: space-between;
}
#nxpv .nxpv01 a i,
#nxpv .nxpv03 a i{
font-size: 50px;
}
.custom-thumb {
text-align: center;
}
.custom-thumb a img {
display: inline-block;
margin: 0 5px;
}

/* 下層ページ　ページタイトル
-----------------------------------------------------------------------------*/
.other .main .pttl{
width: 90%;
margin: 120px auto 0;
font-size: 30px;
display: flex;
align-items: center;
}

.other .main .pttl:after,
.other .main .pttl:before{
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #dcdddd;
}
.other .main .pttl:before {
    margin-right: 3rem;
}
.other .main .pttl:after {
    margin-left: 3rem;
}

/* 店舗情報
-----------------------------------------------------------------------------*/
#about main .sec01 .container{
max-width:1000px;
width: 80%;
margin: 0 auto;
box-sizing: border-box;
background-image: url("img/about01.jpg");
background-repeat: no-repeat;
background-position: left 0;
background-size: contain;
}
#about main .sec01 .container dl:first-child{
border-top:1px dotted #C3C0C0;
}
#about main .sec01 .container dl{
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
padding: 40px 0 38px;
border-bottom:1px dotted #C3C0C0;
font-size: 16px;
line-height: 1.3;
}
#about main .sec01 .container dl dt{
width: 30%;
}
#about main .sec01 .container dl dt small,
#about main .sec01 .container dl dd span{
display: block;
font-size: 70%;
color: #A5A5A5;
}
#about main .sec01 .container dl dd{
width: 70%;
}
/*sec02*/
#about main .sec02 .container{
width:1000px;
margin: 0 auto;
padding: 50px 0 100px;
}

/* メニュー一覧
-----------------------------------------------------------------------------*/
#menu .main .sec01 {
padding: 80px 0 150px;
}
#menu .main .sec01 .container{
max-width:1300px;
width:90%;
margin:0 auto;
}
#menu .main .sec01 .container .w_nav{
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
flex-wrap: wrap;
}
#menu .main .sec01 .container .w_nav li{
width: 30%;
height: auto;
margin-bottom: 60px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box
}
#menu .main .sec01 .container .w_nav:after{
    content: "";
    display: block;
    width: 30%;
    height: auto;
} /* 2024-08-27 Horie cite by https://senoweb.jp/note/displayflex-tip/ */
    
#menu .main .sec01 .container .w_nav li img{
display: block;
width: 100%;
height: auto;
margin-bottom: 10px;
}
#menu .main .sec01 .container .w_nav li .cat {
    font-size: 120%;
    font-weight: bold;
padding: 0 20px;
}
#menu .main .sec01 .container .w_nav li .jp {
padding: 0 20px;
}
#menu .main .sec01 .container .w_nav li .text {
font-size: 90%;
line-height: 1.5;
padding:10px 20px;
background: url("img/top05.jpg");
border-radius:4px;
-webkit-border-radius:4px;
-moz-border-radius:4px;

font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
#menu .main .sec01 .container .w_nav li .text span{
font-size: 80%;
display: block;
margin: 10px 0 0;
}

#top .main .banner{
padding: 50px 0;
}
#top .main .banner a{
display: block;
}
#top .main .banner a img{
display: block;
max-width: 600px;
width: 60%;
height: auto;
margin: 0 auto;
}

/*news*/
.main #news.sec04 {
overflow:hidden;
}

.main #news.sec04 .container{
max-width:1300px;
width:80%;
margin:150px auto;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.main #news.sec04 .container h2 {
width:30%;
display: inline-block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
margin-bottom:30px;
}
.main #news.sec04 .container h2 small{
display: block;
font-size: 50%;
color: #666;
}
.main #news.sec04 .container h2::after{
content:"";
width: 60px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}
.main #news.sec04 .container .wrap{
width:70%;
border-top:1px dashed #CCC;
}
.main #news.sec04 .container .wrap dl{
padding:10px;
box-sizing:border-box;
border-bottom:1px dashed #CCC;
}
.main #news.sec04 .container .wrap dl dd{
position: relative;
}
.main #news.sec04 .container .wrap dl dd i{
display: block;
position: absolute;
top: 0;
right: 24px;
bottom: 0;
width: 17px;
height: 6px;
margin: auto;
}
.main #news.sec04 .container .wrap dl dd i::before {
display: block;
position: absolute;
right: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #222;
content: '';
}
.main #news.sec04 .container .wrap dl i::after {
display: block;
position: absolute;
right: -1px;
bottom: 2px;
width: 6px;
height: 1px;
transform: rotate(45deg);
background: #222;
content: '';
}


/*PCここまで*/
}
/*PCここまで*/


/* for mobile */
@media (max-width:736px){
/*spここから*/

.sp_none{
display: none !important;
}


/* header
-----------------------------------------------------------------------------*/
header {
height: 60px;
position: fixed;
z-index: 9999;
width: 100%;
background: #fff;
top: 0;
left: 0;
box-shadow: 0px 7px 3px -3px rgba(0,0,0,0.3);
-webkit-box-shadow: 0px 7px 3px -3px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 7px 3px -3px rgba(0,0,0,0.3);
}
header .container h1 {
position: absolute;
    left: 20px;
    /* top: 7px; */
    font-size: 25px;
    line-height: 60px;
}
header .container h1 a{
display:block;
}
header .container h1 a small{
font-size: 50%;
display: block;
}
/*お問い合わせボタン*/
.container .mail {
position: absolute;
display: block;
width: 60px;
height: 60px;
background: url("img/top07.jpg");
color: #000;
font-size: 26px;
line-height: 60px;
text-align: center;
right: 60px;
}
/*ヘッダーナビ*/
header .container .h_nav {
display:none;
}

/*動画*/
.y_wrap{
margin: 80px 0 0;
}
.sec_nav {
    display: none;
}

/* main
-----------------------------------------------------------------------------*/
main{
margin-top:90px;
}
/* main
-----------------------------------------------------------------------------*/
#top .main .sec01 {
position: relative;
padding: 10px 0 50px;
}
#top .main .sec01::after{
content:"";
width:100%;
height:150px;
background-color:#CC0000;
position:absolute;
bottom:0;
left:0;
right:0;
z-index:-1;
}
section.sec01 .container{
width:90%;
margin:0 auto;
}
/*スライダーテキスト*/
#top .main .sec01 .container .slide_text {
font-size: 20px;
position: absolute;
right: 0;
top: 18px;
line-height: 1;
z-index: 888;
color: #fff;
text-align: right;
}
#top .main .sec01 .container .slide_text span{
display:inline-block;
background-color:#222;
padding: 13px 20px 10px;
line-height: 1;
margin-bottom: 10px;
}

/* タイトル
-----------------------------------------------------------------------------*/
#top .main section .container h2 {
position: relative;
display: inline-block;
font-size: 50px;
font-weight: bold;
color: #222;
line-height: 1.3;
margin-bottom: 30px;
padding-bottom: 20px;
}
#top .main section .container h2 small{
    display: block;
    font-size: 12px;
    color: #666;
}
#top .main .sec02 .container h2 small{
    margin-left: -10px;
}
#top .main section .container h2::after{
position:absolute;
bottom:0;
left:0;
content:"";
width:40%;
height:2px;
background-color:#CC0000;
display:inline-block;
}

/* sec02
-----------------------------------------------------------------------------*/
#top .main .sec02{
padding: 70px 0;
}
#top .main .sec02 .container{
width:90%;
margin:0 auto;
}
#top .main .sec02 .container .wrap img.pc_none{
max-width: 100%;
height: auto;
margin-bottom: 30px;
}
#top .main .sec02 .container .name {
    text-align: right;
}

/* sec03
-----------------------------------------------------------------------------*/
#top .main .sec03{
padding:70px 0;
background: url("img/top05.jpg");
}
#top .main .sec03 .container{
width:90%;
margin:0 auto;
}
#top .main .sec03 .container .w_nav li{
margin-bottom:30px;
}
#top .main .sec03 .container .w_nav li img{
width:100%;
height:auto;
-webkit-box-shadow: 0px 5px 10px -3px rgba(0, 0, 0, 0.3);
box-shadow: 0px 5px 10px -3px rgba(0, 0, 0, 0.3);
}
#top .main .sec03 .container .w_nav li a .cat {
position: absolute;
top: 0px;
left: 0;
color: #fff;
background: #CC0000;
line-height: 1;
padding: 11px 10px 8px 10px;
font-weight: bold;
font-size: 12px;
}
.jp {
line-height: 1.3;
font-weight: bold;
}
.jp small{
font-size: 70%;
color: #999;
}

/* sec04
-----------------------------------------------------------------------------*/
#top .main .sec04 {
background-image:url(img/top05.jpg);
}
#top .main .sec04 .container{
width:90%;
margin:0 auto;
padding:70px 0;
}
#top .main .sec04 .container .wrap {
border-top:1px dashed #222;
padding-top:20px;
}
#top .main .sec04 .container .wrap dl{
padding-bottom:20px;
margin-bottom:20px;
border-bottom:1px dashed #222;
}

/* sec05
-----------------------------------------------------------------------------*/
#top .main .sec05 {
}
#top .main .sec05 .container{
width:90%;
margin:0 auto;
padding:100px 0 0;
}
#top .main .sec05 dl{
margin-bottom:40px;
}
#top .main .sec05 .container .wrap{
}
#top .main .sec05 .container .wrap li{
padding:40px 30px 30px;
border:2px solid #222;
letter-spacing: .5em;
position: relative;
z-index: 1;
font-family: 'Noto Serif JP', serif;
font-size: 20px;
-webkit-box-shadow: 0px 5px 10px -3px rgba(0, 0, 0, 0.3);
box-shadow: 0px 5px 10px -3px rgba(0, 0, 0, 0.3);
margin-bottom:50px;
text-align:center;
}
#top .main .sec05 .container .wrap li::after{
width: 50px;
height: 50px;
border-radius: 50%;
position: absolute;
top: -25px;
left: 50%;
margin-left: -25px;
color: #fff;
z-index: 888;
-webkit-writing-mode: horizontal-tb;
-ms-writing-mode: horizontal-tb;
writing-mode: horizontal-tb;
background-color: #222;
text-align: center;
line-height: 50px;
display: block;
letter-spacing: 0.01em;
}

#top .main .sec05 .container .wrap .bt01::after{
content: '01';
}
#top .main .sec05 .container .wrap .bt02::after{
content: '02';
}
#top .main .sec05 .container .wrap .bt03::after{
content: '03';
}
#top .main .sec05 .container .wrap .bt04::after{
content: '04';
}
#top .main .sec05 .container .wrap .bt05::after{
content: '05';
}
#top .main .sec05 .container .wrap .bt06::after{
content: '06';
}
#top .main .sec05 .container .wrap .bt07::after{
content: '07';
}
#top .main .sec05 .container .wrap .bt08::after{
content: '08';
}

/* sec06
-----------------------------------------------------------------------------*/
#top .main .sec06 {
}
#top .main .sec06 .container{
width:90%;
margin:0 auto;
padding:70px 0;
}

/* フッター
-----------------------------------------------------------------------------*/
ul.yoko {
    display: none;
}



/*ホバーボタン*/
.button1 {
width: 90%;
position: relative;
display: block;
height: 70px;
border: none;
margin: 20px auto 0;
}
.button1 .bt{
position:absolute;
top:0;
left:0;
width:96%;
height:60px;
display:block;
background-color:#222;
color:#fff;
z-index:2;
line-height:61px;
}
.button1 img{
position:absolute;
top:19px;
right:25px;
z-index:777;
}
.button1 .button00{
position: relative;
display: inline-block;
color: #fff;
text-decoration: none;
transition: .3s;
text-align: center;
}
.button1 .button00:hover {
color: #fff;
}
.button1 .button00::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
content: '';
background:rgba(176,82,57,1);
transform-origin: right top;
transform: scale(0, 1);
transition: transform .3s;
}
.button1 .button00:hover::before {
transform-origin: left top;
transform: scale(1, 1);
}
.button1 .bt_after {
position: absolute;
top: 10px;
left: 5%;
width: 96%;
height: 60px;
display: block;
background: url("img/top07.jpg");
z-index: 1;
}
.button1 a i{
display: block;
position: absolute;
top: 0;
right: 24px;
bottom: 0;
width: 17px;
height: 6px;
margin: auto;
}
.button1 a i::before {
display: block;
position: absolute;
right: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #fff;
content: '';
}
.button1 a i::after {
display: block;
position: absolute;
right: -1px;
bottom: 2px;
width: 6px;
height: 1px;
transform: rotate(45deg);
background: #fff;
content: '';
}
/*トップぺ戻る*/
.pagetop {
display: none;
position: fixed;
bottom:60px;
right: 10px;
width: 60px;
height: 60px;
border-radius: 50%;
background: #222;
transition: 0.3s ease-in-out;
color: #fff;
z-index: 8888;
-webkit-box-shadow: 0px 5px 15px -3px rgba(0, 0, 0, 0.3);
box-shadow: 0px 5px 15px -3px rgba(0, 0, 0, 0.3);
}
.pagetop::before {
display: block;
position: absolute;
top: 28px;
right: 0;
left: 0;
width: 10px;
height: 10px;
margin: auto;
transform: rotate(45deg);
border-top: 1px solid #fff;
border-left: 1px solid #fff;
content: '';
}
.copy {
padding: 5%;
line-height: 1.3;
}

/* ハンバーガー
-----------------------------------------------------------------------------*/
/*メニュー部分*/
nav{
display:none;
position: absolute;
top:0;
width: 100%;
height: 100vh;
background: url("img/top07.jpg");
left: 0;
}
header nav ul{
display: block;
width: 90%;
height: 350px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
margin: auto;

display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-align-items: flex-start;
align-items: flex-start;
-webkit-flex-direction: column;
flex-direction: column;
}
header nav ul li{
margin: 0 auto;
text-align: center;
}
header nav ul li:last-child{
border: none;
}
header nav ul li a{
display: block; 
color: #000 !important;
}


/*開閉ボタン*/
#nav_toggle {
position: absolute;
display: block;
width: 30px;
height: 20px;
top: 0px;
z-index: 100;
right: 0;
background-color: #000;
padding: 20px 15px;
}
#nav_toggle:hover,
#nav_toggle:active {
alpha:(opacity=70); opacity:0.7; transition-property: all; transition: 0.3s linear;
}
#nav_toggle div {
position: relative;
}
#nav_toggle span{
display: block;
height: 2px;
background: #fff;
position:absolute;
width: 100%;
left: 0;
-webkit-transition: 0.5s ease-in-out;
-moz-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;	
}
#nav_toggle span:nth-child(1){
top:0px;
}
#nav_toggle span:nth-child(2){
top:9px;
}
#nav_toggle span:nth-child(3){
top:19px;
}

/*開閉ボタンopen時*/
.open #nav_toggle span{
background: #fff;
}
.open #nav_toggle span:nth-child(1) {
top: 12px;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
width: 0;
left: 50%;
}
.open #nav_toggle span:nth-child(3) {
top: 12px;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
transform: rotate(-135deg);
}

/* お知らせシングル
-----------------------------------------------------------------------------*/
#info .main .sec01 {
overflow:hidden;
}
#info .main .sec01 .container{
}
#info .main .sec01 .container h2 {
display:block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
margin-bottom:30px;
}
#info .main .sec01 .container h2 small{
display: block;
font-size: 50%;
color: #666;
}
#info .main .sec01 .container h2::after{
content:"";
width: 60px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}
#info .main .sec01 .container .wrap{
border-top:1px dashed #CCC;
width:90%;
margin:50px auto;
}
#info .main .sec01 .container .wrap dl{
padding:50px 0;
box-sizing:border-box;
border-bottom:1px dashed #CCC;
}
#info .main .sec01 .container .wrap dl dt {
padding-bottom:20px;
}
#info .main .sec01 .container .wrap dl dt h3{
font-size:25px;
margin-bottom:10px;
position:relative;
padding-bottom: 15px;
}
#info .main .sec01 .container .wrap dl dt h3::after {
position:absolute;
content: "";
width: 60px;
bottom: 0;
left: 0;
height: 3px;
background-color: #CC0000;
display: inline-block;
}
#info .main .sec01 .container .wrap dl dd{
position: relative;
}
#info .main .sec01 .container .wrap dl dd img{
max-width:100%;
height:auto;
}
input[type="submit"] {
padding: 20px 40px !important;
}
input[type="text"],
input[type="email"],
textarea{
padding: 10px !important;
box-sizing: border-box;
width: 100%;
}


/* 設計実績_single
-----------------------------------------------------------------------------*/
.w_single header { background-image:url(img/works_bg01.jpg); background-repeat:no-repeat; background-size:cover;}
.w_single .main .sec01 .container { width:92%; margin:0 auto; padding:0 0 60px;}
.w_single .main .sec01 .container h3 { font-size:18px; margin:0 0 20px; text-align:center; font-weight:bold; }
.w_single .main .sec01 .container .category { width:80%; border:2px solid #E2E2E2; font-size:12px; text-align:center; margin:0 auto 30px;}
.w_single .main .sec01 .container .category dt { padding:2px 0 0; font-weight:bold; background:#E2E2E2;}
.w_single .main .sec01 .container .category dd { padding:4px 0 2px; }
.w_single .main .sec01 .container .info { text-align:center; line-height:2em; margin:0 auto 30px;}
.w_single .main .sec01 .container .text { overflow:hidden; margin:0 0 30px;}
.w_single .main .sec01 .container #visualSection{ width:100%; margin:0 auto ; overflow:hidden;}
/*サムネイル画像*/
.custom-thumb {
width: 100%;
height: auto;
margin: 40px auto;
}
.custom-thumb a {
width: 30%;
display: block;
margin: 0 0 10px 3%;
float: left;
}

.nxpv02{
display:block;
text-align:center;
margin-top:20px;
font-size:20px;
}

/* フッター
-----------------------------------------------------------------------------*/
footer{
background: #333333;
color: #fff;
}
footer .container{
max-width: 1300px;
width: 80%;
margin: 0 auto;
padding:50px 0 30px;
}
footer .container .wrap01{
display: none;
}
footer .container .wrap01 small{
font-size: 80%;
display: block;
line-height: 1;
}
footer .container .wrap02{
color: #fff;
}
footer .container .wrap02 li{
line-height: 1.2;
margin-bottom: 20px;
}
footer .container .wrap02 li a{
display: block;
}
footer .container .wrap02 li a small{
font-size: 80%;
display: block;
color: #989696;
}
footer .container .wrap02 li a:link ,
footer .container .wrap02 li a:visited {
color: #fff;
}
footer .copy{
background-color: #393939;
color: #fff;
text-align: center;
padding: 30px 0 27px;
line-height: 1;
font-size: 12px;
letter-spacing: 0.2em;
color: #f3f3f3;
}

/* メニュー一覧
-----------------------------------------------------------------------------*/
#menu .main h2 {
width: 90%;
margin: 0 auto 30px;
display:block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
}
#menu .main h2 small{
display: block;
font-size: 50%;
color: #666;
}
#menu .main h2::after{
content:"";
width: 60px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}
#menu .main .sec01 {
padding: 50px 0 ;
}
#menu .main .sec01 .container{
width:90%;
margin:0 auto;
}
#menu .main .sec01 .container .w_nav{
}
#menu .main .sec01 .container .w_nav li{
margin-bottom: 40px;
}
#menu .main .sec01 .container .w_nav li img{
display: block;
width: 100%;
height: auto;
margin-bottom: 10px;
}
#menu .main .sec01 .container .w_nav li .cat {
font-size: 110%;
font-weight: bold;
}
#menu .main .sec01 .container .w_nav li .jp {
margin-bottom: 5px;
}
#menu .main .sec01 .container .w_nav li .text {
font-size: 90%;
line-height: 1.5;
padding:10px 20px;
background: url("img/top05.jpg");
border-radius:4px;
-webkit-border-radius:4px;
-moz-border-radius:4px;

font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
#menu .main .sec01 .container .w_nav li .text span{
font-size: 80%;
display: block;
margin: 10px 0 0;
}

#top .main .banner{
padding: 30px 0;
}
#top .main .banner a{
display: block;
}
#top .main .banner a img{
display: block;
width: 90%;
height: auto;
margin: 0 auto;
}

/*news*/
.main #news.sec04 {
overflow:hidden;
}
.main #news.sec04 .container{
max-width:1300px;
width:80%;
margin:150px auto;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.main #news.sec04 .container h2 {
width:30%;
display: inline-block;
font-size: 36px;
font-weight: bold;
color: #222;
line-height: 1.3;
position: relative;
margin-bottom:30px;
}
.main #news.sec04 .container h2 small{
display: block;
font-size: 50%;
color: #666;
}
.main #news.sec04 .container h2::after{
content:"";
width: 60px;
bottom:0;
left:0;
height:3px;
background-color:#CC0000;
display:inline-block;
}
.main #news.sec04 .container .wrap{
width:70%;
border-top:1px dashed #CCC;
}
.main #news.sec04 .container .wrap dl{
padding:10px;
box-sizing:border-box;
border-bottom:1px dashed #CCC;
}
.main #news.sec04 .container .wrap dl dd{
position: relative;
}
.main #news.sec04 .container .wrap dl dd i{
display: block;
position: absolute;
top: 0;
right: 24px;
bottom: 0;
width: 17px;
height: 6px;
margin: auto;
}
.main #news.sec04 .container .wrap dl dd i::before {
display: block;
position: absolute;
right: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #222;
content: '';
}
.main #news.sec04 .container .wrap dl i::after {
display: block;
position: absolute;
right: -1px;
bottom: 2px;
width: 6px;
height: 1px;
transform: rotate(45deg);
background: #222;
content: '';
}



/*spここまで*/
}
/*spここまで*/