@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* ページ全体 */
:root {
    --cocoon-text-color: #735e47;
    --border-color: #A68766;
    --global-text-size: 16px;
}

html {
    scroll-behavior: smooth;
    font-size: var(--global-text-size);
}

body {
    overflow-x: hidden;
}

.main {
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
}

.no-sidebar .wrap {
    max-width: 1400px;
}

.entry-content>*,
.demo .entry-content p {
    line-height: 2;
}

.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
    margin-bottom: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}

@media (max-width: 480px) {
    .article h2 {
        font-size: 25px;
    }

    .article h3 {
        font-size: 22px;
    }

    table th,
    table td {
        font-size: 16px;
    }

    h1.entry-title {
        padding: 0;
    }

    .overview td {
        padding: 8px;
    }

}

/* ヘッダー */
.header-container-in.hlt-top-menu {
    justify-content: space-between;
    max-width: none;
}

.header-container-in.hlt-top-menu .site-name-text {
    font-weight: bold;
    color: var(--cocoon-text-color);
}

@media screen and (max-width: 1023px) {
    .header-container-in.hlt-top-menu {
        flex-direction: row;
    }

    .header-in {
        display: flex !important;
    }
}

/* ナビゲーション */
.navi-in>ul {
    gap: 56px;
    justify-content: flex-end;
    margin-right: 32px;
}

.navi-in>ul li {
    width: auto;
}

.navi-menu-content {
    left: auto;
    right: 0;
    transform: translateX(105%);
}

@media screen and (max-width: 1023px) {
    .menu-mobile {
        width: 100px;
    }

    .menu-top.menu-mobile {
        padding-right: 15px;
        text-align: right;
        justify-content: right;
    }

    .mobile-header-menu-buttons {
        background-color: #EBDFD2;
        color: var(--cocoon-text-color);
    }

    .mobile-header-menu-buttons .menu-button:first-of-type {
        width: auto;
        padding-left: 15px;
    }

    .mobile-header-menu-buttons .menu-button:first-of-type .menu-icon {
        display: none;
    }

    .mobile-header-menu-buttons .menu-button:first-of-type .menu-caption {
        font-size: 25px;
    }

    .mobile-menu-buttons .menu-caption {
        font-size: 13px;
    }

    .mobile-menu-buttons .menu-button>a {
        color: var(--cocoon-text-color);
    }
}

/* ホワイトブロック */
.is-style-whiteBlock {
    border: solid 1px var(--border-color);
    border-radius: 20px;
    padding: clamp(1rem, 0.704rem + 1.48vw, 2rem);
    background-color: #fff;
}

/* メディアホワイトブロック */
.is-style-media-whiteBlock {
    background-color: #fff;
    border-radius: 20px;
    border: solid 1px var(--border-color);
}

.is-style-media-whiteBlock .wp-block-media-text__content {
    padding: 24px 36px;
}

.is-style-media-whiteBlock .wp-block-media-text__media img {
    border-radius: 20px 0 0 20px;
}
@media (max-width: 834px) {
    .is-style-media-whiteBlock .wp-block-media-text__media img {
        border-radius: 0;
    }
}
@media (max-width: 480px) {
    .is-style-media-whiteBlock .wp-block-media-text__media img {
        border-radius: 20px 20px 0 0;
    }
}

/* ボタン */
.wp-block-button__link {
    border-radius: 9999px;
    padding: 8px 16px;
    background-color: var(--border-color);
    font-size: 1rem;
    box-shadow: 3px 3px 9px rgba(0, 0, 0, 0.2);
    transition: all .2s;
}

.wp-block-button__link:hover {
    box-shadow: none;
    color: #fff;
    transform: translate(3px, 3px);
}

/* クエリーループ */
.posts {
    padding-top: 120px;
    padding-bottom: 60px;
}

.posts .wp-block-post-title a {
    text-decoration: none;
    font-size: var(--global-text-size);
    font-weight: normal;
}

.posts .wp-block-post-title a:hover {
    text-decoration: underline;
}
.posts .wp-block-post-date{
    font-size: 0.8rem;
}

@media (max-width: 834px) {
    .posts {
        padding-top: 60px;
    }

    .posts .wp-block-post-template {
        padding-left: 16px;
        padding-right: 16px;
    }

    .posts .wp-block-post-title a {
        font-size: var(--global-text-size);
    }

}

/* 背景を画面幅いっぱいにする */
.bg-100vw {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

/* table */
.overview {
    border: solid var(--border-color) 1px;
    border-radius: 20px;
    max-width: 1400px !important;
    margin: auto !important;
}

.overview tr:nth-of-type(2n+1) {
    background-color: transparent;
}

.overview tr td:first-of-type {
    background-color: #EBDFD2;
}

.overview tr td:last-of-type {
    background-color: #fff;
}

.overview td {
    border-bottom: 1px var(--border-color) dashed;
    padding: 1 2rem;
}
.overview tr td:first-of-type {
    width: 25%;
}
@media (max-width: 480px) {
    .overview td {
        padding: 1rem;
    }
}

.overview tr:last-of-type td {
    border: none;
}

/* フォーム */
.form-groap {
    padding: clamp(1rem, 0.704rem + 1.48vw, 2rem);
    border-radius: 20px;
    background-color: #ebdfd2;
}

.form-groap p:has(input[type=submit]) {
    text-align: center;
}

.form-groap input[type=submit] {
    font-family: "Noto Sans JP", sans-serif;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 16px;
    background-color: var(--border-color);
    color: #fff;
    font-weight: bold;
    width: auto;
    box-shadow: 3px 3px 9px rgba(0, 0, 0, 0.2);
    transition: all .2s;
}

.form-groap input[type=submit]:hover {
    box-shadow: none;
    color: #fff;
    transform: translate(3px, 3px);
}

.form-groap input[type=text],
.form-groap input[type=tel],
.form-groap input[type=email],
.form-groap textarea {
    border: none;
    border-radius: 10px;
}

.wpcf7-form.init>p>label {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.wpcf7-spinner {
    display: block;
}

.form-groap {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    border-radius: 0;
}

.wpcf7 .ajax-loader {
    display: block;
}

/* フッター */
@media (max-width: 834px) {
    .navi-footer-in>.menu-footer li.menu-item a {
        text-align-last: left;
    }

    .form-groap {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        border-radius: 0;
    }
}

/* フッター上のSNSアイコン */
.box-menus.no-icon:has(.footer-sns) {
    gap: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
    justify-content: center;
}

.wwa .box-menu:has(.footer-sns) {
    width: auto;
    padding: 0;
    min-height: none;
    background-color: transparent;
    width: auto;
    box-shadow: none;
    transition: transform .1s ease;
}

.wwa .box-menu:has(.footer-sns):hover {
    box-shadow: none;
    transform: scale(1.1);
}

.box-menu-icon:has(.footer-sns) {
    color: var(--border-color);
}

.box-menu-icon:has(.footer-sns)+.box-menu-label {
    display: none;
}

.footer-sns {
    font-size: 60px;
}

/* 固定ページレイアウト */
.page .article h2 {
    padding: 0;
    background-color: transparent;
}

.page .article h3 {
    padding: 0;
    border: none;
}

.page .article h4 {
    padding: 0;
    border: none;
}

.page .date-tags {
    display: none;
}

/* 投稿一覧ページ */
.report-h1 {
    text-align: center;
}

.ect-vertical-card {
    gap: clamp(1rem, -0.455rem + 7.27vw, 5rem);
    justify-content: center;
}

.ect-vertical-card .entry-card-wrap {
    padding: 0;
    border-radius: 20px;
    background-color: #fff;
}

.ect-vertical-card .entry-card-wrap .entry-card-content {
    padding-top: clamp(2.188rem, 1.847rem + 1.7vw, 3.125rem);
    padding-bottom: 12px;
    padding-left: clamp(1.25rem, 0.955rem + 1.48vw, 2.063rem);
    padding-right: clamp(1.25rem, 0.955rem + 1.48vw, 2.063rem);
}

.ecb-entry-border .entry-card-wrap {
    border: solid 1px var(--border-color);
    width: calc(50% - 80px);
    transition: opacity .2s ease;
}

.ecb-entry-border .entry-card-wrap:hover {
    opacity: .8;
}

.ect-vertical-card .card-thumb img {
    border-radius: 20px 20px 0 0;
}

.related-list .card-thumb img,
.pager-post-navi .card-thumb img {
    border-radius: 6px;
}

.pagination-next {
    display: none;
}

.page-numbers {
    border: none;
}

.page-numbers.current {
    border: var(--border-color) solid 2px;
    background-color: transparent;
}

.cat-label {
    border-radius: 9999px;
    top: 8px;
    left: 8px;
    font-size: 14px;
    color: #fff;
    background-color: rgba(115, 94, 71, .8);
    padding: 4px 8px;
}

@media (max-width: 834px) {
    .ecb-entry-border .entry-card-wrap {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .ect-vertical-card .entry-card-wrap .entry-card {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        padding: 8px;
    }

    .ect-vertical-card .entry-card-wrap .entry-card-thumb {
        width: 36%;
    }

    .ect-vertical-card .entry-card-wrap .entry-card-content {
        padding: 0;
    }

    .ect-vertical-card .card-thumb img {
        border-radius: 0;
    }

    .cat-label {
        display: none;
    }

    .form-groap {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        border-radius: 0;
    }

    .cf::after {
        content: none;
    }
}

/* 投稿ページ */
.single-post .main>article.post{
    margin: 0 auto;
    max-width: 840px;
}
.single-post .content h2 {
    background-color: #F4ECE4;
    border-radius: 20px;
}

.single-post .content h3 {
    border-color: var(--border-color);
    border-radius: 0 20px 20px 0;
}

.date-tags .post-date {
    font-size: 16px;
}

.under-entry-content .cat-label {
    display: none;
}
.single-post .content .related-entry-heading {
    background-color: transparent;
}
