/*
* Theme Name: isitaka
* Description:
* Theme URI: isitaka 2026
* Version: 1.0
* Theme Author:　Lino Ngo
* Author URI: Lino Ngo
* Tags: basic
* Textdomain:
* Languages Folder: /languages
*/
/* Default---------------------------------------------- */
@charset "utf-8";

@font-face {
    font-family: Helvetica;
    src: url("font/HelveticaNowDisplay-Light.ttf") format("opentype");
}
@font-face {
    font-family: Helvetica-B;
    src: url("font/HelveticaNowDisplay-ExtraBold.ttf") format("opentype");
}


html {
    overflow-x: hidden;
    padding: 0;
    margin: 0;
    scroll-behavior: smooth;
}
body{
    font-family: "Afacad Flux", sans-serif;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    zoom: 1;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-family: "Afacad Flux", sans-serif;
    font-weight: unset;
}
p{
    font-size: 18px;
    line-height: 1.8;
    font-family: "Afacad Flux", sans-serif;
    font-weight: 400;
    color: #4c4948;
    letter-spacing: 1px;
}
h1,h2,h3,h4,h5{
    font-weight: bold;
    letter-spacing: 1px;
}
a{
    transition: all 0.3s ease 0s;
    letter-spacing: 1px;
}
/*menu*/
/* Important stuff here! Look at the bottom!!! (Line 133 to 136) */
*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.st-pusher{
    overflow: hidden;
}

#ct2-shop {
    scroll-margin-top: 100px;
}
#ct2-renovation {
    scroll-margin-top: 100px;
}

.main-blue-color{
    color: #0092B3;
}
.transition-tranform{
    transition: transform 0.3s ease-in-out;;
}

/*end menu*/


.ct-title{
    text-align: center;
    padding-bottom: 75px;
}
.ct-title h2{
    font-size: 40px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    color: #27a139;
    padding-bottom: 10px;
}
.ct-title p{
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 2px;
}
.inner{
    max-width: 990px;
    margin: auto;
}
#primary{
    padding-top: 100px;
}
.mv{
    position: relative;
}
.mv-content{
    position: absolute;
    top: 6%;
    left: 3%;
    width: 72%;
}
.mv-content .mv-text{
    width: 100%;
    padding-bottom: 35px;
}
.mv-content .mv-btn{
    display: flex;
    align-items: center;
    gap: 30px;
    justify-content: center;
}
.mv-content .mv-btn a{
    max-width: 35%;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 800;
    color: #ffffff;
    background: #00a63c;
    padding: 15px;
    width: 320px;
    text-align: center;
    font-size: 26px;
    border: 3px solid #ffffff;
    border-radius: 30px;
}
.mv-content .mv-btn a:hover{
    border-color: #00a63c;
    color: #00a63c;
    background: #ffffff;
}

.page-contact{
    background: #27a1391a;
}
.form-content{}
.form-content .form-content-p{
    text-align: center;
    padding-bottom: 75px;
}
.form-content .form-content-p p{
    display: inline-block;
    font-size: 14px;
    background: #e61f19;
    color: #ffffff;
    padding: 20px 50px;
    border-radius: 35px;
}
.form-content table{
    width: 87%;
    margin: auto;
    margin-bottom: 65px;
}
.form-content table tr{}
.form-content table tr td,
.form-content table tr th{
    border-bottom: 1px solid #717171;
    padding-bottom: 35px;
    padding-top: 35px;
    font-size: 18px;
}
.form-content table tr td{
    padding-left: 23px;
    width: 70%;
}
.form-content table tr td span{
    padding-bottom: 10px;
    display: inline-block;
}
.form-content table tr td input{
    width: 63%;
    padding: 10px;
    font-size: 18px;
}
.form-content table tr td textarea{
    width: 100%;
    padding: 10px;
    font-size: 18px;
    height: 200px;
}
.form-content table tr.form_type td{
    padding-right: 20px;
}
.form-content table tr th{
    width: 30%;
    padding-left: 20px;
}
.form-content table tr th span.required{
    font-size: 15px;
    color: #ffffff;
    background: #e61f19;
    padding: 5px 10px;
    float: right;
}
.form-content .form-btn{
    text-align: center;
}
.form-content .form-btn input{
    border: unset;
    font-size: 24px;
    color: #ffffff;
    background: #27a139;
    padding: 6px 63px;
    cursor: pointer;
}
.contact-ft{
    text-align: center;
    padding: 100px 0;
}
.contact-ft img{
    max-width: 340px;
}


/*page news*/
.cardtype__article, .sidelong__article {
    animation: fadeIn 1.1s ease 0s 1 normal;
}
.cardtype__article {
    width: 100%;
    margin: 0 0 25px;
    border-radius: 2px;
    background: #fff;
    cursor: pointer;
    transition: 0.2s ease-in-out;
}

.cardtype__link {
    display: block;
    color: #555;
    text-decoration: none;
    cursor: pointer;
    padding-bottom: 25px;
}
/*.cardtype__link .cardtype__article-info{
    padding: 0 8px;
}*/
.cardtype__link:hover h2{
    color: #27a139;
}
.cardtype__img {
    margin: 0;
    overflow: hidden;
    height: 200px;
}
.cardtype__img img {
    border-radius: 2px 2px 0 0;
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: all 0.3s ease 0s;
}
.cardtype__link:hover .cardtype__img img{
    transform: scale(1.1);
}
.cardtype time {
    display: block;
    margin: 13px 13px 8px;
    color: #4c4948;
    font-size: 16px;
    /*font-weight: bold;*/
}
.entry-time.pubdate i {
    padding-right: 5px;
}
.cardtype h2 {
    font-size: 16px;
    font-weight: normal;
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 1.5;
    transition: all 0.3s ease 0s;
}
.cardtype h2 span{
    width: 85%;
}
.cat-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 12px;
}
.cat-name p{
    background: #a38a77;
    font-size: 12px;
    color: #ffffff;
    padding: 2px 28px;
    border-radius: 15px;
}
.cardtype__article-info .play-btn {
    width: 35px;
    height: 35px;
    background: #2ea043; /* màu xanh */
    border-radius: 50%;
    position: relative;
    cursor: pointer;
}
.cardtype__article-info .play-btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    width: 0;
    height: 0;
    border-left: 15px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.cardtype__article:hover {
}

/*
 * è¨˜äº‹ä¸€è¦§ã®ãƒšãƒ¼ã‚¸ãƒã‚¤ã‚·ãƒ§ãƒ³
 */
.pagination-news,
.wp-prev-next {
    margin: 1.5em 0;
}
.pagination-news {
    display: block;
    clear: both;
    padding: 1.5em 0 0;
    border-radius: 3px;
    text-align: center;
}
.pagination-news li {
    display: inline-block;
    overflow: hidden;
    margin: 3.5px;
    padding: 0;
    text-align: center;
}
.pagination-news a{
    color: #40bc01;
}
.pagination-news a:hover{
    color: #fff;
    background: #936a3a;
}
.pagination-news a,
.pagination-news span {
    display: inline-block;
    width: 46px;
    height: 46px;
    margin: 0;
    border-radius: 50%;
    background: #fff;
    font-size: 17.5px;
    font-weight: bold;
    text-decoration: none;
    line-height: 46px;
}
.pagination-news .active {
    color: #fff;
    cursor: default;
}
.pagination-news .active span {
    background-color: #40bc01;
}
.page-numbers.dots {
    width: auto;
    padding: 0;
    background: transparent;
}
.wp-prev-next .prev-link {
    float: left;
}
.wp-prev-next .next-link {
    float: right;
}

/*sidebar*/
.sidebar .sidebar-box{
    border-radius: 4px;
    overflow: hidden;
    border: solid 1px rgba(0, 0, 0, .08);
    margin: 0 0 2.5em;
}
.sidebar ul li{
    font-size: 16px;
}
.sidebar .sidebar-box h2{
    font-size: 1.2em;
    color: #ffffff;
    padding: 10px;
    font-weight: unset;
    background: -webkit-linear-gradient(310deg, #048004, #9dde00);
    background: -o-linear-gradient(310deg, #048004, #9dde00);
    background: linear-gradient(140deg, #048004, #9dde00);
}
.sidebar .sidebar-box h2 i{
    padding-right: 5px;
}
.sidebar ul{
    margin-top: 0;
    margin-bottom: 0;
    padding: 8px 10px;
}
.sidebar ul.news-post li:hover  img{
    transform: scale(1.1);
}
.sidebar ul.news-post li img{
    display: table-cell;
    width: 80px;
    height: 80px;
    margin-right: 8px;
    vertical-align: middle;
    transition: transform 0.6s ease-in-out;
    object-fit: cover;
}
.sidebar ul.news-post li h3{
    display: table-cell;
    width: 180px;
    width: calc(100% - 88px);
    font-size: 0.9em;
    vertical-align: middle;
    line-height: 1.5;
    font-weight: normal;
}
.sidebar ul li a{
    color: #27a139;
    padding: 10px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sidebar ul li a:hover{
    background-color: #D8EBFF;
    /*font-weight: bold;*/
    transition: 0.3s ease-in-out;
}
.sidebar ul li a.active i{
    display: none;
}
.sidebar ul li a:hover i{
    transform: scale(1.1);
    transform: translateX(8px);
}
.sidebar ul li a.active{
    /*background-color: #D8EBFF;*/
    padding: 10px;
}
input#search {
    width: 100%;
    padding: 12.5px;
    font-size: 16px;
    padding-right: 48px;
    border: solid 1px #ececec;
    background: #fff;
    outline: none;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.15), 0 3px 3px -2px rgba(0, 0, 0, 0.15);
    transition: 0.3s ease-in-out;
    -webkit-appearance: none;
}
input#search:focus {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
}
#searchform{
    margin: 0 0 2.5em;
}
#searchform div {
    position: relative;
}
#searchsubmit {
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    padding: 0;
    border: none;
    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
    border-radius: 0 3px 3px 0;
    color: #fff;
    font-size: 20px;
    text-align: center;
    vertical-align: middle;
    line-height: 44px;
    background-color: #27a139;
    cursor: pointer;
}
#searchsubmit i {
    transition: 0.4s ease-in-out;
    line-height: 44px;
}
/*end sidebar*/
.single{
    border: solid 1px rgba(0, 0, 0, .08);
}
.single article.post {
    margin: 25px 40px 10px;
}
.single .entry-title {
    font-size: 24px;
    margin-top: 20px;
    padding: 0;
    line-height: 1.6;
    color: #444;
    font-weight: normal;
}
.entry-meta {
    margin: 15px 0 0;
    font-size: 15px;
    letter-spacing: 0.3px;
    color: #a5aaaf;
    line-height: 1.5;
}
.entry-meta .posted-on a{
    color: #a5aaaf;
}
.entry-meta i{
    padding-right: 5px;
}
.entry-content {
    padding: 15px 0;
    -moz-hyphens:auto;
    -ms-hyphens:auto;
    -webkit-hyphens:auto;
    hyphens:auto;
    word-wrap:break-word;
    line-height: 1.83;
}
.entry-content p {
    line-height: 1.93;
    font-size: 16px;
}
.entry-footer {
    padding: 0 40px;
    margin: 2em 0 0;
}
.contact_confirm .form-content table tr td span.note,
.contact_confirm .form-content table tr td span>br{
    display: none;
}
/*
 * ã‚·ã‚§ã‚¢ãƒœã‚¿ãƒ³
 */
.sns-btn {
    margin: 0 auto;
    text-align: center;
}
.article-header .sns-btn:not(.sns-dif) {
    margin-top: 30px;
}
.sns-btn__item {
    display: inline-block;
    position: relative;
}
.sns-btn__item a {
    display: inline-block;
    border-radius: 10px;
    background: #fff;
    font-size: 12px;
    text-align: center;
    vertical-align: middle;
    transition: 0.3s ease-in-out;
}
.sns-btn__item a:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
    text-decoration: none;
}
.sns-btn__item i {
    display: block;
    width: auto;
    height: 32px;
    font-size: 32px;
    line-height: 32px;
}
.sns-btn__item img {
    display: block;
    height: 32px;
    width: 32px;
    padding: 1px;
}
.tw a,
.tw .scc {
    color: #3ab4ff;
}
.fb a,
.fb .scc {
    color: #3b8df7;
}
.pkt a,
.pkt .scc {
    color: #ff7b7b;
}
.hatebu a,
.hatebu .scc {
    color: #45b5f7;
}
.line a {
    color: #59d869;
}
.fa-hatebu:before {
    position: relative;
    top: -0.1em;
    font-family: "Quicksand", "Arial", sans-serif;
    font-size: 1.11em;
    font-weight: bold;
    line-height: 32px;
    content: "B!";
    white-space: nowrap;
}

/*è¨˜äº‹ä¸‹éƒ¨ã®ã‚·ã‚§ã‚¢ãƒœã‚¿ãƒ³*/
.sns-btn__item {
    width: 17.5%;
    margin: 0 0.5%;
}
.sns-btn__item a:hover {
    opacity: 0.6;
    box-shadow: none;
}
.sns-btn__title {
    display: inline-block;
    position: relative;
    padding: 0 25px;
    color: #cccfd7;
    font-size: 22px;
    /*font-weight: bold;*/
    line-height: 1;
    letter-spacing: 1px;
}
.sns-btn__title:before,
.sns-btn__title:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 20px;
    height: 3px;
    border-radius: 3px;
    background-color: #d8dae1;
    content: "";
}
.sns-btn__title:before {
    left: 0;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
}
.sns-btn__title:after {
    right: 0;
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
}
.share_txt {
    font-weight: bold;
}
.sns-btn__item {
    width: 14%;
    margin: 0;
}
.sns-btn ul{
    margin: 1em 0;
}

.footer-meta {
    padding: 20px 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}
.footer-meta ul{
    display: flex;
    justify-content: flex-start;
}
.footer-meta ul li a {
    color: #ffffff;
    padding: 0px 10px 1px;
    margin-left: 5px;
    border-radius: 14px;
    background-color: #0092b375;
}
.footer-meta ul li a:hover {
    text-decoration: none;
    background: #0092B3;
}
.content-info .nav-links{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 25px 0;
}
.content-info .nav-links .nav-previous a{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.content-info .nav-links .nav-next a{
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}
.content-info .nav-links .nav-subtitle {
    margin: 0;
    padding: 10px 4px;
    color: rgba(0, 0, 0, 0.52);
    font-size: 1em;
    /*font-weight: bold;*/
}
.content-info .nav-links .nav-box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 300px;
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    transition: 0.3s ease-in-out;
}
.content-info .nav-links .nav-box:hover{
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.content-info .nav-links .nav-box img {
    display: table-cell;
    width: 100px;
    height: 100px;
    padding: 10px 0 10px 10px;
    vertical-align: middle;
}
.content-info .nav-links .nav-next .nav-box img {
    padding: 10px 10px 10px 0;
}
.content-info .nav-links .nav-box .nav-title {
    display: table-cell;
    width: calc(100% - 95px);
    padding: 10px;
    font-size: 0.9em;
    vertical-align: middle;
    line-height: 1.4;
    color: #27a139;
}
#relatedposttags ul {
    margin: 0;
    padding: 15px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
#relatedposttags li {
    width: 31%;
    margin: 1em 0;
    display: block;
    float: left;
    text-align: left;
}
#relatedposttags li a {
    display: block;
    color: #333;
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#relatedposttags ul li a img {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
    width: 100%;
    height: 125px;
    object-fit: cover;
}
#relatedposttags h2 {
    padding: 10px 0 0;
    line-height: 1.5;
    color: #333;
}
#relatedposttags li a:hover img {
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.25);
    transform: translateY(-4px);
}

/*ã“ã®è¨˜äº‹ã‚’æ›¸ã„ãŸäºº*/
.author-info {
    position: relative;
    padding: 30px 40px;
    background: -webkit-linear-gradient(310deg, #048004, #9dde00);
    background: -o-linear-gradient(310deg, #048004, #9dde00);
    background: linear-gradient(140deg, #048004, #9dde00);
}
.author-info__inner {
    position: relative;
}
.author-info__inner .tb {
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 5px 20px -5px rgba(105, 115, 131, 0.35);
}
.author-info__inner .tb-left {
    padding: 20px 15px 5px;
}
.author_label span {
    display: inline-block;
    position: relative;
    min-width: 120px;
    max-width: 100%;
    margin: 0 0 15px;
    padding: 6px 12px;
    border-radius: 20px;
    background: #eaedf2;
    color: #555;
    font-size: 16px;
    /*font-weight: bold;*/
}
.author_label span:before {
    position: absolute;
    top: 100%;
    left: 33px;
    border: 13px solid transparent;
    border-top: solid 10px #eaedf2;
    content: "";
}
.author_img {
    display: inline-block;
    width: 90px;
    height: 90px;
    margin: 0;
    vertical-align: middle;
}
.author_img img {
    border: solid 3px #dfe2e8;
    border-radius: 50%;
    max-width: 100%;
    height: auto;
}
.author-info__inner .tb-left .aut {
    display: inline-block;
    width: calc(100% - 95px);
    margin: 0;
    padding-left: 10px;
    vertical-align: middle;
    line-height: 1.3;
}
.author-info__inner .tb-left dt {
    font-size: 19px;
    font-weight: bold;
}
.author-info__inner .tb-left dd {
    padding-top: 4px;
    color: #686868;
    font-size: 15px;
    font-weight: bold;
}
.author-info__inner .tb-right {
    padding: 15px;
    font-size: 0.95em;
    line-height: 1.7;
    color: #252525;
}
.search-title{
    font-size: 1.5em;
    margin: 0 0 1em;
}
.search-number{
    font-size: 15px;
    margin-top: 1em;
}
.search-number span{
    color: red;
}
.search-title .fa-search {
    width: 2em;
    height: 2em;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    line-height: 2em;
    background: #5f96e2;
}
#breadcrumb {
    margin: 0;
}
#breadcrumb li {
    display: inline;
    list-style: none;
    color: gray;
    font-size: 0.92em;
}
#breadcrumb li a{
    color: #27a139;
}
#breadcrumb li i{
    padding-right: 5px;
}
#breadcrumb li a{
    padding-right: 5px;
}
#breadcrumb ul li:nth-child(n+1) {
    color: rgba(0, 0, 0, 0.2);
}
.single-avatar img{
    width: 100%;
    height: auto;
    padding-top: 25px;
}
select#catalog{
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 97.5% center;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    height: 45px;
    margin-bottom: 14px;
    padding: 0 12px;
    border: 0;
    border-radius: 3px;
    box-shadow: none;
    color: #5c6b80;
    font-size: 1em;
    vertical-align: middle;
    line-height: 45px;
    transition: background-color 0.24s ease-in-out;
}
.views{
    display: block;
    color: #b7b7b7;
    font-size: 13px;
    font-weight: 500;
}
.top-post li {
    position: relative;
}
.top-post li .rank {
    display: inline-block;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    line-height: 25px;
    background-color: #5f96e2;
}
.top-post li:nth-child(n + 4) .rank {
    background: #f3f3f3;
    color: #9a9a9a;
}


.sns-dif {
    position: relative;
}
.sns-dif .share_txt {
    display: none;
}
.sns-dif ul {
    margin: 0;
    padding: 14px 0 16px;
    background: #eaedf2;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
}
.sns-dif ul li {
    width: auto;
    margin: 0;
}
.sns-dif ul li a {
    position: relative;
    width: 52px;
    height: 52px;
    margin: 3.5px;
    padding: 0;
    box-shadow: 0 7px 15px -4px rgba(0, 0, 0, 0.15);
    transition: all 0.3s;
    transition-timing-function: cubic-bezier(0.51, 0.1, 0.36, 1.68);
}
.sns-dif ul li a:hover {
    opacity: 1;
    box-shadow: 0 14px 20px -4px rgba(0, 0, 0, 0.25);
    transform: scale(1.05) translateY(-2px);
}
.sns-dif ul li i {
    font-size: 30px;
    line-height: 52px;
    height: 52px;
}
.sns-dif ul li .fa-line {
    font-size: 32px;
}
.sns-dif .sns-btn__item img {
    margin: 11px auto 0;
}
.sns-dif .fa-hatebu:before {
    top: 0;
}
/*è¨˜äº‹ä¸Šéƒ¨ã®å††å½¢FABå½¢å¼ã‚·ã‚§ã‚¢ãƒœã‚¿ãƒ³*/
#fab {
    display: none;
}
.fab-btn {
    display: block;
    position: relative;
    margin: -25px 15px 0 auto;
    width: 140px;
    z-index: 2;
    outline: none;
    cursor: pointer;
    border-radius: 33px;
    font-size: 19px;
    text-align: center;
    letter-spacing: 1px;
    background-color: #fff;
    box-shadow: 0 5px 18px -2px rgba(0, 0, 0, 0.15);
    transition: 0.3s ease-in-out;
    transition-delay: 0.1s;
    animation: animScale 3.5s ease-out;
}
.fab-btn,
.fab-btn i {
    height: 50px;
    line-height: 50px;
    color: #40bc01;
}
.fab-btn i:after {
    content: "SHARE";
    padding-left: 10px;
    font-family: "Quicksand", "Avenir", "Arial";
    font-weight: 500;
    color: #555;
}
.fab-btn:hover {
    box-shadow: 0 12px 45px -9px rgba(0, 0, 0, 0.23);
}
#fab:checked ~ .fab-btn {
    background: #f0f0f0;
    opacity: 0;
    -webkit-transform: translate(-150px, -150px) scale3d(4, 5, 1);
    transform: translate(-150px, -150px) scale3d(4, 5, 1);
}
.nothumb .fab-btn {
    margin: -35px 15px 0 auto;
}

.nothumb .fab-btn {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}
@media only screen and (max-width: 400px) {
    .nothumb .fab-btn {
        margin: 15px;
        width: auto;
        animation: none;
    }
    .nothumb .fab-btn,
    .nothumb .fab-btn i {
        animation: none;
    }
}
#fab:checked ~ .fab-btn i {
    display: none;
}
#fab__contents {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 10px;
    background: #eaedf2;
}
#fab:checked ~ #fab__contents {
    display: block;
    animation: coverIn 0.7s ease 0s 1 normal;
}

@keyframes coverIn {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.fab__contents-main {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding: 20px 0;
    background: #e9edf2;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.fab__contents_title {
    margin: 0;
    font-size: 30px;
    text-align: center;
}
.fab__contents_img {
    overflow: hidden;
    position: relative;
    width: 300px;
    height: 145px;
    margin: 10px auto;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    color: #fff;
    font-weight: bold;
}
.fab__contents_img img{
    width: 100%;
    height: auto;
}
.close {
    display: none;
    position: absolute;
    z-index: 999999;
    top: 0;
    right: 0;
    padding: 0 15px 10px;
    cursor: pointer;
    -webkit-animation: animScale 2s ease 0s 1 normal;
    animation: animScale 2s ease 0s 1 normal;
}
.close span {
    display: inline-block;
    position: relative;
    width: 3px;
    height: 45px;
    margin: 0 20px 0 7px;
    padding: 0;
    background: #8c9196;
    transition: 0.3s ease-in-out;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.close span:before {
    display: block;
    position: absolute;
    top: 50%;
    left: -20px;
    width: 45px;
    height: 3px;
    margin-top: -2px;
    background: #8c9196;
    content: "";
}
#fab:checked ~ #fab__contents .close {
    display: inline-block;
}
.close span:hover {
    transform: rotate(45deg) scale(1.1);
}
.fab__close-cover {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    padding: 10px;
    background: rgba(0, 0, 0, 0.35);
    opacity: 0;
}
/*END FABã‚·ã‚§ã‚¢ãƒœã‚¿ãƒ³*/

/*Follow Me*/
.follow_btn {
    margin-top: 15px;
}
.follow_btn a {
    display: inline-block;
    margin: 15px 10px 0 0;
    color: #919191;
    text-align: center;
    font-size: 11px;
}
.follow_btn a:hover {
    text-decoration: none;
    transform: translateY(-4px);
    transition: 0.3s ease-in-out;
}
.follow_btn a:before {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    border-radius: 12px;
    color: #fff;
    font-family: FontAwesome;
    font-size: 35px;
    text-align: center;
    line-height: 60px;
}
.fa5 .follow_btn a:before {
    font-family: "Font Awesome 5 Brands";
}
.follow_btn .Twitter:before {
    background: #3ab4ff;
    content: "\f099";
}
.follow_btn .Facebook:before {
    background: #4f96f6;
    content: "\f09a";
}
.follow_btn .Instagram:before,
.profile-sns li .fa-instagram {
    background: url("library/images/insta.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    content: "\f16d";
}
.follow_btn .YouTube:before {
    background: #f0504f;
    content: "\f16a";
}
.fa5 .follow_btn .YouTube:before {
    content: "\f167";
}
.follow_btn .Feedly:before {
    background: #72d865;
    content: "\f09e";
}
.follow_btn .Website:before {
    background: #ffb35d;
    content: "\f0ac";
}
.follow_btn .LINE:before {
    background: #59d869;
    content: "\f3c0";
}
.fa4 .follow_btn .LINE:before {
    content: "\f075";
}
.fa5 .follow_btn .Feedly:before,
.fa5 .follow_btn .Website:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.mw_wp_form .error{
    display: inline-block;
}
.shop-arrow{
    width:0;
    height:0;

    border-top:12px solid transparent;
    border-bottom:12px solid transparent;
    border-left:18px solid #fff;

    transition:transform .35s ease;
}

.mw_wp_form_complete p{
    text-align: center;
    color: #27a139;
    font-weight: bold;
    font-size: 20px;
}

.animate__animated.animate__delay-0_5s {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-delay: calc(var(--animate-delay) * 0.5);
    animation-delay: calc(var(--animate-delay) * 0.5)
}
.animate__animated.animate__delay-0_8s {
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
    -webkit-animation-delay: calc(var(--animate-delay) * 0.8);
    animation-delay: calc(var(--animate-delay) * 0.8)
}
.animate__animated.animate__delay-1_0s {
    -webkit-animation-delay: 1.0s;
    animation-delay: 1.0s;
    -webkit-animation-delay: calc(var(--animate-delay) * 1.0);
    animation-delay: calc(var(--animate-delay) * 1.0)
}
.animate__animated.animate__delay-1_2s {
    -webkit-animation-delay: 1.2s;
    animation-delay: 1.2s;
    -webkit-animation-delay: calc(var(--animate-delay) * 1.2);
    animation-delay: calc(var(--animate-delay) * 1.2)
}
.animate__animated.animate__delay-1_4s {
    -webkit-animation-delay: 1.4s;
    animation-delay: 1.4s;
    -webkit-animation-delay: calc(var(--animate-delay) * 1.4);
    animation-delay: calc(var(--animate-delay) * 1.4)
}
.animate__animated.animate__delay-1_6s {
    -webkit-animation-delay: 1.6s;
    animation-delay: 1.6s;
    -webkit-animation-delay: calc(var(--animate-delay) * 1.6);
    animation-delay: calc(var(--animate-delay) * 1.6)
}
.animate__animated.animate__delay-2_3s {
    -webkit-animation-delay: 2.3s;
    animation-delay: 2.3s;
    -webkit-animation-delay: calc(var(--animate-delay) * 2.3);
    animation-delay: calc(var(--animate-delay) * 2.3)
}
.animate__animated.animate__delay-2_6s {
    -webkit-animation-delay: 2.6s;
    animation-delay: 2.6s;
    -webkit-animation-delay: calc(var(--animate-delay) * 2.6);
    animation-delay: calc(var(--animate-delay) * 2.6)
}
.animate__animated.animate__delay-2_9s {
    -webkit-animation-delay: 2.9s;
    animation-delay: 2.9s;
    -webkit-animation-delay: calc(var(--animate-delay) * 2.9);
    animation-delay: calc(var(--animate-delay) * 2.9)
}
@media screen and (max-width:1000px){
    [class*="animate__delay-"] {
        animation-delay: 0.5s !important;
    }
}
@media screen and (min-width:768px){
    .is-sp{
        display: none !important;
    }

    .sidebar {
        float: left;
        width: 31%;
        padding-right: 0.75em;
    }
    .inner-content{
        padding-top: 2em;
        width: 1180px;
        margin: 0 auto;
    }
    .content-info {
        float: left;
        width: 69%;
        padding-right: 30px;
    }
    .info-list{
        display: -webkit-flex;
        display: -ms-flexbox;
        display: -moz-box;
        display: flex;
        flex-direction: row;
        -webkit-flex-direction: row;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 70px;
    }
    .cardtype__article {
        width: 28.5%;
    }
    .page-archive .cardtype__article {
        width: 36%;
    }
    .cardtype__link {
        padding-bottom: 25px;
    }
    .cardtype time {
        margin: 15px 0;
    }
    .cardtype h2 {
        height: 48px;
    }

    /*ã“ã®è¨˜äº‹ã‚’æ›¸ã„ãŸäºº*/
    .author-info {
        padding: 30px 40px;
    }

    .tb {
        display: table;
        width: 100%;
    }
    .tb-left,
    .tb-right {
        display: table-cell;
        vertical-align: middle;
    }
    .author-info__inner .tb-left {
        width: 220px;
        border-right: 2px #eaedf2 dashed;
        text-align: center;
    }
    .author-info__inner .tb-right {
        width: calc(100% - 220px);
        padding: 20px;
    }
    .author_img {
        display: inline-block;
    }
    .author-info__inner .tb-left .aut {
        display: block;
        width: 100%;
        padding: 15px 0;
    }
    .author_label span {
        z-index: 2;
        margin-bottom: 20px;
        font-size: 14px;
    }
    .author_label span:before {
        z-index: -1;
        top: calc(100% - 15px);
        left: 50px;
        border: 15px solid transparent;
        border-top: solid 30px #eaedf2;
        transform: rotate(-40deg);
    }
    .follow_btn {
        margin: 0 8px 5px 0;
    }
    .follow_btn a:before {
        width: 50px;
        height: 50px;
        font-size: 33px;
        line-height: 50px;
    }
    #relatedposttags li:nth-child(3n + 2) {
        margin: 1em 3.5%;
    }

    /*FAB*/
    #fab:checked ~ .fab-btn {
        opacity: 0;
        -webkit-transform: translate(-50px, -50px) scale3d(3, 3, 1);
        transform: translate(-50px, -50px) scale3d(3, 3, 1);
    }
    #fab__contents {
        top: 50%;
        left: 50%;
        width: 440px;
        height: auto;
        padding: 30px 10px;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    #fab:checked ~ .fab__close-cover {
        display: block;
        width: 100%;
        height: 100%;
        opacity: 1;
        transition: 0.5s ease-in-out;
    }
    .close {
        padding: 20px 15px;
    }
}

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

}
@media screen and (max-width:1200px){
    .inner{
        max-width: 990px;
        margin: auto;
    }
}
@media screen and (max-width:768px){
    p{
        font-size: 3.6vw;
    }
    .is-pc{
        display: none !important;
    }
    .inner{
        max-width: 85%;
    }
    #primary {
        padding-top: 52px;
    }
    .mv-content {
        top: 0;
        left: 0;
        width: 100%;
        text-align: center;
    }
    .mv .mv-content img {
        width: 90%;
        padding-top: 3vw;
        padding-bottom: 5vw;
    }
    .mv-content .mv-btn a {
        max-width: unset;
        width: 60%;
        padding: 3vw 0;
        font-size: 4.5vw;
    }
    .mv-content .mv-btn a img{
        width: 100%;
        padding-top: 0;
    }
    .mv-content .mv-btn {
        gap: 3vw;
        flex-direction: column;
    }
    
    .content-page {
        padding-bottom: 15vw;
    }

    .sidebar{
        width: 92%;
        margin: auto;
    }
    .content-info-single{
        width: 100%;
        margin-top: 0;
    }
    .single .entry-title{
        padding: 0 15px;
        font-size: 5vw;
    }
    .entry-meta {
        margin: 15px 0 0;
        padding: 0 15px;
        font-size: 3vw;
        letter-spacing: 0.3px;
        color: #a5aaaf;
    }

    #breadcrumb {
        padding: 13px 15px;
        background: #f4f4f4;
    }
    .single article.post{
        margin: 0;
    }
    .entry-content{
        padding: 10px 15px 0;
    }
    .sns-btn__item {
        width: 17.5%;
        margin: 0 0.5%;
    }
    .entry-footer{
        padding: 0 10px;
    }
    .footer-meta{
        justify-content: flex-start;
    }
    #relatedposttags ul {
        padding: 10px 10px 20px;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    #relatedposttags ul li {
        min-width: 240px;
        max-width: 300px;
        margin: 8px;
        border-radius: 3px;
    }
    .author-info {
        padding: 25px 15px;
    }
    .content-info .nav-links{
        flex-direction: column;
        padding: 15px;
    }
    .nav-previous{
        width: 100%;
        padding-bottom: 20px;
    }
    .nav-links .nav-next{
        width: 100%;
    }
    .content-info .nav-links .nav-box{
        width: 100%;
    }

    .page-content {
        padding: 15vw 0 0;
    }
    .page-title h3 {
        font-size: 4vw;
        padding-bottom: 3vw;
    }
    .page-title h2 {
        font-size: 6vw;
    }
    .page-title {
        padding-bottom: 8vw;
    }
    p.shop-p1 {
        padding-bottom: 15vw;
    }
    .shop-title {
        padding-bottom: 8vw;
    }
    .shop-title h3 {
        font-size: 4.3vw;
        width: 100%;
        text-align: center;
    }
    .shop-title-sp h3 {
        color: #ffffff;
    }
    .shop-item {
        padding-bottom: 5vw;
    }
    .shop-a {
        gap: 5vw;
        padding-bottom: 10vw;
    }
    .shop-a p {
        font-size: 2.8vw;
        width: 29%;
    }
    .shop-title-sp {
        padding: 0 10vw;
        cursor: pointer;
        background: #27a139;
        height: 20vw;
    }


    .shop-item.active .shop-arrow{
        transform:rotate(90deg);
    }

    .shop-active{
        height:0;
        overflow:hidden;
        opacity:0;

        transition:
                height .45s cubic-bezier(.4,0,.2,1),
                opacity .3s ease;
    }

    .shop-item.active .shop-active{
        opacity:1;
    }
    .shop-d-half1{
        width: 100%;
    }
    .shop-b {
        gap: 5vw;
        padding: 0 2vw;
        padding-bottom: 15vw;
        padding-top: 5vw;
    }
    .shop-b .shop-b-card {
        width: 65%;
        margin: auto;
        padding-bottom: 5vw;
    }
    .shop-b .shop-b-card img {
        padding-bottom: 3vw;
    }
    .shop-b .shop-b-card h4 {
        font-size: 4vw;
        padding-bottom: 3vw;
    }
    .shop-b .shop-b-card p {
        font-size: 3.6vw;
    }
    .shop-c a {
        background: #ef8200;
        font-size: 4vw;
        padding: 3vw 10vw;
        margin-bottom: 10vw;
        line-height: 1.5;
        letter-spacing: 2px;
        border-radius: 10vw;
    }
    .shop-c img {
        max-width: 50%;
    }
    .shop-a p img {
        padding-bottom: 3vw;
    }
    .shop-d {
        padding: 15vw 6vw 0 6vw;
    }
    .shop-d-row-group{
        grid-template-columns:1fr;
        gap:40px;
    }

    .shop-d-grid-4,
    .shop-d-grid-2{
        grid-template-columns:1fr;
    }

    .shop-d-item {
        text-align: center;
        width: 65%;
        padding-bottom: 8vw;
    }
    .shop-d-title-wrap{
        display:flex;
        align-items:center;
        gap: 8vw;
        padding-bottom: 5vw;
    }
    .shop-d-title {
        flex-shrink: 0;
        margin: 0;
        font-size: 4vw;
    }

    .shop-d-title-wrap::before,
    .shop-d-title-wrap::after{
        content:"";
        flex:1;
        height:1px;
        background:#27a139;
    }
    .shop-d-half {
        width: 100%;
        padding-bottom: 10vw;
    }
    .shop-d-item266{
        width: 100%;
    }
    .shop-d-grid {
        justify-content: center;
        flex-wrap: wrap;
    }
    .shop-d-content {
        margin-top: 3vw;
        font-size: 3.5vw;
    }
    .shop-b .shop-b-card2{
        width: 100%;
        position: relative;
    }
    .shop-b .shop-b-card2::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        width: 30px;
        height: 100%;
        pointer-events: none;
        background: linear-gradient(to left, #fff, transparent);
    }

    .shop-b .shop-b-card2 > div {
        overflow-x: auto;
    }
    .shop-b .shop-b-card2 div img {
        width: 55%;
    }
    .shop-b .shop-b-card3 div {
        flex-direction: column;
    }
    .shop-b .shop-b-card3 div img {
        width: 100%;
    }
    .shop-b .shop-b-card2 div.shop-b-w23 img {
        width: 55%;
    }
    .shop-b-card2 div {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 3vw;
    }
    .shop-c {
        padding-top: 10vw;
    }
    .renovation-title {
        font-size: 4vw;
        padding-bottom: 5vw;
    }
    .renovation-box {
        padding-bottom: 5vw;
    }
    .renovation-p1 {
        font-size: 3.6vw;
        padding-bottom: 15vw;
    }
    .renovation-box img {
        width: 45%;
    }
    .renovation-box div.right-btn {
        margin: 0 2vw;
    }
    .right-btn {
        border-left: 4vw solid #27a139;
        border-top: 3vw solid transparent;
        border-bottom: 3vw solid transparent;
    }
    .renovation-content {
        text-align: center;
        padding-top: 10vw;
        padding-bottom: 5vw;
    }
    .form-content .form-content-p {
        font-size: 3.2vw;
        padding-bottom: 5vw;
    }
    .form-content table {
        width: 100%;
        margin-bottom: 10vw;
    }
    .form-content table tr td, .form-content table tr th {
        width: 100%;
        padding-bottom: 3vw;
        padding-top: 3vw;
        font-size: 3.6vw;
    }
    .form-content table tr th {
        width: 93%;
        margin: auto;
        border-style: dashed;
        padding-top: 7vw;
        padding-bottom: 2vw;
        padding-left: 0;
    }
    .form-content table tr {
        display: flex;
        flex-direction: column;
    }
    .form-content table tr td input {
        width: 100%;
        padding: 2vw;
        font-size: 3.6vw;
    }
    .form-content table tr td {
        padding: 3vw 3vw 7vw 3vw;
    }
    .form-content table tr th span.required {
        font-size: 3vw;
        padding: 1vw;
    }
    .form-content .form-btn input {
        font-size: 5vw;
        padding: 1vw 10vw;
    }
    .contact-ft img {
        max-width: 50%;
    }
    .contact-ft {
        padding: 15vw 0;
    }
    .page-title img {
        max-width: 10%;
        padding-bottom: 3vw;
    }
    .cardtype__article {
        width: 85%;
        margin: auto;
        margin-bottom: 8vw;
    }
    .cardtype__img {
        height: 50vw;
    }
    .cardtype time {
        margin: 2vw;
        font-size: 3.5vw;
        text-align: center;
    }
    .cat-name {
        padding-bottom: 3vw;
        justify-content: center;
    }
    .cardtype h2 {
        font-size: 3.6vw;
    }
    .cardtype__article-info .play-btn {
        width: 8vw;
        height: 8vw;
    }
    .form-content .form-content-p p {
        font-size: 3vw;
        padding: 2vw 3vw;
        border-radius: 6vw;
    }
    .mw_wp_form_complete p {
        font-size: 4vw;
    }
}

/* Kokudaka home: styles transferred from design/home.html and SiteFooter.dc.html. */
.kokudaka-home { margin:0; background:#fff; color:#000; font-family:"BIZ UDPGothic",sans-serif; line-height:normal; -webkit-font-smoothing:antialiased; }
.kokudaka-home .st-pusher *, .kokudaka-home footer *, .kokudaka-home section[aria-labelledby="contact"] * { font-family:inherit; }
.kokudaka-home p { color:inherit; font-size:inherit; line-height:inherit; letter-spacing:normal; }
.kokudaka-home a { color:inherit; text-decoration:none; letter-spacing:inherit; }
.kokudaka-home a:hover { color:#4d45a7; }
.kokudaka-home a:focus-visible, .kokudaka-home button:focus-visible { outline:3px solid #756be0; outline-offset:4px; }
.kokudaka-home .st-pusher { position:relative; }
.kokudaka-home [id$="-h"] { scroll-margin-top:24px; }
.kokudaka-site .kh-header { position:absolute;top:0;left:0;right:0;z-index:10; }
.kokudaka-site .kh-header-bar { height:76px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.16);display:flex;align-items:center;gap:clamp(12px,2vw,40px);padding-left:clamp(12px,1.3vw,25px);position:relative;z-index:1; }
.kokudaka-site .kh-logo-link { flex:none;display:block; }
.kokudaka-site .kh-logo { display:block;width:clamp(160px,12vw,232px);height:auto; }
.kokudaka-site .kh-description { margin:0;flex:1;min-width:0;font-size:12px;line-height:1.5;letter-spacing:.03em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
.kokudaka-site .kh-phone { flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:#000; }
.kokudaka-site .kh-phone-row { display:flex;align-items:center;gap:4px; }
.kokudaka-site .kh-freedial { width:20px;height:auto;display:block; }
.kokudaka-site .kh-phone-number { font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;font-weight:700;font-size:22px;line-height:1; }
.kokudaka-site .kh-phone-hours { font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;font-size:11px;padding-left:16px; }
.kokudaka-site .kh-contact-link { flex:none;width:100px;height:76px;background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:12px; }
.kokudaka-site .kh-hover-purple:hover { background:#4d45a7;color:#fff; }
.kokudaka-site .kh-mail-icon { width:32px;display:block; }
.kokudaka-site .kh-navigation { height:50px;background:rgba(234,234,234,.9);box-shadow:0 1px 2px rgba(0,0,0,.16);display:flex;justify-content:center;align-items:center;gap:0 clamp(20px,3.4vw,65px);padding:0 16px;overflow-x:auto;white-space:nowrap;font-weight:700;font-size:15px;letter-spacing:.03em; }
.kokudaka-site .kh-nav-link { opacity:.7; }
.kokudaka-site .kh-nav-hover:hover { opacity:1;color:#4d45a7; }
.kokudaka-home .kh-hero { position:relative;min-height:clamp(620px,47.5vw,912px);background:#0a8fe0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(150px,11vw,210px) 16px clamp(48px,6vw,110px);text-align:center;color:#fff; }
.kokudaka-home .kh-hero-image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% 50%;display:block; }
.kokudaka-home .kh-hero-content { position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:880px; }
.kokudaka-home .kh-hero-heading { display:flex;flex-direction:column;align-items:center;gap:clamp(12px,1.4vw,26px); }
.kokudaka-home .kh-title { margin:0;font-weight:700;font-size:clamp(20px,1.7vw,32px);line-height:1.2;letter-spacing:.03em; }
.kokudaka-home .kh-wordmark-wrap { margin:0;width:min(100%,825px); }
.kokudaka-home .kh-fluid-image { display:block;width:100%;height:auto; }
.kokudaka-home .kh-hero-message { margin:clamp(40px,4vw,70px) 0 0;font-weight:700;font-size:clamp(17px,1.3vw,25px);line-height:1.8;letter-spacing:.03em;text-wrap:balance; }
.kokudaka-home .kh-hero-contact { margin-top:clamp(36px,4.6vw,88px);width:100%;border:2px solid #fff;border-radius:15px;padding:18px clamp(16px,2.8vw,52px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px; }
.kokudaka-home .kh-hero-contact-copy { display:flex;flex-direction:column;gap:12px;font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;flex:1 1 280px; }
.kokudaka-home .kh-hero-contact-label { font-size:clamp(18px,1.3vw,24px);letter-spacing:-.03em; }
.kokudaka-home .kh-hero-hours { font-size:16px; }
.kokudaka-home .kh-hero-phone { flex:0 1 420px;min-height:73px;background:#fff;border-radius:15px;color:#000;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 16px; }
.kokudaka-home .kh-text-hover:hover { color:#4d45a7; }
.kokudaka-home .kh-hero-freedial { width:34px;height:auto;display:block; }
.kokudaka-home .kh-hero-number { font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;font-weight:700;font-size:clamp(28px,2vw,38px);line-height:1; }
.kokudaka-home .kh-hero-note { margin:clamp(20px,1.8vw,26px) 0 0;font-size:clamp(13px,.85vw,16px);letter-spacing:.03em;text-wrap:balance; }
.kokudaka-home .kh-intro { background:#f4f4f4;min-height:164px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(36px,3.4vw,58px);padding:15px 16px 40px;text-align:center; }
.kokudaka-home .kh-intro-text { margin:0;font-weight:700;font-size:clamp(17px,1.3vw,25px);line-height:1.5;letter-spacing:.03em;color:#3c3c3c;text-wrap:balance; }
.kokudaka-home .kh-sections { padding:clamp(48px,3.6vw,69px) clamp(16px,4vw,24px) clamp(96px,16vw,315px);display:flex;flex-direction:column;align-items:center;gap:clamp(72px,6.5vw,117px); }
.kokudaka-home .kh-services { width:100%;max-width:1096px;display:flex;flex-direction:column;align-items:center;gap:clamp(40px,4.4vw,85px); }
.kokudaka-home .kh-section-heading { display:flex;flex-direction:column;align-items:center;text-align:center; }
.kokudaka-home .kh-section-mark { width:clamp(44px,8vw,57px);height:auto;display:block; }
.kokudaka-home .kh-section-title { margin:clamp(16px,2vw,28px) 0 0;font-weight:700;font-size:clamp(24px,5vw,35px);line-height:1.3;letter-spacing:.2em;padding-left:.2em; }
.kokudaka-home .kh-section-subtitle { margin:6px 0 0;font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;font-size:14px;letter-spacing:.03em; }
.kokudaka-home .kh-service-grid { list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:49px 96px; }
.kokudaka-home .kh-flex { display:flex; }
.kokudaka-home .kh-service-card { flex:1;display:flex;flex-direction:column;border:1px solid #707070;color:#000;transition:box-shadow .2s; }
.kokudaka-home .kh-card-hover:hover { box-shadow:0 6px 18px rgba(0,0,0,.12);color:#000; }
.kokudaka-home .kh-service-title { margin:0;min-height:62px;display:flex;align-items:center;justify-content:center;background:#e1deff;color:#3c3c3c;font-weight:700;font-size:clamp(22px,2.2vw,32px);letter-spacing:.03em;padding:8px; }
.kokudaka-home .kh-service-description { margin:0;padding:14px 13px 0;font-size:clamp(17px,1.4vw,22px);line-height:1.41;letter-spacing:.038em; }
.kokudaka-home .kh-service-more { margin-top:auto;align-self:flex-end;display:flex;align-items:center;gap:8px;padding:16px 20px 14px;font-weight:700;font-size:15px; }
.kokudaka-home .kh-arrow { font-size:26px;line-height:1; }
.kokudaka-home .kh-reasons { width:100%;max-width:1096px;display:flex;flex-direction:column;align-items:center;gap:clamp(40px,3.8vw,73px); }
.kokudaka-home .kh-reason-title { margin:clamp(16px,2vw,28px) 0 0;font-weight:700;font-size:clamp(24px,5vw,35px);line-height:1.3;letter-spacing:.2em;padding-left:.2em;text-wrap:balance; }
.kokudaka-home .kh-reason-grid { width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:48px 96px; }
.kokudaka-home .kh-reason-card { display:flex;flex-direction:column;gap:18px;min-width:0; }
.kokudaka-home .kh-speciality { display:flex;flex-direction:column;align-items:center;align-self:flex-start;gap:6px;width:159px; }
.kokudaka-home .kh-speciality-label { font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;font-size:14px;letter-spacing:.03em;white-space:pre; }
.kokudaka-home .kh-speciality-arrow { display:block;width:159px;height:14px;overflow:visible; }
.kokudaka-home .kh-reason-card-title { margin:0;font-weight:700;font-size:clamp(22px,2.2vw,32px);line-height:1.38;letter-spacing:.03em; }
.kokudaka-home .kh-reason-description { margin:6px 0 0;font-size:clamp(17px,1.4vw,22px);line-height:1.41;letter-spacing:.038em; }
.kokudaka-home .kh-reason-links { display:flex;justify-content:center;gap:13px;flex-wrap:wrap; }
.kokudaka-home .kh-reason-link { min-width:244px;min-height:41px;display:flex;align-items:center;justify-content:center;padding:4px 16px;background:#b4afed;border:1px solid #707070;color:#fff;font-size:21px;letter-spacing:.04em; }
.kokudaka-home .kh-map-link { flex:1 1 200px;max-width:244px;min-height:41px;display:flex;align-items:center;justify-content:center;padding:4px 8px;background:#b4afed;border:1px solid #707070;color:#fff;font-size:clamp(17px,1.1vw,21px);letter-spacing:.04em;white-space:nowrap; }
.kokudaka-home .kh-information { width:100%;max-width:1096px;display:flex;flex-direction:column;align-items:center;gap:clamp(36px,2.6vw,49px);margin-top:clamp(0px,1.8vw,35px); }
.kokudaka-home .kh-info-grid { list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:50px; }
.kokudaka-home .kh-info-article { flex:1;display:flex; }
.kokudaka-home .kh-info-card { flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #707070;padding:23px 24px 22px;color:#000;transition:box-shadow .2s,transform .2s; }
.kokudaka-home .kh-info-hover:hover { box-shadow:0 6px 18px rgba(0,0,0,.12);transform:translateY(-2px);color:#000; }
.kokudaka-home .kh-info-image { display:block;width:100%;height:auto;aspect-ratio:285/186;object-fit:cover; }
.kokudaka-home .kh-info-title { margin:16px 0 0;font-weight:400;font-size:clamp(20px,2vw,24px);line-height:31px;letter-spacing:.038em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:62px; }
.kokudaka-home .kh-info-excerpt { margin:23px 0 0;font-size:clamp(16px,1.6vw,22px);line-height:1.41;letter-spacing:.038em;color:#333;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.kokudaka-home .kh-info-meta { margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:22px; }
.kokudaka-home .kh-info-date { font-weight:700;font-size:15px; }
.kokudaka-home .kh-info-more { align-self:flex-end;display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;white-space:nowrap; }
.kokudaka-home .kh-small-arrow { font-size:20px;line-height:1; }
/* Shared design footer. */
.kh-footer-wrap { width:100%;font-family:'BIZ UDPGothic',sans-serif;line-height:normal; }
.kh-footer-wrap :where(*) { font-family:inherit; }
.kh-footer-wrap a { letter-spacing:normal; }
.kh-footer-wrap a:hover { color:#4d45a7; }
.kh-footer-wrap a:focus-visible { outline:3px solid #756be0;outline-offset:4px; }
.kh-footer-wrap .kh-contact-section { background:#4d45a7;padding:clamp(56px,7vw,92px) 20px clamp(48px,6vw,80px);display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff; }
.kh-footer-wrap .kh-contact-title { margin:0;font-weight:400;font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;font-size:clamp(20px,4.6vw,24px);letter-spacing:-.03em; }
.kh-footer-wrap .kh-contact-actions { display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(16px,5vw,70px);margin-top:clamp(24px,3vw,35px);width:100%; }
.kh-footer-wrap .kh-contact-phone { flex:0 1 410px;min-width:0;height:clamp(60px,12vw,73px);border-radius:15px;background:#fff;color:#000;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px; }
.kh-footer-wrap .kh-phone-hover:hover { background:#f0efff; }
.kh-footer-wrap .kh-contact-freedial { width:clamp(28px,6vw,34px);display:block;flex:none; }
.kh-footer-wrap .kh-contact-number { font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif !important;font-weight:700;font-size:clamp(26px,7.4vw,38px);line-height:1;white-space:nowrap; }
.kh-footer-wrap .kh-contact-email { flex:0 1 410px;min-width:0;height:clamp(60px,12vw,73px);border-radius:15px;background:#b4afed;color:#000;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:14px;padding:0 12px; }
.kh-footer-wrap .kh-email-hover:hover { background:#c7c3f3; }
.kh-footer-wrap .kh-contact-mail { width:clamp(34px,7vw,43px);display:block;flex:none; }
.kh-footer-wrap .kh-contact-email-label { font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif !important;font-weight:700;font-size:clamp(19px,4.8vw,24px);letter-spacing:-.03em;white-space:nowrap; }
.kh-footer-wrap .kh-contact-note { color:inherit;margin:clamp(28px,4vw,48px) 0 0;font-size:13px;line-height:1.7;letter-spacing:.03em;text-wrap:balance; }
.kh-footer-wrap .kh-footer { background:#000;padding:clamp(56px,7vw,108px) 24px clamp(80px,12vw,200px);display:flex;justify-content:center; }
.kh-footer-wrap .kh-footer-logo { width:361px;max-width:78%;display:block; }

/* Home navigation and Swiper retain the theme's existing menu interaction. */
.kokudaka-site .kh-menu { display:none; }
.kokudaka-home .kh-hero-slider { position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.kokudaka-home .swiper-slide:has(img[src$="hero-erect.jpg"])::after,
.kokudaka-home .swiper-slide:has(img[src$="hero-eitai.jpg"])::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.38); }
.kokudaka-home .kh-hero-content { pointer-events:none; }
.kokudaka-home .kh-hero-content a { pointer-events:auto; }
.kokudaka-home .kh-pagination { position:static; display:flex; justify-content:center; gap:15px; min-height:13px; }
.kokudaka-home .kh-pagination .swiper-pagination-bullet { width:13px; height:13px; margin:0; background:#fff; border:1px solid #000; opacity:1; }
.kokudaka-home .kh-pagination .swiper-pagination-bullet-active { background:#000; }
.kokudaka-home .swiper-button-prev, .kokudaka-home .swiper-button-next { color:#fff; width:24px; }
.kokudaka-site .kh-scroll-top { position:fixed; right:16px; bottom:16px; z-index:20; width:44px; height:44px; border:1px solid #fff; border-radius:50%; color:#fff; background:#4d45a7; font-size:24px; cursor:pointer; }
@media (max-width:1000px) {
    .kokudaka-site .kh-description { display:none; }
    .kokudaka-site .kh-header-bar { justify-content:space-between; }
    .kokudaka-site .kh-navigation { gap:24px; font-size:13px; }
}
@media (max-width:767px) {
    .kokudaka-site .kh-header-bar { height:64px; padding:0 72px 0 16px; }
    .kokudaka-site .kh-phone, .kokudaka-site .kh-contact-link { display:none; }
    .kokudaka-site .kh-logo { width:180px; }
    .kokudaka-site .kh-menu { position:absolute; right:0; top:0; z-index:2; display:flex; flex-direction:column; justify-content:center; gap:6px; width:64px; height:64px; padding:18px; border:0; background:#4d45a7; cursor:pointer; }
    .kokudaka-site .kh-menu span { width:28px; height:3px; background:#fff; transition:transform .2s,opacity .2s; }
    .kokudaka-site .kh-menu.active span:nth-child(1) { transform:translateY(9px) rotate(45deg); }
    .kokudaka-site .kh-menu.active span:nth-child(2) { opacity:0; }
    .kokudaka-site .kh-menu.active span:nth-child(3) { transform:translateY(-9px) rotate(-45deg); }
    .kokudaka-site #nav { display:none; height:auto; max-height:calc(100dvh - 110px); padding:12px 20px; background:#fff; overflow:auto; white-space:normal; }
    .kokudaka-site #nav.active { display:flex; flex-direction:column; align-items:stretch; gap:0; }
    .kokudaka-site #nav a { padding:18px 0; border-bottom:1px solid #e5e3f5; font-size:15px; opacity:1; }
    .kokudaka-home .kh-hero { padding-top:112px; }
    .kokudaka-home .kh-hero-contact { justify-content:center; padding:18px 12px; }
    .kokudaka-home .kh-hero-contact-copy { flex-basis:100%; }
    .kokudaka-home .kh-hero-phone { flex-basis:100%; padding:8px; }
    .kokudaka-home .kh-hero-number { white-space:nowrap; font-size:clamp(25px,7vw,32px); }
    .kokudaka-home .kh-hero-image { object-position:20% 50%; }
}
@media (prefers-reduced-motion:reduce) {
    .kokudaka-home *, .kokudaka-home *::before, .kokudaka-home *::after { transition-duration:0s; scroll-behavior:auto; }
}

/* Shared header on WordPress pages; only the home hero sits behind it. */
.kokudaka-site .st-pusher { position:relative; }
.kokudaka-site .kh-header { font-family:'BIZ UDPGothic',sans-serif; color:#000; line-height:normal; }
.kokudaka-site .kh-header :where(*) { font-family:inherit; }
.kh-header :where(a) { color:inherit; text-decoration:none; letter-spacing:inherit; }
.kokudaka-site .kh-header a:focus-visible,
.kokudaka-site .kh-header button:focus-visible { outline:3px solid #756be0; outline-offset:4px; }
.kokudaka-site .kh-description { color:inherit; }
.kokudaka-site:not(.kokudaka-home) .kh-header { position:relative; }
/* Subpage designs: shared, deduplicated declarations from the supplied HTML. */
.kd-page .kd-div-b8a8eae {
    position:relative;
    height:clamp(120px,14vw,184px);
    background:#ccc;
}
.kd-page .kd-img-6713f68 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.kd-page .kd-layout-86945fe {
    background:#f4f4f4;
    min-height:clamp(260px,24vw,345px);
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:clamp(40px,5.5vw,78px) 20px clamp(40px,4vw,56px);
    text-align:center;
}
.kd-page .kd-p-4f53a9e {
    margin:0;
    font-weight:700;
    font-size:clamp(15px,3.6vw,20px);
    line-height:1.6;
    letter-spacing:.03em;
    color:#3c3c3c;
    text-wrap:balance;
}
.kd-page .kd-img-b2b3efa {
    width:clamp(44px,8vw,57px);
    height:auto;
    display:block;
    margin-top:clamp(28px,3.5vw,44px);
}
.kd-page .kd-h1-eceeb5b {
    margin:clamp(20px,2.6vw,36px) 0 0;
    font-weight:700;
    font-size:clamp(22px,4.6vw,35px);
    line-height:1.3;
    letter-spacing:.2em;
    padding-left:.2em;
    text-wrap:balance;
}
.kd-page .kd-p-352ba1f {
    margin:6px 0 0;
    font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;
    font-size:14px;
    letter-spacing:.03em;
}
.kd-page .kd-layout-328b49a {
    padding:clamp(48px,7vw,141px) clamp(16px,4vw,24px) clamp(80px,10vw,200px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(64px,6vw,86px);
}
.kd-page .kd-layout-c6a601f {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.kd-page .kd-div-78d074d {
    position:relative;
    width:346px;
    max-width:100%;
    aspect-ratio:346/82;
}
.kd-page .kd-p-2409e11 {
    position:absolute;
    left:0;
    right:0;
    top:0;
    margin:0;
    font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;
    font-size:clamp(20px,2.2vw,28px);
    line-height:1.3;
    letter-spacing:.03em;
    text-align:center;
    white-space:nowrap;
}
.kd-page .kd-svg-915d9f7 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:visible;
}
.kd-page .kd-layout-850acc0 {
    margin:clamp(16px,2vw,32px) 0 0;
    width:100%;
    min-height:61px;
    background:#e8e7f7;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    font-weight:700;
    font-size:clamp(20px,3vw,30px);
    line-height:1.4;
    letter-spacing:.03em;
    color:#4d45a7;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-layout-963a563 {
    width:100%;
    margin-top:clamp(40px,4.4vw,60px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(16px,2vw,28px);
}
.kd-page .kd-h3-a55b8f5 {
    margin:0;
    font-weight:700;
    font-size:clamp(24px,3.4vw,35px);
    line-height:1.4;
    letter-spacing:.02em;
    text-align:center;
}
.kd-page .kd-p-96f1e84 {
    margin:0;
    font-weight:700;
    font-size:clamp(19px,2.6vw,30px);
    line-height:1.5;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-grid-4b809ef {
    width:100%;
    max-width:940px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(12px,2vw,24px);
}
.kd-page .kd-img-6a49078 {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:507/380;
    object-fit:cover;
}
.kd-page .kd-img-773402d {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:503/377;
    object-fit:cover;
}
.kd-page .kd-p-24eb0c8 {
    margin:0;
    max-width:968px;
    font-size:clamp(16px,2.2vw,28px);
    line-height:1.5;
    letter-spacing:.02em;
    text-align:center;
    text-wrap:pretty;
}
.kd-page .kd-layout-7af7686 {
    width:100%;
    margin-top:clamp(64px,8vw,150px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(16px,2vw,28px);
}
.kd-page .kd-div-b637a1e {
    width:100%;
    max-width:518px;
    margin-top:clamp(8px,1.4vw,16px);
}
.kd-page .kd-img-281e95d {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:511/383;
    object-fit:cover;
}
.kd-page .kd-strong-bf05b9e {
    font-weight:700;
    color:#4d45a7;
}
.kd-page .kd-layout-392d9e6 {
    margin-top:clamp(24px,3vw,56px);
    width:100%;
    display:flex;
    justify-content:center;
}
.kd-page .kd-img-eadec59 {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:489/366;
    object-fit:cover;
}
.kd-page .kd-img-1c049cd {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:487/365;
    object-fit:cover;
}
.kd-page .kd-div-8125397 {
    margin-top:clamp(8px,1vw,12px);
    width:100%;
}
.kd-page .kd-layout-7c472eb {
    margin:0;
    width:100%;
    min-height:61px;
    background:#e8e7f7;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    font-weight:700;
    font-size:clamp(20px,3vw,30px);
    line-height:1.4;
    letter-spacing:.03em;
    color:#4d45a7;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-layout-ebfb693 {
    width:100%;
    margin-top:clamp(40px,4.4vw,60px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(16px,2.4vw,32px);
}
.kd-page .kd-h3-6724ab6 {
    margin:0;
    font-weight:700;
    font-size:clamp(22px,3vw,30px);
    line-height:1.4;
    letter-spacing:.02em;
    text-align:center;
}
.kd-page .kd-img-485d084 {
    display:block;
    width:100%;
    height:auto;
}
.kd-page .kd-layout-c6503ff {
    width:100%;
    margin-top:clamp(56px,7vw,100px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(16px,2.4vw,32px);
}
.kd-page .kd-img-967bb83 {
    display:block;
    width:683px;
    max-width:100%;
    height:auto;
    aspect-ratio:683/640;
    object-fit:cover;
}
.kd-page .kd-layout-ef237c6 {
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(8px,1.2vw,16px);
}
.kd-page .kd-img-c1758ca {
    display:block;
    width:537px;
    max-width:100%;
    height:auto;
    aspect-ratio:537/404;
    object-fit:cover;
}
.kd-page .kd-figcaption-b4bff9f {
    font-size:clamp(16px,2.2vw,28px);
    letter-spacing:.02em;
    text-align:center;
}
.kd-page .kd-img-75612ab {
    display:block;
    width:556px;
    max-width:100%;
    height:auto;
    aspect-ratio:556/361;
    object-fit:cover;
}
.kd-page .kd-section-8d80edd {
    background:#f4f4f4;
    min-height:clamp(260px,24vw,345px);
    padding:clamp(24px,2.2vw,42px) clamp(16px,4vw,24px) clamp(40px,4vw,56px);
}
.kd-page .kd-nav-c48e58a {
    max-width:1096px;
    margin:0 auto;
}
.kd-page .kd-layout-037610f {
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:0 4px;
    font-weight:700;
    font-size:clamp(13px,1.4vw,20px);
    letter-spacing:.03em;
    color:#3c3c3c;
}
.kd-page .kd-layout-74cac98 {
    display:flex;
    gap:4px;
}
.kd-page .kd-layout-fad4101 {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    margin-top:clamp(36px,4.6vw,80px);
}
.kd-page .kd-img-80137e5 {
    width:clamp(44px,8vw,57px);
    height:auto;
    display:block;
}
.kd-page .kd-h1-efd8cfb {
    margin:clamp(16px,2vw,28px) 0 0;
    font-weight:700;
    font-size:clamp(24px,5vw,35px);
    line-height:1.3;
    letter-spacing:.03em;
}
.kd-page .kd-layout-15e693b {
    padding:clamp(56px,7.3vw,141px) clamp(16px,4vw,24px) clamp(80px,10.9vw,210px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(72px,6vw,115px);
}
.kd-page .kd-layout-3805eaf {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    gap:clamp(24px,2.6vw,50px);
}
.kd-page .kd-layout-47eb81c {
    margin:0;
    width:100%;
    min-height:61px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    background:#e8e7f7;
    color:#4d45a7;
    font-weight:700;
    font-size:clamp(18px,2.2vw,30px);
    line-height:1.4;
    letter-spacing:.03em;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-layout-173009b {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(28px,3.3vw,64px);
}
.kd-page .kd-p-2e43251 {
    margin:0;
    font-size:clamp(16px,1.5vw,28px);
    line-height:1.5;
    letter-spacing:.03em;
    text-align:center;
    text-wrap:pretty;
}
.kd-page .kd-div-8fd5003 {
    width:100%;
    border:1px solid #0081cc;
    padding:clamp(4px,.2vw,2px) 0 clamp(20px,2.8vw,53px);
    margin-top:clamp(0px,1.5vw,30px);
}
.kd-page .kd-layout-d3a86c1 {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    gap:clamp(20px,2.2vw,43px);
    margin-top:clamp(-40px,-2vw,-20px);
}
.kd-page .kd-grid-9127676 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:clamp(20px,2.3vw,44px);
}
.kd-page .kd-grid-c8d071a {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:clamp(16px,1.6vw,30px);
}
.kd-page .kd-iframe-90c820e {
    display:block;
    width:100%;
    aspect-ratio:533/469;
    border:2px solid #c8c8c8;
    background:#fff;
}
.kd-page .kd-h1-dc736b0 {
    margin:clamp(16px,2vw,28px) 0 0;
    font-weight:700;
    font-size:clamp(24px,5vw,35px);
    line-height:1.3;
    letter-spacing:.2em;
    padding-left:.2em;
}
.kd-page .kd-layout-8560780 {
    padding:clamp(48px,7.3vw,141px) clamp(16px,4vw,24px) clamp(80px,10vw,190px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(64px,7vw,130px);
}
.kd-page .kd-p-9b8bda8 {
    margin:0;
    width:100%;
    max-width:1096px;
    font-size:clamp(16px,1.6vw,28px);
    line-height:1.5;
    letter-spacing:.04em;
    text-wrap:pretty;
}
.kd-page .kd-layout-3e0550d {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    gap:clamp(24px,2.8vw,50px);
    margin-top:clamp(-40px,-3vw,-20px);
}
.kd-page .kd-h2-a280f3f {
    margin:0;
    color:#f07814;
    font-weight:700;
    font-size:clamp(19px,2.4vw,38px);
    line-height:1.4;
    letter-spacing:.03em;
}
.kd-page .kd-grid-6aa0da6 {
    display:grid;
    grid-template-columns:minmax(0,464fr) minmax(20px,168fr) minmax(0,464fr);
    align-items:start;
}
.kd-page .kd-layout-5272888 {
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(8px,1vw,16px);
}
.kd-page .kd-figcaption-3d31a4e {
    font-size:clamp(14px,1.6vw,28px);
    letter-spacing:.04em;
    text-align:center;
}
.kd-page .kd-layout-d178670 {
    display:flex;
    justify-content:center;
    align-items:center;
    aspect-ratio:168/348;
}
.kd-page .kd-svg-830ccf8 {
    width:clamp(22px,4.2vw,81px);
    height:auto;
    display:block;
}
.kd-page .kd-div-cce8fd7 {
    height:3px;
    background:#f07814;
}
.kd-page .kd-layout-614a100 {
    display:flex;
    flex-direction:column;
    gap:6px;
    text-align:center;
    letter-spacing:.04em;
}
.kd-page .kd-span-6ccdb60 {
    font-size:clamp(15px,1.6vw,28px);
}
.kd-page .kd-span-6f00f14 {
    font-size:clamp(13px,1.3vw,24px);
    line-height:1.35;
}
.kd-page .kd-p-9247334 {
    margin:0;
    font-size:clamp(16px,1.6vw,28px);
    line-height:1.5;
    letter-spacing:.04em;
}
.kd-page .kd-layout-6984046 {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    gap:clamp(20px,2vw,32px);
}
.kd-page .kd-p-53ab712 {
    margin:0;
    font-size:clamp(16px,1.6vw,28px);
    line-height:1.5;
    letter-spacing:.04em;
    text-wrap:pretty;
}
.kd-page .kd-grid-6f70ebb {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.kd-page .kd-layout-20d7e41 {
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.kd-page .kd-img-ed673eb {
    display:block;
    width:min(100%,400px);
    height:auto;
}
.kd-page .kd-figcaption-13ad515 {
    margin-top:clamp(4px,1vw,12px);
    font-size:clamp(14px,1.6vw,28px);
    line-height:1.15;
    letter-spacing:.04em;
    text-align:center;
}
.kd-page .kd-div-fc563b2 {
    width:clamp(2px,.2vw,4px);
    height:clamp(36px,3.6vw,69px);
    background:#6bc472;
    margin:clamp(14px,2vw,40px) 0;
}
.kd-page .kd-p-a7240e9 {
    margin:0;
    color:#6bc472;
    font-weight:700;
    font-size:clamp(16px,2.4vw,38px);
    line-height:1.55;
    letter-spacing:.03em;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-grid-470a4f9 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:calc(-1 * clamp(20px,2vw,32px));
}
.kd-page .kd-layout-12d1ea1 {
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
}
.kd-page .kd-layout-ecf5b74 {
    margin:0;
    width:84%;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.kd-page .kd-div-3922d32 {
    min-width:0;
}
.kd-page .kd-svg-be24399 {
    display:block;
    width:100%;
    height:auto;
    overflow:visible;
}
.kd-page .kd-layout-b036d0b {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    gap:clamp(24px,3vw,56px);
}
.kd-page .kd-svg-fdf527a {
    width:clamp(20px,3.9vw,74px);
    height:auto;
    display:block;
}
.kd-page .kd-layout-10d4efd {
    display:flex;
    flex-direction:column;
    gap:clamp(12px,1.8vw,32px);
}
.kd-page .kd-p-63af962 {
    margin:0;
    font-size:clamp(14px,1.6vw,28px);
    line-height:1.5;
    letter-spacing:.04em;
}
.kd-page .kd-layout-30e716d {
    display:flex;
    justify-content:center;
    padding:clamp(16px,3vw,56px) 0;
}
.kd-page .kd-svg-33d65bd {
    width:clamp(24px,4.6vw,89px);
    height:auto;
    display:block;
}
.kd-page .kd-layout-ffd0499 {
    padding:clamp(40px,5vw,141px) clamp(16px,4vw,24px) clamp(80px,12vw,240px);
    display:flex;
    flex-direction:column;
    align-items:center;
}
.kd-page .kd-layout-5772cb4 {
    margin:0;
    width:100%;
    max-width:1096px;
    min-height:61px;
    background:#e8e7f7;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    font-weight:700;
    font-size:clamp(20px,3.2vw,30px);
    line-height:1.4;
    letter-spacing:.03em;
    color:#4d45a7;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-p-c6f3f3b {
    margin:clamp(28px,3.4vw,50px) 0 0;
    font-weight:700;
    font-size:clamp(20px,3.2vw,30px);
    line-height:1.5;
    letter-spacing:.03em;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-layout-1423c36 {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(64px,8vw,110px);
    margin-top:clamp(48px,6vw,96px);
}
.kd-page .kd-layout-e53cd59 {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(24px,3vw,40px);
}
.kd-page .kd-layout-2968dba {
    margin:0;
    width:311px;
    max-width:100%;
    min-height:67px;
    background:#f8dfc1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    font-weight:700;
    font-size:clamp(20px,3.2vw,30px);
    letter-spacing:.03em;
    text-align:center;
}
.kd-page .kd-layout-69ea4f4 {
    margin:0;
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    gap:clamp(8px,1.4vw,20px);
}
.kd-page .kd-grid-20655e2 {
    display:grid;
    grid-template-columns:404fr 287fr 405fr;
}
.kd-page .kd-span-a968a4b {
    font-size:clamp(15px,2.2vw,28px);
    letter-spacing:.04em;
    text-align:center;
    line-height:1.4;
}
.kd-page .kd-p-428f1a7 {
    margin:0;
    max-width:1096px;
    width:100%;
    font-size:clamp(16px,2.2vw,28px);
    line-height:1.64;
    letter-spacing:.04em;
    text-wrap:pretty;
}
.kd-page .kd-grid-5bfd240 {
    width:100%;
    max-width:1096px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,464px));
    justify-content:space-between;
    gap:clamp(12px,3vw,40px);
}
.kd-page .kd-layout-d77d8bd {
    margin:0;
    display:flex;
    flex-direction:column;
    gap:clamp(8px,1.4vw,20px);
}
.kd-page .kd-img-a20c048 {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:464/348;
    object-fit:cover;
}
.kd-page .kd-img-49ee66b {
    display:block;
    width:702px;
    max-width:100%;
    height:auto;
    aspect-ratio:702/527;
    object-fit:cover;
}
.kd-page .kd-p-123328b {
    margin:0;
    font-weight:700;
    font-size:clamp(18px,3vw,30px);
    line-height:1.5;
    letter-spacing:.03em;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-div-ee2d69d {
    width:100%;
    max-width:1096px;
    padding:0 clamp(0px,5.4vw,59px);
}
.kd-page .kd-grid-854532f {
    width:100%;
    max-width:1096px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,404px));
    justify-content:space-between;
    gap:clamp(12px,3vw,40px);
}
.kd-page .kd-img-dcce3a1 {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:404/538;
    object-fit:cover;
}
.kd-page .kd-layout-ade6583 {
    background:#f4f4f4;
    min-height:clamp(260px,24vw,345px);
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:clamp(24px,2.2vw,42px) 20px clamp(40px,4vw,56px);
    text-align:center;
}
.kd-page .kd-nav-9cf5c8c {
    width:100%;
    max-width:1096px;
    text-align:left;
}
.kd-page .kd-layout-c7904e2 {
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:0;
    font-weight:700;
    font-size:clamp(15px,3.6vw,20px);
    line-height:1.6;
    letter-spacing:.03em;
    color:#3c3c3c;
}
.kd-page .kd-img-271cc61 {
    width:clamp(44px,8vw,57px);
    height:auto;
    display:block;
    margin-top:clamp(28px,4.5vw,80px);
}
.kd-page .kd-layout-0cdcfb4 {
    padding:clamp(40px,5vw,72px) clamp(16px,4vw,24px) clamp(80px,10vw,200px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(72px,7vw,130px);
}
.kd-page .kd-layout-aa65171 {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    gap:clamp(32px,3.4vw,65px);
}
.kd-page .kd-layout-6ffcc36 {
    margin:0;
    width:100%;
    min-height:61px;
    padding:10px 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e8e7f7;
    font-weight:700;
    font-size:clamp(22px,2.4vw,30px);
    line-height:1.4;
    letter-spacing:.03em;
    color:#4d45a7;
    text-align:center;
}
.kd-page .kd-layout-8b63324 {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,2vw,33px);
    align-items:flex-start;
}
.kd-page .kd-p-28b6950 {
    margin:0;
    flex:1 1 420px;
    min-width:0;
    font-size:clamp(16px,1.46vw,28px);
    line-height:1.6;
    letter-spacing:.04em;
    line-height:1.55;
    text-wrap:pretty;
}
.kd-page .kd-layout-56fa6df {
    margin:0 auto;
    flex:0 0 auto;
    width:234px;
    display:flex;
    flex-direction:column;
    gap:clamp(14px,1.8vw,33px);
}
.kd-page .kd-img-ec921b2 {
    display:block;
    width:234px;
    height:310px;
    object-fit:cover;
}
.kd-page .kd-layout-b623856 {
    font-family:'Hiragino Mincho ProN','Yu Mincho','YuMincho','Noto Serif JP',serif;
    font-weight:600;
    color:#000;
    display:flex;
    flex-direction:column;
    gap:6px;
}
.kd-page .kd-span-2bcb6b1 {
    font-size:17px;
    letter-spacing:.02em;
}
.kd-page .kd-span-2b878d8 {
    font-size:30px;
    line-height:1.2;
    letter-spacing:.12em;
    white-space:nowrap;
}
.kd-page .kd-layout-c01eb2c {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(56px,6vw,110px);
}
.kd-page .kd-layout-6ccba7e {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(24px,2.6vw,48px);
}
.kd-page .kd-h3-9633ede {
    margin:0;
    font-weight:700;
    font-size:clamp(19px,2.4vw,30px);
    line-height:1.5;
    letter-spacing:.03em;
    color:#000;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-layout-c3e4f1e {
    width:100%;
    max-width:1000px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(16px,1.6vw,30px);
}
.kd-page .kd-img-6ba9e65 {
    display:block;
    width:100%;
    max-width:847px;
    height:auto;
}
.kd-page .kd-grid-b4e27ce {
    width:100%;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
    gap:clamp(16px,3vw,60px);
}
.kd-page .kd-p-8622dc5 {
    margin:0;
    font-size:clamp(16px,1.46vw,28px);
    line-height:1.6;
    letter-spacing:.04em;
    text-align:center;
    text-wrap:pretty;
}
.kd-page .kd-layout-b496d14 {
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(10px,1.2vw,18px);
    width:100%;
    max-width:420px;
}
.kd-page .kd-figcaption-717229e {
    font-size:clamp(16px,1.46vw,28px);
    line-height:1.6;
    letter-spacing:.04em;
    text-align:center;
}
.kd-page .kd-layout-ea6815e {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(20px,2vw,32px);
}
.kd-page .kd-img-3764742 {
    display:block;
    width:100%;
    max-width:910px;
    height:auto;
    margin-top:clamp(4px,1vw,24px);
}
.kd-page .kd-img-853f841 {
    display:block;
    width:100%;
    max-width:993px;
    height:auto;
}
.kd-page .kd-h3-5b34c48 {
    margin:0;
    font-weight:700;
    font-size:clamp(19px,2.4vw,30px);
    line-height:1.5;
    letter-spacing:.03em;
    color:#a14f4d;
    text-align:center;
    text-wrap:balance;
}
.kd-page .kd-layout-8fd7338 {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    gap:clamp(20px,1.7vw,32px);
    margin-top:clamp(8px,2vw,40px);
}
.kd-page .kd-layout-0548452 {
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(10px,1.2vw,18px);
    width:100%;
    max-width:442px;
}
.kd-page .kd-layout-47476a9 {
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(10px,1.2vw,18px);
    width:100%;
    max-width:251px;
}
.kd-page .kd-layout-efd0571 {
    width:100%;
    max-width:920px;
    display:flex;
    align-items:center;
    gap:clamp(12px,2vw,24px);
    margin-top:clamp(20px,3vw,50px);
}
.kd-page .kd-span-fa8f8c5 {
    flex:1;
    height:2px;
    background:#4d45a7;
}
.kd-page .kd-h4-dbcd159 {
    margin:0;
    font-weight:400;
    font-size:clamp(16px,1.46vw,28px);
    line-height:1.6;
    letter-spacing:.04em;
    color:#4d45a7;
    white-space:nowrap;
}
.kd-page .kd-layout-c838968 {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    gap:clamp(20px,1.7vw,32px);
}
.kd-page .kd-layout-260a15f {
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(10px,1.2vw,18px);
    width:100%;
    max-width:446px;
}
.kd-page .kd-layout-0b0341a {
    width:100%;
    max-width:1093px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(32px,4vw,72px);
}
.kd-page .kd-layout-f218afd {
    margin:0;
    width:100%;
    max-width:915px;
    min-height:92px;
    padding:16px 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#4d45a7;
    border-radius:19px;
    font-family:'LINE Seed JP','BIZ UDPGothic',sans-serif;
    font-weight:700;
    font-size:clamp(22px,2.4vw,30px);
    letter-spacing:.03em;
    color:#fff;
}
.kd-page .kd-layout-c081a3b {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:clamp(10px,1.1vw,15px);
}
.kd-page .kd-layout-3e3e9c3 {
    min-width:177px;
    height:40px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f8f0f0;
    border:1px solid #231815;
    border-radius:7.6px;
    font-weight:700;
    font-size:clamp(17px,2vw,22px);
    letter-spacing:.02em;
    color:#000;
    white-space:nowrap;
    transition:background .2s,color .2s;
}
.kd-page .kd-a-c1c4fea:hover {
    background:#4d45a7;
    color:#fff;
}
.kd-page .kd-layout-a4a8725 {
    min-width:199px;
    height:40px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f8f0f0;
    border:1px solid #231815;
    border-radius:7.6px;
    font-weight:700;
    font-size:clamp(17px,2vw,22px);
    letter-spacing:.02em;
    color:#000;
    white-space:nowrap;
    transition:background .2s,color .2s;
}
.kd-page .kd-layout-bd3420a {
    width:100%;
    max-width:1093px;
    scroll-margin-top:70px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(24px,2.6vw,33px);
}
.kd-page .kd-h3-017f4cb {
    margin:0;
    font-weight:700;
    font-size:clamp(24px,3vw,30px);
    line-height:1.4;
    letter-spacing:.03em;
    color:#4d45a7;
    text-align:center;
}
.kd-page .kd-grid-ec2be20 {
    list-style:none;
    margin:0;
    padding:0;
    width:100%;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(200px,40vw),1fr));
    column-gap:clamp(12px,3.9vw,43px);
    row-gap:clamp(12px,3.4vw,37px);
}
.kd-page .kd-li-be89002 {
    aspect-ratio:1;
    border:1px solid #707070;
    background:#fff;
    overflow:hidden;
}
.kd-page .kd-img-51e2b87 {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.kd-page .kd-img-4867713 {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.kd-page .kd-h1-ae17179 {
    margin:clamp(20px,2.6vw,36px) 0 0;
    font-weight:700;
    font-size:clamp(22px,4.6vw,30px);
    line-height:1.3;
    letter-spacing:.03em;
    text-wrap:balance;
}
.kd-page .kd-layout-49d81e3 {
    padding:clamp(48px,4.8vw,92px) clamp(16px,4vw,24px) clamp(80px,10vw,200px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(80px,9vw,170px);
}
.kd-page .kd-layout-bb65851 {
    width:100%;
    max-width:1096px;
    scroll-margin-top:70px;
    display:flex;
    flex-direction:column;
    gap:clamp(20px,2vw,36px);
}
.kd-page .kd-layout-dcac7cb {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:16px 24px;
}
.kd-page .kd-h2-7c7959a {
    margin:0;
    font-weight:700;
    font-size:clamp(22px,2.4vw,30px);
    line-height:1.4;
    letter-spacing:.03em;
    color:#3c3c3c;
}
.kd-page .kd-layout-56c4b42 {
    margin:0;
    width:306px;
    max-width:100%;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:4px solid #707070;
    font-weight:700;
    font-size:clamp(22px,2.4vw,31px);
    letter-spacing:.03em;
    color:#3c3c3c;
}
.kd-page .kd-grid-2b54aad {
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(0,1fr);
    gap:0;
}
.kd-page .kd-img-50adca7 {
    grid-row:span 2;
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:731/477;
    object-fit:cover;
}
.kd-page .kd-img-abd6472 {
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:365/239;
    object-fit:cover;
}
.kd-page .kd-address-25faaab {
    font-style:normal;
    font-size:clamp(16px,1.6vw,25px);
    line-height:1.6;
    letter-spacing:.04em;
}
.kd-page .kd-iframe-6d72ea4 {
    display:block;
    width:100%;
    aspect-ratio:1096/664;
    border:1px solid #707070;
    background:#fff;
}
.kd-page .kd-img-6101fa7 {
    display:block;
    width:100%;
    max-width:731px;
    aspect-ratio:731/477;
    object-fit:cover;
}
.kd-page .kd-layout-8b83d8b {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(32px,3.5vw,60px);
}
.kd-page .kd-layout-1c52dac {
    margin:0;
    width:311px;
    max-width:100%;
    height:67px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f8dfc1;
    font-weight:700;
    font-size:clamp(24px,2.4vw,30px);
    letter-spacing:.03em;
}
.kd-page .kd-dl-08479fe {
    margin:0;
    width:100%;
}
.kd-page .kd-grid-c5c09db {
    display:grid;
    grid-template-columns:minmax(90px,218px) minmax(0,1fr);
    gap:12px;
    padding:clamp(14px,1.4vw,24px) 0;
    border-bottom:1px solid #707070;
}
.kd-page .kd-dt-84fa472 {
    font-size:clamp(16px,1.6vw,28px);
    letter-spacing:.04em;
    text-align-last:justify;
    max-width:140px;
}
.kd-page .kd-dd-8d8236e {
    margin:0;
    font-size:clamp(16px,1.6vw,28px);
    line-height:1.6;
    letter-spacing:.04em;
}
.kd-page .kd-layout-75816ca {
    display:flex;
}
.kd-page .kd-layout-e83ace9 {
    flex:1;
    display:flex;
}
.kd-page .kd-layout-0cb537f {
    flex:1;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #707070;
    padding:23px 24px 22px;
    color:#000;
    transition:box-shadow .2s,transform .2s;
}
.kd-page .kd-a-90000eb:hover {
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    transform:translateY(-2px);
    color:#000;
}
.kd-page .kd-div-69da1da {
    position:relative;
    width:100%;
    aspect-ratio:285/186;
    background:#f4f4f4;
    overflow:hidden;
}
.kd-page .kd-h3-a4742a1 {
    margin:22px 0 0;
    font-weight:700;
    font-size:20px;
    line-height:1.5;
    letter-spacing:.02em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:60px;
}
.kd-page .kd-p-7b54486 {
    margin:14px 0 0;
    font-size:16px;
    line-height:1.6;
    letter-spacing:.04em;
    color:#333;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.kd-page .kd-layout-7189caf {
    margin-top:auto;
    padding-top:16px;
    display:flex;
    flex-direction:column;
    gap:18px;
}
.kd-page .kd-time-0c7a14e {
    font-weight:700;
    font-size:15px;
}
.kd-page .kd-layout-30cc06a {
    align-self:flex-end;
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    font-size:15px;
    white-space:nowrap;
    flex:none;
}
.kd-page .kd-span-6cdc327 {
    font-size:20px;
    line-height:1;
}
.kd-page .kd-h1-0cc6290 {
    margin:clamp(20px,2.6vw,36px) 0 0;
    font-weight:700;
    font-size:clamp(24px,5vw,35px);
    line-height:1;
    letter-spacing:.2em;
    padding-left:.2em;
}
.kd-page .kd-layout-4321dd7 {
    padding:clamp(48px,7vw,141px) clamp(16px,4vw,24px) clamp(80px,12vw,220px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(64px,6vw,86px);
}
.kd-page .kd-layout-20f9d10 {
    width:100%;
    max-width:1096px;
    display:flex;
    flex-direction:column;
    align-items:center;
    scroll-margin-top:60px;
}
.kd-page .kd-layout-b1eff0e {
    margin:0;
    min-width:203px;
    min-height:46px;
    padding:6px 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f8f0f0;
    border:2px solid #231815;
    border-radius:7.6px;
    font-weight:700;
    font-size:clamp(20px,3vw,25px);
    letter-spacing:.03em;
}
.kd-page .kd-grid-a3e4bf5 {
    list-style:none;
    margin:37px 0 0;
    padding:0;
    width:100%;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
    gap:clamp(24px,3.4vw,52px) clamp(24px,4vw,50px);
}
.kd-page .kd-grid-d8ccc93 {
    list-style:none;
    margin:37px 0 0;
    padding:0;
    width:100%;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
    gap:clamp(24px,4vw,50px);
}
.kd-page .kd-layout-30079cc {
    margin-top:50px;
    width:363px;
    max-width:100%;
    height:73px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #707070;
    background:#fff;
    font-weight:700;
    font-size:19px;
    letter-spacing:.03em;
    color:#000;
    transition:background .2s,color .2s;
}
.kd-page .kd-h1-c60d1ed {
    margin:clamp(20px,2.6vw,36px) 0 0;
    font-weight:700;
    font-size:clamp(24px,5vw,30px);
    line-height:1;
    letter-spacing:.2em;
    padding-left:.2em;
}
.kd-page .kd-section-0eb58ed {
    padding:clamp(48px,8vw,151px) clamp(16px,4vw,24px) 0;
    scroll-margin-top:50px;
}
.kd-page .kd-grid-f42aa11 {
    list-style:none;
    margin:0 auto;
    padding:0;
    max-width:1096px;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
    gap:clamp(24px,4vw,51px) clamp(20px,3vw,50px);
}

/* Native WordPress subpage shell and compact reference navigation. */
.kd-page { font-family:'BIZ UDPGothic',sans-serif; color:#000; background:#fff; line-height:normal; -webkit-font-smoothing:antialiased; }
.kd-page :where(*) { font-family:inherit; }
.kd-page :where(p) { color:inherit; font-size:inherit; line-height:inherit; letter-spacing:normal; }
.kd-page :where(a) { color:inherit; text-decoration:none; letter-spacing:inherit; }
.kd-page a:focus-visible, .kd-header a:focus-visible, .kd-header button:focus-visible { outline:3px solid #756be0; outline-offset:3px; }
.kd-page img { max-width:100%; }
.kd-page iframe { max-width:100%; }
.kd-page .kd-empty { width:100%; grid-column:1 / -1; padding:32px 16px; text-align:center; font-size:16px; line-height:1.7; }
.kd-no-image { background:#f1f1f1; aspect-ratio:285/186; }
.kd-page .kd-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; padding:50px 16px 80px; }
.kd-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; border-radius:50%; color:#000; font-size:20px; font-weight:700; }
.kd-pagination .current { background:#e3e2ef; }
.kd-pagination a:hover { background:#b9edf5; }
.kd-header { position:absolute; top:0; left:0; right:0; height:50px; z-index:10; display:flex; align-items:center; justify-content:space-between; background:rgba(239,239,239,.9); box-shadow:0 1px 2px rgba(0,0,0,.16); font-family:'BIZ UDPGothic',sans-serif; color:#000; line-height:normal; }
.kd-header :where(*) { font-family:inherit; }
.kd-header .kd-brand, .kd-header-actions a { flex:none; width:50px; height:50px; display:flex; align-items:center; justify-content:center; }
.kd-header .kd-brand { background:#000; }
.kd-header img { display:block; height:auto; }
.kokudaka-site .kd-header #nav { display:flex; align-items:center; justify-content:center; gap:0 clamp(20px,2.2vw,42px); padding:0 16px; min-width:0; font-size:15px; font-weight:700; letter-spacing:.03em; white-space:nowrap; }
.kd-header .kd-nav a { color:#000; opacity:.7; letter-spacing:inherit; text-decoration:none; }
.kd-header .kd-nav a:hover, .kd-header .kd-nav a[aria-current="page"] { opacity:1; color:#4d45a7; }
.kd-header-actions { display:flex; flex:none; }
.kd-header .kd-call { background:#c9c9c9; }
.kd-header .kd-request { display:none; background:#5346ed; }
.kd-header .kd-mail { background:#000; }
.kd-header .kd-menu { display:none; flex:none; width:50px; height:50px; border:0; padding:0; background:#fff; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.kd-header .kd-menu span { display:block; width:24px; height:2px; background:#000; transition:transform .2s,opacity .2s; }
.kd-header .kd-menu.active span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.kd-header .kd-menu.active span:nth-child(2) { opacity:0; }
.kd-header .kd-menu.active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
/* Pages without a converted hero must still clear the compact header. */
.kokudaka-site:not(.kokudaka-home) .st-pusher:has(> .kd-header):not(:has(> .kd-page)) { padding-top:50px; }
@media (max-width:1179px) {
    .kd-header .kd-menu { display:flex; }
    .kokudaka-site .kd-header #nav { display:none; position:absolute; top:50px; left:0; right:0; max-height:calc(100dvh - 96px); overflow:auto; padding:0; background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.12); white-space:normal; }
    .kokudaka-site .kd-header #nav.active { display:flex; flex-direction:column; align-items:stretch; gap:0; }
    .kokudaka-site .kd-header #nav a { padding:16px 20px; min-height:52px; border-bottom:1px solid #eee; font-size:16px; opacity:1; }
}
@media (max-width:600px) {
    .kd-page { overflow-wrap:anywhere; }
    .kd-page .kd-pagination { gap:8px; }
}

/* Design albums (TOP - 16). */
.kd-design-hero { position:relative; height:clamp(120px,14vw,184px); background:#ccc; }
.kd-design-hero img { width:100%; height:100%; object-fit:cover; display:block; }
.kd-design-title { background:#f4f4f4; min-height:clamp(260px,24vw,345px); display:flex; flex-direction:column; align-items:center; padding:clamp(40px,5.5vw,78px) 20px clamp(40px,4vw,56px); text-align:center; }
.kd-design-title p { margin:0; font-weight:700; font-size:clamp(15px,3.6vw,20px); line-height:1.6; letter-spacing:.03em; color:#3c3c3c; text-wrap:balance; }
.kd-design-title img { width:clamp(44px,8vw,57px); height:auto; margin-top:clamp(28px,3.5vw,44px); }
.kd-design-title h1 { margin:clamp(20px,2.6vw,36px) 0 0; font-size:clamp(22px,4.6vw,35px); line-height:1.3; letter-spacing:.2em; padding-left:.2em; text-wrap:balance; }
.kd-design-title p[lang] { margin-top:6px; font-family:'LINE Seed JP',sans-serif; font-size:14px; font-weight:400; }
.kd-design-content { padding:clamp(40px,5vw,72px) clamp(16px,4vw,24px) clamp(80px,10vw,200px); display:flex; flex-direction:column; align-items:center; gap:clamp(72px,8.3vw,160px); }
.kd-design-intro { width:100%; max-width:1093px; display:flex; flex-direction:column; align-items:center; gap:clamp(40px,5.5vw,100px); }
.kd-design-intro p { margin:0; font-size:clamp(15px,1.6vw,18px); line-height:1.8; letter-spacing:.02em; text-align:center; text-wrap:pretty; }
.kd-design-categories { display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(10px,1.1vw,15px); }
.kd-design-categories a { min-width:177px; min-height:40px; padding:4px 12px; display:flex; align-items:center; justify-content:center; background:#f8f0f0; border:1px solid #231815; border-radius:7.6px; font-weight:700; font-size:clamp(17px,2vw,22px); color:#000; transition:background .2s,color .2s; }
.kd-design-categories a:hover { background:#4d45a7; color:#fff; }
.kd-design-group { width:100%; max-width:1093px; scroll-margin-top:70px; display:flex; flex-direction:column; align-items:center; gap:clamp(24px,2.6vw,33px); }
.kd-design-group h2 { margin:0; font-size:clamp(24px,3vw,30px); line-height:1.4; letter-spacing:.03em; color:#4d45a7; text-align:center; }
.kd-design-grid { list-style:none; margin:0; padding:0; width:100%; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(200px,40vw),1fr)); column-gap:clamp(12px,3.9vw,43px); row-gap:clamp(12px,3.4vw,37px); }
.kd-design-grid li { aspect-ratio:1; border:1px solid #707070; background:#fff; overflow:hidden; }
.kd-design-image, .kd-design-image img { display:block; width:100%; height:100%; object-fit:cover; }
.kd-design-image:focus-visible { outline:3px solid #5346ed; outline-offset:-3px; }
.kd-design-dialog { position:fixed; inset:0; margin:auto; padding:40px 54px; width:min(100%,1000px); max-width:100vw; height:100dvh; max-height:100dvh; border:0; background:transparent; color:#fff; overflow:hidden; }
.kd-design-dialog::backdrop { background:rgba(0,0,0,.7); }
.kd-design-dialog[open] { display:flex; align-items:center; justify-content:center; }
.kd-design-dialog figure { margin:0; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; }
.kd-design-dialog .kd-design-full { display:block; width:100%; height:calc(100% - 32px); object-fit:contain; touch-action:pan-y; }
.kd-design-dialog figcaption { min-height:24px; margin-top:8px; font-size:14px; line-height:1.5; text-align:center; }
.kd-design-dialog button { position:absolute; border:0; background:transparent; color:#fff; cursor:pointer; padding:0; width:48px; height:48px; line-height:1; }
.kd-design-dialog button:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.kd-design-close { top:0; right:0; font-size:40px; }
.kd-design-prev { left:0; top:calc(50% - 24px); font-size:64px; }
.kd-design-next { right:0; top:calc(50% - 24px); font-size:64px; }
.kd-design-dialog button[hidden] { display:none; }
html.kd-design-open { overflow:hidden; }
@media (max-width:600px) { .kd-design-dialog { padding:48px 32px 24px; } .kd-design-dialog .kd-design-prev, .kd-design-dialog .kd-design-next { width:32px; font-size:48px; } }

/* Customer voice detail (TOP - 14). */
.kv-detail-wrap { padding:clamp(48px,7vw,141px) clamp(16px,4vw,24px) clamp(80px,12vw,220px); display:flex; flex-direction:column; align-items:center; }
.kv-detail { width:100%; max-width:1096px; display:flex; flex-direction:column; align-items:center; }
.kv-terms { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.kv-terms a { min-width:203px; min-height:46px; padding:6px 24px; display:flex; align-items:center; justify-content:center; background:#f8f0f0; border:2px solid #231815; border-radius:7.6px; font-weight:700; font-size:clamp(20px,3vw,25px); letter-spacing:.03em; }
.kv-detail > time { align-self:flex-start; margin-top:clamp(24px,3vw,36px); font-weight:700; font-size:18px; }
.kv-photo { margin:clamp(10px,1.2vw,14px) 0 0; width:100%; border:1px solid #707070; background:#fff; overflow:hidden; }
.kv-photo img { display:block; width:100%; height:auto; }
.kv-detail h1 { align-self:stretch; margin:clamp(40px,5vw,72px) 0 0; font-weight:700; font-size:clamp(22px,3.4vw,34px); line-height:1.45; letter-spacing:.02em; text-wrap:balance; overflow-wrap:anywhere; }
.kv-body { align-self:stretch; margin-top:clamp(20px,3vw,40px); font-size:clamp(16px,2.4vw,26px); line-height:1.6; letter-spacing:.04em; overflow-wrap:anywhere; }
.kv-body p { margin:0 0 1em; text-wrap:pretty; }
.kv-body img, .kv-body video, .kv-body iframe { max-width:100%; }
.kv-body img { height:auto; }
.kv-body ul, .kv-body ol { padding-left:1.5em; }
.kv-back { margin-top:clamp(56px,6vw,90px); width:362px; max-width:100%; min-height:72px; display:flex; align-items:center; justify-content:center; border:1px solid #707070; background:#fff; font-weight:700; font-size:19px; letter-spacing:.03em; color:#000; transition:background .2s,color .2s; }
.kv-back:hover, .kv-terms a:hover { background:#4d45a7; color:#fff; }

/* Mobile navigation stays rendered so both opening and closing can transition. */
@media (max-width:767px) {
    .kokudaka-site .kh-header #nav { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-12px); transition:opacity .24s ease,transform .28s ease,visibility 0s .28s; }
    .kokudaka-site .kh-header #nav.active { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); transition-delay:0s; }
}
@media (max-width:1179px) {
    .kokudaka-site .kd-header #nav { display:flex; flex-direction:column; align-items:stretch; gap:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-12px); transition:opacity .24s ease,transform .28s ease,visibility 0s .28s; }
    .kokudaka-site .kd-header #nav.active { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); transition-delay:0s; }
}
@keyframes kd-viewer-backdrop-in { from { background:rgba(0,0,0,0); } to { background:rgba(0,0,0,.7); } }
@keyframes kd-viewer-backdrop-out { from { background:rgba(0,0,0,.7); } to { background:rgba(0,0,0,0); } }
.kd-design-dialog[open]::backdrop { animation:kd-viewer-backdrop-in .24s ease both; }
.kd-design-dialog.is-closing::backdrop { animation:kd-viewer-backdrop-out .18s ease both; }
@media (prefers-reduced-motion:reduce) {
    .kokudaka-site .kh-header #nav, .kokudaka-site .kd-header #nav, .kokudaka-site .kh-menu span, .kd-header .kd-menu span { transition:none; }
    .kd-design-dialog[open]::backdrop { animation:none; }
}

/* Useful information: TOP - 3 and TOP - 4. */
.ki-card { flex:1; display:flex; flex-direction:column; background:#fff; border:1px solid #707070; padding:23px 24px 22px; color:#000; transition:box-shadow .2s,transform .2s; }
.ki-card:hover { box-shadow:0 6px 18px rgba(0,0,0,.12); transform:translateY(-2px); color:#000; }
.ki-card .kd-div-69da1da { aspect-ratio:285/186; background:#e9e9e9; }
.ki-card-title { margin:16px 0 0; font-weight:400; font-size:clamp(20px,2vw,24px); line-height:31px; letter-spacing:.038em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:62px; overflow-wrap:anywhere; }
.ki-card .kd-p-7b54486 { margin:23px 0 0; font-size:clamp(16px,1.6vw,22px); line-height:1.41; letter-spacing:.038em; color:#333; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ki-card .kd-layout-7189caf { margin-top:auto; padding-top:20px; display:flex; flex-direction:column; align-items:stretch; gap:22px; }
.ki-card .kd-layout-30cc06a { align-self:flex-end; }
.ki-detail-wrap { padding:clamp(48px,6vw,74px) clamp(16px,4vw,24px) clamp(96px,14vw,260px); }
.ki-intro { margin:0; text-align:center; font-size:clamp(16px,1.6vw,18px); line-height:1.6; letter-spacing:.04em; text-wrap:balance; }
.ki-columns { margin:clamp(40px,4.5vw,64px) auto 0; max-width:1128px; display:flex; flex-wrap:wrap; gap:48px clamp(24px,2.5vw,31px); align-items:flex-start; }
.ki-article { min-width:0; flex:746 1 480px; }
.ki-article-heading { display:flex; flex-direction:column; gap:clamp(20px,2.2vw,36px); }
.ki-article-heading h1 { margin:0; font-weight:700; font-size:clamp(21px,2.4vw,26px); line-height:1.4; letter-spacing:.02em; overflow-wrap:anywhere; }
.ki-article-heading time { font-weight:700; font-size:15px; line-height:1; }
.ki-featured { margin-top:clamp(16px,1.6vw,23px); width:100%; aspect-ratio:746/488; background:#e9e9e9; }
.ki-featured img { display:block; width:100%; height:100%; object-fit:cover; }
.ki-body { margin-top:clamp(28px,3vw,50px); font-size:clamp(16px,1.6vw,21px); line-height:1.6; letter-spacing:.04em; overflow-wrap:anywhere; }
.ki-body > * { margin-top:0; margin-bottom:1.1em; }
.ki-body img, .ki-body video, .ki-body iframe { max-width:100%; }
.ki-body img { height:auto; }
.ki-body ul, .ki-body ol { padding-left:1.5em; }
.ki-body pre, .ki-body .wp-block-table { overflow:auto; }
.ki-return { margin-top:clamp(48px,6vw,80px); display:flex; justify-content:center; }
.ki-return a { display:flex; align-items:center; justify-content:center; min-width:220px; min-height:52px; padding:0 28px; border:1px solid #000; font-weight:700; font-size:16px; letter-spacing:.04em; }
.ki-return a:hover { background:#4d45a7; border-color:#4d45a7; color:#fff; }
.ki-sidebar { min-width:0; flex:351 1 280px; display:flex; flex-direction:column; gap:40px; }
.ki-sidebar section { display:flex; flex-direction:column; gap:16px; }
.ki-sidebar h2 { margin:0; padding-bottom:10px; border-bottom:2px solid #4d45a7; font-size:18px; font-weight:700; letter-spacing:.04em; }
.ki-sidebar ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.ki-recent li { border-bottom:1px solid #ddd; }
.ki-recent a { display:flex; flex-direction:column; gap:6px; padding:14px 0; }
.ki-recent time { font-weight:700; font-size:13px; color:#666; }
.ki-recent span { font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.ki-sidebar .ki-categories { flex-direction:row; flex-wrap:wrap; gap:8px; }
.ki-categories a { display:block; padding:8px 14px; background:#f4f4f4; font-size:14px; }
.ki-sidebar .ki-archives { gap:10px; font-size:15px; }

/* Single post matched to the supplied TOP – 4.svg. */
.ks-wrap { padding:clamp(48px,4vw,74px) 20px clamp(80px,6vw,120px); }
.ks-intro { margin:0; text-align:center; font-size:18px; line-height:1.6; }
.ks-columns { max-width:1096px; margin:clamp(48px,4vw,80px) auto 0; display:grid; grid-template-columns:minmax(0,746fr) minmax(0,315fr); gap:35px; align-items:start; }
.ks-article { min-width:0; }
.ks-article h1 { margin:0 0 40px; font-size:clamp(22px,2vw,26px); line-height:1.4; overflow-wrap:anywhere; }
.ks-article > time { font-size:15px; font-weight:700; display:block; }
.ks-photo { margin:20px 0 0; }
.ks-photo img { width:100%; height:auto; display:block; }
.ks-body { margin-top:clamp(40px,5vw,100px); font-size:clamp(16px,1.6vw,21px); line-height:1.55; overflow-wrap:anywhere; }
.ks-body > * { margin-top:0; margin-bottom:1.1em; }
.ks-body img, .ks-body video, .ks-body iframe { max-width:100%; }
.ks-body img { height:auto; }
.ks-body ul, .ks-body ol { padding-left:1.5em; }
.ks-body pre, .ks-body .wp-block-table { overflow:auto; }
.ks-share { margin-top:64px; padding:28px 16px; border:1px solid #eee; text-align:center; }
.ks-share p { margin:0 0 20px; color:#9da2ae; font-weight:700; }
.ks-share > div { display:flex; justify-content:center; gap:clamp(20px,4vw,56px); }
.ks-share a { font-size:26px; font-weight:700; color:#218dec; }
.ks-share a:last-child { color:#06c755; }
.ks-share a span { font-size:22px; }
.ks-sidebar { min-width:0; display:flex; flex-direction:column; gap:36px; font-size:14px; color:#666; }
.ks-search { display:flex; box-shadow:0 1px 4px #ddd; }
.ks-search input[type=search] { width:100%; min-width:0; border:1px solid #eee; border-right:0; padding:10px; border-radius:0; font:inherit; }
.ks-search button { flex:none; width:40px; border:0; background:#45bc00; color:#fff; cursor:pointer; }
.ks-sidebar section { border:1px solid #e9e9e9; border-radius:3px; overflow:hidden; }
.ks-sidebar h2 { margin:0; padding:10px; font-size:16px; line-height:1.4; color:#fff; background:#976d38; }
.ks-sidebar ul, .ks-sidebar ol { list-style:none; margin:0; padding:14px; }
.ks-posts { display:flex; flex-direction:column; gap:18px; }
.ks-posts a { display:flex; align-items:center; gap:10px; line-height:1.5; overflow-wrap:anywhere; }
.ks-thumb { flex:none; width:66px; height:66px; background:#eee; }
.ks-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.ks-posts small { display:block; margin-top:4px; color:#999; font-size:11px; }
.ks-popular { counter-reset:popular; }
.ks-popular li { position:relative; counter-increment:popular; }
.ks-popular li:not(.ks-empty)::before { content:counter(popular); position:absolute; top:-7px; left:-7px; background:#649be2; color:#fff; border-radius:50%; width:20px; height:20px; text-align:center; line-height:20px; font-size:12px; }
.ks-categories li + li { margin-top:18px; }
.ks-archive-select { display:block; width:100%; border:0; background:#fff; color:#666; padding:12px 10px; font:inherit; }
@media (max-width:767px) { .ks-columns { grid-template-columns:minmax(0,1fr); gap:56px; } .ks-article h1 { margin-bottom:24px; } .ks-sidebar { width:100%; } }
.ks-single .ks-sidebar .fa-solid { font-family:'Font Awesome 6 Free'; font-weight:900; }
.ks-single .ks-share .fa-brands { font-family:'Font Awesome 6 Brands'; font-weight:400; }

/* Post footer from the supplied reference. */
.ks-post-footer { margin-top:60px; padding:28px 36px 36px; border:1px solid #eee; border-bottom:0; }
.ks-post-footer .ks-share { margin:0; padding:0; border:0; }
.ks-post-footer .ks-share > p { color:#c9cdd8; font-size:24px; margin-bottom:26px; }
.ks-post-footer .ks-share > div { justify-content:space-evenly; gap:16px; }
.ks-post-footer .ks-share a { display:flex; flex-direction:column; align-items:center; gap:4px; line-height:1; font-size:34px; }
.ks-post-footer .ks-share a span { font-size:14px; font-weight:400; }
.ks-post-footer .ks-share .ks-twitter, .ks-post-footer .ks-share .ks-hatena { color:#00b7ee; }
.ks-post-footer .ks-share .ks-facebook { color:#0088ff; }
.ks-post-footer .ks-share .ks-line { color:#00c755; }
.ks-post-footer .ks-share a b { font-family:Arial,sans-serif; }
.ks-category-line { margin:40px 0; text-align:right; font-size:16px; font-weight:700; }
.ks-category-line a { color:#999; }
.ks-related { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
.ks-related-photo { aspect-ratio:268/156; background:#eee; box-shadow:0 2px 4px #ddd; }
.ks-related-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ks-related h2 { margin:10px 0 0; font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.ks-author { background:#996b32; padding:30px 36px; }
.ks-author-card { background:#fff; border-radius:4px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.2fr); }
.ks-author-profile { display:flex; flex-direction:column; align-items:center; text-align:center; padding:20px 14px; border-right:2px dashed #e7ebef; gap:14px; }
.ks-author-label { margin:0; padding:10px 12px; background:#e9edf1; border-radius:30px; font-size:14px; font-weight:700; color:#555; }
.ks-author-profile .ks-author-avatar { width:100px; height:100px; border:3px solid #dfe3e9; border-radius:50%; }
.ks-author-name { color:#a76a24; font-weight:700; font-size:18px; overflow-wrap:anywhere; }
.ks-author-bio { padding:28px 20px; font-size:18px; line-height:1.7; overflow-wrap:anywhere; }
.ks-author-bio p { margin:0 0 16px; }
.ks-author-website { display:inline-flex; flex-direction:column; align-items:center; font-size:12px; color:#999; }
.ks-author-website .fa-solid { font-family:'Font Awesome 6 Free'; font-weight:900; font-size:40px; padding:8px; border-radius:16px; background:#ffb64d; color:#fff; }
.ks-adjacent { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:48px; }
.ks-adjacent-next { grid-column:2; text-align:right; }
.ks-adjacent-label { display:block; margin-bottom:10px; color:#888; font-weight:700; }
.ks-adjacent-card { display:flex; gap:12px; padding:10px; box-shadow:0 1px 5px #ddd; align-items:center; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.ks-adjacent-card img { flex:none; width:80px; height:80px; object-fit:cover; }
@media (max-width:767px) {
    .ks-post-footer { padding:24px 16px; }
    .ks-related { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
    .ks-related h2 { font-size:16px; }
    .ks-author { padding:20px 16px; }
    .ks-author-card { grid-template-columns:minmax(0,1fr); }
    .ks-author-profile { border-right:0; border-bottom:2px dashed #e7ebef; }
    .ks-author-bio { padding:20px; font-size:16px; }
    .ks-adjacent { grid-template-columns:minmax(0,1fr); }
    .ks-adjacent-next { grid-column:1; }
}
.ks-share .ks-pocket { display:flex; flex-direction:column; align-items:center; gap:4px; font-size:34px; line-height:1; color:#ff6b7c; }
.ks-share .ks-pocket span { font-size:14px; font-weight:400; }

/* Homepage uses the shared compact header with its horizontal logo. */
.kd-header .kd-brand-home { width:200px; padding:0 10px; background:#fff; }
@media (max-width:1179px) {
    .kd-header .kd-brand-home { background:#dbe2ea; }
}
.kd-header .kd-brand-home img { width:180px; max-width:100%; height:auto; }
@media (min-width:1180px) and (max-width:1399px) {
    .kokudaka-home .kd-header #nav { gap:0 16px; padding:0 10px; font-size:13px; }
}
@media (max-width:374px) {
    .kd-header .kd-brand-home { width:calc(100vw - 150px); }
}

/* Restore the original two-row homepage header on desktop only. */
.kokudaka-site .kh-desktop-bar { display:none; }
@media (min-width:1180px) {
    .kokudaka-home .kd-header { height:126px; display:block; background:transparent; box-shadow:none; }
    .kokudaka-home .kh-desktop-bar { display:flex; }
    .kokudaka-home .kd-header > .kd-brand-home,
    .kokudaka-home .kd-header > .kd-header-actions { display:none; }
    .kokudaka-home .kd-header #nav { height:50px; background:rgba(234,234,234,.9); box-shadow:0 1px 2px rgba(0,0,0,.16); gap:0 clamp(20px,3.4vw,65px); padding:0 16px; font-size:15px; }
    .kokudaka-home .kd-header #nav a { opacity:1; }
}

/* Align each pair of reason cards using shared content rows. */
.kokudaka-home .kh-reasons { container-type:inline-size; }
@container (min-width:776px) {
    .kokudaka-home .kh-reason-card {
        display:grid;
        grid-row:span 5;
        grid-template-rows:subgrid;
        row-gap:18px;
        align-content:start;
    }
    .kokudaka-home .kh-reason-card > * { align-self:start; }
}

/* Archive cards share the info layout and the single-post sidebar. */
.ki-archive-columns { max-width:1200px; margin:0 auto; padding:64px 24px 80px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:40px; align-items:start; }
.ki-archive-list { min-width:0; }
.ki-archive .kd-grid-f42aa11 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
.ki-archive .ki-card { min-width:0; }
.ki-archive .kd-div-69da1da { overflow:hidden; }
.ki-archive .kd-div-69da1da img { display:block; width:100%; height:100%; object-fit:cover; }
.ki-archive .ks-sidebar .fa-solid { font-family:'Font Awesome 6 Free'; font-weight:900; }
@media (max-width:900px) {
 .ki-archive-columns { grid-template-columns:minmax(0,1fr); gap:48px; }
}
@media (max-width:600px) {
 .ki-archive-columns { padding:40px 16px 56px; }
 .ki-archive .kd-grid-f42aa11 { grid-template-columns:minmax(0,1fr); }
}

/* Hero content enters once as a single block. */
@keyframes kh-hero-content-enter {
    from { opacity:0; translate:0 18px; }
    to { opacity:1; translate:0 0; }
}
@media screen and (prefers-reduced-motion:no-preference) {
    .kokudaka-home .kh-hero-content,
    .kd-page .kd-reveal-initial {
        animation:kh-hero-content-enter .6s cubic-bezier(.22,.61,.36,1) 1s both;
    }
    .kokudaka-home .kh-hero-content:focus-within,
    .kd-page .kd-reveal-initial:focus-within { animation:none; }
}

/* Prepare offscreen blocks before scrolling; preserve existing hover transforms. */
@media (prefers-reduced-motion:no-preference) {
    .kd-reveal-block {
        opacity:1;
        translate:0 0;
        transition:opacity .6s cubic-bezier(.22,.61,.36,1) 1s, translate .6s cubic-bezier(.22,.61,.36,1) 1s;
    }
    .kd-reveal-block.kd-reveal-pending { opacity:0; translate:0 18px; transition:none; }
    .kd-reveal-block:focus-within { opacity:1; translate:0 0; transition:none; }
}
@media print {
    .kd-reveal-block.kd-reveal-pending { opacity:1; translate:0 0; transition:none; }
}
