/*
Theme Name: 2025enshu
Theme URI: https://www.enshuryu.com
Author: Enshu sado soke
Author URI: https://www.enshuryu.com
Description: 遠州流茶道ホームページのテーマです。見易く、レスポンシブ対応です。
Requires at least: 4.7
Requires PHP: 5.2.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 2025enshu
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

*/

html {
    /* デフォルト（モバイルビュー）ではベースのfont-sizeは12px相当 */
    font-size: 100%;
}


:root {
    --header-h: 80px;
}

/* 固定ヘッダーの高さ */
html {
    scroll-behavior: smooth;
    /* 任意：スムーズスクロール */
    scroll-padding-top: var(--header-h);
}


/* スライド */
.slide001 .slick-next:before {

    content: "";
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);

}

.slide001 .slick-prev:before {
    content: "";
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.container .slick-prev,
.container .slick-next {
    right: -20px;
    background: #1fab7b;
    z-index: 10;
    width: 60px;
    height: 60px;
    border-radius: 50px;
}

a:hover,
.card:hover {
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    opacity: 0.6;


}

@charset 'UTF-8';

/* Slider */
.slick-loading .slick-list {
    background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face {
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}

/* Arrows */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slide001 .slick-prev:hover,
.slide001 .slick-prev:focus,
.slide001 .slick-next:hover,
.slide001 .slick-next:focus {
    color: transparent;
    outline: none;
    background: #89A723;
    opacity: .25;
}

.slide001 .slick-prev:hover:before,
.slide001 .slick-prev:focus:before,
.slide001 .slick-next:hover:before,
.slide001 .slick-next:focus:before {
    opacity: 1;
}

.slide001 .slick-prev.slick-disabled:before,
.slide001 .slick-next.slick-disabled:before {
    opacity: .25;
}

.slide001 .slick-prev:before,
.slide001 .slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slide001 .slick-prev {
    left: -25px;
}

[dir='rtl'] .slick-prev {
    right: -25px;
    left: auto;
}

/* .slick-prev:before {
    content: '←';
} */

[dir='rtl'] .slick-prev:before {
    content: '→';
}

.slide001 .slick-next {
    right: -25px;
}

[dir='rtl'] .slick-next {
    right: auto;
    left: -25px;
}



[dir='rtl'] .slick-next:before {
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}

.slick-dots li {
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}

.slick-dots li button:before {
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    opacity: .75;
    color: black;
}

/* ボタン */
.button {
    position: relative;
    margin: 10px;
    width: 150px;
    height: 45px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 23px;
    color: #1fab7b;
    border: 1px solid;
    cursor: pointer;
    border-color: #1fab7b;
    background: #ffffff;
    transition: color 0.5s ease;

}

.button span {
    position: relative;
    margin-bottom: 0px;
}

.btn_bg {
    position: relative;
    transition: color 0.5s ease;

    background: #ffffff;
    color: #1fab7b;

}

.btn_bg span {
    position: relative;
    margin-bottom: 0px;
}

.btn_bg:hover,
.button:hover {
    color: #fff;
}

.btn_bg:hover::before,
.button:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.btn_bg::before,
.button:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1fab7b;
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
}

.yazirusi {
    display: inline-block;
    position: relative;
    top: 7px;
    right: 60px;
    position: relative;
    width: 80px;
    margin: 30px;
}

.line01 {
    height: 1px;
    background-color: #1fab7b;
}

.line02 {
    position: absolute;
    top: 0;
    right: 0;
    transform-origin: right bottom;
    width: 20px;
    height: 1px;
    background-color: #1fab7b;
    transform: rotate(45deg);
}

/* メインメニュー */
.UpMove {
    animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-100px);
    }
}


/*ã€€ä¸‹ã«ä¸‹ãŒã‚‹å‹•ãã€€*/

.DownMove {
    animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* サブメニュー */
.subnav .active {

    background-color: #89A723;

}

.subnav .item {
    color: #ffffff
}

.subnav .item:hover {

    background-color: #ffffff;
    color: #1fab7b;
    transition: background-color 1s;


}

.subnav .item {
    border-left: 1px solid #ffffff;
    padding-left: 5px;
    padding-right: 5px;
}

/* .subnav .row div:last-child,
.subnav .row div:nth-child(2n) {

    .item {
        border-right: 1px solid #ffffff;
    }

} */

.subnav {
    background-image: url(img/七宝繋ぎ.png);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: right bottom;
}



/* スクロールボタン */
#back-to-top {
    display: none;

    position: -webkit-sticky;
    position: sticky;
    bottom: 30px;
    left: 100%;
    background: #333;
    color: #fff;
    padding: 10px 15px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    z-index: 1000;
    opacity: 0.8;
}

#back-to-top:hover {
    opacity: 1;
}

.grid.auto>* {
    border-right: none;
}

.grid.auto>*.is-rightmost {
    border-right: 1px solid #ffffff;
}

.btn {
    padding-left: 30px;
    padding-right: 80px;
}

.btn_arrow {
    display: table;
    position: relative;
    padding: 1em 2.5em;
    min-width: 10em;
    border: 2px solid currentColor;
    color: #ffffff;
    font-size: 16px;


    text-decoration: none;
    box-sizing: border-box;
    transition: 0.5s;
}

.btn_circle {
    position: relative;
    color: #ffffff;
    font-size: 16px;
    background-color: #1fab7b;

}

.btn_circle::after {
    color: #ffffff;
    position: absolute;
    top: 50%;
    right: 43%;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

.btn_circle::before {

    content: "MORE";
    position: absolute;
    top: 40px;
    color: #1fab7b;

}

.btn_circle:hover {
    opacity: 0.8;
    transform: scale(1.3);
    transition: all 0.3s;
    /* ホバー時に1.2倍に拡大 */
}


.btn_arrow::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

.btn_arrow:hover {

    background-color: #3388dd;
    color: #fff;
}

.map-btn:hover {
    opacity: 80%;

}

.map-btn {

    color: #484848;
}

.kinki-btn {

    background-color: #C5F9CA;

}

.hokuriku-btn {

    background-color: #B9DBDB;

}

.kantou-btn {

    background-color: #F4D9BE;

}

.touhoku-btn {

    background-color: #F9E5C2;

}

/* 見出しCSS */
.border_h {
    border-bottom: 2px solid #1fab7b;
    // border-left: 10px solid #1fab7b;
    //padding-left: 10px;
    margin: 5rem 0px;
    padding-block-end: .6em;

}

.container .catch-copy {

    margin-top: 64px;


}

.iframe-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.img-hover {

    overflow: hidden;
    /* はみ出た部分を隠す */

}

.img-hover>img {

    object-fit: cover;
    transition: transform .4s;
    /* はみ出た部分を隠す */
}

.img-hover:hover img {
    transform: scale(1.05);
    /* ホバー時に1.2倍に拡大 */
}

.img-hover>img {
    //position: absolute;
    transition: all 0.3s;
    /* ホバー時に1.2倍に拡大 */
}


@keyframes anime_arrow {
    0% {
        right: 1em;
    }

    50% {
        right: 0em;
    }

    100% {
        right: 0em;
    }
}

.header-img {
    height: 300px;
    position: relative;
    background-size: cover;
    background-position-x: center;
    margin-top: 50px;
}

.header-img header:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(img/main-filter.png);
    background-repeat: round;
    background-size: auto;
    background-position: top center;
    position: absolute;
    top: 0;
    left: 0;
}

.navbar-toggler .navbar-toggler-icon {
    position: relative;
    /* width: 40px;
    height: 40px; */
    background: none;
    background-image: none;
    appearance: none;
    cursor: pointer;
}

.navbar-toggler-icon,
.navbar-toggler-icon span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
}

.navbar-toggler-icon span {
    position: absolute;
    left: 5px;
    width: 60%;
    height: 2px;
    background-color: #ffffff;
    border-radius: 1px;
}

.navbar-toggler-icon span:nth-of-type(1) {
    top: 5px;
}

.navbar-toggler-icon span:nth-of-type(2) {
    top: 13px;
}

.navbar-toggler-icon span:nth-of-type(3) {
    top: 21px;
}

.navbar-toggler[aria-expanded=true] span.navbar-toggler-icon span:nth-of-type(1) {
    transform: translateY(8px) rotate(-315deg);
}

.navbar-toggler[aria-expanded=true] span.navbar-toggler-icon span:nth-of-type(2) {
    opacity: 0;
}

.navbar-toggler[aria-expanded=true] span.navbar-toggler-icon span:nth-of-type(3) {
    transform: translateY(-8px) rotate(315deg);
}

.navbar-toggler:active span.navbar-toggler-icon span:nth-of-type(1) {
    transform: translateY(8px) rotate(-315deg);
}

.navbar-toggler:active span.navbar-toggler-icon span:nth-of-type(2) {
    opacity: 0;
}

.navbar-toggler:active span.navbar-toggler-icon span:nth-of-type(3) {
    transform: translateY(-8px) rotate(315deg);
}

.contact_btn {
    opacity: 1;
    top: 50%;
    right: 0px;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 1.125em;
    letter-spacing: 0.1em;
    position: fixed;
    z-index: 9;



}

.bgcolor-left:before {
    background: rgb(208 238 228);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 15%;
}

.bgcolor-right:before {
    background: rgb(208 238 228);
    content: "";
    display: block;
    height: 100%;
    right: 0;
    position: absolute;
    top: 0;
    width: 15%;
}


#menu-footer001 .list-item:before,
#menu-footer002 .list-item:before {

    content: "-";
    margin-right: 0.5em;
}

.footer-list li a.list-item {

    text-decoration: none;
}

.footer-list,
.footer-list ul {
    padding-left: 0px;
    list-style: none;

}

.footer-list-under li {

    width: 50%;
}

/* 歴代 */

.row dt {
    max-width: 120px;
    text-decoration: left;
    margin-bottom: 9px;

}

.rekidai_detail,
.shipou_tsunagi {



    width: 100%;
    height: 100%;
    background-image: url(img/七宝繋ぎ.png);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: bottom right;


}


/* amelia */
.amelia h3 {

    border-bottom: 3px solid #1fab7b;
    padding-bottom: 3px;
}

/* スクリーンサイズが576px以上の場合に適用 */
@media (min-width: 576px) {}


/* スクリーンサイズが768x以上の場合に適用 */
@media (min-width: 768px) {


    /* .subnav .row div:nth-child(5n) {

        .item {
            border-right: 1px solid #ffffff;
        }

    }

    .subnav .row div:nth-child(2n) {

        .item {
            border-right: none;

        }

    } */



}


/* スクリーンサイズが992px以上の場合に適用 */
@media (min-width: 992px) {
    .section-rekidai {
        /* max-width: 880px; */
    }



}


/* スクリーンサイズが1200px以上の場合に適用 */
@media (min-width: 1200px) {
    .section-row .container {}
}



/* スクリーンサイズが1400px以上の場合に適用 */
@media (min-width: 1400px) {}