@charset "UTF-8";

/* resset */
* {
    box-sizing: border-box;
}

/* typo
----------------------------------- */
html {
    width: 100%;
    font-size: 100%;
    background-color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-feature-settings: "palt";
}

a {
    color: black;
}

a:link{
    text-decoration: none;
}
a:visited{
    text-decoration: none;
}
a:hover{
    text-decoration: none;
}
a:active{
    text-decoration: none;
}

ul, li {
    list-style-type: none;
}

/* utility
----------------------------------- */
.d-flex {
    display: flex;
}

.pc-non {
    display: none;
}

.eng-sans {
    font-family: 'Noto Sans', sans-serif;
}
/* layout
---------------------------------- */
.container {
    max-width: 1000px;
    margin: 0 auto;
}

/* header
----------------------------------- */
header {
    background-color: #fff;
    transition: background 1s;
    color: #0066cc;
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    z-index: 9999999;
}

li a {
    color: #0066cc;
    transition: color 1s;
}

.header-sec {
    justify-content: space-between;
    align-items: center;
}

.g-nav {
    margin-right: 20px;
}
.nav-item {
    width: 90px;
    /* padding: 4px; */
    text-align: center;
    border-left: #cccccc solid 1px;
}

.nav-item3 {
    border-right: #cccccc solid 1px;
}

.nav-item:hover {
    background-color: #0066cc;
    color: #fff;
    transition: background 1s;
}

.nav-item a {
    display: block;
}

.nav-item a:hover {
    color: #fff;
    transition: color 1s;
}

.nav-icon {
    font-size: 20px;
}

.nav-item-ttl {
    font-size: 12px;
}

/* mv
-------------------------------------- */
.mv {
    background-image: url(../images/mv_top.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 500px;
}

.ttl {
    text-align: center;
    margin-left: 40%;
}

.top-ttl {
    font-size: 22px;
    letter-spacing: 0.3em;
    padding-top: 18%;

}

.ttl-logo {
    padding-left: 10px;
}

.top-point {
    margin-left: 28%;
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.top-point p {
    background-color: #fad06c;
    padding: 4px;
}

.estimate-free {
    margin-right: 10px;
}

.sub-eng {
    font-family: 'Russo One', sans-serif;
    color: #fff;
    opacity: .8;
    letter-spacing: 0.2em;
    transform: scale(0.8, 1);
    margin-top: 30px;
}

/* introduction
------------------------------------------------ */
.intro-txt {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-align: center;
    margin: 60px 0;
}

.intro-person {
    justify-content: space-around;
}

.saying {
    margin-top: -270px;
    text-align: center;
}

.saying1 {
    margin-top: -260px;
}
/* feature
-------------------------------------------------- */
.feature {
    margin-top: 370px;
    background: rgba(187, 226, 241, .7);
    height: 940px; 
     /* 仮の高さ【レイアウト用】 */
}

.triangle {
    width: 0;
    height: 0;
    margin: 0 auto;
    border-style: solid;
    border-width: 100px 250px 0 250px;
    border-color: #ffffff transparent transparent transparent;
}

.feature-head {
    text-align: center;
    margin-top: 60px;
}

.feat-head-txt {
    font-weight: 500;
    letter-spacing: 0.15em;
}

.feat-head-center {
    justify-content: center;
}

.onayami,
.nara {
    font-size: 20px;
}

.nara {
    padding-top: 54px;
}

.kaiketsu {
    font-size: 22px;
    margin-top: -10px;
}

.feature-contents {
    justify-content: space-between;
    margin-top: 30px;
}

.feat {
    background-color: #fff;
    width: 32%;
}

.feat-item {
    padding: 50px 30px;
    text-align: center;
}

.feat-icon {
    padding: 0px 0px 12px 0px;
}

.feat-ttl {
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 12px;
}

.feat-contact-head {
    font-size: 20px;
    margin: 40px 0 20px 0;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.contact-area {
    background-color: #fff;
    justify-content: space-around;
}

.contact-item {
    color: #0066cc;
}


.fa-phone {
    font-size: 40px;
    padding: 20px 10px;
}

.fa-envelope {
    font-size: 50px;
    padding: 20px 10px;
}

.contact-txt {
    font-size: 14px;
    margin-top: 10px;
}

.call-number {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: .15em;
    transform: scale( 1   , 0.9 );
    margin-top: -7px;
}

.mail-address {
    font-size: 28px;
    font-weight: 500;
    transform: scale( 1   , 0.9 );
    margin-top: -7px;
}

.contact-time {
    font-size: 14px;
    margin-top: -6px;
}

/* plan
------------------------------------- */
.plan-head {
    justify-content: center;
    margin-top: 40px;
    align-items: flex-end;
}

.dakeno {
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 20px;
    padding-right: 10px;
}

.original-plan {
    font-weight: 600;
    font-size: 32px;
    margin-bottom: 12px;
}

.trouble {
    margin-top: 30px;
    justify-content: space-around;
}
/* 吹き出し本体 */
.balloon1{
    position: relative;
    padding: 10px 70px;
    width: 100%;
    background-color: #cccccc;
    border-radius: 10px;
    margin-top: 5px;
    text-align: center;
}
/* 吹き出し三角 */
.balloon1::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -15px;
    top: 12px;
    border-left: 17px solid #cccccc;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

.balloon2{
    position: relative;
    padding: 10px 70px;
    width: 100%;
    background-color: #cccccc;
    border-radius: 10px;
    margin-top: 5px;
    text-align: center;
}

.balloon2::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -15px;
    top: 12px;
    border-right: 17px solid #cccccc;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

.plan-lead {
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .1em;
    margin: 24px 0;
}

.plan-items {
    justify-content: space-around;
}

.plan-box {
    width: 490px;
    /* margin: 2em 0; */
    background: #ffffff;
    border: #87cefa 2px solid;
    border-radius: 10px;
}

.plan-box .plan-title {
    font-size: 1.2em;
    background: #87cefa;
    border-radius: 7px 7px 0 0;
    padding: 8px;
    text-align: center;
    color: #FFF;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.plan-time-part {
    padding: 10px 0;
    justify-content: center;
}

.fa-clock {
    color: #87cefa;
    font-size: 40px;
    padding-right: 8px;
}

.plan-time {
    font-size: 30px;
    margin-top: -3px;
    letter-spacing: .1em;
    font-weight: 500;
}

.plan-point {
    padding: 0 0 40px 40px;
}

.fa-circle-check {
    color: #87cefa;
    font-size: 24px;
    padding-right: 10px;
}

.etc-part {
    margin-top: 26px;
    justify-content: center;
}

.fa-bath,
.fa-wrench {
    color: #0066cc;
    font-size: 22px;
    padding-right: 8px;
}

.bath,
.repair {
    background-color: #f5f5f5;
    border-radius: 20px;
    padding: 8px 20px;
    margin-right: 10px;
}

.etc-txt {
    margin-top: 10px;
    letter-spacing: .1em;
}

/* plan contact
----------------------------------------------- */
.plan-contact {
    margin-top: 40px;
}
.plan-contact-txt {
    text-align: center;
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 10px;
}

/* footer
-------------------------------------------------- */
footer {
    /* position: absolute;
    bottom: 0; */
    background-color: #003567;
    margin-top: 60px;
    color: #fff;
}

.footer-nav {
    padding-top: 100px;
}
.footer-list a {
    color: #fff;
}

.footer-nav-item {
    padding-right: 30px;
}

.border {
    padding-top: 20px;
    border-bottom: #707070 1px solid;
}

.footer-logo {
    margin-top: 10px;
}
/***追従するトップへ戻るボタン***/
#page-top {
    position: fixed;
    right: 10px;
    bottom: 20px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 100%;
    line-height: 1.5rem;
    color: #ffffff;
    padding: 0 0 0 35px;
    border-top: solid 1px;
}
#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}
/***トップへ戻るボタンここまで***/

.mark-c {
    margin-top: 60px;
    padding-bottom: 10px;
    font-size: 12px;
    letter-spacing: .1em;
    text-align: center;
}