@charset "utf-8";

/*========================================

  foundation

========================================*/
.slider {
    width: 1200px;
}

html {
    font-size: 24px;
}

body {
    overflow-x: hidden;
    position: relative;
    min-width: 320px;
    max-width: 100%;
    margin: 0 auto;
    font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: inherit;
    color: #8f8f8f;
    font-weight: 400;
    letter-spacing: 0.06rem;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

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

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-weight: 300;
}

ul, ol {
    margin: 0;
    padding: 0;
}

.flex_box {
    display: flex;
}

.flex_box > div {
    width: 50%;
}

i {
    margin-right: 10px;
}

section {
    margin: 3% auto;
}

.about_plan {
    padding-top: 70px;
}

.top_slider {
    padding: 0;
    margin: 0 auto;
}

.header_inner,
.about_plan,
.about_products,
.about_ecokaratto,
.about_ecokaratto_products,
.about_how_to,
.about_faq,
.inquiry,
.top_bottom > .flex_box,
.btn_area > .flex_box {
    max-width: 1200px;
    margin: 0 auto;
}

h2 {
    color: #d8836e;
    font-size: 2em;
    font-weight: 400;
    line-height: 0.8em;
    text-align: center;
}

.small {
    font-size: 0.65em;
}

.mail_btn, .tel_btn {
    border-radius: 10px;
    padding: 1% 5%;
    color: #fff;
    margin: 2% 5%;
    text-align: center;
}

.btn_area h4 {
    font-size: 1.6em;
    color: #d8836e;
    text-shadow: 1px 1px 2px #fff;
    /*文字を太字にするとよりそれらしくなります*/
    font-weight: 600;
}

.btn_area h4 span {
    font-size: 1.2em
}

section.btn_area .flex_box > div {
    padding: 1% 3%
}

section.btn_area {
    background-color: #e8dec3;
    padding-top: 5%;
    padding-bottom: 5%;
}

.img-center {
    width: 35%;
    margin: 0 auto;
    padding: 5% 0;
}

.mail_btn a p:first-of-type,
.tel_btn p:first-of-type {
    font-size: 0.7em;
}

.mail_btn {
    background-color: #52bbca;
    border-bottom: solid 10px #3f909b;
}

.tel_btn {
    background-color: #009900;
    border-bottom: solid 10px #005b00;
}

.btn_mail {
  color: #FFF;/*文字・アイコン色*/
  border-radius: 7px;/*角丸に*/
  display: inline-block;
  height: 40px;/*高さ*/
  width: 150px;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 15px;/*文字のサイズ*/
  line-height: 40px;/*高さと合わせる*/
  background: #1da1f3;
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.btn_mail span {
  display:inline-block;
  transition: .5s;
}

.btn_tel {
  color: #FFF;/*文字・アイコン色*/
  border-radius: 7px;/*角丸に*/
  display: inline-block;
  height: 40px;/*高さ*/
  width: 150px;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 15px;/*文字のサイズ*/
  line-height: 40px;/*高さと合わせる*/
  background: #009900;
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.btn_tel span {
  display:inline-block;
  transition: .5s;
}

.mgrt {
  margin-right: 30px;
}

.btn_mail:hover span {
  -webkit-transform: rotateX(360deg);
  transform: rotateX(360deg);
}
.btn_tel:hover span {
  -webkit-transform: rotateX(360deg);
  transform: rotateX(360deg);
}


img {
    width: 100%
}

.top_bottom, .btn_area {
    background-color: #d8836e;
    text-align: center;
}

/* ヘッダー
********************************************/

header {
    border-bottom: 5px solid #d8836e;
}

header　.flex_box {
    align-items: center;
}

.logo {
    height: 120px;
    display: table-cell; /* p要素でテーブルの構造を表現 */
    line-height: 0; /* ボックス内でのp要素の余分な下スペースを消去 */
}

.logo img {
    width: 50%;
    padding-top: 30px;

}

header .btn_area {
    background-color: #fff;
    padding-top: 50px;
}
header .btn_area .flex_box{
    padding-top: 30px;
}

 /* topスライダー
********************************************/
/*.top_slider{*/
/*width: 1200px;*/
/*margin:0 auto;*/
/*}*/
/*#slider img{*/
/*width: 100%;*/
/*}*/
/* topbottom
********************************************/
section.top_bottom {
    padding: 0;
    margin: 0;
}

.top_bottom p {
    color: #fff;
    font-size: 1.6em;
    padding: 2% 0 0;
}

.top_bottom .flex_box div {
    margin: 2% 4%;
}

.top_bottom img {
    width: 100%;
}

/* プランについて
********************************************/

.about_plan .item {
    width: 50%;
    margin: 0 2%;
    padding-top: 70px;
}

.about_plan .item-text {
    margin: 2% 0;
    font-size: 0.8em;
}

/* product_block
********************************************/

.about_products {
    border: 0;
    border-top: 1px dashed #ae913b;
    width: 90%;
}

.about_products .product_block {
    margin-bottom: 7%;
    border-top: 1px dashed #ae913b;
    padding-top: 7%;
}

.about_products .product_block:first-of-type {
    border-top: none;
}

.about_products .product_block .item {
    margin-bottom: 4%;
}

.product_block .item-text {
    margin-left: 7%;
    font-size: 0.8em;
}

h5 {
    font-size: 2em;
. font-weight: 700 em;
    margin: 5% 0 15px;
    border: 0;
    border-bottom: 1px solid #ae913b;
    width: 100%;
}

.price {
    color: #c82d1d;
    font-size: 3em;
}

/* one_btn_area
********************************************/
.one_btn_area {
    width: 30%;
    margin: 0 auto;
}

/* エコカラットとは
********************************************/
.about_ecokaratto h2 {
    padding-bottom: 70px;
}

.step_box {
    margin-left: 10%;
}

.step_box div {
    text-align: center;
}

.step_box div p span {
    font-weight: bold;
    font-size: 1.2em;
    padding-right: 10px;
}

.step_box:first-of-type {
    border-bottom: 1px solid #ae913b;
}

.step_box div:first-of-type {
    border-right: 1px solid #ae913b;
}

/* 施工までの流れ
********************************************/
.about_how_to {
    padding: 7% 0 3%;
}

.about_how_to .text > p:first-of-type {
    color: #ae913b;
    font-size: 1.3em;
}

/* エコカラットプロダクト
********************************************/
.about_ecokaratto_products h2 {
    padding-top: 10%;
}

.ecokaratto_products {
    border-top: 1px dashed #ae913b;
    padding-top: 10%;
    margin-bottom: 10%;
}

.ecokaratto_products:first-of-type {
    border-top: none;
}

.ecokaratto_products > .flex_box .item-image {
    width: 40%;
}

.ecokaratto_products .item_ditail_warapper .item-image {
    width: 100%;
    margin: 0% 3%;
}

.ecokaratto_products > .flex_box > .item-image img {
    width: 100%;
}

.ecokaratto_products .item-image + div {
    font-size: 0.8em;
    width: 60%;
}

.item_ditail_warapper {
    margin: 0 4%;
}

.item_ditail_warapper .flex_box .item-image img {
    margin: 0 2%;
}

.product_name {
    font-size: 1.6em;
    border-bottom: solid 1px;
    margin-bottom: 12%;
}

.product_name + .flex_box {
    margin: 5% 0;
}

/* よくある問い合わせ
********************************************/

.about_faq h2 {
    padding-bottom: 10%;
}

.question, .answer {
    align-items: center;
    margin: 0 3%;
}

.faq_warapper {
    background-color: #e8dec3;
    padding-top: 10px;
    padding-bottom: 10px;
}

.faq_block i {
    font-size: 100px;
    margin: 10%;
}

.faq_block .flex_box > div {
    width: auto;
}

.faq_block .flex_box > div i + p {
    margin-left: 15px;
}

.question {
    color: #ae913b;
    border-bottom: solid 1px #ae913b;
}

.question p:first-of-type,
.answer div {
    margin: 5%;
}

.answer div {
    text-align: center;
}

.question p:nth-of-type(2),
.answer p:nth-of-type(2) {
    margin: 2% 3% 2% 0;
}

.faq_block {
    background-color: #fff;
    padding-top: 1px;
    padding-bottom: 1px;
    margin: 3%;
}

/* お問い合わせ
********************************************/
.form .text {
    text-align: center;
    margin: 5% 0;
}

.form .text span {
    color: #c82d1d;
    font-size: 1.4em;
}

.form .flex_box .table_head {
    width: 35%;
    margin-right: 10%;
}

.table_head > div {
    width: 70%;
}

.form .flex_box {
    margin: 15px 0;
}

dt {
    color: #ffffff;
    background: #d8836e;
    padding: 15px;
    width: 100%;
}

.form .flex_box:last-of-type dd {
    height: 100%;
}

input[type="text"] {
    padding: 15px;
    width: 100%;
    height: 100%;
}

.form dd {
    width: 100%;
}

textarea {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 15px;
}

.form-pt {
    padding-bottom: 20px;
}

.form-height {
    height: 200px;
}

.form-height1 {
    height: 120px;
}

.form-height2 {
    height: 260px;
}

.form-height3 {
    height: 280px;
}

.form {
    padding-bottom: 100px;
}

.form span.hissu {
    background: #fff;
    color: #f00;
    font-weight: bold;
    margin-right: 20px;
    padding: 5px;
    font-size: 80%;
    border-radius: 10px;
}

dt {
    font-weight: normal;
}

/*button
************************************************/

.btn-submit {
    text-align: center;
    padding: 30px 0 0;
}

.btn-submit button {
    display: inline-block;
    position: relative;
    width: 360px;
    height: 50px;
    border: none;
    background: none;
    -webkit-perspective: 300px;
    perspective: 300px;
    font-size: 125%;
    color: #ae913b;
}

.btn-submit button span {
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 360px;
    height: 50px;
    border: 3px solid #ae913b;
    text-align: center;
    line-height: 40px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    pointer-events: none;
}

.btn-submit button span:nth-child(1) {
    background-color: #ae913b;
    color: #fff;
    -webkit-transform: rotateX(90deg);
    -moz-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transform-origin: 50% 50% -25px;
    -moz-transform-origin: 50% 50% -25px;
    transform-origin: 50% 50% -25px;
}

.btn-submit button span:nth-child(2) {
    background-color: #fff;
    color: #ae913b;
    -webkit-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    transform: rotateX(0deg);
    -webkit-transform-origin: 50% 50% -25px;
    -moz-transform-origin: 50% 50% -25px;
    transform-origin: 50% 50% -25px;
}

.btn-submit button:hover span:nth-child(1) {
    -webkit-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    transform: rotateX(0deg);
}

.btn-submit button:hover span:nth-child(2) {
    background-color: #ae913b;
    -webkit-transform: rotateX(-90deg);
    -moz-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
}

@media screen and (min-width: 641px) {
    .sp-only {
        display: none;
    }
}

@media screen and (min-width: 1024px) {
}

@media screen and (max-width: 640px) {
    .pc-only {
        display: none !important;
    }

    html {
        font-size: 16px;

    }

    img {
        max-width: 100%;
        width: 100%;
    }

    h2 {
        font-size: 1.5em;

    }

    .header_inner,
    .about_plan,
    .about_ecokaratto,
    .about_ecokaratto_products,
    .about_how_to,
    .about_faq,
    .inquiry,
    .top_bottom > .flex_box,
    .btn_area > .flex_box {
        padding: 0 5%;
    }


    .logo img {
        padding-top: 15px;
    }

    .logo {
        height: 30%;
    }

    .btn_area h4 {
        font-size: 1.2em;
    }

    .mail_btn, .tel_btn {
        margin: 2% 1%;
    }

    header .btn_area {
      background-color: #fff;
      padding-top: 30px;
      padding-bottom: 20px;
    }

    .flex_box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .flex_box > div {
        width: 100%;
    }

    .logo + .btn_area .flex_box {
        -ms-flex-direction: row; /*IE10*/
        -webkit-flex-direction: row; /*old webkit browser*/
        flex-direction: row;
    }

    .top_bottom .flex_box div {
        margin: 0;
        padding: 5%;
    }

    .about_plan .item {
        width: 100%;
         margin: 0;
        padding-top: 5%;
    }

    .ecokaratto_products > .flex_box .item-image {
        width: 100%;
    }

    .one_btn_area {
        width: 60%;
        margin: 0 auto;
    }

    .form .flex_box .table_head {
        width: 100%;
        margin-right: 0%;
    }

    .question p:nth-of-type(2), .answer div + p {
        margin: 0% 5% 5% 5%;
    }

    .faq_block {
        margin: 5%;
    }

    form {
        padding: 0 5%;
    }

    .form-height {
        height: auto;
    }

    .form-height1 {
        height: auto;
    }

    .form-height2 {
        height: auto;
    }

    .form-height3 {
        height: auto;
    }

    .form .text span {
        font-size: 1.2em;
    }

    .form .text {
        margin: 7% 0;
    }

    .img-center {
        width: 70%;
        padding:15% ;
    }

    .btn-submit{

    }
    .btn-submit button {
        width: 100%;
    }
    .btn-submit button span{
        width: 100%;
    }
    .mail_btn {
        background-color: #ae913b;
        border-bottom: solid 5px #8e762e;
    }

    .tel_btn {
        background-color: #009900;
        border-bottom: solid 5px #005b00;
    }

    .product_block .item-text {
        margin-left: 0;
    }

    .item_ditail_warapper {
        padding: 7% 0 1%;
    }

    .ecokaratto_products .item-image + div {
        width: 100%;
        margin: 0;
    }

    .product_name {
        font-size: 1.6em;
        margin-bottom: 3%;
    }

    .product_name + .flex_box {
        -ms-flex-direction: row; /*IE10*/
        -webkit-flex-direction: row; /*old webkit browser*/
        flex-direction: row;
    }

    .about_ecokaratto_products {
        padding: 0 5%;
    }

    h2#about_plan{
        padding-top: 20%;
        padding-bottom: 10%;
    }
    .about_products {
        margin-top: 10%;
    }

    .about_products .product_block {
        margin-bottom: 18%;
        padding-top: 18%;
    }
    .about_products .product_block:last-of-type {
        margin-bottom: 7%;
    }

    .faq_block i {
        font-size: 80px;
        margin: 0%;
    }
    .faq_block .flex_box > div i + p {
        margin-left: 0;
    }
    .about_how_to .text{
        padding-top: 5%;
    }

    .about_how_to .text p:first-of-type{
        padding:5% 0;
        text-align: center;
    }


    .step_box {
         margin-left: 0;
    }

    .step_box:first-of-type {
        border-bottom: none;
    }

    .step_box div:first-of-type {
        border-right: none;
    }

    .about_ecokaratto h2 {
        padding-bottom: 10%;
    }

}

@media screen and (max-width: 320px) {
    .mail_btn a p:first-of-type, .tel_btn p:first-of-type {
        font-size: 0.6em;
    }

    .mgrt {
      margin-right: 0px;
    }

    .btn_tel {
      margin-top: 20px;
    }

}

@media screen and (min-width: 641px) {
    .sp-only {
        display: none !important;
    }
}

/* ---------------------------
footer
--------------------------- */
footer {
    font-size: 80%;
    text-align: center;
    padding: 30px 0;
}

@media screen and (max-width: 640px) {
    footer {
        padding: 8% 0;
    }
}

/* ---------------------------
return top
--------------------------- */
.return_top {
    position: fixed;
    bottom: 40px;
    right: 0;
    text-align: center;
    display: none;
    z-index: 10;
    text-align: right;
}

.return_top img {
    margin-right: 0;

    cursor: pointer;
    width: 70px;
}

@media screen and (max-width: 640px) {
    .return_top {
        position: fixed;
        width: 14%;
        bottom: 10%;
        right: 0;
        left: auto;
        text-align: center;
    }

    .return_top img {
        margin-left: 0;
    }
}


/* ------------
 faq
--------------- */

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	font-family: sans-serif;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	margin: 0 0 2em 10px;
	padding: 1em 1em 0.5em 1em;
	background: #e1f5fe;
}
.cp_qa h1.faq {
	font-size: 1.2em;
	position: relative;
	margin-right: 1em;
	margin-left: -34px;
	margin-bottom: 20px;
	padding: 0.3em;
	color: #ffffff;
	background-color: #42a5f5;
	box-shadow: 0 1px 1px rgba(0,0,0,0.2);
}
.cp_qa h1.faq::after {
	position: absolute;
	bottom: -10px;
	left: 0;
	display: inline-block;
	width: 0;
	height: 0;
	content: '';
	border-width: 0 10px 10px 0;
	border-style: solid;
	border-color: transparent #1976d2 transparent transparent;
}
.cp_qa dl {
	margin: 0;
}
.cp_qa dt {
	margin-bottom: 0.5em;
	padding: 0.2em 0.5em 0.5em 2em;
	border-radius: 0.2em;
	background: #ffb74d;
}
.cp_qa dd {
	margin-bottom: 1em;
	margin-left: 0;
	padding: 0.5em 1em 1.5em 3em;
}
/* QAアイコン */
.cp_qa dt::before,.cp_qa dd::before{
	font-size: 1.5em;
	color: #ffffff;
}
.cp_qa dt::before {
	margin: 0.3em 0.3em 0 -1em;
	content: 'Q';
}
.cp_qa dd::before {
	margin: 0 0.5em 0 -2em;
	padding: 0.2em 0.4em;
	content: 'A';
	border-radius: 0.2em;
	background: #00bcd4;
}

/*Checkboxes styles*/
input[type="checkbox"] { display: none; }

input[type="checkbox"] + label {
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
  top: -11px;
  font: 18px/20px 'Open Sans', Arial, sans-serif;
  color: #222;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }

input[type="checkbox"] + label:before {
  content: '';
  width: 20px;
  height: 20px;
  border: 1px solid #6cc0e5;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}

input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
