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

section:last-of-type{
margin-bottom: 0;
}
h2.g-h2{
font-family: 'Montserrat', sans-serif;
font-weight: bold;
text-align: center;
color: #005726;
}
h2.g-h2 span{
display: block;
font-family: 'Roboto Condensed', sans-serif;
font-weight: bold;
color: #474645;
}
h3.b-h3{
text-align: center;
color: #005726;
}
h3.w-line{
text-align: center;
color: #005726;
border-top: solid 1px #005726;
border-bottom: solid 1px #005726;
}
h3.top-line{
text-align: center;
border-top: solid 1px #C96C16;
color: #C96C16;
font-weight: 500;
}
h3.top-line span{
display: block;
text-align: end;
color: #474645;
}
h4.line{
position: relative;
display: inline-block;
left: 50%;
transform: translateX(-50%);
}
h4.line:before,
h4.line:after{
content: '';
position: absolute;
top: 50%;
display: inline-block;
height: 1px;
background-color: #666;
}
h4.line:before {
left: 0;
}
h4.line:after {
right: 0;
}
h4.box-g,
h5.box-g{
text-align: center;
color: #fff;
background: #005726;
}
h4.box-w{
margin: 0 auto;
color: #005726;
text-align: center;
border: solid 1px #005726;
}
h5.center-h5{
color: #005726;
text-align: center;
}
h5.left-h5{
color: #005726;
}
.top-p{
margin: 0 auto;
text-align: center;
}
/*------------------
#news
------------------*/
#news div{
margin: 0 auto;
}
#news div time{
display: block;
}
#news ul{
margin: 0 auto;
}
#news ul li{
border-bottom: solid 1px #999;
}
#news ul li:first-of-type{
border-top: solid 1px #999;
}
/*------------------
#concept
------------------*/
/*--------#support--------*/
#support{
background: #FAF8F4;
text-align: center;
}
#support h3{
color: #005726;
}
#support h2{
font-family: 'Dancing Script', cursive;
letter-spacing: 0.01rem;
color: #005726;
}
#support div{
margin: 0 auto;
}
/*--------#message--------*/
#message .president .philosophy{
text-align: center;
background: #FAF8F4;
}
#message .president .philosophy span{
display: block;
}
#message .president p span{
display: block;
text-align: end;
}
#message .vice-president .detail{
border: solid 1px #005726;
}
#message .vice-president .detail p span{
display: block;
text-align: end;
}
/*------------------
#kikaku-plan
------------------*/
#kikaku-plan .plan{
border-top: solid 1px #005726;
}
#kikaku-plan .plan .plan-top{
text-align: center;
}
#kikaku-plan .area div:first-of-type{
background: #005726;
border-radius: 10px;
color: #fff;
text-align: center;
}
#kikaku-plan .area p:before{
content: "";
display: inline-block;
background: #005726;
}
#kikaku-plan .plan-point{
background: #FAF8F4;
}
#kikaku-plan .floor-map div p{
text-align: center;
}
#kikaku-plan .plan-point ul{
margin: 0 auto;
text-align: center;
}
#kikaku-plan .plan-point ul li{
background: #fff;
border: solid 1px #005726;
}
#kikaku-plan .plan-point ul li h5{
font-weight: bold;
}
#kikaku-plan .plan-point ul li .point{
display: block;
font-weight: bold;
color: #005726;
}
#kikaku-plan .plan-point ul li .point span{
display: inline-block;
color: #fff;
background: #005726;	
}
#kikaku-plan .plan-point ul li p{
text-align: left;
}
#bottom-contact .bottom-p{
text-align: center;
color: #005726;
}
#bottom-contact a.btn{
background: #005726;
color: #fff;
}
/*------------------
#ordermade
------------------*/
#ordermade a.btn{
margin: 0 auto;
color: #fff;
background: #005726;
}
/*-----professionalism-----*/
#professionalism{
background: url("../images/professionalism.jpg"); 
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
#professionalism h2{
font-family: 'Montserrat', sans-serif;
font-weight: bold;
text-align: center;
color: #fff;
letter-spacing: 0.3rem;
}
#professionalism h2 span{
display: block;
font-family: 'Roboto Condensed', sans-serif;
font-weight: bold;
}
#professionalism a.btn{
margin: 0 auto;
color: #fff;
}
#professionalism a.btn:hover{
background: rgba(255,255,255,0.3);
}
/*------------------
#professional-page
------------------*/
#commitment .nav{
display: flex;
flex-wrap: wrap;
}
#commitment .nav li{
text-align: center;
border: solid 1px #666;
}
#commitment .nav li a{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
transition: 0.3s;
}
#commitment .nav li.active a,
#commitment .nav li:hover a{
color: #fff;
background: #005726;
transition: 0.3s;
}
#commitment .pro04-box{
background: #FAF8F4;
}
#commitment .pro-box.reverse{
flex-flow: row-reverse;
}
#commitment .list{
margin: 0 auto;
}
#commitment .list li:before{
content: "●";
display: inline-block;
}
#commitment .system{
display: flex;
justify-content: center;
}
#commitment .system li h5{
text-align: center;
color: #005726;
}
#commitment .system li p{
text-align: center;
color: #005726;
border: solid 1px #005726;
}
#commitment .system li p:before{
content: "●";
}
#commitment .j-fan > div{
display: flex;
justify-content: space-between;
}
#commitment .j-fan h5{
text-align: center;
font-weight: 600;
border: solid 1px #373635;
margin-bottom: 10px;
font-size: 1.6rem;
}
#commitment .j-fan h6{
text-align: center;
font-weight: 600;
color: #fff;
font-size: 1.6rem;
}
#commitment .j-fan div div:first-of-type h6{
background: #68BD84;
}
#commitment .j-fan div div:last-of-type h6{
background: #718BC7;
}
#commitment .j-fan ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#commitment .j-fan ul li{
font-weight: bold;
width: 49%;
}
#commitment .j-fan ul li span{
font-weight: bold;
}
#commitment .j-fan ul li span span{
font-weight: bold;
}
#commitment .siaa img:nth-child(2){
display: block;
}
#commitment .grade ul{
display: flex;
justify-content: space-between;
}
#commitment .grade ul:last-of-type{
padding-bottom: 0;
}
#commitment .grade ul:first-of-type{
align-items: flex-end;
}
#commitment .grade h5:before{
content: "■";
}
#commitment .grade p span{
color: #AF0002;
}
#commitment .rekka ul{
display: flex;
justify-content: space-between;
}
#commitment .rekka ul:last-of-type{
padding-bottom: 0;
}
#commitment .rekka ul:first-of-type li img{
box-shadow: 5px 5px 15px 0px rgba(0, 0, 0, 20%);
}
#commitment .rekka ul li h5{
font-weight: 500;
}
#commitment .rekka ul li h5.green{
color: #005726;
}
/*------------------
#spec
------------------*/
#spec .s-icon{
display: block;
text-align: center;
color: #fff;
margin: 0 auto;
font-weight: 500;
border-radius: 50px;
}
#spec .s-icon.standard{
background: #005726;
}
#spec .s-icon.order{
background: #C96C16;
}
/*--------#tab--------*/
#spec .tabs{
display: flex;
}
#spec .tabs li{
text-align: center;
border: solid 1px #999;
}
#spec .tabs li:hover,
#spec .tabs li.active{
background: #FAF8F4;
}
#spec .tabs li a{
display: block;
}
#spec .contents:last-of-type{
padding-bottom: 0;
}
/*-----spec-1-----*/
#spec .spec-1 .contents-top .detail img{
display:block;
}
#spec .spec-1 .contents-top .detail span{
display:block;	
}
/*-----spec-2-----*/
#spec .spec-2 .contents.flooring ul li:last-of-type{
padding-bottom: 0;
}
#spec .spec-2 .contents.color ul,
#spec .spec-2 .contents.color2 ul{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
#spec .spec-2 .contents.color ul li:last-of-type,
#spec .spec-2 .contents.color2 ul li:last-of-type{
padding-bottom: 0;
}
#spec .spec-2 .contents.color ul li p{
position: relative;
display: block;
border: 1px solid #b5b5b6;
background: #fff;
text-align: center;
}
/*-----spec-3-----*/			
#spec .spec-3 .door .door-box{
display: flex;	
justify-content: space-between;
}			
#spec .spec-3 .wall .wall-box{
display: flex;	
justify-content: space-between;
}	
#spec .spec-3 .tile-h5{
text-align: center;
color: #005726;
}			
#spec .spec-3 .tile .tile-box{
display: flex;	
justify-content: space-between;
}			
#spec .spec-3 .tile .tile-box h5.function:before{
content: "●";
}		
#spec .spec-3 .tile .tile-box ul{
display: flex;	
justify-content: space-between;
}	
#spec .spec-3 .tile .tile-box ul li p{
line-height: 1.5rem;
}
#spec .spec-3 .flex3{
display: flex;
justify-content: space-between;
}
#spec .spec-3 .flex3.material li h5{	
font-weight: bold;
border-left: solid 4px #474645;
}
#spec .spec-3 .flex3.material li p span{
color: #C42771;
font-weight: bold;
}
#spec .spec-3 .flex3.performance h5{
text-align: center;
font-weight: 500;
}
#spec .spec-3 .flex3.performance h5 span{
color: #C42771;
font-weight: bold;
}
#spec .spec-3 .flex3.performance h6{
text-align: center;
font-weight: 500;
}
#spec .spec-1 .orang,
#spec .spec-2 .orang,
#spec .spec-3 .orange{
color: #C96C16;
border-color: #C96C16;
}
/*------------------
#flow
------------------*/
#flow .flow {
display: flex;
margin: 0 auto;
}
#flow .flow > li {
position: relative;
display: inline-block;
color: #fff;
border: solid 1px #fff;
box-sizing: border-box;
min-width: 120px;
max-width: 100%;
border-radius: 20px;
}
#flow .flow > li:nth-child(1) {
background: #2E66B1;
}
#flow .flow > li:nth-child(2) {
background: #EE9C4A;
}
#flow .flow > li:nth-child(3) {
background: #EA764D;
}
#flow .flow > li:nth-child(4) {
background: #112E44;
}
#flow .flow > li:nth-child(4):before {
display: none;
}
#flow .flow > li:before {
content: "";
position: absolute;
z-index: 2;
}
#flow .flow > li:after {
content: "";
position: absolute;
z-index: 1;
}
#flow .flow > li:nth-child(4):after {
display: none;
}
#flow .flow > li h4{
font-weight: bold;
padding-bottom: 5px;
}
#flow .flow > li:nth-child(3) ul{
display: flex;
flex-wrap: wrap;
}
#flow div p{
text-align: center;
}
#flow div:last-of-type p{
padding-bottom: 0;
}
/*------------------
qa
------------------*/
.toggle_title {
position: relative;
cursor: pointer;
border: solid 2px #005726;
color: #005726;  
font-family: 'Montserrat', sans-serif;
font-weight: bold;
}
.toggle_title span{  
font-family: 'Montserrat', sans-serif;
font-weight: bold;
}
.toggle_btn {
position: absolute;
transform: translateY(-50%);
display: block;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
.toggle_btn:before, .toggle_btn:after {
display: block;
content: '';
background-color: #005726;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.toggle_title.selected .toggle_btn:before {
content: normal;
}
.toggle_contents dd {
display: none;
}
.toggle_contents dd span{	
font-family: 'Montserrat', sans-serif;
font-weight: bold;
color: #7E5C27;
}
#qa p{
text-align: center;
}
/*------------------
#works-page
------------------*/
#works-page h3{
font-family: 'Montserrat', sans-serif;
font-weight: bold;
text-align: center;
}
#works-page h3 span{
display: block;
font-weight: bold;
color: #005726;
}
#works-page .movie li:last-of-type{
padding-bottom: 0;
}
#works-page .movie li div{
margin: 0 auto;
background: #ddd;
}
/*------------------
#company
------------------*/
/*---------#profile-------*/
#company .s-h5{
text-align: center;
}
#profile div{
background: #FAF8F4;
}
#profile table{
margin: 0 auto;
}
/*---------#history-------*/
#history table{
margin: 0 auto;
border: solid 1px #999;
}
#history table th{
text-align: center;
background: #F6F6F6;
border-bottom: solid 1px #999;
border-right: solid 1px #999;
}
#history table td{
border-bottom: solid 1px #999;
}
/*------------------
#contact 
------------------*/
input[type="submit"] {
padding: 0;
border: none;
border-radius: 0;
outline: none;
background: none;
}
#contact .soy_inquiry_message {
text-align: center;
}
#contact .form dl {
width: 100%;
display: flex;
flex-wrap: wrap;
border-bottom: 1px solid #ddd;
}
#contact .form dl dt{
border-top: 1px solid #ddd;
letter-spacing: 0.05em;
font-weight: bold;
}
#contact .form dl dt span {
display: inline-block;
text-align: center;
background: #bd2828;
color: #fff !important;
}
#contact .form dl dd{
border-top: 1px solid #ddd;
}
#contact .form dl dd .item-input {
border: 1px solid #ddd;
border-radius: 6px;
flex: 1;
background: #eaedf2;
}
#contact .form dl dd .item-textarea {
border: 1px solid #ddd;
border-radius: 6px;
flex: 1;
background: #eaedf2;
}
/*---送信---*/
#contact .form input[type="submit"] {
border-radius: 30px;
display: block;
letter-spacing: 0.05em;
background: #196934;
color: #fff;
font-weight: bold;
}
/*------------------
#works
------------------*/
#works h2{
font-family: 'Montserrat', sans-serif;
font-weight: bold;
text-align: center;
color: #005726;
letter-spacing: 0.3rem;
}
#works h2 span{
display: block;
font-family: 'Roboto Condensed', sans-serif;
font-weight: bold;
color: #474645;
}
#works > p{
line-height: 3.0rem;
letter-spacing: 0.2rem;
}
#works li h5{
text-align: center;
font-weight: 500;
}
#works li p{
letter-spacing: 0.1rem;
line-height: 1.8em;
}
#works > p{
line-height: 3.0rem;
text-align: center;
}



@media (max-width: 560px){
section{
margin-bottom: 40px;
}
#hero{
padding-top: 60px;
}
h2.g-h2{
font-size: 3.6rem;
letter-spacing: 0.3rem;
}
h2.g-h2 span{
font-size: 1.6rem;
padding: 10px 0 20px;
}
h3.b-h3{
font-size: 2.0rem;
line-height: 4.0rem;
letter-spacing: 0.3rem;
padding-bottom: 10px;
}
h3.w-line{
font-size: 2.2rem;
line-height: 3.5rem;
letter-spacing: 0.5rem;
padding: 20px 0;
margin-bottom: 30px;
}
h3.top-line{
font-size: 2.6rem;
margin-bottom: 50px;
padding-top: 20px;
}
h3.top-line span{
font-size: 1.2rem;
padding-top: 10px;
}
h4.line{
font-size: 2.0rem;
font-weight: 600;
padding: 0 40px;
margin-bottom: 20px;
}
h4.line:before,
h4.line:after{
width: 30px;
}
h4.box-g{
font-size: 1.8rem;
line-height: 3.5rem;
letter-spacing: 0.5rem;
margin-bottom: 20px;
padding: 10px;
}
h4.box-w{
font-size: 1.8rem;
padding: 10px 0;
margin-bottom: 30px;
}
h5.box-g{
font-size: 1.6rem;
line-height: 3.5rem;
letter-spacing: 0.2rem;
padding: 5px 0;
}
h5.center-h5{
font-size: 2.0rem;
padding-bottom: 20px;
}
h5.left-h5{
font-size: 1.8rem;
line-height: 3.5rem;
letter-spacing: 0.3rem;
padding-bottom: 10px;
}
.top-p{
font-size: 1.4rem;
line-height: 2.6rem;
letter-spacing: 0.2rem;
padding-bottom: 50px;
}		
/*------------------
#news
------------------*/
#news{
padding-top: 65px;
}
#news div h3{
font-size: 2.4rem;
margin-bottom: 10px;
}
#news div time{
font-size: 1.2rem;
margin-bottom: 20px;
}
#news div p{
font-size: 1.4rem;
}
#news ul li{
padding: 30px 50px;
}
#news ul li:first-of-type{
padding: 30px 50px;
}
#news ul li time{
display: block;
padding-right: 30px;
font-size: 1.2rem;
}
/*------------------
#concept
------------------*/
/*--------#support--------*/
#support{
padding: 40px 10px;
}
#support .logo{
width: 40%;
padding-bottom: 30px;
}
#support h3{
font-size: 2.0rem;
line-height: 4.2rem;
letter-spacing: 0.3rem;
padding-bottom: 20px;
}
#support p{
font-size: 1.4rem;
line-height: 2.5rem;
letter-spacing: 0.3rem;
padding-bottom: 30px;
}
#support h2{
font-size: 4.0rem;
letter-spacing: 0.2rem;
padding-bottom: 30px;
}
#support div{
width: 90%;
max-width: 960px;
}
/*--------#message--------*/
#message .president .philosophy{
font-size: 1.6rem;
padding: 15px 0;
margin-bottom: 20px;
}
#message .president .philosophy span{
font-size: 2.0rem;
}
#message .president p span{
padding-top: 30px;
}
#message .president{
padding-bottom: 40px;
}
#message .president p{
font-size: 1.4rem;
line-height: 2.5rem;
letter-spacing: 0.1rem;
}
#message .president .inner p{
font-size: 1.4rem;
line-height: 2.5rem;
letter-spacing: 0.2rem;
}
#message .president .inner p span{
padding-top: 30px;
}	
#message .vice-president .detail{
margin: 30px 0 0 auto;
padding: 40px 5%;
}
#message .vice-president .detail p{
font-size: 1.4rem;
line-height: 2.5rem;
letter-spacing: 0.2rem;
}
#message .vice-president .detail p span{
padding-top: 30px;
}
#message .vice-president .img{
width: 70%;
margin: 0 auto;
padding-top: 30px;
}
/*------------------
#kikaku-plan
------------------*/
#kikaku-plan .plan{
margin-top: 30px;
padding-top: 30px;
}
#kikaku-plan .plan .plan-top{
font-size: 1.4rem;
padding-bottom: 30px;
}
#kikaku-plan .plan-img{
padding-bottom: 20px;
}
#kikaku-plan .plan-img img{
padding-bottom: 20px;
}
#kikaku-plan .floor-map{
padding-bottom: 20px;
}
#kikaku-plan .floor-map div:first-of-type{
padding-bottom: 20px;
}
#kikaku-plan .area{
letter-spacing: 0.3rem;
padding-bottom: 20px;
}
#kikaku-plan .area div{
letter-spacing: 0.3rem;
margin:0 0 20px 3%;
font-size: 1.4rem;
}
#kikaku-plan .area div:first-of-type{
font-size: 2.2rem;
padding: 10px 0;
width: 50%;
margin: 0 auto;
padding-left: 0.3em;
margin-bottom: 20px;
}
#kikaku-plan .area div:nth-last-child(-n+2) p:first-of-type{
padding-bottom: 10px;
}
#kikaku-plan .area p{
line-height: 1;
}
#kikaku-plan .area p:before{
width: 15px;
height: 15px;
margin-right: 10px;
}
#kikaku-plan .plan-point{
padding: 40px 0;
}
#kikaku-plan .plan-point ul{
width: 90%;
}
#kikaku-plan .plan-point ul li{
padding: 30px 20px;
line-height: 3.5rem;
letter-spacing: 0.3rem;
margin-bottom: 20px;
}
#kikaku-plan .plan-point ul li h5{
font-size: 1.6rem;
padding-bottom: 15px;
}
#kikaku-plan .plan-point ul li .point{
font-size: 1.8rem;
}
#kikaku-plan .plan-point ul li .point span{
margin-left: 10px;
padding: 2px 7px 4px;
line-height: 1;
letter-spacing: 0;
border-radius: 5px;	
}
#kikaku-plan .plan-point ul li p{
font-size: 1.4rem;
line-height: 2.5rem;
}
#bottom-contact .bottom-p{
margin-bottom: 30px;
line-height: 2em;
font-size: 1.6rem;
}
#bottom-contact a.btn{
margin: 0 auto 100px;
}
/*------------------
#ordermade
------------------*/
#ordermade .top-p{
padding-bottom: 40px;
}	
/*-----professionalism-----*/
#professionalism{
padding: 40px 0;
}
#professionalism h2{
font-size: 2.2rem;
}
#professionalism h2 span{
font-size: 1.8rem;
padding: 10px 0 40px;
}
#professionalism a.btn{
background: rgb(255,255,255,0.2);
}	
/*------------------
#professional-page
------------------*/
#commitment h2.g-h2:first-of-type{
font-size: 2.2rem;
letter-spacing: 0.3rem;
}
#commitment .nav{
margin: 20px 0 60px;
}
#commitment .nav li{
width: calc(calc(100% / 2) - 2px);
}
#commitment .nav li:nth-of-type(2n){
border-left: none;
}
#commitment .nav li:nth-child(n+3){
border-top: none;
}
#commitment .nav li a{
font-size: 1.4rem;
height: 50px;
}
#commitment .inner > img{
padding-bottom: 60px;
}
#commitment .img-box img{
margin-bottom: 30px;
}
#commitment .pro-box{
margin-bottom: 50px;
}
#commitment .pro-box div p{
font-size: 1.4rem;
line-height: 2em;
}
#commitment .pro-box div:first-of-type{
margin-bottom: 20px;
}
#commitment .pro04-box{
margin-bottom: 40px;
}
#commitment .pro04-box div{
padding: 30px 5%;
}
#commitment .pro04-box div p{
line-height: 2em;
font-size: 1.4rem;
}
#commitment .list{
padding-bottom: 20px;
}
#commitment .list li{
font-size: 1.6rem;
padding-bottom: 10px;
}
#commitment .list li:before{
padding-right: 10px;
}
#commitment.pro05 .pro-box:first-of-type{
padding-bottom: 60px;
}
#commitment .system{
flex-direction: column;
margin-bottom: 30px;
}
#commitment .system li{
border-bottom: solid 2px #005726;
padding: 30px 0;
}
#commitment .system li:first-of-type{
padding-top: 0;
}
#commitment .system li:last-of-type{
padding-bottom: 0;
}
#commitment .system li:last-of-type{
border-bottom: none;
}
#commitment .system li h5{
font-size: 2.2rem;
margin-bottom: 5px;
}
#commitment .system li p{
font-size: 1.2rem;
padding: 3px 0;
margin-bottom: 5px;
}
#commitment .system li p:before{
padding-right: 5px;
}
#commitment .j-fan > div{
flex-direction: column;
margin-bottom: 60px;
}
#commitment .j-fan div div:first-of-type{
margin-bottom: 20px;
}
#commitment .j-fan h6{
margin-bottom: 5px;
}
#commitment .j-fan ul li{
font-size: 1.4rem;
}
#commitment .j-fan ul li > span{
display: block;
font-size: 2.0rem;
padding-left: 20px;
}
#commitment .j-fan ul li span span{
font-size: 1.2rem;
}
#commitment .siaa img:nth-child(2){
width: 40%;
margin-right: 10px;
float: left;
}
#commitment .siaa div:first-of-type p{
font-size: 1.2rem;
}
#commitment .grade ul{
flex-direction: column;
padding-bottom: 30px;
}
#commitment .grade ul li{
padding-bottom: 40px;
}
#commitment .grade ul li img{
display: block;
width: 90%;
margin: 0 auto;
padding-bottom: 10px;
}
#commitment .grade h5{
font-size: 1.8rem;
padding-bottom: 10px;
}
#commitment .grade h5:before{
padding-right: 5px;
}
#commitment .grade p{
font-size: 1.4rem;
}
#commitment .rekka ul{
padding-bottom: 30px;
}
#commitment .rekka ul:first-of-type{
flex-wrap: wrap;
}
#commitment .rekka ul:last-of-type{
flex-direction: column;
}
#commitment .rekka ul:first-of-type li{
width: 45%;
}
#commitment .rekka ul:first-of-type li:last-of-type{
width: 100%;
}
#commitment .rekka ul li{
width: 100%;
padding-bottom: 30px;
}
#commitment .rekka ul li img{
margin-bottom: 10px;
}
#commitment .rekka ul li h5{
font-size: 2.2rem;
padding-bottom: 5px;
}
/*------------------
#spec
------------------*/
#spec .s-icon{
font-size: 16px;
font-size: 1.6rem;
width: 200px;
padding: 10px 0;
margin-bottom: 30px;
}
/*--------#tab--------*/
#spec .tabs{
flex-direction: column;
margin-bottom: 50px;
}
#spec .tabs li{
padding: 10px 0;
}
#spec .tabs li:nth-last-child(-n+2){
border-top: none;
}
#spec .tabs li a{
font-size: 1.4rem;
}	
#spec .contents{
padding-bottom: 50px;
}	
/*-----#spec .spec-1-----*/
#spec .spec-1 .contents-top{
padding-bottom: 30px;
}
#spec .spec-1 .contents-top img{
padding-bottom: 30px;
}
#spec .spec-1 .contents-top .detail{
font-size: 2.2rem;
}
#spec .spec-1 .contents-top .detail img{
padding: 10px 0 10px;
}
#spec .spec-1 .contents-top .detail span{
font-size: 1.6rem;	
}
#spec .spec-1 .contents ul li{
padding-bottom: 30px;
}
#spec .spec-1 .contents ul li:last-of-type{
padding-bottom: 0;
}
#spec .spec-1 .contents ul li img{
padding-bottom: 20px;
}
#spec .spec-1 .contents ul li p{
font-size: 1.4rem;
line-height: 2.5rem;
}	
/*-----#spec-2-----*/
#spec .spec-2 .contents.flooring > img{
padding-bottom: 20px;
}
#spec .spec-2 .contents.flooring ul li{
padding-bottom: 40px;
}
#spec .spec-2 .contents.flooring ul img{
padding-bottom: 20px;
}
#spec .spec-2 .contents.flooring ul p,.window p{
font-size: 1.4rem;
line-height: 2.5rem;
}
#spec .spec-2 .contents.color ul li{
width: 48%;
padding-bottom: 30px;
}
#spec .spec-2 .contents.color ul li:nth-last-child(-n+2){
padding-bottom: 0;
}
#spec .spec-2 .contents.color ul li img{
padding-bottom: 10px;
}
#spec .spec-2 .contents.color ul li p{
width: 100%;
padding: 15px 0;
font-size: 1.2rem;
letter-spacing: 0.3rem;
}
#spec .spec-2 .contents.joinery .img-box{
display: flex;
justify-content: space-between;
}
#spec .spec-2 .contents.joinery .img-box > img,
#spec .spec-2 .contents.joinery .img-box div{
width: 48%;
}
#spec .spec-2 .contents.joinery img{
padding-bottom: 15px;
}
#spec .spec-2 .contents.color2 ul li{
width: 30%;
padding-bottom: 20px;
}
/*-----#spec-3-----*/
#spec .spec-3 .window div:first-of-type{
padding-bottom: 30px;
}
#spec .spec-3 .window img{
padding-bottom: 40px;
}	
#spec .spec-3 .door .door-box{	
margin-bottom: 40px;
}	
#spec .spec-3 .door .door-box:last-of-type{	
margin-bottom: 0;
}
#spec .spec-3 .door .door-box{
flex-direction: column;
}
#spec .spec-3 .door .door-box div:first-of-type{	
padding-bottom: 10px;
}	
#spec .spec-3 .door .door-box p{	
font-size: 1.4rem;
line-height: 2em;
}	
#spec .spec-3 .wall .wall-box{	
margin-bottom: 40px;
}	
#spec .spec-3 .wall .wall-box{
flex-direction: column;
}
#spec .spec-3 .wall .wall-box div:first-of-type{	
padding-bottom: 10px;
}	
#spec .spec-3 .wall .wall-box p{	
font-size: 1.4rem;
line-height: 2em;
}	
#spec .spec-3 .tile-h5{
font-size: 2.0rem;
line-height: 3.5rem;
letter-spacing: 0.5rem;
margin-bottom: 40px;
}	
#spec .spec-3 .tile > img{
margin-bottom: 40px;
}	
#spec .spec-3 .tile .tile-box{	
margin-bottom: 40px;
}	
#spec .spec-3 .tile .tile-box:last-of-type{	
margin-bottom: 0;
}
#spec .spec-3 .tile .tile-box{
flex-direction: column;
}
#spec .spec-3 .tile .tile-box div:first-of-type{	
padding-bottom: 20px;
}	
#spec .spec-3 .tile .tile-box p{	
font-size: 1.4rem;
line-height: 2em;
}	
#spec .spec-3 .door ul{	
display: flex;
flex-wrap: wrap;
padding-bottom: 100px;
}
#spec .spec-3 .door ul li{	
width: 32%;
padding-bottom: 50px;
padding-right: 1.5%;
}
#spec .spec-3 .door ul li:nth-of-type(3n){	
padding-right: 0;
}
#spec .spec-3 .door ul li:nth-child(n+5) {	
padding-bottom: 0;
}
#spec .spec-3 .door ul li p{	
text-align: center;
padding-bottom: 20px;
font-size: 1.0rem;
}
#spec .spec-3 .door ul li p span{	
display: block;
font-size: 1.8rem;
font-weight: 600;
padding-bottom: 5px;
}

#spec .spec-3 .tile .tile-box h5.function{
font-size: 1.6rem;
padding: 20px 0 10px;
}			
#spec .spec-3 .tile .tile-box h5.function:before{
padding-right: 5px;
}			
#spec .spec-3 .tile .tile-box ul{
}		
#spec .spec-3 .tile .tile-box ul li{
width: 30%;
}
#spec .spec-3 .tile .tile-box ul li p{
padding-top: 5px;
font-size: 1.2rem;
}
#spec .spec-3 .flex3{
flex-direction: column;
margin-bottom: 60px;
}
#spec .spec-3 .flex3 li{
padding-bottom: 40px;
}
#spec .spec-3 .flex3 li:last-of-type{
padding-bottom: 0;
}
#spec .spec-3 .flex3.material li h5{	
font-size: 1.8rem;
padding-left: 10px;
margin: 15px 0 10px;	
}
#spec .spec-3 .flex3.material li p{
font-size: 1.8rem;
padding-bottom: 10px;
}	
#spec .spec-3 .flex3.performance h5{
font-size: 2.0rem;
padding: 10px 0 15px;
}
#spec .spec-3 .flex3.performance h6{
font-size: 1.6rem;	
padding-bottom: 10px;
}
#spec .spec-3 .flex3.performance p{
font-size: 1.4rem;	
padding-bottom: 30px;
}
#spec .spec-3 .roof > p{
font-size: 1.4rem;
line-height: 2em;
padding-bottom: 40px;
}
#spec .spec-3 .roof > img{
padding-bottom: 50px;
}
/*------------------
#flow
------------------*/
#flow .flow{
flex-direction: column;
padding-bottom: 100px;
}
#flow .flow > li {
padding: 30px;
font-size: 1.4rem;
}
#flow .flow > li:before {
bottom: -27px;
left: 50%;
margin-left: -17px;
border: 14px solid transparent;
}
#flow .flow > li:nth-child(1):before {
border-top: 14px solid #2f66b1;
}
#flow .flow > li:nth-child(2):before {
border-top: 14px solid #ee9c4a;
}
#flow .flow > li:nth-child(3):before {
border-top: 14px solid #ea764d;
}
#flow .flow > li:nth-child(1) {
z-index: 4;
}
#flow .flow > li:nth-child(2) {
z-index: 3;
}
#flow .flow > li:nth-child(3) {
z-index: 2;
}
#flow .flow > li:nth-child(4) {
z-index: 1;
}
#flow .flow > li:after {
bottom: -30px;
left: 50%;
margin-left: -17px;
border: 14px solid transparent;
border-top: 14px solid #fff;
}
#flow .flow > li h4{
font-size: 2.6rem;
}
#flow .flow > li:nth-child(4) h4{
font-size: 3.8rem;
}
#flow .flow > li:nth-child(3) ul li{
width: 50%;
}
#flow .w-line{
width: 95%;
margin: 0 auto 60px;
}
#flow div p{
padding-bottom: 20px;
}
#flow .flow{
padding-bottom: 30px;
}
/*------------------
qa
------------------*/
.toggle_title {
padding: 10px 40px 15px 20px;
font-size: 1.6rem;
line-height: 1.4;
border-radius: 20px;
margin-bottom: 20px;    
letter-spacing: 0.2rem;
margin-left: 3%;
}
.toggle_title span{  
font-size: 2.5rem;
letter-spacing: 0.3rem;
padding-right: 5px;
}
.toggle_btn {
top: 50%;
right: 10px;
width: 24px;
height: 24px;
border-radius: 50%;
}
.toggle_btn:before, .toggle_btn:after {
width: 20px;
height: 3px;
}
.toggle_btn:before {
width: 3px;
height: 20px;
}
.toggle_contents dd {
font-size: 1.4rem;
margin: 0 40px 30px 3%;
text-indent: -2.7em;
padding-left: 4.5em;
}
.toggle_contents dd span{	
font-size: 2.5rem;
letter-spacing: 0.3rem;
padding-right: 5px;
}	
#qa p{
margin-top: 30px; 
}
/*------------------
#works-page
------------------*/
#works-page .movie{
padding-top: 30px;
}
#works-page h3{
font-size: 1.6rem;
padding-bottom: 20px;
}
#works-page h3 span{
font-size: 2.6rem;
padding-bottom: 10px;
}
#works-page .movie li{
padding-bottom: 50px;
}
#works-page .movie li div{
width: 80%;
height: 25vh;
padding: 20px;
}
#works-page .movie li div iframe{
border-radius: 20px;
}
#works-page .banner img{
padding-bottom: 40px;
}
/*------------------
#company
------------------*/
#profile div{
padding: 40px 0;
}
#profile table{
width: 90%;
font-size: 1.4rem;
}
#profile table th{
width: 25%;
padding: 10px 0;
}
#profile table td{
width: 75%;
padding: 10px 0 10px 5px;
}
/*--------#history--------*/
#history table{
font-size: 1.4rem;
}
#history table th{
width: 30%;
padding: 10px 5px;
}
#history table td{
width: 70%;
padding: 10px;
}
/*------------------
#contact 
------------------*/
#contact{
padding-top: 40px;
}
#contact .soy_inquiry_message {
font-size: 1.4rem;
padding-bottom: 30px;
}
#contact .form dl {
flex-direction: column;
}
#contact .form dl dt {
font-size: 1.4rem;
padding: 10px 0;
}
#contact .form dl dt span {
padding: 3px 0;
width: 48px;
font-size: 1.4rem;
margin-left: 10px;
border-radius: 5px;
}
#contact .form dl dd .item-input {
padding-left: 1em;
padding-right: 1em;
height: 38px;
width: 90%;
font-size: 1.4rem;
margin: 10px 0;
}
#contact .form dl dd .item-textarea {
padding-left: 1em;
padding-right: 1em;
height: 216px;
width: 90%;
font-size: 1.8rem;
margin-top: 10px;
}
#contact .form input[type="submit"]  {
border-radius: 30px;
margin: 30px auto;
padding: 20px 0;
width: 90%;
font-size: 1.6rem;
}	
/*------------------
#works
------------------*/
#works h2{
font-size: 4.6rem;
}
#works h2 span{
font-size: 1.8rem;
padding: 10px 0 20px;
}
#works > p{
font-size: 1.4rem;
padding-bottom: 20px;
}
#works li{
padding-bottom: 30px;
}
#works li:last-of-type{
padding-bottom: 0;
}
#works li img{
padding-bottom: 10px;
}
#works li h5{
padding-bottom: 10px;
}
#works li p{
font-size: 1.4rem;
}
}



@media (min-width: 561px){
h4.line:before,
h4.line:after{
width: 100px;
}
h5.center-h5{
font-size: 25px;
font-size: 2.5rem;
padding-bottom: 40px;
letter-spacing: 0.2em;
}
.top-p{	
font-size: 16px;	
font-size: 1.6rem;
}	
/*------------------
#news
------------------*/
#news div h3{
font-size: 30px;
font-size: 3rem;
margin-bottom: 10px;
}
#news div time{
font-size: 12px;
font-size: 1.2rem;
margin-bottom: 30px;
}
#news div p{
font-size: 16px;
font-size: 1.6rem;
}
#news ul li{
padding: 30px 50px;
}
#news ul li:first-of-type{
padding: 30px 50px;
}
#news ul li time{
padding-right: 30px;
}	
/*------------------
#concept
------------------*/
/*--------#support--------*/
#support .logo{
width: 20%;
padding-bottom: 40px;
}
#support h3{
font-size: 28px;
font-size: 2.8rem;
line-height: 5.2rem;
letter-spacing: 0.3rem;
padding-bottom: 40px;
}
#support p{
line-height: 5.2rem;
letter-spacing: 0.3rem;
padding-bottom: 60px;
}
#support h2{
font-size: 70px;
font-size: 7.0rem;
line-height: 5.2rem;
letter-spacing: 0.3rem;
padding-bottom: 60px;
}
#support div{
width: 90%;
max-width: 960px;
}
/*--------#message--------*/
#message .president .inner p span{
padding-top: 50px;
}
#message .vice-president{
position: relative;
}
#message .vice-president .detail p{
line-height: 3.5rem;
letter-spacing: 0.3rem;
}
#message .vice-president .detail p span{
padding-top: 50px;
}
/*------------------
#kikaku-plan
------------------*/
#kikaku-plan .plan-img{
display: flex;
justify-content: space-between;
padding-bottom: 60px;
}
#kikaku-plan .plan-img img{
width: 48%;
}
#kikaku-plan .floor-map{
display: flex;
padding-bottom: 60px;
}
#kikaku-plan .area{
display: flex;
justify-content: center;
align-items: center;
letter-spacing: 0.3rem;
}
#kikaku-plan .area div:first-of-type{
font-size: 22px;
font-size: 2.2rem;
}
#kikaku-plan .area p{
line-height: 1;
}
#kikaku-plan .area p:before{
width: 15px;
height: 15px;
margin-right: 10px;
}
#kikaku-plan .plan-point ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#kikaku-plan .plan-point ul li{
padding: 40px 20px;
line-height: 3.5rem;
letter-spacing: 0.3rem;
margin-bottom: 40px;
}
#kikaku-plan .plan-point ul li h5{
font-size: 18px;
font-size: 1.8rem;
padding-bottom: 15px;
}
#kikaku-plan .plan-point ul li .point{
font-size: 20px;
font-size: 2.0rem;
padding-bottom: 10px;
}
#kikaku-plan .plan-point ul li .point span{
margin-left: 10px;
padding: 2px 7px 4px;
line-height: 1;
letter-spacing: 0;
border-radius: 5px;	
}
/*------------------
#ordermade
------------------*/
/*-----professionalism-----*/
#professionalism{
padding: 60px 0;
}
#professionalism h2 span{
padding:20px 0 40px;
}
/*------------------
#professional-page
------------------*/
#commitment .nav li{
width: calc(calc(100% / 4) - 3px);
border-right: none;
}
#commitment .nav li:nth-of-type(4n){
border-right: solid 1px #666;
}
#commitment .nav li:nth-child(n+5){
border-top: none;
}
#commitment .nav li a{
height: 60px;
}
#commitment .img-box{
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
#commitment .img-box img{
width: 48%;
}
#commitment .pro-box{
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 100px;
}
#commitment .pro-box div:first-of-type{
width: 35%;
}
#commitment .pro-box div:last-of-type{
width: 60%;
}
#commitment .pro-box div p{
line-height: 2em;
}
#commitment .pro04-box{
display: flex;
justify-content: space-between;
align-items: center;
}
#commitment .pro04-box div{
width: 60%;
}
#commitment .pro04-box img{
width: 40%;
}
#commitment .list li:before{
padding-right: 10px;
}	
#commitment .system{
margin-bottom: 60px;
}
#commitment .system li{
width: 30%;
padding: 0 3%;
border-right: solid 1px #005726;
}
#commitment .system li:nth-child(1){
transition: .3s;
}
#commitment .system li:nth-child(2){
transition: .6s;
}
#commitment .system li:nth-child(3){
transition: .9s;
}
#commitment .system li:last-of-type{
border-right: none;
}
#commitment .system li h5{
font-size: 1.8rem;
margin-bottom: 5px;
}
#commitment .system li p{
font-size: 1.0rem;
padding: 3px 0;
margin-bottom: 5px;
}
#commitment .system li p:before{
padding-right: 5px;
}	
#commitment .j-fan div div:first-of-type{
width: 45%;
}
#commitment .j-fan div div:last-of-type{
width: 52%;
}
#commitment .siaa img:nth-child(2){
width: 40%;
margin: 10px auto;
}
#commitment .siaa div:first-of-type p{
font-size: 1.4rem;
}
#commitment .grade{
padding-bottom: 60px;
}
#commitment .grade ul{
padding-bottom: 40px;
}
#commitment .grade ul:first-of-type{
align-items: flex-end;
}
#commitment .grade ul:first-of-type li:first-of-type{
width: 35%;
}
#commitment .grade ul:first-of-type li:last-of-type{
width: 55%;
}
#commitment .grade ul:last-of-type li{
width: 30%;
}
#commitment .grade ul li img{
padding-bottom: 20px;
}
#commitment .grade h5{
font-size: 2.2rem;
padding-bottom: 10px;
}
#commitment .grade h5:before{
padding-right: 5px;
}
#commitment .rekka ul{
padding-bottom: 40px;
}
#commitment .rekka ul:first-of-type li{
width: 23%;
}
#commitment .rekka ul:first-of-type li:last-of-type{
width: 45%;
}
#commitment .rekka ul li{
width: 30%;
}
#commitment .rekka ul li img{
margin-bottom: 10px;
}
#commitment .rekka ul li h5{
font-size: 2.2rem;
padding-bottom: 5px;
}
/*------------------
#spec
------------------*/	
#spec .s-icon{
font-size: 20px;
font-size: 2.0rem;
width: 250px;
padding: 10px 0;
margin-bottom: 50px;
}
/*--------#tab--------*/
#spec .tabs li{
width: calc(100% / 3);
padding: 10px 0;
}
#spec .tabs li:nth-last-child(-n+2){
border-left: none;
}
#spec .tabs li a{
font-size: 14px;
font-size: 1.4rem;
}
/*-----spec-1-----*/	
#spec .spec-1 .contents-top{
display: flex;
justify-content: flex-start;
align-items: center;
padding-bottom: 50px;
}
#spec .spec-1 .contents-top > div{
padding-left: 30px;
}
#spec .spec-1 .contents-top > img{
width: 50%;
}
#spec .spec-1 .contents-top .detail{
font-size: 24px;
font-size: 2.4rem;
}
#spec .spec-1 .contents-top .detail img{
padding: 10px 0 10px;
}
#spec .spec-1 .contents-top .detail span{
font-size: 16px;	
font-size: 1.6rem;	
}
#spec .spec-1 .contents ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#spec .spec-1 .contents ul li:nth-last-child(-n+2){
padding-bottom: 0;
}
#spec .spec-1 .contents ul li img{
padding-bottom: 20px;
}
#spec .spec-1 .contents ul li p{
font-size: 14px;
font-size: 1.4rem;
line-height: 2.5rem;
}
/*-----spec-2-----*/
#spec .spec-2 .contents.flooring ul li{
display: flex;
justify-content: space-between;
align-items: flex-start;
padding-bottom: 80px;
}
#spec .spec-2 .contents.flooring ul div{
width: 45%;
}
#spec .spec-2 .contents.flooring ul img{
width: 50%;
}
#spec .spec-2 .contents.flooring ul p,.window p{
line-height: 4rem;
}
#spec .spec-2 .contents.color ul li{
padding-bottom: 60px;
}
#spec .spec-2 .contents.color ul li:last-of-type{
padding-bottom: 0;
}
#spec .spec-2 .contents.joinery .img-box{
display: flex;
justify-content: space-between;
}
#spec .spec-2 .contents.joinery .img-box > img,
#spec .spec-2 .contents.joinery .img-box div{
width: 48%;
}
#spec .spec-2 .contents.color2 ul li{
width: 15%;
}
#spec .spec-2 .contents.color ul li img{
padding-bottom: 20px;
}
#spec .spec-2 .contents.color ul li p{
width: 100%;
padding: 15px 0;
font-size: 12px;
font-size: 1.2rem;
letter-spacing: 0.3rem;
}
/*-----spec-3-----*/	
#spec .spec-3 .door .door-box:last-of-type{	
margin-bottom: 0;
}
#spec .spec-3 .door .door-box div{	
width: 48%;
}	
#spec .spec-3 .door .door-box p{	
font-size: 16px;
font-size: 1.6rem;
line-height: 2em;
}
#spec .spec-3 .wall .wall-box{	
margin-bottom: 60px;
}
#spec .spec-3 .wall .wall-box div{	
width: 48%;
}	
#spec .spec-3 .wall .wall-box p{	
font-size: 16px;
font-size: 1.6rem;
line-height: 2em;
}
#spec .spec-3 .tile .tile-box:last-of-type{	
margin-bottom: 0;
}
#spec .spec-3 .tile .tile-box div{	
width: 48%;
}	
#spec .spec-3 .tile .tile-box p{	
font-size: 16px;
font-size: 1.6rem;
line-height: 2em;
}
#spec .spec-3 .door ul{	
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#spec .spec-3 .door ul li{	
width: 21%;
}
#spec .spec-3 .door ul li:nth-child(n+5) {	
padding-bottom: 0;
}
#spec .spec-3 .door ul li p{	
text-align: center;
padding-bottom: 20px;
}
#spec .spec-3 .door ul li p span{	
display: block;
font-size: 26px;
font-size: 2.6rem;
font-weight: 600;
padding-bottom: 5px;
}
#spec .spec-3 .tile .tile-box h5.function{
font-size: 1.8rem;
padding: 20px 0 10px;
}			
#spec .spec-3 .tile .tile-box h5.function:before{
padding-right: 5px;
}			
#spec .spec-3 .tile .tile-box ul li{
width: 30%;
}			
#spec .spec-3 .tile .tile-box ul li:nth-child(1){
transition: .3s;
}			
#spec .spec-3 .tile .tile-box ul li:nth-child(2){
transition: .6s;
}			
#spec .spec-3 .tile .tile-box ul li:nth-child(3){
transition: .9s;
}
#spec .spec-3 .tile .tile-box ul li p{
padding-top: 5px;
font-size: 1.2rem;
}	
#spec .spec-3 .flex3{
margin-bottom: 80px;
}
#spec .spec-3 .flex3 li{
width: 30%;
}
#spec .spec-3 .flex3 li:nth-child(1){
transition: .3s;
}
#spec .spec-3 .flex3 li:nth-child(2){
transition: .6s;
}
#spec .spec-3 .flex3 li:nth-child(3){
transition: .9s;
}
#spec .spec-3 .flex3.material li h5{	
font-size: 2.0rem;
padding-left: 10px;
margin: 20px 0 10px;	
}
#spec .spec-3 .flex3.material li p{
font-size: 2.0rem;
padding-bottom: 10px;
}
#spec .spec-3 .flex3.performance h5{
font-size: 2.0rem;
padding: 5px 0 15px;
}
#spec .spec-3 .flex3.performance h6{
font-size: 1.8rem;	
padding-bottom: 10px;
}
#spec .spec-3 .flex3.performance p{
font-size: 1.4rem;	
padding-bottom: 20px;
}
#spec .spec-3 .roof > p{
font-size: 16px;
font-size: 1.6rem;
line-height: 2em;
padding-bottom: 50px;
}
#spec .spec-3 .roof > img{
padding-bottom: 100px;
}
/*------------------
#flow
------------------*/
#flow .flow > li:nth-child(1):before {
border-left: 14px solid #2E66B1;
}
#flow .flow > li:nth-child(2):before {
border-left: 14px solid #EE9C4A;
}
#flow .flow > li:nth-child(3):before {
border-left: 14px solid #EA764D;
}
#flow .flow > li:nth-child(1) {
z-index: 4;
transition: .3s;
}
#flow .flow > li:nth-child(2) {
z-index: 3;
transition: .6s;
}
#flow .flow > li:nth-child(3) {
z-index: 2;
transition: .9s;
}
#flow .flow > li:nth-child(4) {
z-index: 1;
transition: 1.2s;
text-align: center;
}
#flow .flow > li:before {
top: 50%;
right: -28px;
margin-top: -14px;
border: 14px solid transparent;
border-left: 14px solid #FFF;
}
#flow .flow > li:after {
top: 50%;
right: -33px;
margin-top: -16px;
border: 16px solid transparent;
border-left: 16px solid #fff;
}
#flow .flow > li h4{
font-size: 2.4rem;
}
/*------------------
qa
------------------*/
.toggle_title {
padding: 10px 30px 15px;
line-height: 1.4;
border-radius: 20px;
margin-bottom: 30px;    
letter-spacing: 0.3rem;
margin-left: 3%;
}
.toggle_title span{  
font-size: 40px;
font-size: 4.0rem;
letter-spacing: 0.3rem;
padding-right: 15px;
}
.toggle_btn {
top: 50%;
right: 30px;
width: 24px;
height: 24px;
border-radius: 50%;
}
.toggle_btn:before, .toggle_btn:after {
width: 20px;
height: 3px;
}
.toggle_btn:before {
width: 3px;
height: 20px;
}
.toggle_contents dd {
padding: 0 0 40px 30px;
margin: 0 70px 0 3%;
text-indent: -4em;
padding-left: 6.2em;
}
.toggle_contents dd span{	
font-size: 40px;
font-size: 4.0rem;
letter-spacing: 0.3rem;
padding-right: 15px;
}
/*------------------
#works-page
------------------*/
#works-page h3{
font-size: 24px;
font-size: 2.4rem;
padding-bottom: 30px;
}
#works-page h3 span{
font-size: 32px;
font-size: 3.2rem;
padding-bottom: 20px;
}
#works-page .movie li div{
width: 80%;
padding: 20px;
}
#works-page .movie li div iframe{
border-radius: 20px;
}
#works-page .banner img{
padding-bottom: 50px;
}	
/*------------------
#company
------------------*/
/*--------#profile--------*/
#profile table th{
width: 20%;
padding: 15px 0;
}
#profile table td{
width: 80%;
padding: 15px 0;
}
/*--------#history--------*/
#history table th{
width: 30%;
padding: 15px 0;
}
/*------------------
#contact 
------------------*/
#contact .form dl {
padding: 24px 0;
}
#contact .form dl dt {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 18px;
font-size: 1.8rem;
}
#contact .form dl dt span {
padding: 3px 0;
width: 48px;
font-size: 14px;
font-size: 1.4rem;
}
#contact .form dl dd {
padding: 0 0 10px 20px;
box-sizing: border-box;
}
#contact .form dl dd .item-input {
padding-left: 1em;
padding-right: 1em;
height: 48px;
font-size: 18px;
font-size: 1.8rem;
margin-top: 18px;
box-sizing: border-box;
}
#contact .form dl dd .item-textarea {
padding-left: 1em;
padding-right: 1em;
height: 216px;
font-size: 18px;
margin-top: 18px;
box-sizing: border-box;
}
#contact .form input[type="submit"]  {
border-radius: 30px;
margin: 30px auto;
padding: 10px 0;
width: 280px;
font-size: 20px;
font-size: 2.0rem;
}
/*------------------
#works
------------------*/
#works h2{
font-size: 56px;
font-size: 5.6rem;
}
#works h2 span{
font-size: 24px;
font-size: 2.4rem;
padding: 20px 0;
}
#works > p{
font-size: 16px;
font-size: 1.6rem;
padding-bottom: 50px;
}
#works ul{
display: flex;
justify-content: center;
}
#works img{
padding-bottom: 10px;
}
#works li:last-of-type{
padding-right: 0px;
}
#works li h5{
padding-bottom: 10px;
}
#works li p{
font-size: 1.4rem;
font-size: 14px;
}
}



@media (min-width: 561px) and (max-width: 1024px){
section{
margin-bottom: 60px;
}
#hero{
width: 100%;
margin-left: auto;
padding-top: 100px;
}
h2.g-h2{
font-size: 46px;
font-size: 4.6rem;
letter-spacing: 0.3rem;
}
h2.g-h2 span{
font-size: 20px;
font-size: 2.0rem;
padding: 10px 0 30px;
}
h3.b-h3{
font-size: 32px;
font-size: 3.2rem;
line-height: 5.5rem;
letter-spacing: 0.6rem;
padding-bottom: 30px;
}
h3.w-line{
font-size: 24px;
font-size: 2.4rem;
line-height: 4.5rem;
letter-spacing: 0.5rem;
padding: 20px 0;
margin-bottom: 40px;
}
h3.top-line{
font-size: 3.4rem;
margin-bottom: 60px;
padding-top: 20px;
}
h3.top-line span{
font-size: 1.6rem;
padding-top: 20px;
}
h4.line{
font-size: 26px;
font-size: 2.6rem;
font-weight: 600;
padding: 0 17%;
margin-bottom: 30px;
}
h4.box-g{
font-size: 22px;
font-size: 2.2rem;
line-height: 5.5rem;
letter-spacing: 0.5rem;
margin-bottom: 30px;
}
h4.box-w{
padding: 10px 0;
font-size: 22px;
font-size: 2.2rem;
margin-bottom: 30px;
}
h5.box-g{
font-size: 18px;
font-size: 1.8rem;
letter-spacing: 0.2rem;
padding: 10px 0;
}
h5.left-h5{
font-size: 22px;
font-size: 2.0rem;
line-height: 4.0rem;
letter-spacing: 0.2rem;
padding-bottom: 20px;
}
.top-p{	
line-height: 4.2rem;
letter-spacing: 0.3rem;
padding-bottom: 50px;
}	
/*------------------
#news
------------------*/
#news{
padding-top: 100px;
}
#news div{
width: 80%;
}
#news ul{
width: 80%;
}
/*------------------
#concept
------------------*/
/*--------#support--------*/
#support{
padding: 60px 0 80px;
}
/*--------#message--------*/
#message .president .philosophy{
font-size: 16px;
font-size: 1.6rem;
padding: 15px 0;
}
#message .president .philosophy span{
font-size: 22px;
font-size: 2.2rem;
}
#message .president p span{
padding-top: 30px;
}
#message .president{
padding-bottom: 60px;
}
#message .president > div{
width: 40%;
float: left;
margin: 0 30px 10px 0;
}
#message .president p{
line-height: 3.0rem;
letter-spacing: 0.3rem;
}
#message .president .inner{
display: flex;
justify-content: space-between;
}
#message .president .inner > div{
width: 40%;
}
#message .president .inner p{
width: 55%;
line-height: 3.5rem;
letter-spacing: 0.3rem;
}
#message .vice-president .detail{
width: 57%;
margin: 120px 0 0 auto;
padding: 50px 5%;
}
#message .vice-president .img{
position: absolute;
top: -100px;
width: 35%;
}
/*------------------
#kikaku-plan
------------------*/
#kikaku-plan .plan{
padding-top: 50px;
}
#kikaku-plan .plan .plan-top{
padding-bottom: 30px;
}
#kikaku-plan .floor-map{
justify-content: space-between;
}
#kikaku-plan .floor-map div{
width: 50%;
}
#kikaku-plan .area{
padding-bottom: 30px;
}
#kikaku-plan .area div:first-of-type{
padding: 20px 0;
width: 70px;
padding-left: 0.3em;
}
#kikaku-plan .area div:nth-last-child(-n+2){
padding-left: 15px;
}
#kikaku-plan .area div:nth-last-child(-n+2) p:first-of-type{
padding-bottom: 20px;
}
#kikaku-plan .area p{
font-size: 14px;
font-size: 1.4rem;
}
#kikaku-plan .plan-point{
padding: 50px 0;
}
#kikaku-plan .plan-point ul{
width: 95%;
}
#kikaku-plan .plan-point ul li{
width: 42%;
}
#bottom-contact .bottom-p{
margin-bottom: 40px;
line-height: 2em;
font-size: 26px;
font-size: 2.6rem;
}
#bottom-contact a.btn{
margin: 0 auto 150px;
}
/*------------------
#ordermade
------------------*/
/*-----professionalism-----*/
#professionalism h2{
font-size: 46px;
font-size: 4.6rem;
}
#professionalism h2 span{
font-size: 20px;
font-size: 2.0rem;
}
/*------------------
#professional-page
------------------*/
#commitment .nav{
margin-bottom: 60px;
}
#commitment .inner > img{
padding-bottom: 60px;
}
#commitment .pro04-box{
margin-bottom: 60px;
}
#commitment .pro04-box div{
padding: 0 30px;
}
#commitment .pro04-box div p{
line-height: 2em;
}
#commitment .list{
width: 530px;
padding-bottom: 60px;
}
#commitment .list li{
font-size: 20px;
font-size: 2.0rem;
padding-bottom: 15px;
}
#commitment .j-fan > div{
margin-bottom: 60px;
}
#commitment .j-fan div div:first-of-type{
margin-bottom: 20px;
}
#commitment .j-fan h6{
margin-bottom: 5px;
}
#commitment .j-fan ul li{
font-size: 1.4rem;
}
#commitment .j-fan ul li > span{
display: block;
font-size: 2.4rem;
padding-left: 20px;
}
#commitment .j-fan ul li span span{
font-size: 1.2rem;
}
/*------------------
#spec
------------------*/	
/*--------#tab--------*/
#spec .tabs{
margin-bottom: 30px;
}
#spec .contents{
padding-bottom: 80px;
}
/*-----spec-1-----*/	
#spec .spec-1 .contents-top div .washlet{
width: 80%;	
padding-top: 20px;
}
#spec .spec-1 .contents ul li{
width: 47%;
padding-bottom: 50px;
}
/*-----spec-2-----*/
#spec .spec-2 .contents.flooring > img{
padding-bottom: 30px;
}
#spec .spec-2 .contents.color ul li{
width: 48%;
}
#spec .spec-2 .contents.joinery img{
padding-bottom: 30px;
}
#spec .spec-2 .contents.color2 ul li{
padding-bottom: 60px;
}
/*-----spec-3-----*/
#spec .spec-3 .window div:first-of-type{
padding-bottom: 50px;
}
#spec .spec-3 .window img{
padding-bottom: 50px;
}	
#spec .spec-3 .door .door-box{	
margin-bottom: 40px;
}	
#spec .spec-3 .tile-h5{
font-size: 26px;
font-size: 2.6rem;
line-height: 4.5rem;
letter-spacing: 0.5rem;
margin-bottom: 40px;
}		
#spec .spec-3 .tile > img{	
margin-bottom: 40px;
}	
#spec .spec-3 .tile .tile-box{	
margin-bottom: 60px;
}	
#spec .spec-3 .door ul{	
padding-bottom: 100px;
}
#spec .spec-3 .door ul li{
padding-bottom: 50px;
}
/*------------------
#flow
------------------*/
#flow .flow {
padding-bottom: 40px;
}
#flow .flow > li {
padding: 20px;
font-size: 1.2rem;
}
#flow .flow > li h4{
line-height: 1;
}
#flow .flow > li:nth-child(4) h4{
font-size: 3.4rem;
}
#flow .flow > li:nth-child(3) ul{
width: 220px;
}
#flow .flow > li:nth-child(3) ul li{
width: 110px;
}
#flow div p{
padding-bottom: 40px;
}
/*------------------
qa
------------------*/
.toggle_title {
font-size: 20px;
font-size: 2.0rem;
}
#qa p{
margin-top: 40px; 
}
/*------------------
#works-page
------------------*/
#works-page .movie{
padding-top: 50px;
}
#works-page .movie li{
padding-bottom: 70px;
}
#works-page .movie li div{
height: 30vh;
}	
/*------------------
#company
------------------*/
/*--------#profile--------*/
#profile div{
padding: 60px 0;
}
#profile table{
width: 90%;
}
/*--------#history--------*/
#history table{
width: 100%;
}
#history table td{
width: 70%;
padding: 20px;
}
/*------------------
#contact 
------------------*/
#contact{
padding-top: 60px;
}
/*---dt---*/
#contact .form dl dt {
width: 30%;
}
/*---dd---*/
#contact .form dl dd{
width: 70%;
}
#contact .form dl dd .item-input {
width: 100%;
}
#contact .form dl dd .item-textarea {
width: 100%;
}
/*------------------
#works
------------------*/
#works li{
width: 40%;
padding-right: 30px;
}
}



@media (min-width: 1025px){
section{
margin-bottom: 100px;
}
#hero{
width: calc(100% - 220px);
margin-left: auto;
}
h2.g-h2{
font-size: 56px;
font-size: 5.6rem;
letter-spacing: 0.3rem;
}
h2.g-h2 span{
font-size: 24px;
font-size: 2.4rem;
padding: 20px 0 60px;
}
h3.b-h3{
font-size: 42px;
font-size: 4.2rem;
line-height: 6.5rem;
letter-spacing: 0.6rem;
padding-bottom: 40px;
}
h3.w-line{
font-size: 40px;
font-size: 4.0rem;
line-height: 5.5rem;
letter-spacing: 0.5rem;
padding: 30px 0;
margin-bottom: 60px;
}
h3.top-line{
font-size: 4.0rem;
margin-bottom: 60px;
padding-top: 30px;
}
h3.top-line span{
font-size: 1.6rem;
padding-top: 20px;
}
h4.line{
font-size: 30px;
font-size: 3rem;
font-weight: 600;
padding: 0 12%;
margin-bottom: 50px;
}
h4.box-g{
font-size: 26px;
font-size: 2.6rem;
line-height: 5.5rem;
letter-spacing: 0.5rem;
margin-bottom: 60px;
}
h4.box-w{
width: 80%;
padding: 15px 0;
font-size: 25px;
font-size: 2.5rem;
letter-spacing: 0.2em;
margin-bottom: 40px;
}
h5.box-g{
font-size: 20px;
font-size: 2.0rem;
letter-spacing: 0.5rem;
padding: 12px 0;
}
h5.center-h5{
line-height: 1.5em;
}
h5.left-h5{
font-size: 24px;
font-size: 2.4rem;
line-height: 4.5rem;
letter-spacing: 0.5rem;
padding-bottom: 30px;
}
.top-p{
line-height: 5.2rem;
letter-spacing: 0.3rem;
padding-bottom: 100px;
}	
/*------------------
#news
------------------*/
#news div{
width: 60%;
}
#news ul{
width: 60%;
}
/*------------------
#concept
------------------*/
/*--------#support--------*/
#support{
padding: 80px;
}
/*--------#message--------*/
#message .president .philosophy{
font-size: 20px;
font-size: 2.0rem;
padding: 20px 0;
}
#message .president .philosophy span{
font-size: 26px;
font-size: 2.6rem;
padding-bottom: 10px;
}
#message .president{
display: flex;
justify-content: space-between;
padding-bottom: 100px;
}
#message .president > div{
width: 50%;
transition: .3s;
}
#message .president p{
width: 45%;
line-height: 3.5rem;
letter-spacing: 0.3rem;
transition: .6s;
}
#message .vice-president .detail{
width: 45%;
margin: 100px 0 0 auto;
padding: 80px 10%;
transition: .6s;
}
#message .vice-president .img{
position: absolute;
top: -150px;
width: 40%;
transition: .3s;
}
/*------------------
#kikaku-plan
------------------*/
#kikaku-plan .plan{
padding-top: 70px;
}
#kikaku-plan .plan .plan-top{
padding-bottom: 50px;
}
#kikaku-plan .plan-img img:first-of-type{
transition: .6s;
}
#kikaku-plan .plan-img img:last-of-type{
transition: .9s;
}
#kikaku-plan .floor-map{
justify-content: center;
}
#kikaku-plan .floor-map div{
width: 40%;
}
#kikaku-plan .floor-map div:first-of-type{
transition: .3s;
}
#kikaku-plan .floor-map div:last-child{
transition: .6s;
}
#kikaku-plan .area{
padding-bottom: 40px;
}
#kikaku-plan .area div:first-of-type{
padding: 25px 0;
width: 80px;
padding-left: 0.3em;
}
#kikaku-plan .area div:nth-last-child(-n+2){
padding-left: 30px;
}
#kikaku-plan .area div:nth-last-child(-n+2) p:first-of-type{
padding-bottom: 20px;
}
#kikaku-plan .plan-point{
padding: 70px 0;
}
#kikaku-plan .plan-point ul{
width: 90%;
max-width: 980px;
}
#kikaku-plan .plan-point ul li{
width: 43%;
}
#kikaku-plan .plan-point ul li:nth-child(odd){
transition: .3s;
}
#kikaku-plan .plan-point ul li:nth-child(even){
transition: .6s;
}
#bottom-contact .bottom-p{
margin-bottom: 60px;
line-height: 2em;
font-size: 30px;
font-size: 3.0rem;
}
#bottom-contact a.btn{
margin: 0 auto 200px;
}
/*------------------
#ordermade
------------------*/
/*-----professionalism-----*/
#professionalism h2{
font-size: 56px;
font-size: 5.6rem;
}
#professionalism h2 span{
font-size: 24px;
font-size: 2.4rem;
}
/*-----professionalism-----*/
#kikaku{
padding: 60px 0;
height: 220px;
}
#kikaku h2{
font-size: 56px;
font-size: 5.6rem;
}
#kikaku h2 span{
font-size: 24px;
font-size: 2.4rem;
padding:20px 0 40px;
}
/*------------------
#professional-page
------------------*/
#commitment .inner{
margin-left: 4%;
}
#commitment .inner:last-of-type{
margin-top: 0;
}
#commitment .nav{
margin-bottom: 100px;
}
#commitment .inner > p span{
font-size: 30px;
font-size: 3.0rem;
color: #D16F0C;
}
#commitment .inner > img{
display: block;
width: 65%;
padding-bottom: 100px;
margin: 0 auto;
}	
#commitment .img-box img:nth-child(1){
transition: .3s;
}
#commitment .img-box img:nth-child(2){
transition: .6s;
}
#commitment .pro-box div:first-of-type{
transition: .3s;
}
#commitment .pro-box div:last-of-type{
transition: .6s;
}
#commitment .pro04-box{
width: 90%;
margin: 0 auto;
margin-bottom: 100px;
}
#commitment .pro04-box div{
padding: 0 60px;
}
#commitment .pro04-box div p{
line-height: 2.5em;
}
#commitment .list{
width: 690px;
padding-bottom: 60px;
}
#commitment .list li{
font-size: 26px;
font-size: 2.6rem;
padding-bottom: 15px;
}
#commitment .j-fan > div{
margin-bottom: 100px;
}
#commitment .j-fan ul li{
font-size: 1.8rem;
}
#commitment .j-fan ul li span{
font-size: 2.8rem;
}
#commitment .j-fan ul li span span{
font-size: 1.4rem;
}
/*------------------
#spec
------------------*/	
/*--------#tab--------*/
#spec .tabs{
margin-bottom: 50px;
}	
#spec .contents{
padding-bottom: 100px;
width: 85%;
margin: 0 auto;
}
/*-----spec-1-----*/	
#spec .spec-1 .contents-top div .washlet{
width: 70%;	
padding-top: 30px;
}
#spec .spec-1 .contents ul li{
width: 48%;
padding-bottom: 100px;
}
#spec .spec-1 .contents ul li:nth-child(1){
transition: .3s;
}
#spec .spec-1 .contents ul li:nth-child(2){
transition: .6s;
}
/*-----spec-2-----*/
#spec .spec-2 .top-p{
text-align: center;
}
#spec .spec-2 .contents.flooring > img{
padding-bottom: 50px;
}
#spec .spec-2 .contents.flooring ul div{
transition: .6s;
}
#spec .spec-2 .contents.flooring ul img{
transition: .3s;
}
#spec .spec-2 .contents.color ul li{
width: 30%;
}
#spec .spec-2 .contents.color ul li{
width: 30%;
padding-bottom: 60px;
}
#spec .spec-2 .contents.color ul li:nth-child(1),
#spec .spec-2 .contents.color ul li:nth-child(4),
#spec .spec-2 .contents.color ul li:nth-child(7){
transition: .3s;
}
#spec .spec-2 .contents.color ul li:nth-child(2),
#spec .spec-2 .contents.color ul li:nth-child(5){
transition: .6s;
}
#spec .spec-2 .contents.color ul li:nth-child(3),
#spec .spec-2 .contents.color ul li:nth-child(6){
transition: .9s;
}
#spec .spec-2 .contents.color ul li:last-of-type{
padding-bottom: 0;
}
#spec .spec-2 .contents.color ul li img{
padding-bottom: 20px;
}
#spec .spec-2 .contents.joinery img{
padding-bottom: 50px;
}
#spec .spec-2 .contents.color2 ul li:nth-child(1){
transition: .3s;
}
#spec .spec-2 .contents.color2 ul li:nth-child(2){
transition: .6s;
}
#spec .spec-2 .contents.color2 ul li:nth-child(3){
transition: .9s;
}
#spec .spec-2 .contents.color2 ul li:nth-child(4){
transition: 1.2s;
}
#spec .spec-2 .contents.color2 ul li:nth-child(5){
transition: 1.5s;
}
#spec .spec-2 .contents.color2 ul li:nth-child(6){
transition: 1.8s;
}
#spec .spec-2 .contents.color2 ul li:nth-child(7){
transition: 2.1s;
}
#spec .spec-2 .contents.color2 ul li img{
padding-bottom: 20px;
}
#spec .spec-2 .contents.color2 ul li a{
width: 100%;
padding: 15px 0;
font-size: 12px;
font-size: 1.2rem;
letter-spacing: 0.3rem;
}
/*-----spec-3-----*/
#spec .spec-3 .window div:first-of-type{
padding-bottom: 50px;
}
#spec .spec-3 .window img{
padding-bottom: 100px;
}			
#spec .spec-3 .door .door-box{	
margin-bottom: 60px;
}		
#spec .spec-3 .door .door-box img{	
transition: .3s;
}	
#spec .spec-3 .door .door-box div{	
transition: .6s;
}
#spec .spec-3 .tile-h5{
font-size: 3.0px;
font-size: 3.0rem;
line-height: 5.5rem;
letter-spacing: 0.5rem;
margin-bottom: 60px;
}	
#spec .spec-3 .tile > img{	
margin-bottom: 60px;
}	
#spec .spec-3 .tile .tile-box{	
margin-bottom: 100px;
}
#spec .spec-3 .tile .tile-box div:nth-child(1){	
transition: .3s;
}		
#spec .spec-3 .tile .tile-box div:nth-child(2){	
transition: .6s;
}	

#spec .spec-3 .door ul{	
padding-bottom: 200px;
}
#spec .spec-3 .door ul li{	
padding-bottom: 100px;
}
#spec .spec-3 .door ul li:nth-child(1),
#spec .spec-3 .door ul li:nth-child(5){	
transition: .3s;
}
#spec .spec-3 .door ul li:nth-child(2),
#spec .spec-3 .door ul li:nth-child(6){	
transition: .6s;
}
#spec .spec-3 .door ul li:nth-child(3),
#spec .spec-3 .door ul li:nth-child(7){	
transition: .9s;
}
#spec .spec-3 .door ul li:nth-child(4),
#spec .spec-3 .door ul li:nth-child(8){	
transition: 1.2s;
}
/*------------------
#flow
------------------*/
#flow .flow {
width: 940px;
padding-bottom: 100px;
}
#flow .flow > li {
padding: 20px 30px;
font-size: 16px;
}
#flow .flow > li:nth-child(4) h4{
font-size: 4.4rem;
}
#flow .flow > li:nth-child(3) ul{
width: 280px;
}
#flow .flow > li:nth-child(3) ul li{
width: 140px;
}
#flow .w-line{
width: 95%;
margin: 0 auto 60px;
}
#flow div p{
padding-bottom: 60px;
}
/*------------------
qa
------------------*/
.toggle_title {
font-size: 24px;
font-size: 2.4rem;
}
#qa p{
margin-top: 50px; 
}
/*------------------
#works-page
------------------*/
#works-page .movie li{
padding-bottom: 150px;
}
#works-page .movie li div{
height: 60vh;
}
/*------------------
#company
------------------*/
/*--------#profile--------*/
#profile div{
padding: 80px 0;
}
#profile table{
width: 80%;
max-width: 960px;
}
/*--------#history--------*/
#history table{
width: 90%;
max-width: 1200px;
}
#history table td{
width: 70%;
padding: 15px 0 15px 30px;
}
/*------------------
#contact 
------------------*/
#contact .form {
margin: 0 auto 100px;
width: 720px;
}
#contact .form dl {
padding: 24px 14px;
}
#contact .form dl dt {
width: 280px;
}
#contact .form dl dd{
width: 440px;
}
#contact .form dl dd .item-input {
width: 100%;
}
#contact .form dl dd .item-textarea {
width: 100%;
}
/*------------------
#works
------------------*/
#works li{
width: 30%;
padding-right: 30px;
}
}