/*
Theme Name: Honda marine service ver.1.2
Theme URI:
Author: SHOKODO Co.,Ltd
Description: PHP8.1.25に対応
Version: 1.2
*/
/*-----------------------------------------
	Base structure
	Common
    media all
-----------------------------------------*/
html {
    position: relative;
    height: 100%;
	scroll-behavior: smooth; /* アンカークリック時にスムーズにスクロール */
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
}
/*ディスプレイ左右の余白対策*/
* {
	margin:0;
	padding:0;
}
body{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
	line-height: 180%;
    color: black;
}
    .wrap {
        position: relative;
    }
/* borderの太さやpaddingの大きさをwidthに含める */
*,
*:before,
*:after {
	box-sizing: border-box;
	min-height: 0;
	min-width : 0;
 }
img {
    width: 100%;
    height: auto;
}
p {
    margin: 0.5em 0;
    padding: 0.5em 0;
}
/*-----------------------------------------
	Text
-----------------------------------------*/
.small {
    font-size: 80%;
    line-height: 90%;
}
figcaption {
    font-size: 80%;
    color: #b3b3b3;
    padding: 0.5em 1em 1.5em 1em;
}
    figcaption::before {
        content: '▲';
        width: 1em;
        margin-right: 1em;
    }

/*-----------------------------------------
	Block Editor
-----------------------------------------*/
.has-storng-blue-color { color: #003399; }
.has-original-blue-color { color: #0065b5; }
.has-original-red-color { color: #c03535; }
.has-gray-color { color: #b3b3b3; }

.has-large-font-size { font-size: 36px; }
.has-regular-font-size { font-size: 21px; }
.has-small-font-size { font-size: 13px; }

/*-----------------------------------------
	Heading
-----------------------------------------*/
h1 {
    font-weight: 700;
    line-height: 135%;
    margin: 0 0 1em 0;
    padding: 0;
}
h2 {
    font-weight: 700;
    line-height: 135%;
    margin: 0 0 1em 0;
    padding: 0;
}
h3 {
    font-weight: 700;
    line-height: 135%;
    margin: 0 0 1em 0;
    padding: 0;
}
.title-wave {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    background: bottom center url('images/wave-line.svg') no-repeat;
}
    .title-index {
        text-align: center;
        color: #003399;
        margin: 0;
        padding: 0 2em;
    }
        .title-index span,
        .title-lower span {
            display: block;
            text-align: center;
            font-size: 50%;
            font-weight: 300;
            line-height: 150%;
            color: #b3b3b3;
            margin: 0;
            padding:0;
        }
.title-notice {
    padding-top: 0.5em;
    border-top: #003399 2px solid;
}
.title-notice,
.title-product,
.title-product-sub {
    color: #003399;
    text-align: left;
}
.title-lower {
    text-align: center;
    color: #fff;
    margin: 0;
    padding: 0 2em;
}
.title-archive {
    color: #003399;
    text-align: left;
}
/*-----------------------------------------
	Link + Button
-----------------------------------------*/
a,
a:link,
a:active,
a:visited {
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}

.btn-index {
    display: block;
    text-align: center;
    background-color: #003399;
    border: #003399 2px solid;
    color: #fff;
    margin: 0 auto;
}
    a:hover.btn-index,
    a:hover.btn-inspection {
        text-align: center;
        background-color: #fff;
        border: #003399 2px solid;
        color: #003399;
    }
.btn-inspection {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #003399;
    border: #003399 2px solid;
    color: #fff;
    padding: 0.5em;
    margin: 1em auto 0 auto;
}

/*矢印が右に移動して背景がつく*/
.btn-products {
    width: 100%;
	border: 2px solid #003399;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #003399;
    outline: none;
}
    .btn-products:hover {
        background:#003399;
        color:#fff;
    }

.btn-archive {
    display: block;
    width: 100%;
    margin-top: 2em;
    padding: 1em 0;
    text-align: center;
    color: #003399;
    background-color: #fff;
    border-top: #003399 2px solid;
    border-bottom: #003399 2px solid;
}
    .btn-archive:hover {
        color: #fff;
        background-color: #003399;
        border-top: #003399 2px solid;
        border-bottom: #003399 2px solid;
    }

/*-----------------------------------------
	Navigation
-----------------------------------------*/
    nav.top-nav {
        position: absolute;
        bottom: 0;
        right: 0;
        margin: 0 auto;
        width: 100%;
        padding: 0;
        display: flex;
        justify-content: space-between;
    }
    nav.foot-nav {
            background-color: #fff;
    }
    nav.lower-nav {
        position: absolute;
        right: 0;
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
        .nav-logo {
            width: auto;
        }
            nav.top-nav ul,
            nav.foot-nav ul,
            nav.lower-nav ul {
                display: flex;
                list-style: none;
            }
            nav.top-nav ul li a,
            nav.foot-nav ul li a,
            nav.lower-nav ul li a {
                display: block;
                text-decoration: none;
            }
                nav.top-nav ul li a,
                nav.lower-nav ul li a {
                    color: #333;
                }
                nav.foot-nav ul li a {
                    color: #003399;
                }
            /*5-3-7 上下に線が伸びて背景になる*/
                nav.top-nav ul a,
                nav.foot-nav ul a,
                nav.lower-nav ul a {
                    /*線の基点とするためrelativeを指定*/
                    position: relative;
                    /*はみ出る要素を隠す*/
                    overflow: hidden;
                    /*アニメーションの指定*/
                    transition: all .2s;
                }
                /*現在地とhoverの設定*/
                nav.top-nav ul li.current a,
                nav.lower-nav ul li.current a,
                nav.top-nav ul li a:hover,
                nav.lower-nav ul li a:hover {
                    /*背景色をつける*/
                    background: #003399;
                    color:#fff;
                }
                /*背景がつくのアニメーションの開始を0.5秒遅らせる*/
                nav.top-nav ul li a:hover,
                nav.lower-nav ul li a:hover {
                    transition-delay: .5s;
                }
                /*線の設定*/
                nav.top-nav ul li a::before,
                nav.top-nav ul li a::after,
                nav.lower-nav ul li a::before,
                nav.lower-nav ul li a::after {
                    content: "";
                    /*絶対配置で線の位置を決める*/
                    position: absolute;
                    left: 0;
                    /*線の形状*/
                    height: 2px;
                    width:100%;
                    background: #003399;
                    /*アニメーションの指定*/
                    transition: all .5s;
                }
                /*線の位置と変化*/
                nav.top-nav ul li a::before,
                nav.lower-nav ul li a::before {
                    top: 0;
                    transform: translateX(-100%);/*X方向に-100%移動*/
                }
                nav.top-nav ul li a::after,
                nav.lower-nav ul li a::after {
                    bottom: 0;
                    transform: translateX(100%);/*X方向に100%移動*/
                }
                nav.top-nav ul li a:hover::before,
                nav.top-nav ul li a:hover::after,
                nav.lower-nav ul li a:hover::before,
                nav.lower-nav ul li a:hover::after {
                    transform: translateX(0);/*X方向に0%移動*/
                }
.pagination {
    padding: 0.5em 1em;
    border-top: #eee solid 1px;
    border-bottom: #eee solid 1px;
}
    .pagination h2.screen-reader-text {
        display: none;
    }
    .nav-links {
        position: relative;
        padding: 0.5em 0;
    }
        .page-numbers {
            padding: 0.5em 1em;
            margin-right: 1em;
            background-color: #cae6fc;
            border: #cae6fc solid 1px;
        }
        .page-numbers:hover {
            padding: 0.5em 1em;
            margin-right: 1em;
            background-color: #fff;
            border: #cae6fc solid 1px;
        }
            .current {
                padding: 0.5em 1em;
                background-color: #fff;
                border: #eee solid 1px;
            }
            .prev,
            .next {
                padding: 0.5em 1em;
                background-color: #eee;
                border: #eee solid 1px;
            }
            .prev:hover {
                padding: 0.5em 1em;
                background-color: #fff;
                border: #eee solid 1px;
            }
            .next:hover {
                padding: 0.5em 1em;
                margin-right: 0;
                background-color: #fff;
                border: #eee solid 1px;
            }
                .next {
                    position: absolute;
                    right: 0;
                    top: 0;
                    margin-right: 0;
                }
/*-----------------------------------------
	Header Area
-----------------------------------------*/
header {
    position: relative;
}
    #main-visual {
        position: relative;
        width: 100vw;
        background: url("images/main-visual.jpg") repeat-x top center;
        background-size: cover;
        overflow: hidden;/*blurのはみ出たヶ所非表示*/
    }
        #main-visual::before {
            position: absolute;
            top: -5px;
            left: -5px;
            right: -5px;
            bottom: -5px;
            z-index: -1;
            content: '';
            background: inherit;/*main-visual設定した背景画像を継承する*/
            -webkit-filter: blur(4px);
            filter: blur(4px);
        }
        #main-img {
            width: auto;
            margin: 0 auto;
            padding: 0;
        }

/*-----------------------------------------
	Footer Area
-----------------------------------------*/
.wave-area {
    position: relative;
}
    .wave{
        position: relative;
    }

footer {
    position: relative;
    margin: 0 calc(50% - 50vw);
    background-color: #0065b5;
}
    footer a:link,
    footer a:active,
    footer a:visited {
        color: #fff;
    }
    footer a:hover {
        text-decoration: underline;
    }
    footer i {
        width: auto;
    }
    .contact-area {
        text-align: center;
        color: #fff;
    }
        .business-trip {
            display: block;
            font-size: 150%;
            border: #fff 1px solid;
        }
        .phone-call {
            color: #003399;
            font-size: 180%;
            font-weight: 500;
            background-color: #fff;
        }
            .phone-call a,
            .phone-call a:link,
            .phone-call a:active,
            .phone-call a:visited,
            .phone-call a:hover,
            .phone-call a[href^="tel:"] {
                color: #003399;
                text-decoration: none;
            }

    .corp-info {
        text-align: left;
        color: #fff;
    }
        .phone-no {
            font-size: 150%;
            font-weight: 700;
        }
    .copy {
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        padding: 1em 0;
        text-align: center;
        color: #fff;
        background-color: #003399;
    }

/*-----------------------------------------
	Index Content
-----------------------------------------*/
.content {
    margin: 0 auto;
    background-color: #fff;
}
        .txt-box {
            position: relative;
        }

        .news-area {
            margin: 0 calc(50% - 50vw);
            padding: 2em calc(50vw - 50%);
            background-color: #cae6fc;
        }
            .news-frame {
                position: relative;
                background-color: #fff;
            }
                    .news-frame dd {
                        line-height: 180%;
                        color: #003399;
                    }
        .sns-area img {
            border: #003399 solid 1px;
        }

.service-area {
    position: relative;
    border: #003399 solid 2px;
    background-color: #fff;
}
    .products-frame {
        position: relative;
    }
        .image-box-left {
            height: 100%;
            background-color: #b3b3b3;
        }
        .products-txt-box {
            position: relative;
        }
            .products-txt {
                position: relative;
                min-height: 183px;
            }
            .products-box2 {
                min-height: 400px;
                margin-bottom: 2em;
            }
                .products-img {
                    width: 100%;
                    max-height: 207px;
                    margin-bottom: 1em;
                }
                    .products-img img {
                        width: auto;
                        max-height: 207px;
                        margin: 0 auto;
                    }

                .products-brand {
                    border: #003399 1px solid;
                }
                    .products-brand strong {
                        color: #003399;
                    }
                    .products-brand ul {
                        display: flex;
                        justify-content: flex-start;
                        flex-wrap: wrap;
                        width: 100%;
                        margin: 0.5em 0 0 0;
                        padding: 0;
                    }
                        .products-brand ul li {
                            position: relative;
                            display: inline-block;
                            max-width: 100%;
                            margin: 0 1em 0 0;
                            padding: 0 1em 0 1.5em;
                            line-height: 150%;
                        }
                            .products-brand ul li::before {
                                position: absolute;
                                top: 0;
                                left: 0;
                                content: "● ";
                                width: 2.5em;
                                height: 1em;
                                color: #003399;
                                font-size: 50%;
                            }

/*-----------------------------------------
	Lower Content
-----------------------------------------*/
    .lower-title-area {
        position: relative;
        width: 100vw;
        height: 200px;
        margin: 0 calc(50% - 50vw);
        padding: 50px 0;
        background: url("images/main-visual.jpg") repeat-x center center;
        background-size: cover;
        text-shadow: #333 2px 2px 5px;
    }
                .breadcrumb li:last-of-type::after {
                    content: '';
                    width: 1em;
                    margin-left: 0.5em;
                }
            .breadcrumb a {
                color: #b3b3b3;
            }
            .breadcrumb a:hover {
                text-decoration: underline;
                color: #b3b3b3;
            }
.products-info-frame {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
        .products-info-frame .wp-block-image a:hover img {
            border: #b3b3b3 2px solid;
        }
    .products-info-frame .wp-block-image figcaption {
        border-top: #003399 2px solid;
        border-bottom: #003399 2px solid;
        padding: 1em;
        margin-top: 1em;
        font-size: 100%;
        color: #333;
    }
        .products-info-frame .wp-block-image figcaption::before {
            content: '';
            width: 0;
            margin-right: 0;
        }
.date-area {
    border-top: #b3b3b3 solid 1px;
    border-bottom: #b3b3b3 solid 1px;
    padding: 0.5em 1em;
    margin: 0 0 2em 0;
    text-align: right;
    font-size: 90%;
}
.arch-date-area {
    padding: 0;
    margin: 0 0 1em 0;
    text-align: left;
    font-size: 90%;
    font-weight: 700;
    color: #c03535;
}
.content-area {
    min-height: 300px;
    padding: 2em 0;
}
.archive-area {
    width: 100%;
    padding: 1em;
    margin-bottom: 2em;
    border: #b3b3b3 solid 1px;
}
    .profile-table01 table,
    .profile-table02 table {
        width: 100%;
    }

/*-----------------------------------------
	Contact Form
-----------------------------------------*/
.contact-list {
    margin: 0 auto;
    background-color: #cae6fc;
}
.contact-list dt {
    box-sizing: border-box;
}
    .contact-list dt span.required {
        color: #fff;
        padding: 0.1em 0.3em 0.15em 0.3em;
        margin-right: 0.5em;
        background-color: #c03535;
        border-radius: 2px;
    }
.contact-list dd {
    padding: 1em;
    box-sizing: border-box;
    border-bottom: 1px solid #fff;
}
    .contact-list dd span input[type="text"],
    .contact-list dd span input[type="tel"],
    .contact-list dd span input[type="email"],
    .contact-list dd span select,
    .contact-list dd span textarea {
        width: 100%;
        padding: 0.5em 1em;
    }
input[type="submit"] {
    background-color: #003399;
    border: #003399 2px solid;
    box-shadow: none;
    color: #fff;
    padding: 0.5em 2em;
    margin: 0 10%;
    font-size: 120%;
    width: 80%;

}
    input[type="submit"]:hover {
        background-color: #fff;
        border: #003399 2px solid;
        box-shadow: none;
        color: #003399;
    }
    .wpcf7 form.invalid .wpcf7-response-output,
    .wpcf7 form.unaccepted .wpcf7-response-output,
    .wpcf7 form.payment-required .wpcf7-response-output {
        margin: 0 auto;
        padding: 0.5em 1em;
        box-sizing: border-box;

    }