@charset "UTF-8";
/*! Theme Name: nagasaki */

.fl {
    float: left;
}

.fr {
    float: right;
}

.clfix:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

.img100 {
    width: 100%;
    display: block;
}

/*マウスオーバーでアニメ不透明*/
.hv_a {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.hv_a:hover {
    opacity: .8;
}

.foo div a:hover img {
    opacity: 0.8 !important;
    filter: alpha(opacity=80);
}

.goshi {
    font-family: Meiryo, "小塚ゴシック Pr6N", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
}

.mincho {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.tacw {
    text-align: center;
}

.tacw2 {
    text-align: center;
}

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

.custom-link {
    background-color: orange;
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 35px;
    display: inline-block;
    text-decoration: none !important;
    margin-bottom: 100px;
}

.custom-link:hover {
    background-color: darkorange;
    color: black;
}

.consultation-merits {
    font-family: "Yu Gothic", sans-serif;
    background-color: #f9f8ee;
    color: #2c2c2c;
    padding: 2em;
    margin: 0 auto;
}

.consultation-merits h2 {
    text-align: center;
    font-size: 1.8em;
    color: #003342;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.consultation-merits h2 span {
    color: #b11e23;
    font-weight: bold;
    font-size: 60px;
}

.consultation-merits ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.consultation-merits li {
    font-size: 25px;
    line-height: 1.8em;
    letter-spacing: -0.1em;
    display: flex;
    align-items: flex-start;
    color: #003342;
    font-weight: bold;
}

.consultation-merits li span {
    font-size: 1.4em;
    font-weight: bold;
    color: #2c2c2c;
    margin-right: 0.5em;
}

.consultation-merits li strong {
    color: #b11e23;
    font-weight: bold;
}

.consultation-merits li small {
    font-size: 0.9em;
    color: #777;
    display: block;
    margin-top: 0.5em;
}

#phone-display {
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
}

#notice-text {
    margin-top: 15px;
    font-size: 14px;
    color: #333;
}

#activate-link {
    display: block;
}

/*--br--*/
.brnon {
    display: none;
}

.brsp {
    display: block;
}

.video-section {
    position: relative;
    width: 100%;
    max-width: 800px;
}

.video-section img {
    width: 100%;
    height: auto;
    display: block;
}

.video-section .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
}

.video-section .overlay h2 {
    font-size: 1.8em;
    margin: 0 0 20px;
}

.video-section .overlay .play-button {
    width: 60px;
    height: 60px;
    background-color: red;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.video-section .overlay .play-button::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 20px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    margin-left: 5px;
}

.video-section a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    text-decoration: none;
    color: inherit;
}

.required {
    background-color: #FF6F61;
    color: #fff;
    font-size: 11px;
    border-radius: 50px;
    display: inline-block;
    text-align: center;
    padding: 0 10px;
    position: absolute;
    /* 絶対位置指定 */
    right: 10px;
    /* 右端に配置 */
    top: 50%;
    /* 垂直方向の中央に配置 */
    transform: translateY(-50%);
    /* 正確に中央揃え */
}

.button-container {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.submit-button {
    background-color: #003342;
    color: white;
    font-size: 16px;
    padding: 10px 30px;
    margin: 0 0 60px;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}

.submit-button:hover {
    background-color: rgba(0, 51, 66, 0.9);
    opacity: 1;
}



@media (max-width: 640px) {
    .brnon {
        display: block;
    }

    .brsp {
        display: none;
    }

    .consultation-merits {
        padding: 20px 10px;
    }

    .consultation-merits li {
        font-size: 18px;
        line-height: 1.4;
        display: block;
    }

    .consultation-merits h2 {
        font-size: 24px;
        line-height: 1.2;
    }

    .reservation-text {
        font-size: 14px;
        padding: 10px 0;
    }

    .phone-number {
        font-size: 24px;
    }
}

/*-------------------------------------------
    長さ
--------------------------------------------*/
.wib00 {
    max-width: 1000px;
    margin: 0 auto;
}

.wib00b {
    max-width: 1050px;
    margin: 0 auto;
}

.wib01 {
    max-width: 1000px;
    margin: 0 auto;
}

.wib01b {
    max-width: 735px;
    margin: 0 auto;
}

@media (max-width: 640px) {
    .wib01 {
        margin-left: 10px;
        margin-right: 10px;
    }

    .pdd10 {
        margin-left: 10px;
        margin-right: 10px;
    }
}

/*-------------------------------------------
    base
--------------------------------------------*/
.mt10 {
    margin-top: 10px;
}

.mt15 {
    margin-top: 15px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

@media (max-width: 640px) {
    .mt10 {
        margin-top: 5px;
    }

    .mt15 {
        margin-top: 7.5px;
    }

    .mt20 {
        margin-top: 10px;
    }

    .mt30 {
        margin-top: 15px;
    }

    .mt40 {
        margin-top: 20px;
    }

    .mt50 {
        margin-top: 25px;
    }

    .mb10 {
        margin-bottom: 5px;
    }

    .mb15 {
        margin-bottom: 7.5px;
    }

    .mb20 {
        margin-bottom: 10px;
    }

    .mb30 {
        margin-bottom: 15px;
    }

    .mb40 {
        margin-bottom: 20px;
    }

    .mb50 {
        margin-bottom: 25px;
    }
}

.flow_box30 {
    width: 1px;
    height: 30px;
}

.flow_box40 {
    width: 1px;
    height: 40px;
}

.flow_box50 {
    width: 1px;
    height: 50px;
}

.flow_box60 {
    width: 1px;
    height: 60px;
}

.flow_box70 {
    width: 1px;
    height: 70px;
}

.flow_box80 {
    width: 1px;
    height: 80px;
}

.flow_box100 {
    width: 1px;
    height: 100px;
}

.flow_box150 {
    width: 1px;
    height: 150px;
}

.flow_box_bg1 {
    margin: 3% 0;
    background: url('./img/mute/arrow_blue.png') 130px 0 no-repeat;
    height: 23px;
}

.flow_box_bg2 {
    margin: 3% 0;
    background: url('./img/mute/arrow_red.png') 130px 0 no-repeat;
    height: 23px;
}

.flow_line1 {
    border-bottom: 1px solid #ccc;
    -webkit-box-shadow: 0 1px 0 #fff;
    -moz-box-shadow: 0 1px 0 #fff;
    box-shadow: 0 1px 0 #fff;
    margin: 1% 0;
}

@media (max-width: 640px) {
    .flow_box30 {
        height: 15px;
    }

    .flow_box40 {
        height: 20px;
    }

    .flow_box50 {
        height: 25px;
    }

    .flow_box60 {
        height: 30px;
    }

    .flow_box70 {
        height: 35px;
    }

    .flow_box80 {
        height: 40px;
    }

    .flow_box100 {
        height: 50px;
    }

    .flow_box150 {
        height: 75px;
    }

    .flow_box_bg1 {
        margin: 25px 0;
        background-position: center 0;
    }

    .flow_box_bg2 {
        margin: 25px 0;
        background-position: center 0;
    }
}

/*-------------------------------------------
    zure画像ズレる件
--------------------------------------------*/
.custimg_wrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.custimg_wrap img {
    position: relative;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

@media (max-width: 640px) {
    .custimg_wrap {
        height: auto;
    }

    .custimg_wrap img {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

.custimg_wrap2 {
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.custimg_wrap2 img {
    position: relative;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

@media (max-width: 640px) {
    .custimg_wrap2 {
        height: auto;
    }

    .custimg_wrap2 img {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

/*-------------------------------------------
    リンク無効
--------------------------------------------*/
.nolink {
    pointer-events: none;
    /*display: block;*/
}

.nolink2 {
    pointer-events: none;
    display: block;
}

.nolink3 {
    pointer-events: none;
}

@media (max-width: 640px) {

    .nolink,
    .nolink2,
    .nolink3 {
        pointer-events: auto;
    }
}

/*-------------------------------------------
    mds
--------------------------------------------*/
.inm_wrap {
    border: 1px solid #d7d7d7;
    padding: 1px;
    display: table;
    width: 100%;
    margin-bottom: 50px;
}

.inm_img,
.inm_bun {
    display: table-cell;
    vertical-align: middle;
}

.inm_img {
    width: 62%;
}

.inm_bun {
    width: 38%;
    text-align: center;
}

.inm_bun h4 {
    font-size: 22px;
    letter-spacing: 1px;
    font-weight: normal;
}

.inm_bun h6 {
    font-size: 12px !important;
    font-weight: normal;
    /*font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;*/
}

.inm_photo {
    background: no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover;
    width: 100%;
    height: 290px;
}

@media (max-width: 640px) {
    .inm_wrap {
        width: 98%;
    }

    .inm_img {
        width: 45%;
    }

    .inm_bun {
        width: 55%;
    }

    .inm_bun h4 {
        font-size: 14px;
        letter-spacing: 0;
    }

    .inm_photo {
        height: 110px;
    }
}


/*-------------------------------------------
    プレジ
--------------------------------------------*/
.presi_wrap {
    max-width: 1000px;
    margin: 0 auto;
}

.presi_wrap img {
    float: right;
    margin-left: 50px;
}

@media (max-width: 640px) {
    .presi_wrap p {
        font-size: 14px !important;
        line-height: 1.7;
    }

    .presi_wrap {
        padding-left: 10px;
        padding-right: 10px;
    }

    .presi_wrap img {
        width: 100px;
        margin-left: 8px;
        margin-bottom: 4px;
    }
}

/*-------------------------------------------
    さんてん
--------------------------------------------*/
table.stn {
    width: 100%;
    margin: 7% 0;
}

table.stn td.stn_line {
    width: 33%;
}

table.stn td p {
    border-top: 1px dotted #000;
    margin-bottom: 0 !important;
}

table.stn td h4 {
    text-align: center;
    font-size: 27px;
}

@media (max-width: 640px) {
    table.stn {
        margin: 30px 0;
    }

    table.stn td h4 {
        font-size: 20px;
    }

    table.stn td.stn_line {
        width: 15%;
    }

    table.stn td.stn_center {
        width: 70%;
    }
}

/*-------------------------------------------
    サムネイルをレスポンシブさせる
--------------------------------------------*/
.thumb {
    /*text-align:center;*/
}

.thumb img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

/*------------------------------------------------------------
    個別投稿ブログ
------------------------------------------------------------*/
.blog_wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 40px;
}

.blog_once {
    float: left;
    width: 65%;
}

.blog_once h4 {
    font-size: 16px;
    font-weight: bold;
}

.blog_once h6 {
    color: #232D77;
    margin-bottom: 30px;
    font-size: 12px;
    font-weight: normal;
}

.blog_once p {
    margin-top: 1.0em;
    font-size: 14px;
}

/*投稿一覧用*/
.blog_all {
    margin-bottom: 60px;
}

.blog_all h4 {
    font-size: 16px;
    font-weight: bold;
}

.blog_all h6 {
    color: #232D77;
    margin-bottom: 30px;
    font-size: 12px;
}

.blog_all p {
    font-size: 14px;
}

@media screen and (max-width: 640px) {
    .blog_once {
        width: 100%;
        margin-bottom: 30px;
    }

    .blog_wrap {
        padding: 20px;
        padding-top: 30px;
    }
}

/*------------------------------------------------------------
    サイドバー
------------------------------------------------------------*/
.sidebar_wrap {
    float: right;
    width: 30%;
}

.sidebar {
    padding: 10px;
    padding-bottom: 5px;
    border: 1px solid #C1C1C1;
    margin-bottom: 20px;
    background: #fff;
}

.sidebar h3 {
    font-size: 14px;
    font-weight: normal;
    padding: 3px 0;
    padding-left: 10px;
    border: 1px solid #003342;
    color: #fff;
    background: #003342;
    /*background-image: -webkit-linear-gradient(#e9a80f, #f2bb39);
    background-image: -o-linear-gradient(#e9a80f, #f2bb39);
    background-image: linear-gradient(#e9a80f, #f2bb39);*/
}

.sidebar ul li {
    padding: 0 10px;
}

.sidebar ul li a {
    padding: 8px 0;
    display: block;
    border-bottom: 1px dotted #C1C1C1;
    text-decoration: underline;
    font-size: 13px;
}

.sidebar ul li:last-child a {
    border-bottom: none;
}

.sidebar ul li a:hover {
    color: red;
}

/*複数カテゴリー化に伴う文字サイズ調整*/
.sidebar ul li.cat-post-item a {
    font-size: 14px;
    border-bottom: none;
}

@media screen and (max-width: 640px) {
    .sidebar_wrap {
        width: 100%;
    }
}

/*------------------------------------------------------------
    blog個別ページ_次へ前へボタン
------------------------------------------------------------*/
.blog_pager {
    max-width: 1000px;
    margin: 0 auto;
    border-top: 1px solid #999;
    padding-top: 10px;
    padding-bottom: 30px;
    font-size: 14px;
}

.blog_pager a {
    text-decoration: underline;
}

.blog_pager a:hover {
    color: red;
}

@media (max-width: 640px) {
    .blog_pager {
        margin-left: 20px;
        margin-right: 20px;
    }
}

/*一覧ページの下線*/
.dot_line {
    border-bottom: 1px dotted #000;
    margin-top: 60px;
}

.blog_all:last-child .dot_line {
    border-bottom: none;
}

/*-------------------------------------------
    初めての方へ concept
--------------------------------------------*/
.cep_mds {
    font-size: 25px;
    letter-spacing: 2px;
}

.cep_mds span {
    color: #003342;
    font-size: 45px;
    position: relative;
    top: 4px;
}

.cep_tt {
    font-size: 15px;
    line-height: 1.8;
}

@media (max-width: 640px) {
    .cep_mds {
        font-size: 21px;
    }

    .cep_mds span {
        font-size: 35px;
        top: 2px;
    }
}

/*-------------------------------------------
    メリット・デメリット merit/demerit　あれ
--------------------------------------------*/
.page_merit_title {
    font-size: 25px;
    padding-left: 1.5em;
    position: relative;
}

.page_merit_title span {
    color: #ed9c0e;
}

.page_merit_title::after {
    display: block;
    margin: auto 0;
    content: "";
    padding: 0;
    width: 1.0em;
    height: 0.2em;
    background: #ed9c0e;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.merit_mds {
    font-size: 25px;
    letter-spacing: 2px;
}

.merit_mds span {
    display: inline-block;
    margin-right: 1.0em;
    font-size: 12px;
}

.merit_mds span em {
    font-style: normal;
    font-size: 36px;
    font-weight: bold;
}

.merit_mds img {
    vertical-align: middle;
    margin-right: 0.5em;
    display: inline-block;
}

.merit_mds strong {
    color: #f85603;
}

.textBox-merit {
    margin-left: 32px;
    border-left: dashed 1px #f85603;
    padding-left: 60px;
}

.merit_detitle {
    font-size: 25px;
}

.merit_debox {
    border-top: solid 1px #CCCCCC;
    margin-top: 2.0em;
}

.merit_debox article {
    display: block;
    margin: 0 !important;
    padding: 2.0em 1.5em 2.0em 1.5em !important;
    border: 1px #CCCCCC;
    border-style: none solid solid solid;
    background: #f5f5f5;
}

.merit_debox article::after {
    display: block;
    content: "";
    clear: both;
}

.merit_debox .icon {
    float: left;
}

.merit_debox .title {
    font-size: 24px;
    margin: 0 0 0 150px !important;
    padding: 0;
}

.merit_debox .text {
    margin: 1.0em 0 0 150px !important;
    padding: 0;
}


@media (max-width: 640px) {
    .page_merit_title {
        font-size: 18px;
    }

    .merit_mds {
        font-size: 18px;
    }

    .merit_mds span {
        font-size: 14px;
    }

    .merit_mds span em {
        font-size: 18px;
    }

    .merit_mds img {
        width: 50px;
        height: 50px !important;
    }

    .textBox-merit {
        margin-left: 1.0em;
        border-left: dashed 1px #f85603;
        padding-left: 1.0em;
    }

    .merit_detitle {
        font-size: 18px;
    }

    .merit_debox .icon {
        display: none;
    }

    .merit_debox .title {
        margin: 0 !important;
        font-size: 18px;
    }

    .merit_debox .text {
        margin: 1.0em 0 0 0 !important;
        font-size: 12px;
    }

}


/*-------------------------------------------
    自然素材でつくるデザイン健康住宅
--------------------------------------------*/
.health_wrap {
    margin: 0 auto;
    max-width: 1000px;
}

.he_greek {
    width: 58%;
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: -0.5px;
}

.he_img {
    width: 37%;
}

.he_img img {
    width: 100%;
}

@media (max-width: 640px) {

    .he_greek,
    .he_img {
        width: 100%;
    }

    .he_greek {
        font-size: 15px;
        margin-bottom: 15px;
    }
}


/*------------------------------------------------------------
    gallery全体
------------------------------------------------------------*/
.sekou_ul li {
    float: left;
    width: 32%;
    /*margin-bottom: 20px; */
    margin-top: 2.0em !important;
    position: relative;
}

.sekou_ul li:nth-child(3n-1) {
    margin: 0 2%;
}

.sekou_ul li:nth-child(3n+1) {
    clear: left !important;
}

.sekou_ul li a {
    border: 1px solid #d4d4d4;
    padding: 10px;
    display: block;
    background: #fff;
    text-decoration: none;
}

.sekou_ul li img.htl {
    width: 100%;
    /*height: 190px;*/
}

.sekou_ul li img.icon_new {
    width: 31px;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 10;
}

.sekou_ul li h3 {
    margin-top: 10px;
    font-size: 13px;
    color: #333;
    font-weight: bold;
    text-align: left !important;
    margin-bottom: 5px !important;
}

.sekou_ul li h5 {
    color: #595959;
    font-weight: normal;
    font-size: 13px;
}

.photo_anj {
    background: no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover;
    width: 100%;
    height: 210px;
}

.gl_all {
    width: 35%;
    display: block;
    margin: 0 auto;
    margin-top: 40px;
    background-color: #003342;
    color: #fff !important;
    font-size: 16px;
    padding: 15px 0;
    text-align: center;
    text-decoration: none !important;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.gl_all:hover {
    opacity: .8;
}

@media (max-width: 640px) {
    .sekou_ul {
        /*margin: 0 10px;*/
    }

    .sekou_ul li {
        width: 100%;
    }

    .sekou_ul li:nth-child(3n-1) {
        margin: 0;
        margin-bottom: 20px;
    }

    .photo_anj {
        height: 0px;
        padding-top: 73.33%;
    }

    .gl_all {
        width: 100%;
    }
}

/*------------------------------------------------------------
    galleryサムネイル
------------------------------------------------------------*/
.bx_gallery_wrap {
    max-width: 750px;
    margin: 0 auto;
}

.bx_gallery li {
    height: 488px;
    text-align: center;
}

.bx_gallery li img {
    width: auto;
    height: 100%;
}

.bx_pager {
    text-align: center;
}

.bx_pager_wrap {
    display: inline-block;
    /*width: 50px;*/
    height: 130px;
    overflow: hidden;
}

.bx_pager img {
    margin-top: 20px;
    width: 80px;
    /*border: 1px solid #d4d4d4;*/
}

.gallery_link {
    width: 60%;
    display: block;
    margin: 0 auto;
    margin-top: 50px;
    background-color: rgba(0, 51, 66, 1);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 16px;
    padding: 20px 0;
    text-align: center;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.gallery_link:hover {
    opacity: .8;
}

@media (max-width: 640px) {
    .bx_gallery li {
        height: 200px;
    }

    .gallery_link {
        width: 90%;
    }
}



/*------------------------------------------------------------
    staff
------------------------------------------------------------*/
.staff_wrap {
    border: 1px solid #dfdfdf;
    padding: 2px;
    margin-bottom: 30px;
}

.staff {
    background-image: -webkit-linear-gradient(#f8f8f8, #fff);
    background-image: -o-linear-gradient(#f8f8f8, #fff);
    background-image: linear-gradient(#f8f8f8, #fff);
    padding: 30px;
}

.staff h6 {
    font-weight: bold;
    font-size: 16px;
}

.staff h4 {
    font-size: 22px;
    font-weight: bold;
}

.staff hr {
    border-top: 1px dotted #999;
}

.staff ul li {}

.staff p {
    margin-top: 10px;
    font-size: 15px !important;
    letter-spacing: -0.25px !important;
    line-height: 1.8 !important;
}

.img_staff {
    display: block;
    width: 42%;
}

.staff_greek {
    width: 55%;
}

.staff_word li {
    font-size: 17px;
    margin-bottom: 8px;
}

.staff_word li {
    font-size: 15px;
    margin-bottom: 11px;
}

.staff_word li span {
    color: #232D77;
    font-size: 110%;
    font-weight: bold;
}

.staff_word li em {
    margin-right: 5px;
    padding: 1px 5px;
    background-color: #DDDEE4;
    border-radius: 3px;
}

.staff_word li strong {
    font-weight: normal;
    font-size: 13px;
}

.st_name {
    font-size: 21px !important;
    font-weight: bold;
    border-bottom: 1px solid #dfdfdf;
    padding-bottom: 5px;
}

.st_name span {
    font-size: 14px;
    padding-left: 3px;
}

.st_dep {
    font-weight: bold;
}

.st_dl,
.st_dl2 {
    margin-bottom: 5px;
    line-height: 1.7;
    font-size: 15px;
}

.st_dl dt,
.st_dl2 dt {
    float: left;
}

.st_dl dd {
    padding-left: 3em;
}

.st_dl2 dd {
    padding-left: 11em;
}

@media (max-width: 640px) {
    .staff {
        padding: 15px;
    }

    .staff_greek {
        width: 100%;
    }

    .img_staff {
        width: 100%;
    }

    .staff_greek {
        margin-top: 15px;
    }

    .st_dl dt,
    .st_dl2 dt {
        width: 100%;
    }

    .st_dl dd,
    .st_dl2 dd {
        padding-left: 0;
    }
}

/*-------------------------------------------
    staff2
--------------------------------------------*/
/*.st_first{
  font-size: 24px;
  margin-bottom: 50px;
}
.staff_ul li{
  float: left;
  width: 47.5%;
  margin-bottom: 5%;
}
.staff_ul li:nth-child(odd){
  margin-right: 5%;
}
.staff_img{
  width: 32%;
}
.staff_img img{
  width: 100%;
}
.staff_greek{
  width: 64%;
}
.staff_greek h5{
  font-size: 11px;
  margin-bottom: 4px;
}
.st_name2{
  font-size: 18px;
  margin-bottom: 4px;
}
.staff_greek h6{
  font-size: 11px;
  margin-bottom: 15px;
}
.staff_greek p{
  font-size: 13px;
  line-height: 1.6;
}
.st_sikaku{
    margin-bottom: 10px;
    font-size: 13px;
}
.st_think{
    font-size: 13px;
    line-height: 1.7;
}

@media (max-width: 640px){
    .st_first{
      margin-bottom: 30px;
    }
    .staff_ul li{
      width: 100%;
      margin-bottom: 15%;
    }
    .staff_ul li:nth-child(odd){
      margin-right: 0;
    }
    .staff_img , .staff_greek{
      width: 100%;
    }
    .staff_img{
      margin-bottom: 15px;
    }
    .staff_greek h6{
      margin-bottom: 15px;
    }
}*/

/*------------------------------------------------------------
    お問い合わせフォームcontact
------------------------------------------------------------*/
/* free consultation */
.free_top_txt {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 3em;
}

.free_top_txt span {
    font-weight: normal;
    margin-left: 1em;
}

.free_area {
    margin-bottom: 2em;
}

.free_lst {
    margin: 1.5em 0 3em;
}

.free_lst li {
    font-size: 15px;
    margin-bottom: 5px;
}

.free_txt {
    font-size: 16px;
}

.free_txt2 {
    font-size: 16px;
    margin-top: -1.5em;
    margin-bottom: 2.5em;
}

.free_txt3 {
    font-size: 170%;
    font-weight: bold;
}

.free_ttl {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

.free_contact {
    padding: 0 1em;
    margin-bottom: 3em;
}

.free_contact p {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 1em;
}

.con_sodan {
    font-size: 22px;
    margin-top: 20px;
    font-weight: bold;
}

.con_kochi {
    font-size: 22px;
    margin-bottom: 10px;
    font-weight: bold;
}

/*横の帯の、色と幅*/
.bdl_ora {
    border-left: solid 5px #003342;
    padding-left: 10px;
}

/*テーブルtable*/
.free_form table {
    width: 100%;
    border: solid 1px #e5e5e5;
    background: #fff;
}

.free_form tr>* {
    padding: .8em 2em;
    border: solid 1px #e5e5e5;
}

.free_form th {
    padding-top: 1em;
    text-align: left;
    font-size: 13px;
    background: #efeeee;
    width: 25%;
    vertical-align: middle;
    position: relative;
}

.free_form td * {
    font-size: 12px;
}

.free_form input[type="text"],
.free_form input[type="tel"],
.free_form input[type="email"],
.free_form textarea {
    width: 100%;
    -webkit-box-shadow: 0 0 2px 2px rgba(200, 200, 200, 0.5) inset;
    -moz-box-shadow: 0 0 2px 2px rgba(200, 200, 200, 0.5) inset;
    box-shadow: 0 0 2px 2px rgba(200, 200, 200, 0.5) inset;
    padding: .2em;
}

.free_form textarea {
    height: 15em;
    padding: 10px;
}

.free_form input[type="tel"],
.free_form input[type="email"] {
    width: 60%;
}

.free_form input[name="zip"] {
    width: 40%
}

.free_form input[name="name"] {
    width: 70%
}

.free_form input[type="radio"],
.free_form input[type="checkbox"] {
    margin-right: .3em;
    vertical-align: middle;
}

.free_form label+label {
    margin-left: 1em;
}


.free_form input[type="text"],
.free_form input[type="password"],
.free_form input[type="email"],
.free_form input[type="date"],
.free_form input[type="time"],
.free_form input[type="tel"],
.free_form input[type="number"] {
    margin-top: 0;
    width: 100%;
    padding: 0.7em 1.0em;
    border: solid 1px #a8a8a8;
    border-radius: 3px;
    font-size: 114%;
}

.free_form input[type="date"],
.free_form input[type="time"],
.free_form input[type="number"] {
    width: auto;
}

.free_form input[type="number"] {
    text-align: right;
}

.free_form input[type="checkbox"] {
    margin: 0 10px 0 0;
    font-size: 114%;
}

.free_form input[type="radio"] {
    margin: 0 10px 0 0;
    font-size: 114%;
}

.free_form table select {
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: 2px solid #ccc;
    border-radius: 8px;
    background-color: #fff;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007BFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

.free_form table select:hover {
    border-color: #003342;
}

.free_form table select:focus {
    outline: none;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}

.free_form table option {
    font-size: 14px;
    padding: 10px;
    background: #fff;
    color: #333;
}

.free_form table select option:checked {
    background-color: #003342;
    color: white;
}

@media screen and (max-width: 768px) {
    .free_form table select {
        font-size: 13px;
        padding: 14px;
        height: 50px;
        border-radius: 12px;
        border: 1px solid #a8a8a8;
        background-position: right 12px center;
        background-size: 24px;
        box-shadow: 0 0 2px 2px rgba(200, 200, 200, 0.5) inset;
        max-width: 96%;
    }

    .free_form table select:focus {
        box-shadow: 0 0 8px rgba(0, 123, 255, 0.7);
    }
}


/*
.free_btn {
    text-align: center;
}
.free_btn > * {
    display: inline-block;
    margin:0 .5em;
}
.free_btn br{
    display: none;
}
*/
.free_form .free_btn p {
    margin: 0 0 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
}

.free_form .free_push {
    margin: 0 0.5em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.free_form .free_push[type="reset"] {
    border: solid 3px #ffa449;
    background: #FFFFFF;
    color: #000000;
    padding: 0.7em 0;
    width: 10em;
    font-weight: bold;
    border-radius: 0.3em;
}

.free_form .free_push[type="submit"] {
    border: solid 3px #ffa449;
    background: #ffa449;
    color: #000000;
    padding: 0.7em 0;
    width: 10em;
    font-weight: bold;
    border-radius: 0.3em;
}

.free_a {
    font-size: 100%;
    color: red;
    text-decoration: underline;
}

.free_push {
    padding: 15px 0;
    width: 20%;
    background: #949494;
    color: #fff;
    border-radius: 4px;
    font-size: 90%;
    cursor: pointer;
    -webkit-appearance: none;
}

.free_push:hover {
    opacity: .7;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}

.free_form input,
.free_form textarea {
    border: 1px solid #eee;
}

.blog_span {
    color: #9e7f21;
    font-weight: normal;
}

.blog_span a {
    font-size: 11px;
    font-weight: bold;
    color: #9e7f21;
    line-height: 1.5em;
}

.md_h3 {
    font-size: 26px;
    font-weight: bold;
    border-left: 10px solid #003342;
    padding-left: 10px;
    margin-bottom: 10px;
}

strong.ora {
    color: #003342;
}

.md_fst {
    margin-top: 5px;
    font-size: 14px;
}

.md_pp {
    font-size: 16px;
    /*font-weight: bold;*/
}

.md_pp span.ltt {
    font-size: 90%;
    font-weight: normal;
}

.contact_tel {
    /*display: block;*/
    margin-top: 15px;
}

/*見出しが棒のパターン*/
.md_h3b {
    font-size: 26px;
    font-weight: bold;
}

.md_h3b span {
    color: #003342;
    font-size: 30px;
    margin-right: 15px;
    position: relative;
    top: 3px;
}

.free_bou {
    color: #003342;
    margin-right: 10px;
}

/*左インデント余白*/
.free_yhk {
    margin-left: 1.5em;
}

.free_yhk2 {
    margin-left: 2.8em;
}

.kaijo {
    margin-top: 20px;
}

.imgwrap_l,
.imgwrap_r {
    width: 48%;
}

.gg_map2 {
    width: 100%;
    height: 400px;
}

.gg_map3 {
    width: 100%;
    height: 500px;
}

@media screen and (max-width: 640px) {

    .free_form th,
    .free_form td {
        display: block;
        width: 100%;
    }

    .free_form th {
        text-indent: .5em;
    }

    .zero_icon {
        margin-top: 8px;
    }

    .free_form tr>* {
        padding: .8em 0em;
    }

    .free_form input[type="text"],
    .free_form input[type="tel"],
    .free_form input[type="email"],
    .free_form textarea {
        width: 95%;
        margin-left: 1%;
    }

    .free_push {
        width: 40%;
        padding: 15px 0;
        font-size: 15px;
    }

    .free_yhk {
        margin-left: 0;
    }

    .free_yhk2 {
        margin-left: 0;
    }

}

/*-------お問い合わせのチェック項目-------*/
.check_greek {
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px;
}

.check_greek span {
    color: red;
}

@media (max-width: 640px) {
    .check_greek span {
        font-size: 14px;
    }
}

/*------------------------------------------------------------
    会社概要 company
------------------------------------------------------------*/
.mes_wrap h3 {
    color: #2f982f;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

.mes_wrap p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px;
}

.mes_tb {
    width: 100%;
    vertical-align: middle;
    text-align: center;
    margin-bottom: 30px;
}

.mes_tb td {
    width: 31%;
    border: 1px solid #2f982f;
    height: 120px;
}

.mes_tb td:nth-child(4n+2),
.mes_tb td:nth-child(4n+4) {
    width: 3.5%;
    border: none;
}

.mes_tb td p {
    margin-bottom: 0;
    color: #2f982f;
    font-size: 18px;
    line-height: 1.5;
}

.gaiyo_h3 {
    margin-bottom: 20px;
    font-size: 30px;
    border-bottom: 1px solid #C1C1C1;
}

.gaiyo_h4 {
    color: #e98b48;
    font-size: 140%;
}

.gaiyo {
    margin-bottom: 40px;
}

.gaiyo_p {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 10px;
}

.bxsh {
    box-shadow: 0px 0px 5px #ccc;
}

.bdrs {
    border-radius: 2px;
}

.nago {
    display: block;
    font-size: 10px;
}

table.table_gaiyo {
    border: 1px solid #C1C1C1;
    width: 100%;
    text-align: left;
    margin-bottom: 30px;
    background: #fff;
}

table.table_gaiyo th,
table.table_gaiyo td {
    padding: 15px 0;
    padding-left: 8px;
    border-bottom: 1px solid #C1C1C1;
    vertical-align: middle;
    font-size: 100%;
    line-height: 1.7;
    font-size: 15px;
}

table.table_gaiyo th {
    background: #EAEAEA;
    border-right: 1px solid #C1C1C1;
}

table.table_gaiyo td a {
    color: red;
}

table.table_gaiyo td a[href="tel:0929422745"] {
    color: #000;
    font-size: 15px;
}

table.table_gaiyo td a:hover {
    text-decoration: underline;
}

.gg_map {
    width: 99%;
    height: 400px;
}

.link_a01 {
    text-decoration: underline !important;
    color: red !important;
}

@media (max-width: 640px) {

    table.table_gaiyo th,
    table.table_gaiyo td {
        display: block;
        width: 97.6%;
    }

    table.table_gaiyo th {
        border-right: none;
    }

    .mes_tb {
        margin-bottom: 20px;
    }

    .mes_tb td {
        height: 90px;
    }

    .mes_tb td p {
        font-size: 12px;
    }
}

/*------------------------------------------------------------
    voice
------------------------------------------------------------*/
.voice_ul li {
    float: left;
    width: 32%;
    margin-bottom: 20px;
    position: relative;
}

.voice_ul li:nth-child(3n-1) {
    margin: 0 2%;
}

.voice_ul li:nth-child(3n+1) {
    clear: both !important;
}

.voice_ul li a {
    border: 1px solid #d4d4d4;
    padding: 10px;
    display: block;
    background: #fff;
    text-decoration: none;
}

.voice {
    background-image: -webkit-linear-gradient(#f8f8f8, #fff);
    background-image: -o-linear-gradient(#f8f8f8, #fff);
    background-image: linear-gradient(#f8f8f8, #fff);
    padding: 10px;
    position: relative;
}

.voice_ul li .voice h3 {
    margin-bottom: 10px;
    font-size: 16px;
}

.voice_ul li .voice h5 {
    font-weight: normal;
}

.voice_ul li a.vo_a {
    padding: 3px;
}

.voice_ul li a.vo_a:hover {
    color: #333;
    text-decoration: underline;
}

.voice_ul li img.voice_arrow {
    width: 12px;
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.photo_vo {
    background: no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover;
    width: 100%;
    height: 250px;
}

.vs_mds {
    font-size: 26px;
    text-align: center;
    font-weight: bold;
    margin-top: 30px;
}

.vs_bun {
    font-size: 15px;
    line-height: 1.8;
}

.vs_ul {
    margin-top: 40px;
}

.vs_ul li {
    width: 32%;
    float: left;
}

.vs_ul li:nth-child(3n+2) {
    margin-left: 2%;
    margin-right: 2%;
}

.vs_photo {
    background: no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover;
    /*width: 100%;*/
    padding-top: 100%;
    height: 0;
}

.vs_ul li p {
    font-size: 15px;
    line-height: 1.7;
    margin-top: 15px;
}

.vs_link {
    display: block;
    width: 50%;
    margin: 0 auto;
    margin-top: 40px;
    font-size: 16px;
    text-align: center;
    text-decoration: none !important;
    border: 1px solid #80273f;
    background-color: #fff;
    color: #80273f;
    padding: 15px 0;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.vs_link:hover {
    background-color: #80273f;
    color: #fff;
}

@media (max-width: 640px) {
    .voice_ul {
        margin: 0 10px;
    }

    .voice_ul li {
        width: 100%;
    }

    .voice_ul li:nth-child(3n-1) {
        margin: 0;
        margin-bottom: 20px;
    }

    .photo_vo {
        height: 35vh;
    }

    .vs_mds {
        font-size: 17px;
    }

    .vs_ul li {
        width: 100%;
        margin-bottom: 25px;
    }

    .vs_ul li:nth-child(3n+2) {
        margin-left: 0;
        margin-right: 0;
    }

    .vs_link {
        width: 100%;
        margin-top: 20px;
    }
}

/*-------------------------------------------
    faq
--------------------------------------------*/
.faq_wrap {
    padding: 25px 40px;
    border: 1px solid #d3d3e2;
    border-bottom: none;
}

.faq_wrap p {
    font-size: 15px;
    line-height: 1.7;
}

.faq_m h4 {
    font-size: 18px;
    padding-left: 15px;
    position: relative;
    top: 28px;
}

.medem_last {
    border-bottom: 1px solid #d3d3e2;
}

.medem_last2 {
    border-bottom: 1px solid #d3d3e2;
}

.bgme {
    background: #e3e8ea;
}

.bgdme {
    background: #fff;
}

@media (max-width: 640px) {
    .faq_wrap {
        padding: 15px;
    }

    .faq_m h4 {
        width: 100%;
        top: 0;
        margin-top: 10px;
        padding-left: 0;
        text-align: center;
    }

    .faq_img_wrap {
        width: 100%;
    }

    .faq_img_wrap img {
        display: block;
        width: 84px;
        margin: 0 auto;
    }
}

/*-------------------------------------------
    land
--------------------------------------------*/
.land_wrap p {
    font-size: 15px;
    margin-bottom: 2em;
    line-height: 1.8;
}

.land_wrap p a {
    color: red;
    text-decoration: underline;
}

.land_sell {
    padding: 20px;
    border: 1px solid #595757;
    background: #fff;
}

.land_sell_in p {
    width: 75%;
}

.land_sell_in img {
    display: block;
    width: 22%;
}

.land_bun {
    font-size: 15px;
    line-height: 1.8;
}

.laul_inn {
    border: 1px solid #d9d9d9;
    padding: 10px;
}

.land_ul {
    margin-top: 20px;
}

.land_ul li {
    float: left;
    width: 18%;
    margin-right: 2.5%;
    position: relative;
}

.land_ul li:last-child {
    margin-right: 0;
}

.land_ul li:after {
    content: url('./img/naga/land_arrow.png');
    position: absolute;
    top: 45%;
    right: -10%;
}

.land_ul li:last-child:after {
    display: none;
}

.laul_step {
    background-color: #003342;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 15px;
    font-size: 16px;
}

.laul_mds_wrap {
    display: table;
    height: 50px;
    width: 100%;
    border-bottom: 1px dotted #000;
    margin-top: 10px;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.laul_mds {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
}

.laul_pp {
    font-size: 14px;
    line-height: 1.7;
    height: 260px;
}

@media (max-width: 640px) {
    .land_sell_in p {
        width: 100%;
    }

    .land_sell_in img {
        width: 100%;
        margin-top: 2em;
    }

    .land_ul li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 40px;
    }

    .land_ul li:after {
        content: url('./img/naga/land_arrow_sp.png');
        position: absolute;
        top: 106%;
        right: 45%;
    }

    .land_ul li:last-child {
        margin-bottom: 0;
    }

    .laul_pp {
        height: auto;
    }
}

/*-------------------------------------------
    greeks
--------------------------------------------*/
.wdt01 {
    width: 9%;
}

.wdt02 {
    width: 88%;
}

.wdt03 {
    width: 65%;
}

.wdt04 {
    width: 33%;
}

.fzz01 {
    font-size: 25px;
}

.gr_mds {
    font-size: 25px;
    margin-bottom: 15px;
}

.gr_p {
    font-size: 14px;
    line-height: 1.8;
}

@media (max-width: 640px) {

    .wdt01,
    .wdt02,
    .wdt03,
    .wdt04 {
        width: 100%;
    }
}

/*-------------------------------------------
    mute
--------------------------------------------*/
.mute_img {
    width: 32%;
}

.mute_img img {
    display: block;
    width: 100%;
}

.mute_greek {
    width: 64.5%;
}

.mute_greek h2 {
    font-size: 24px;
    font-weight: normal;
    margin-top: -15px;
    margin-bottom: 5px;
}

.mute_greek h2 span {
    font-size: 48px;
    color: #858586;
    padding-right: 7px;
    position: relative;
    top: 3px;
}

.mute_greek .mp {
    font-size: 14px;
    line-height: 1.9;
}

.mp2 {
    margin-bottom: 15px;
}

.mp_bd {
    display: block;
    font-weight: bold;
    font-size: 17px;
    color: #cd3172;
}

@media (max-width: 640px) {

    .mute_img,
    .mute_greek {
        width: 100%;
    }

    .mute_greek {
        margin-bottom: 10px;
    }
}

/*-------------------------------------------
    nagare
--------------------------------------------*/
.flmds {
    font-size: 24px;
    color: #003342;
    margin-bottom: 20px;
}

.flmds span {
    font-size: 12px;
    position: relative;
    top: -4px;
    padding-right: 2px;
}

.flmds em {
    font-size: 42px;
    font-style: normal;
    padding-right: 10px;
    position: relative;
    top: 6px;
}

.nag_greek {
    width: 64.5%;
}

.nag_greek h2 {
    font-size: 22px;
    color: #003342;
    font-weight: normal;
    margin-bottom: 15px;
}

.nag_greek .nag_p {
    font-size: 15px;
    line-height: 1.9;
}

.nag_yoyaku {
    width: 40%;
    display: block;
    margin-top: 5px;
    margin-bottom: 15px;
    text-decoration: none !important;
    background-color: #003342;
    color: #fff !important;
    font-size: 15px;
    padding: 10px 0;
    text-align: center;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.nag_yoyaku:hover {
    opacity: .85;
}

.nag_p strong {
    display: inline-block;
}

.nag_p strong a {

    text-decoration: none;
    font-size: 22px;
}

.nag_img {
    width: 32%;
}

.nag_img img {
    width: 100%;
}

.nred {
    color: #99355f !important;
}

.okoshi {
    text-align: center;
    font-size: 18px;
    margin-top: 50px;
}

@media (max-width: 640px) {

    .nag_greek,
    .nag_img {
        width: 100%;
    }

    .nag_greek {
        margin-bottom: 10px;
    }

    .nag_greek h2 {
        font-size: 18px;
    }

    .okoshi {
        font-size: 14px;
    }

    .nag_yoyaku {
        width: 100%;
    }

    .nag_p strong a {
        text-decoration: underline;
    }

    .nag_p strong a[href="tel:0929422745"] {
        text-decoration: none;
    }
}

/*-------------------------------------------
    saiyo
--------------------------------------------*/
.yoko {
    background: #003342;
    color: #fff;
    font-size: 24px;
    padding: 15px 0;
    text-align: center;
    letter-spacing: 2px;
    margin-bottom: 30px;
}

table.table_gaiyo3 {
    /*border: 1px solid #C1C1C1;*/
    width: 100%;
    text-align: left;
    /*margin-bottom: 30px;*/
    background: #fff;
}

table.table_gaiyo3 th,
table.table_gaiyo3 td {
    padding: 15px 0;
    padding-left: 8px;
    border-bottom: 1px solid #C1C1C1;
    vertical-align: middle;
    font-size: 100%;
    line-height: 1.7;
    font-size: 15px;
}

table.table_gaiyo3 th {
    /*background: #EAEAEA;*/
    /*border-right: 1px solid #C1C1C1;*/
}

.saiyo_mds {
    font-size: 25px;
    /*text-align: center;*/
    margin-bottom: 20px;
}

.saiyo_block {
    /*max-width: 850px;
    margin: 0 auto;*/
}

.saiyo_p1 {
    font-size: 18px;
    margin-bottom: 40px;
}

.saiyo_telno {
    font-size: 14px;
}

.saiyo_tel img {
    position: relative;
    top: 21px;
}

.saiyo_tel a {
    font-size: 40px;
    letter-spacing: -2px;
    text-decoration: none;
    padding-left: 5px;
}

.saiyo_tel span {
    font-size: 14px;
    padding-left: 10px;
    position: relative;
    top: -3px;
}

@media (max-width: 640px) {
    .saiyo_tel span {
        display: block;
        padding-left: 0;
    }

    .saiyo_tel a {
        font-size: 36px;
    }

    .saiyo_mds {
        font-size: 18px;
    }

    .saiyo_p1 {
        font-size: 15px;
    }
}

/*-------------------------------------------
    model
--------------------------------------------*/
.model_ul li {
    float: left;
    width: 48%;
    margin-bottom: 20px;
}

.model_ul li:nth-child(even) {
    margin-left: 2%;
}

.model_ul li h2 {
    font-size: 24px;
    font-weight: normal;
    margin-bottom: 0px;
}

.model_ul li h2 span {
    font-size: 48px;
    color: #858586;
    padding-right: 7px;
    position: relative;
    top: 3px;
}

.model_ul li .mop {
    margin-top: 10px;
    line-height: 1.7;
}

.mtel_mds {
    font-size: 20px;
    /*background: url('img/mute/blue_line.png') left center no-repeat;
    padding-left: 30px;*/
    font-weight: bold;
}

.mtel_mds span {
    padding-right: 10px;
}

.tii {
    padding-left: 30px;
    margin-top: 15px;
}

@media (max-width: 640px) {
    .model_ul li {
        width: 100%;
    }

    .model_ul li:nth-child(even) {
        margin-left: 0;
    }

    .model_ul li h2 {
        font-size: 21px;
        letter-spacing: -1px;
    }

    .tii {
        padding-left: 0;
    }
}

/*-------------------------------------------
    topの私たちの家造りのadds
--------------------------------------------*/
.house_p {
    /*max-width: 1000px;*/
    text-align: center;
    font-size: 16px;
    margin-bottom: 25px;
    line-height: 1.7;
}

@media (max-width: 640px) {
    .house_p {
        padding: 0 15px;
        font-size: 11px;
        letter-spacing: -1px;
    }
}

/*-------------------------------------------
  renova
--------------------------------------------*/
.rfo_wrap {
    text-align: center;
    margin-bottom: 20px;
}

.rfo_wrap2 {
    margin: 0 auto;
    max-width: 800px;
}

.rfo_img {
    margin: 0 auto;
    max-width: 800px;
}

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

.rfo_wrap h2 {
    font-size: 21px;
    font-weight: normal;
    margin-top: -15px;
    margin-bottom: 5px;
}

.rfo_wrap h2 span {
    font-size: 48px;
    color: #858586;
    padding-right: 7px;
    position: relative;
    top: 3px;
}

.rfo_wrap p {
    font-size: 14px;
    line-height: 1.9;
}

.renova_greek {
    width: 100%;
}

.renova_img {
    display: block;
    width: 282px;
}

.renova_greek2 {
    width: 43%;
}

.renova_img2 {
    display: block;
    width: 526px;
}

.renova_case {
    margin: 10px 0 10px;
}

ul.renova_ul {
    margin-top: 40px;
}

ul.renova_ul li {
    float: left;
    width: 46%;
    margin-right: 8%;
    position: relative;
}

ul.renova_ul li:last-child {
    margin-right: 0;
}

ul.renova_ul li:last-child {
    margin-right: 0;
}

ul.renova_ul li:nth-child(odd):before {
    content: url('./img/an/bf_delta.png');
    padding-right: 10px;
    position: absolute;
    right: -53px;
    top: 45%;
}

ul.renova_ul li.rbf_no:before {
    content: none;
}

ul.renova_ul li img {
    width: 100%;
}

.re_aft,
.re_bf {
    text-shadow:
        0 1px 0 #fff,
        1px 0 0 #fff,
        0 -1px 0 #fff,
        -1px 0 0 #fff,
        -1px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        1px 1px 0 #fff;
}

.re_bf {
    position: absolute;
    bottom: -13px;
    left: 10px;
    font-size: 20px;
}

.re_aft {
    position: absolute;
    top: -13px;
    right: 10px;
    font-size: 20px;
}

.reno_sdn {
    font-size: 40px;
    text-decoration: none !important;
    margin-top: -5px !important;
}

.reno_sdn span {
    font-size: 16px;
    padding-left: 5px;
}

.reno_sdn img {
    position: relative;
    top: 22px;
}

.qa_top {
    width: 57%;
}

.qa_mds {
    font-size: 24px;
}

.qa_mds2 {
    font-size: 20px;
}

.qa_mds span {
    font-size: 18px;
    display: block;
    margin-top: 5px;
}

.qa_p {
    font-size: 14px;
    line-height: 1.8;
}

.qa_p2 {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: -0.5px;
}

.qa_p3 {
    font-size: 16px;
    line-height: 1.8;
}

.eval_wrap {
    padding-left: 20px;
}

.eval_wrap2 {}

.eval {
    margin-bottom: 45px;
}

.eval_mds {
    font-size: 16px;
    margin-bottom: 5px;
    padding-left: 1em;
    text-indent: -1em;
}

.eval_mds:before {
    content: url('./img/qua/qua_arrow.png');
    padding-right: 8px;
    position: relative;
    top: 2px;
}

.eval_greek {
    width: 72%;
    line-height: 1.6;
}

.eval_greek2 {
    width: 82%;
    line-height: 1.6;
}

.eval_greek3 {
    width: 53%;
    line-height: 1.6;
}

.eval_tweet {
    font-size: 20px;
    border-left: 8px solid #aeb5ad;
    padding-left: 10px;
    margin-bottom: 10px;
}

.uni {
    font-size: 18px;
    border-left: 4px solid #aeb5ad;
    padding-left: 10px;
    margin-bottom: 15px;
    font-weight: bold;
}

.uni2 {
    font-size: 18px;
    border-left: 4px solid #aeb5ad;
    padding-left: 10px;
    margin-bottom: 15px;
    font-weight: bold;
    margin: 0 auto;
    max-width: 500px;
}

.uni3 {
    font-size: 20px;
    border-left: 4px solid #aeb5ad;
    padding-left: 10px;
    margin-bottom: 15px;
    font-weight: bold;
}

.uni_p {
    font-size: 14px;
    line-height: 1.7;
    color: #333;
    padding-left: 13px;
    letter-spacing: 0.5px;
}

.uni_p2 {
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    padding-left: 13px;
    letter-spacing: 0.5px;
}

@media (max-width: 640px) {

    /*-------------------------------------------
      renova
    --------------------------------------------*/
    .renova_greek,
    .renova_img {
        width: 100%;
    }

    .renova_greek2,
    .renova_img2 {
        width: 100%;
    }

    .renova_case {
        margin: 5px 0 10px;
    }

    ul.renova_ul {
        margin-top: 20px;
        /*margin-right: -6%;*/
    }

    ul.renova_ul li:nth-child(odd):before {
        content: url('./img/an/bf_delta2.png');
        position: absolute;
        right: -19%;
        top: 45%;
    }

    ul.renova_ul li.rbf_no:before {
        content: none;
    }

    .re_bf,
    .re_aft {
        font-size: 13px;
    }

    .re_bf {
        position: absolute;
        bottom: -9px;
        left: 6px;
    }

    .re_aft {
        position: absolute;
        top: -9px;
        right: 6px;
    }

    .reno_sdn {
        font-size: 32px;
    }

    .reno_sdn span {
        display: block;
        padding-left: 2.5em;
        margin-bottom: 20px;
    }

    .reno_sdn img {
        top: 13px;
    }

    .qa_top_wrap {
        margin-bottom: 20px;
    }

    .qa_top,
    .qa_top_img {
        width: 100%;
    }

    .eval_wrap {
        padding-left: 0;
    }

    .qa_mds {
        font-size: 22px;
    }

    .eval {
        margin-bottom: 25px;
    }

    .eval_img {
        width: 30%;
    }

    .eval_img2 {
        width: 100%;
    }

    .eval_img img,
    .eval_img2 img {
        width: 100%;
    }

    .eval_greek,
    .eval_greek2 {
        width: 67%;
    }

    .eval_greek3 {
        width: 100%;
    }
}

/*-------------------------------------------
    support
--------------------------------------------*/
.sup_mm {
    font-size: 15px;
    line-height: 1.8;
}

.sup_mds {
    font-size: 24px;
    font-weight: bold;
    border-bottom: 1px dotted #000;
    padding-bottom: 5px;
    text-align: center;
}

@media (max-width: 640px) {
    .sup_mm {
        font-size: 15px;
    }

    .sup_mds {
        font-size: 16px;
    }
}

/*-------------------------------------------
    footer
--------------------------------------------*/
.comContact {
    margin: 40px auto 40px;
    width: 1000px;
    text-align: center;
}

.comContact .title {
    margin-bottom: 30px;
}

.comContact .subTtl {
    margin-bottom: 35px;
}

.comContact .slider {
    width: 1050px;
    margin: 0;
}

.comContact .list .item {
    margin: 0 1%;
    padding: 20px 10px 20px;
    float: left;
    width: 23%;
    background: #E7EEE7;
    text-align: center;
    box-sizing: border-box;
}

.comContact .list .item .photo {
    margin-bottom: 20px;
}

.photo_ftbn {
    background: no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover;
    width: 95%;
    margin: 0 auto;
    height: 135px;
    margin-bottom: 10px;
}

.comContact .list .item .txt {
    margin-bottom: 13px;
    color: #272727;
    font-size: 13px;
    height: 36px;
}

.comContact .list .item .link {
    margin: 0 auto;
    width: 204px;
}

.comContact .list .item .link a {
    padding: 11px 15px;
    display: block;
    position: relative;
    color: #333333;
    font-size: 15px;
    background: #FFF;
    border: 2px solid #4A403E;
    text-decoration: none;
}

.comContact .list .item .link a:hover {
    opacity: .8;
}

.comContact .list .item .link a:before {
    position: absolute;
    content: "";
    right: 8px;
    top: 50%;
    width: 8px;
    height: 11px;
    background: url(./img/common/icon04.png) no-repeat;
    margin-top: -5px;
}

.comContact .text {
    padding: 41px 0 18px;
}

.comContact .sns a {
    margin: 0 16px 0 9px;
    display: inline-block;
    vertical-align: top;
}

.ft_tel {
    margin: 0 auto;
    max-width: 790px;
    margin-bottom: 20px;
}

.ftt_img img {
    width: 293px;
}

.ftt_tel {
    position: relative;
    top: 10px;
}

.ftt_tel a {
    text-decoration: none;
}

.ftt_tel img {
    position: relative;
    top: 15px;
}

.ftt_tel strong {
    font-size: 32px;
    padding: 0 5px;
}

.ftt_tel span {
    font-size: 11px;
}

.ftbn_wrap {
    margin: 0 auto;
    max-width: 400px;
}

.ftbn_wrap div {
    width: 48%;
}

.ftbn_wrap div img {
    width: 100%;
    border: 1px solid #b9b9b9;
}

.ft_la {
    background-color: #003342;
    padding: 20px 0;
    text-align: center;
}

.ft_la img {
    width: 250px;
}

.mgsd_ul {
    text-align: center;
    margin-top: 30px;
}

.mgsd_ul li {
    display: inline-block;
    margin-right: 10px;
}

.mgsd_ul li:last-child {
    margin-right: 0;
}

@media (max-width: 640px) {
    .comContact {
        margin: 0;
        width: auto;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #D0D0D0;
    }

    .comContact .title {
        position: relative;
        text-align: center;
        margin-bottom: 15px;
    }

    .comContact .title img {
        width: 50.3%;
        margin: 0 auto;
    }

    .comContact .title:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.11rem;
        width: 100%;
        height: 1px;
        background: #D0D0D0;
        z-index: -1;
    }

    .comContact .subTtl {
        margin: 0 auto 0.44rem;
        width: 62.5%;
    }

    .comContact .slider {
        width: auto;
        margin: 0;
        padding: 0 0.06rem;
    }

    .comContact .slider .slick-prev {
        left: -0.06rem;
    }

    .comContact .slider .slick-next {
        right: -0.06rem;
    }

    .comContact .list .item {
        padding: 15px 5px;
        width: 45%;
    }

    .comContact .list .item:nth-child(odd) {
        margin: 0 1.5% 10px 3.5%;
    }

    .comContact .list .item:nth-child(even) {
        margin: 0 3.5% 10px 1.5%;
    }

    .comContact .list .item .photo {
        margin-bottom: 0.2rem;
    }

    .photo_ftbn {
        height: 90px;
    }

    .comContact .list .item .photo img {
        margin: 0 auto;
        height: 1.7rem;
        width: auto;
    }

    .comContact .list .item .txt {
        margin-bottom: 0.14rem;
        color: #272727;
        font-size: 10px;
        height: auto;
    }

    .comContact .list .item .link {
        margin: 0 auto;
        width: 90%;
    }

    .comContact .list .item .link a {
        font-size: 11px;
        padding: 0.12rem;
        border: 1px solid #4A403E;
    }

    .comContact .list .item .link a:before {
        /*right: 2px;
        top: 9px;
        width: 8px;
        height: 11px;
        background: url(./img/common/icon04.png) no-repeat;*/
        display: none;
    }

    .comContact .text {
        padding: 0.24rem 0 0.15rem;
    }

    .comContact .sns a {
        margin: 0 0.12rem;
        display: inline-block;
        vertical-align: top;
    }

    .comContact .sns a img {
        width: 0.34rem;
        height: auto;
    }

    .ftt_img,
    .ftt_tel {
        width: 100%;
    }

    .ftt_img {
        text-align: center;
    }

    .ftt_tel span {
        display: block;
    }

    .ftbn_wrap {
        margin-left: 10px;
        margin-right: 10px;
        margin-top: 15px;
    }

    .ft_la img {
        width: 70%;
    }
}

/*-------------------------------------------
  404
--------------------------------------------*/
.fnot {
    border-top: 1px solid #e0dfdf;
    padding: 50px 0;
}

.fnot h4 {
    font-size: 50px;
    text-align: center;
    margin-bottom: 10px;
}

.fnot p {
    font-size: 20px;
    text-align: center;
    line-height: 1.8;
}

.fnot_a {
    text-align: center;
    margin-top: 30px;
    font-size: 22px;
}

.fnot_a a {
    color: red;
    text-decoration: underline;
}

@media (max-width: 640px) {
    .fnot {
        margin-left: 10px;
        margin-right: 10px;
    }

    .fnot h4 {
        font-size: 40px;
    }
}

/*-------------------------------------------
    ft_tel
--------------------------------------------*/
.ft_con_wrap {
    background-color: #e3e8ea;
    padding: 35px 0;
}

.ft_carea {
    margin: 0 auto;
    max-width: 900px;
    position: relative;
}

.ft_con {
    max-width: 850px;
    margin: 0 auto;
}

.ft_sodan {
    width: 48%;
}

.toi_sub {
    font-size: 18px;
    /*font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;*/
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: -5px;
}

.toi_tel {
    text-decoration: none !important;
    font-size: 14px;
}

.toi_tel strong {
    font-size: 33px;
    color: #003342;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    padding: 0 5px;

}

.toi_tel span {
    font-size: 13px;
    /*font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;*/
    letter-spacing: 1px;
}

.con_fuki {
    position: absolute;
    bottom: 20px;
    right: 110px;
    z-index: 10;
}

.con_girl {
    position: absolute;
    bottom: -34px;
    right: 0;
}

.kws3 {
    width: 47%;
}

.kws3 a {
    background: rgba(0, 51, 66, 1);
    display: block;
    margin: 0 auto;
    padding: 20px 0;
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 16px;
    letter-spacing: 1px;
    text-decoration: none;
    /*font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;*/
    box-shadow: 0px 0px 4px 0.5px #ccc;
}

.kws3 a:hover {
    background: rgba(0, 51, 66, .8);
}

.kws3 a.kws3_request {
    background: #FF9C49;
    color: #000000;
    border-radius: 0.3rem;
}

@media (max-width: 640px) {
    .ft_con_wrap {
        padding: 25px 0;
    }

    .ft_con {
        padding-left: 10px;
        padding-right: 10px;
    }

    .ft_sodan {
        width: 100%;
    }

    .kws3 {
        width: 100%;
    }

    .kws3 a {
        /*width: 80%;*/
    }

    .ft_sodan {
        margin-bottom: 15px;
    }

    .ft_sodan img {
        width: 100%;
    }

    .toi_sub {
        font-size: 14px;
    }

    .toi_tel strong {
        font-size: 30px;
    }

    .toi_tel span {
        display: block;
    }

    .con_fuki {
        width: 100px;
        bottom: 88%;
        right: 21%;
    }

    .con_girl {
        width: 90px;
        bottom: 40%;
        right: 3%;
    }
}

@media (max-width: 320px) {
    .toi_sub {
        font-size: 12px;
    }

    .toi_tel strong {
        font-size: 26px;
    }

    .toi_tel span {
        display: block;
    }

    .con_fuki {
        width: 100px;
        bottom: 88%;
        right: 24%;
    }

    .con_girl {
        width: 90px;
        bottom: 43%;
        right: 3%;
    }
}

/*--sns--*/
.ft_sns {
    margin: 0 auto;
    max-width: 1000px;
    border-bottom: 1px solid #b8b8b8;
    margin-top: 25px;
    margin-bottom: 15px;
    padding-bottom: 25px;
}

.sns_mds {
    font-size: 16px;
    text-align: center;
    /*font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;*/
    margin-bottom: 10px;
}

.ft_sns_ul {
    text-align: center;
}

.ft_sns_ul li {
    display: inline-block;
    margin-right: 10px;
}

.ft_sns_ul li img {
    width: 33px;
}

.ft_sns_ul li:last-child {
    margin-right: 0;
}

/*-------------------------------------------
    studio4
--------------------------------------------*/
.konot_wrap {
    border-bottom: 1px solid #cdcccb;
    margin-top: 50px;
    margin-bottom: 50px;
}

.konot_ul {
    margin: 0 auto;
    max-width: 900px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 1.0rem;
}

.konot_ul li {}

/*
.konot_ul{
    margin: 0 auto;
    max-width: 900px;
}
.konot_ul li{
    float: left;
    width: 25%;
}
*/
.konot_ul li a {
    display: block;
    text-align: center;
    font-size: 14px;
    padding-bottom: 20px;
    position: relative;
    text-decoration: none;
}

.konot_ul li a:hover:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    border-bottom: solid 3px #003342;
}

.konot_ul li a.current:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    border-bottom: solid 3px #003342;
}

.sin_ul {
    margin-top: 30px;
}

.sin_ul li {
    float: left;
    width: 47.5%;
    margin-bottom: 30px;
    position: relative;
}

.sin_ul li:nth-child(odd) {
    margin-right: 5%;
}

.sin_ul li img {
    width: 100%;
}

.sin_p2 {
    font-size: 13px;
    line-height: 1.6;
    margin-top: 10px;
}

.img_mdl {
    width: 167px;
    display: block;
    margin: 0 auto;
}

.oy_ttl {
    font-size: 30px;
    text-align: center;
}

.oy_mm,
.oy_bun {
    font-size: 14px;
    text-align: center;
}

.oy_mm {
    /*text-decoration: underline;*/
    margin-top: 25px;
    margin-bottom: 5px;
}

.oy_bun {
    margin-bottom: 25px;
    line-height: 1.7;
}

.ggmaps iframe {
    width: 100%;
    height: 400px;
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}

.free_ttl {
    font-size: 18px;
    margin-bottom: 10px;
    padding-left: 10px;
    border-left: 3px solid #aeb5ad;
}

.free_ttl strong {
    font-weight: bold;
}

.free_ttl2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
    padding-left: 10px;
    border-left: 3px solid #aeb5ad;
}

.free_txt {
    font-size: 15px;
    line-height: 1.5;
}

.free_txt strong {
    font-weight: bold;
    font-size: 17px;
}

.con_dr a {
    text-decoration: none;
}

.hd_tel {
    color: #003342;
    font-size: 12px;
}

.hd_tel span,
.hd_tel strong {
    font-family: 'Roboto', sans-serif;
}

.hd_tel span {
    font-size: 18px;
}

.hd_tel strong {
    font-size: 40px;
}

.hd_tel em {
    font-style: normal;
    display: block;
    margin-top: -5px;
    color: #000;
}

@media (max-width: 640px) {
    .konot_ul li a {
        font-size: 11px;
        padding-bottom: 13px;
    }

    .konot_ul li a:before {
        left: 15%;
        width: 70%;
    }

    .konot_lts a {
        letter-spacing: -2px;
    }

    .hd_tel strong {
        font-size: 35px;
        letter-spacing: -1px;
    }

    .oy_ttl {
        font-size: 24px;
    }

    .sin_ul li {
        width: 100%;
    }

    .sin_ul li:nth-child(odd) {
        margin-right: 0;
    }

    .ggmaps iframe {
        height: 200px;
    }
}

@media (max-width: 320px) {
    .konot_ul li a {
        font-size: 11px;
    }
}

/*-------------------------------------------
    gstudio
--------------------------------------------*/
.gstudio_wrap {
    padding: 50px 0;
    /*border-top: 4px solid #F5B918;*/
    background-color: #F5F5F5;
}

.gstudio_wrap a {
    text-decoration: none;
}

.gstudio {
    max-width: 500px;
    margin: 0 auto;
}

.gstudio_in {
    width: 100%;
}

.gstudio_img {
    width: 47%;
}

.gstudio_img img {
    width: 100%;
}

.gstudio_greek {
    width: 48%;
}

.gstudio_greek h4 {
    margin-bottom: 10px;
    padding-left: 10px;
    color: #003342;
    font-size: 20px;
    font-weight: bold;
    border-left: 4px solid #003342;
}

.gstudio_greek p {
    font-size: 14px;
}

.gstudio_tel a {
    color: #6e625d;
    font-size: 24px;
}

.gstudio_tel a span {
    font-size: 14px;
    color: #3a3d48;
}

a.gstudio_map {
    padding: 8px 0;
    display: block;
    width: 65%;
    font-size: 13px;
    color: #fff;
    text-align: center;
    background-color: #003342;
}

@media (max-width: 640px) {
    .gstudio_wrap {
        padding: 20px 10px;
    }

    .gstudio_in:first-child {
        margin-bottom: 20px;
    }

    .gstudio_img,
    .gstudio_greek {
        width: 100%;
    }

    .gstudio_img {
        margin-bottom: 15px;
    }

    .gstudio_greek h4 {
        font-size: 16px;
    }

    .gstudio_greek p {
        font-size: 12px;
    }

    .gstudio_tel a {
        font-size: 16px;
    }

    a.gstudio_map {
        width: 100%;
    }
}

.recruit_wrap {
    display: none;
}

/*-------------------------------------------
    mfooter
--------------------------------------------*/
.mft_wrap {
    margin: 0 auto;
    max-width: 1000px;
}

.mfooter {
    background: #6c6c6c;
    padding: 30px 0;
}

.mfooter p {
    font-size: 11px;
    color: #fff;
    text-align: center;
    line-height: 1.9;
}

ul.an_ul {
    margin-top: 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

ul.an_ul li {
    width: 23%;
    margin-bottom: 30px;
    margin-right: 1%;
    margin-left: 1%;
}

ul.an_ul li img {
    width: 100%;
    border: 2px solid #fff;
}

/*
ul.an_ul li{
    float: left;
    width: 23%;
    margin-bottom: 30px;
    margin-right: 2%;
}
ul.an_ul li img{
    width: 98%;
    border: 2px solid #fff;
}
ul.an_ul li:last-child{
    margin-right: 0;
}
*/
.an_mds {
    font-size: 16px;
    font-weight: bold;
    margin: 6px 0;
}

.an_bun {
    font-size: 14px;
    line-height: 1.5;
}

.an_link {
    display: block;
    width: 75%;
    margin-top: 10px;
    background-color: #003342;
    color: #fff !important;
    font-size: 14px;
    padding: 10px 0;
    text-align: center;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.an_link:hover {
    opacity: .8;
}

@media (max-width: 640px) {
    ul.an_ul {
        margin-top: 20px;
    }

    ul.an_ul li {
        width: 48%;
        margin-bottom: 20px;
    }

    ul.an_ul li:nth-child(even) {
        margin-right: 0%;
    }

    .an_mds {
        font-size: 13px;
        margin: 6px 0;
    }

    .an_bun {
        font-size: 12px;
    }

    .an_link {
        width: 100%;
        font-size: 13px;
        padding: 10px 0;
    }
}

/*-------------------------------------------
    site_wrap
--------------------------------------------*/
/*
.site_wrap{
    margin: 0 auto;max-width: 1000px;
    margin-top: 20px;
}
.site_wrap ul.si_list:last-child{
    margin-right: 0;
}
ul.si_list{
    float: left;
    margin-right: 40px;
}
*/
.site_wrap {
    margin: 0 auto;
    max-width: 1000px;
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
}

.site_wrap ul.si_list {
    flex: 0 0 25%;
    border-left: solid 1px #CCCCCC;
    padding: 0 1.0em;
}

.site_wrap ul.si_list:first-child {
    border-left: none;
}

ul.si_list li {
    margin-bottom: 5px;
}

ul.si_list li a {
    font-size: 14px;
    color: #000;
}

.mfooter a[href="tel:0929422745"] {
    color: #fff;
}

ul.si_list li a:hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .site_wrap ul.si_list {
        flex: 0 0 50%;
        margin-top: 2.0em;
    }

    .site_wrap ul.si_list:nth-child(2n+1) {
        border-left: none;
        font-size: 93%;
    }

    /*
    .site_wrap{
        margin-top: 20px;
    }
    ul.si_list{
        margin-right: 0;
        width: 100%;
        margin-bottom: 20px;
    }
  */
}

/*-------------------------------------------
    ieie
--------------------------------------------*/
.ie_ul {
    margin: 0 auto;
    max-width: 663px;
}

.ie_ul li {
    float: left;
    width: 32%;
    color: #fff;
    margin-bottom: 2%;
}

.ie_ul li:nth-child(3n+2) {
    margin-left: 2%;
    margin-right: 2%;
}

.ie_ul li img {
    width: 100%;
}

.about_banblock {
    margin: 0 auto;
    max-width: 663px;
}

/*-------------------------------------------
   wood
--------------------------------------------*/
.wood_wrap {
    padding: 60px 0;
    background: url(./img/house_bg.gif) repeat;
}

.wood_ul {
    margin: 0 auto;
    max-width: 982px;
}

.wood_ul li {
    float: left;
    width: 32%;
    color: #fff;
    margin-bottom: 2%;
}

.wood_ul li:nth-child(3n+2) {
    margin-left: 2%;
    margin-right: 2%;
}

.wood_ul li img {
    width: 100%;
}

.as_head {
    font-size: 30px;
    color: #424242;
}

.as_head span {
    margin-right: 22px;
    color: #0E1736;
}

.con_mds {
    background: #0D1438;
    color: #fff;
    padding: 13px 0;
    text-indent: 1em;
    font-size: 20px;
    letter-spacing: 1px;
    margin-bottom: 30px;
}

.spec_wrap p {
    margin-bottom: 0 !important;
}

.spec_greek {
    width: 60%;
}

.spec_img {
    width: 35%;
}

.spec_img a {
    display: block;
    background: #80838a;
    color: #fff;
    width: 60%;
    margin-left: auto;
    text-align: center;
    padding: 8px 0;
    margin-top: 20px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    text-decoration: none;
}

.spec_img a:hover {
    opacity: .8;
}

.toku {
    color: #003342;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 5px;
}

@media (max-width: 640px) {
    .wood_wrap {
        padding: 30px 0;
    }

    .wood_ul {
        margin-left: 10px;
        margin-right: 10px;
    }

    .wood_ul li {
        width: 49%;
    }

    .wood_ul li:nth-child(3n+2) {
        margin-left: 0;
        margin-right: 0;
    }

    .wood_ul li:nth-child(odd) {
        margin-right: 2%;
    }

    .spec_wrap p {
        margin-bottom: 10px !important;
    }

    .spec_greek,
    .spec_img {
        width: 100%;
    }

    .as_head {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .as_head span {
        margin-right: 10px;
    }

    .con_mds {
        text-indent: 0;
        padding-left: 1em;
        letter-spacing: 0;
        margin-bottom: 15px;
    }
}

/*-------------------------------------------
    Topの無料相談会予約
--------------------------------------------*/
a.frp_link {
    text-decoration: none;
}

.fr_photo {
    background: no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover;
    width: 100%;
    height: 300px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

a.frp_link:hover .fr_photo {
    opacity: .85;
}

.frp_wrap {
    margin: 0 auto;
    max-width: 250px;
    position: relative;
    top: 60px;
}

.frp_mds {
    border: 3px solid #fff;
    padding: 20px;
    background-color: rgba(255, 255, 255, .25);
    color: #fff;
    font-size: 30px;
    text-align: center;
    letter-spacing: 1px;
}

.frp_time {
    color: #fff;
    text-align: center;
    font-size: 14px;
    margin-top: 15px;
    letter-spacing: 2px;
}

@media (max-width: 640px) {
    .fr_photo {
        height: 210px;
    }

    .frp_wrap {
        width: 60%;
        top: 35px;
    }

    .frp_mds {
        font-size: 20px;
    }
}


/*topへ戻る*/
.top_link {
    position: fixed;
    bottom: 15px;
    right: 15px;
}

@media (max-width: 640px) {
    .top_link {
        bottom: 8px;
        right: 8px;
    }

    .top_link img {
        width: 40px;
    }
}

/*-------------------------------------------
    recruit
--------------------------------------------*/
/*
.rec_wrap{

}

.rec_ul li{
    float: left;
    width: 30.666%;
		margin-left: 4%;
}
.rec_ul li:nth-child(1){
	margin-left: 0;
    
}
.rec_ul li a{
    display: block;
    width: 100%;
    background-color: #003342;
    color: #fff;
    text-decoration: none;
    padding: 15px 0;
    font-size: 18px;
    text-align: center;
    border-radius: 5px;
}
.rec_ul li a:hover{
    opacity: .8;
}

@media (max-width: 640px){
    .rec_ul li{
        width: 100%;
				margin-left: 0;
			margin-top: 10px;
    }
}
*/
/*
.rec_wrap{}
.rec_wrap .rec_ul{ display: flex; justify-content: space-between; align-items: center;}
.rec_wrap .rec_ul li{ flex: 0 0 32%;}
.rec_wrap .rec_ul li a{ display: block; background: #003342; color: #FFFFFF; text-align: center; padding: 0.8em 0.5em; text-decoration: none; border-radius: 0.5em; font-size: 128%;}
.rec_wrap .rec_ul li a:hover{ opacity: 0.8;}
@media ( max-width: 480px ) {
  .rec_wrap .rec_ul{ display: block;}
  .rec_wrap .rec_ul li{ margin-top: 0.7em;}
}
*/



/*-------------------------------------------
    footer granclass
--------------------------------------------*/
.ft_granclass {
    background: #231717;
    color: #FFFFFF;
    padding: 2.0em 0;
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}

.ft_granclass * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.ft_granclass .inner {
    margin: 0 auto;
    width: 1000px;
    color: #FFFFFF;
    text-decoration: none;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ft_granclass .inner:hover {
    text-decoration: underline;
}

.ft_granclass p {
    padding: 0 1.0em;
}

.ft_granclass .text {
    font-size: 93%;
    line-height: 1.5;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .ft_granclass .inner {
        width: auto;
        display: block;
    }

    .ft_granclass .image {
        width: 50%;
        float: left;
        text-align: center;
    }

    .ft_granclass .logo {
        width: 50%;
        float: right;
        text-align: center;
    }

    .ft_granclass .text {
        white-space: normal;
        clear: both;
        padding: 1.0em 1.0em;
    }
}


/* line */
.section_line_inquiry {
    margin: 0;
    padding: 0;
    background: #EEEEEE;
    font-size: 16px;
}

.section_line_inquiry .mb {
    padding: 4.0rem 0;
    display: flex;
}

.section_line_inquiry figure {
    display: block;
}

.section_line_inquiry figure img {
    display: block;
}

.section_line_inquiry article {
    background: #FFFFFF;
    margin: 0 100px 0 -160px;
    padding: 1.5rem 1.0rem 2.0rem 150px;
    border-radius: 0.5em;
}

.section_line_inquiry .sub {
    margin: 0 !important;
    padding: 0;
}

.section_line_inquiry h2 {
    margin: 0;
    color: #003342;
    font-size: 225%;
}

.section_line_inquiry h3 {
    font-size: 86%;
    border: solid 1px #000000;
    line-height: 1.5;
    padding: 0.5em 1.0em;
    width: fit-content;
    font-weight: normal;
}

.section_line_inquiry ul {
    font-size: 86%;
    padding-left: 1.0em;
    text-indent: -1.0em;
}

.section_line_inquiry .block01 {
    display: flex;
    gap: 0 1.0rem;
    margin: 0;
}

@media (max-width: 480px) {
    .section_line_inquiry .mb {
        display: block;
    }

    .section_line_inquiry figure {
        display: block;
        margin: 0 auto;
        max-width: 50%;
    }

    .section_line_inquiry figure img {
        margin: 0 auto;
    }

    .section_line_inquiry article {
        margin: -100px 0 0 0;
        padding: 100px 1.0rem 1.0rem 1.0rem;
    }

    .section_line_inquiry .sub {
        text-align: center;
    }

    .section_line_inquiry h2 {
        text-align: center;
        font-size: 182%;
    }

    .section_line_inquiry h3 {
        margin-left: auto;
        margin-right: auto;
        font-size: 100%;
    }

    .section_line_inquiry .block01 {
        display: block;
        text-align: center;
    }
}

.section_line_howto {}

.section_line_howto header {
    display: flex;
    align-items: center;
    font-size: 16px;
}

.section_line_howto header figure {
    display: block;
    margin: 0;
    padding: 0;
}

.section_line_howto header div {
    margin: 0 0 0 2.0rem;
    padding: 0;
}

.section_line_howto header img {
    display: block;
}

.section_line_howto header .sub {
    margin: 0 !important;
    padding: 0;
}

.section_line_howto header h2 {
    margin: 0;
    color: #003342;
    font-size: 225%;
}

.section_line_howto .flbox {
    margin: 0;
    display: flex;
    gap: 0 4%;
}

.section_line_howto .flbox article {
    flex: 0 0 48%;
    margin: 2.0em 0 0 0;
    text-align: center;
}

.section_line_howto .flbox article figure {
    display: block;
}

.section_line_howto .flbox article figure img {
    display: block;
    margin: 0 auto;
}

.section_line_howto .flbox article h3 {
    font-size: 150%;
    color: #003342;
}

.section_line_howto .flbox article .sub {
    position: relative;
    padding-bottom: 2.0em;
}

.section_line_howto .flbox article .sub::after {
    display: block;
    content: '';
    margin: 0 auto;
    width: 50px;
    height: 1px;
    background: #000000;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1em;
}

@media (max-width: 480px) {
    .section_line_howto header {
        display: block;
    }

    .section_line_howto header figure {
        display: block;
        margin: 0 auto;
        max-width: 50%;
    }

    .section_line_howto header figure img {
        margin: 0 auto;
    }

    .section_line_howto header div {
        margin: 0;
    }

    .section_line_howto header .sub {
        text-align: center;
    }

    .section_line_howto header h2 {
        text-align: center;
        font-size: 182%;
    }

    .section_line_howto .flbox {
        display: block;
    }
}

.section_line_haishin {
    padding: 4.0em;
    font-size: 16px;
}

.section_line_haishin .mb {
    width: auto;
    max-width: 800px;
    padding: 2.0em 50px;
    background: #FFFFFF;
    border-radius: 0.5em;
    text-align: center;
}

.section_line_haishin h2 {
    margin-top: 0;
    color: #003342;
    font-size: 225%;
}

@media (max-width: 480px) {
    .section_line_haishin {
        padding: 2.0rem 0 0;
    }

    .section_line_haishin .mb {
        padding: 1.0rem;
    }
}

.section_line_guidebnr {
    font-size: 16px;
}

.section_line_use {}

.section_line_use .flblock {
    display: flex;
    gap: 2.0em 4%;
    flex-wrap: wrap;
}

.section_line_use .flblock>* {
    flex: 0 0 48%;
    align-items: center;
}

.section_line_use .flblock .fl01 {
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.section_line_use .flblock .fl01 figure {
    display: block;
    flex: 0 0 186px;
}

.section_line_use .flblock .fl01 p {
    font-size: 148%;
    font-weight: bold;
}

.section_line_use .flblock .fl02 {
    flex: 0 0 260px;
    text-align: center;
}

.section_line_use .flblock .fl03 figure {
    width: 80%;
    margin: 0 auto;
}

.section_line_use .flblock .fl04 h3 {
    font-size: 150%;
    color: #003342;
}

.section_line_use .flblock .fl04 .sub {
    position: relative;
    padding-bottom: 2.0em;
    font-weight: bold;
}

@media (max-width: 480px) {
    .section_line_use .flblock {
        display: block;
    }

    .section_line_use .flblock>* {
        margin-top: 2.0em;
    }

    .section_line_use .flblock .fl01 figure {
        flex: 0 0 35%;
    }

    .section_line_use .flblock .fl01 p {
        font-size: 136%;
    }

    .section_line_use .flblock .fl02 img {
        width: 50%;
        margin: 0 auto;
    }

    .section_line_use .flblock .fl04 {
        text-align: center;
    }

    .section_line_use .flblock .fl04 .sub {
        padding-bottom: 1.0em;
    }
}

.section_line_guide {
    margin-top: -60px;
}

.home .section_line_guide {
    margin-top: 0px;
}

.section_line_guide .link_line {
    display: flex;
    width: 100%;
    background: #00B900;
    margin: 0 auto;
    padding: 0.7em 1.0em;
    justify-content: center;
    align-items: center;
    border-radius: 0.3em;
    font-size: 142%;
    text-decoration: none;
    line-height: 1.5;
    font-weight: bold;
    color: #FFFFFF;
}

.section_line_guide .link_mail {
    display: inline-block;
    width: 100%;
    background: #003342;
    margin: 10px auto 0px;
    padding: 0.7em 1.0em;
    justify-content: center;
    align-items: center;
    border-radius: 0.3em;
    font-size: 142%;
    text-decoration: none;
    line-height: 1.5;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
}

.section_line_guide .link_catalog {
    display: flex;
    width: 100%;
    background: #a67c52;
    margin: 10px auto 30px;
    padding: 0.7em 1.0em;
    justify-content: center;
    align-items: center;
    border-radius: 0.3em;
    font-size: 142%;
    text-decoration: none;
    line-height: 1.5;
    font-weight: bold;
    color: #FFFFFF;
}

.tel-guide {
    width: 100%;
    margin: 15px auto 0;
    border-radius: 0.3em;
    font-size: 142%;
    text-decoration: none;
    line-height: 1.5;
    font-weight: bold;
    color: #FFFFFF;
}

.tel-guide a {
    color: #fff;
}

.tel-sub {
    font-size: 14px;
    display: block;
    padding-top: 3px;
}

.section_line_guide .link_line img {
    display: block;
    height: 1.9em;
    margin: 0;
    width: 10%;
}


.section_line_guide .link_mail img {
    display: block;
    height: 1.5em;
    margin: 0 0.5em 0 0;
}


.section_line_tel {}

.section_line_tel .flbox01 {
    display: flex;
    gap: 0 2.0rem;
    align-items: center;
}

.section_line_tel .flbox01 .tel {
    display: flex;
    align-items: center;
}

.section_line_tel .flbox01 .tel img {
    margin-right: 0.5rem;
}

.section_line_tel .flbox01 .tel a {
    font-size: 285%;
    text-decoration: none;
}

.line-txt {
    margin-top: 10px;
}

.image-caption {
    display: block;
    text-align: center;
    margin-top: 20px;
}

.phone-link-container {
display: block;
margin: 0 auto;
text-align: center;
}
#phone-link {
    display: block;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: 1.2em;
    padding: 5px 0.8em;
    border: 1px solid #aaa;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
    width: 100%;
  }
  #phone-link:hover {
    background: #f0f0f0;
    color: #000;
  }
  #phone-link i {
    margin-right: 0.5em;
    color: #000; /* アイコンの色 */
  }

@media (max-width: 480px) {

    #phone-link {
        display: block;
        font-size: 0.9em;
    }
    .tel-guide {
        display: block;
        padding: 0.7em 0;
    }

    .section_line_guide .link_line {
        font-size: 120%;
    }
    .section_line_guide .link_line img {
        margin: 0 10px 0 0;
    }

    .tel-sub {
        font-size: 12px;
    }

    .section_line_tel .flbox01 {
        display: block;
    }

    .con_kochi {
        font-size: 25px;
    }

    .section_line_haishin h2 {
        font-size: 150%;
    }

    .karute-title {
        margin-left: 30%;
        font-size: 158%;
        color: #003342;
    }

    .footer_sns {
        display: none !important;
    }
}

.page-id-5496 .btn.btn-navi {
    background: #D5C8A0;
    color: #000000;
}

.page-id-5496 .btn {
    text-align: center;
    cursor: pointer;
    display: inline-block;
    font-weight: normal;
    vertical-align: middle;
    white-space: normal;
    touch-action: manipulation;
    text-decoration: none !important;
    line-height: 1.5;
}





#inside-cart .no_cart {
    text-align: center;
    width: auto;
    margin-top: 60px;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #5c5c5c !important;
    margin-bottom: 60px
}

#customer-info table {
    margin-top: 10px;
    border-collapse: collapse;
    margin: 20px auto 0
}

#confirm_table .ttl {
    background-color: #5c5c5c !important
}

#confirm_table h3 {
    font-size: 15px !important;
    line-height: 300% !important;
    font-weight: 400 !important;
    color: #fff !important;
    margin: 0;
    padding: 0;
    letter-spacing: .08em !important
}

div.usccart_navi li.usccart_confirm {
    background-image: none !important;
    background-repeat: repeat-x;
    background: #5c5c5c !important
}

div.usccart_navi li.usccart_delivery {
    background-image: none !important;
    background-repeat: repeat-x;
    background: #5c5c5c !important
}

#cart #point_table {
    width: 350px;
    margin-top: 15px;
    margin-bottom: 10px;
    margin-right: auto;
    margin-left: auto;
    font-size: 14px !important
}

#coml-page h2,
#error-page h2 {
    font-size: 16px;
    line-height: 32px;
    font-weight: 700;
    color: #fff;
    background-color: #5c5c5c !important;
    height: 32px;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 10px;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 15px;
    margin-left: 0;
    border-bottom-width: 0 !important;
    border-bottom-style: solid;
    border-bottom-color: #b2b165
}

#itempage .itemsubimg {
    margin-bottom: 10px;
    display: none
}

.itemimg {
    display: none
}

#itempage h3 {
    display: none
}

#itempage .field .field_price {
    font-size: 140%;
    font-weight: 700;
    color: #5c5c5c !important;
    margin: 0;
    padding: 0;
    text-align: left !important;
    width: auto
}

#itempage .field {
    height: auto;
    width: auto;
    margin: 0;
    border-bottom-width: 0 !important;
    border-bottom-style: solid;
    border-bottom-color: #ccc;
    text-align: left;
    display: none
}

#itempage .field .field_name {
    text-align: left !important;
    font-size: 13px !important;
    color: #656565
}

#itempage .field .field_price {
    font-size: 24px !important;
    font-weight: 500 !important;
    color: #ed5b14;
    margin: 0;
    padding: 0;
    text-align: left !important;
    width: auto
}

#itempage .field {
    height: auto;
    width: auto;
    margin: 0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #ccc;
    font-size: 13px !important;
    padding: 15px 0 0
}

#itempage p {
    text-align: justify !important;
    font-size: 14px !important;
    color: #453f38 !important;
    letter-spacing: .03em !important;
    line-height: 23px !important;
    font-feature-settings: "palt";
}

div.usccart_navi li.usccart_cart {
    background-image: none !important;
    background-repeat: repeat-x;
    background: #5c5c5c !important
}

div.usccart_navi li.usccart_customer {
    background-image: none !important;
    background-repeat: repeat-x;
    background: #5c5c5c !important
}

#inside-cart .send {
    text-align: center;
    width: auto;
    margin-top: 15px;
    padding-top: 15px;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #ececec !important
}

#customer-info h5 {
    color: #fff;
    background-color: #5c5c5c !important;
    padding-top: 2px;
    padding-right: 10px;
    padding-bottom: 2px;
    padding-left: 10px;
    line-height: 300%
}

#customer-info .send {
    text-align: center;
    width: auto;
    margin-top: 15px;
    padding-top: 15px;
    border-top-width: 0 !important;
    border-top-style: solid;
    border-top-color: #ececec
}

.skubutton {
    background-color: #5c5c5c;
    color: #fff;
    padding: 8px !important;
    font-size: 13px !important;
    width: 100%;
    margin: 10px 0 0;
    height: 35px;
    font-family: AdobeGaramondW01-Regula, "リュウミン R-KL", "Ryumin Regular KL", RyuminPro-Regular, "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
    text-align: center
}

#itempage .skuform {
    width: 100%;
    font-size: 12px;
    text-align: left
}

#itempage .skuform div {
    display: block;
    width: 100%
}

#itempage .skuform .skuquantity {
    text-align: right;
    width: 98% !important;
    margin: 6px 0 0 !important;
    border: 1px solid #cbcbcb;
    padding: 0 10px 0 0;
    height: 33px;
    font-size: 15px
}

#cart table#cart_table {
    margin-bottom: 10px;
    font-size: 13px;
    margin: 20px auto !important
}

#cart .upbutton {
    text-align: right;
    padding-right: 20px;
    font-size: 13px
}

.currency_code {
    font-size: 11px;
    color: #656565
}


/* 左画像と右側のテキストの配置 */
.image-text-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    /* 画像とテキスト間のスペース */
}

.image-text-wrapper img {
    width: 500px;
    /* 画像の幅を設定 */
    height: auto;
}

.text-right {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* テキスト間のスペース */
}

.price {
    font-feature-settings: "palt";
    margin-bottom: 15px;
}

.item-title {
    font-weight: bold;
    font-size: 19px;
    font-feature-settings: "palt";
    letter-spacing: .03em;
}

/* アコーディオンのスタイル */
.detailBox .cmnAccordion__item {
    margin-bottom: 10px;
}

.cmnAccordion__btn {
    cursor: pointer;
    padding: 10px;
    border-top: 1px solid #ddd;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* アコーディオンのコンテンツ部分 */
.cmnAccordion__cont {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    padding: 0 10px;
    background-color: #fafafa;
}

/* コンテンツの内側 */
.cmnAccordion__cont__inner {
    padding: 10px 0;
}

/* ボタンのデフォルトの内容（+） */
.cmnAccordion__btn:after {
    content: "+";
    font-size: 18px;
}

/* アコーディオンがアクティブ（開いた状態）の場合 */
.cmnAccordion__item.active .cmnAccordion__cont {
    max-height: 1000px;
    /* 適切な最大高さに設定 */
    padding: 10px 0;
    /* 必要に応じてパディングを調整 */
}

.cmnAccordion__item.active .cmnAccordion__btn:after {
    content: "−";
}

.metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a {
    width: 17px !important;
    height: 17px !important;
}

.flex-control-paging li a {
    width: 5px !important;
    height: 5px !important;
}

@media (max-width: 500px) {
    .image-text-wrapper {
        display: block;
    }

    .cmnAccordion__btn {
        font-size: 12px;
    }
}

.title-catalog {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: -12px;
    color: #A67C52;
    letter-spacing: .05em;
    font-family: Nuckle, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

.catalog-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 2列デザイン */
    gap: 20px;
    /* 列間のスペース */
    align-items: center;
    /* コンテンツを縦方向に中央揃え */
    position: relative;
    background-color: #a67c52;
    /* 背景色 */
}

.catalog-section .description {
    font-size: 23px !important;
    line-height: 1.5 !important;
    color: white !important;
    font-weight: bold !important;
    text-align: center;
}

.intro {
    color: #fff;
    text-align: center;
    padding: 20px;
}

.intro .title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

.intro p {
    font-size: 16px;
    margin: 0;
}

.catalog-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}

.catalog-image {
    transform: translate(20px, -20px);
    /* 枠から画像がはみ出すように調整 */
}

.catalog-image02 {
    width: 50%;
}

.description {
    flex: 1 1 300px;
}

.description h3 {
    font-size: 20px;
    margin-bottom: 10px;
    color: #333;
}

.description p {
    font-size: 16px;
    color: #555;
}

.inner-box {
    margin: 80px 0;
}

.steps {
    display: flex;
    justify-content: space-around;
    border: 3px solid #ccc;
    margin: 80px 0;
}

.step-number {
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    font-weight: bold;
    background-color: #003342;
    color: #fff;
    padding: 10px 0px;
    margin-bottom: 20px;
}

.step {
    text-align: center;
    position: relative;
    width: 100%;
    padding: 50px 0;
}



.step:last-child::after {
    display: none;
}

.step-title {
    font-size: 17px;
    margin-bottom: 15px;
    display: block;
}

.step p {
    text-align: left !important;
    margin-bottom: 0 !important;
    font-size: 15px !important;
}

.step img {
    display: block;
    margin: 0 auto 15px;
    height: 60px;
}


@media (max-width: 500px) {
    .steps {
        flex-wrap: wrap;
        margin: 50px 0;
    }

    .title-catalog {
        font-size: 24px;
        margin-bottom: -5px;
    }

    .catalog-content {
        flex-direction: column-reverse;
    }

    .description,
    .catalog-image {
        flex: 1 1 100%;
    }

    .catalog-section {
        grid-template-columns: 1fr;
        gap: 0px;
    }

    .catalog-section .description {
        font-size: 17px !important;
        text-align: left;
        margin: 20px auto 0;
        margin-bottom: 0 !important;
    }

    .catalog-image {
        transform: translate(0px, 0px);
        width: 80%;
        margin: 0 auto 20px;
    }

    .description h3 {
        font-size: 17px;
        margin-bottom: 10px;
        color: #333;
    }

    .step {
        width: 100%;
        padding: 0;
        margin-bottom: 60px;
    }

    .catalog-image02 {
        width: 100%;
    }

    .inner-box {
        margin: 50px 0;
    }



    .step p {
        font-size: 15px !important;
    }
}


/* 追加FAQ項目用スタイル */

.faq_img_wrap img {
    width: 84px;
}

/* 永久保証コンテンツ */
.warranty-content {
    margin-top: 1rem;
}

.warranty-content h5 {
    color: #333;
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 0.8rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid #ddd;
}

.warranty-content ul {
    list-style: none;
    padding: 0;
    margin: 0.8rem 0;
}

.warranty-content ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
    line-height: 1.6;
}



/* 詳細リンク */
.detail-link {
    margin-top: 1rem;
    text-align: right;
}

.detail-link a {
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.detail-link a:hover {
    color: #1976D2;
    border-bottom-style: solid;
}

/* 対象外リスト */
.exclusion-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0;
}

.exclusion-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
    line-height: 1.6;
    color: #555;
}



/* 修理フロー（数字のみ版） */
.repair-flow {
    margin: 1rem 0;
}

.step {
    display: block;
    align-items: baseline;
    padding: 0.5rem 0;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.step:last-child {
    margin-bottom: 0;
}


.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    background: #003342;
    color: white;
    border-radius: 50%;
    font-weight: bold;
    font-size: 0.9rem;
    margin-right: 1rem;
    flex-shrink: 0;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);
}

.step p {
    margin: 0;
    line-height: 1.6;
    flex: 1;
    padding-top: 0.1rem;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .warranty-content {
        padding: 0.8rem;
        margin-top: 0.8rem;
    }
    
    .warranty-content h5 {
        font-size: 0.9rem;
    }
    
    .warranty-content ul li,
    .exclusion-list li {
        font-size: 0.9rem;
        padding-left: 1.2rem;
    }
    
    .step {
        padding: 0.6rem;
        margin-bottom: 0.8rem;
        display: block;
    }
    

    
    .step p {
        font-size: 0.9rem;
    }
    
    .detail-link {
        text-align: center;
        margin-top: 0.8rem;
    }
    
    .detail-link a {
        font-size: 0.85rem;
    }
}


/* アクセシビリティ向上 */
.step:focus-within {
    outline: 2px solid #2196F3;
    outline-offset: 2px;
}

.detail-link a:focus {
    outline: 2px solid #2196F3;
    outline-offset: 2px;
    border-radius: 3px;
}



/* 目次のスタイル */
.table-of-contents {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 20px;
    margin: 30px 0;
}

.table-of-contents h3 {
    margin: 0 0 15px 0;
    font-size: 1.1em;
    color: #495057;
    border-bottom: 2px solid #dee2e6;
    padding-bottom: 8px;
}

.toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.toc-list li {
    margin: 8px 0;
}

.toc-list a {
    text-decoration: none;
    color: #007bff;
    padding: 5px 10px;
    border-radius: 4px;
    display: block;
    transition: all 0.2s ease;
}

.toc-list a:hover {
    background-color: #e3f2fd;
    color: #0056b3;
}

.toc-list .sub-item {
    margin-left: 20px;
    font-size: 0.9em;
}

.mobile-background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    z-index: -1;
}



.consultation-faq-section {
    background: linear-gradient(135deg, #f5f2e8 0%, #ebe6d7 100%);
    border-radius: 20px;
    padding: 40px 30px;
    margin: 20px 0;
    position: relative;
    overflow: hidden;
}

.consultation-faq-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #003342, #004456, #003342);
}

.consultation-faq-section h2 {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 30px;
    color: #2c3e50;
    line-height: 1.4;
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.consultation-faq-section h2 span {
    font-size: 48px;
    color: #003342;
    font-weight: 900;
    display: inline-block;
    margin: 0 8px;
}

.faq-questions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 30px;
}

.faq-question-item {
    background: white;
    border-radius: 12px;
    padding: 20px;
    border-left: 4px solid #003342;
    transition: all 0.3s ease;
    position: relative;
}

.faq-question-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.faq-question-item .question-number {
    display: inline-block;
    background: #003342;
    color: white;
    font-weight: bold;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 14px;
    margin-right: 12px;
    margin-bottom: 8px;
}

.faq-question-item .question-text {
    font-size: 16px;
    color: #2c3e50;
    font-weight: bold;
    line-height: 1.5;
}

.faq-question-item .question-text .highlight {
    color: #003342;
    font-weight: 600;
}

.contact-note {
    background: #fff;
    border: 2px solid #c9302c;
    border-radius: 12px;
    padding: 20px;
    margin-top: 30px;
    text-align: center;
}

.contact-note p {
    font-size: 16px;
    color: #2c3e50;
    margin-bottom: 15px;
}

.contact-button {
    display: inline-block;
    background: linear-gradient(135deg, #c9302c, #d9534f);
    color: white;
    text-decoration: none;
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: bold;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(201, 48, 44, 0.3);
}

.contact-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(201, 48, 44, 0.4);
    background: linear-gradient(135deg, #b02a26, #c9302c);
}

@media (max-width: 768px) {

    .mobile-background-image {
        background-position: center;
        background-position-y: 0;
    }

    .consultation-faq-section {
        padding: 30px 20px;
        margin: 15px 0 60px;
        border-radius: 15px;
    }
    
    .consultation-faq-section h2 {
        font-size: 18px;
        margin-bottom: 25px;
    }
    
    .consultation-faq-section h2 span {
        font-size: 36px;
        margin: 0 4px;
    }
    
    .faq-question-item {
        padding: 16px;
    }
    
    .faq-question-item .question-number {
        font-size: 13px;
        padding: 3px 10px;
        margin-right: 8px;
    }
    
    .faq-question-item .question-text {
        font-size: 13px;
    }
    
    .mb_narrow {
        padding: 0 10px;
    }
}