@charset "UTF-8";
/* =============================================================================
 * HTMLタグ基本設定
============================================================================= */
@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
}

@media screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
    line-height: 1.6;
    background-image: none;
  }
}

@media screen and (max-width: 768px) {
  a:hover {
    opacity: 1 !important;
  }
  a:hover img {
    opacity: 1 !important;
  }
}

@media screen and (min-width: 769px) {
  /* spのみ表示 */
  ._sp-only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  /* pcのみ表示 */
  ._pc-only {
    display: none !important;
  }
}
/* =============================================================================
 * layout
============================================================================= */
/* ------------------------------------------------------------
 * container
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div#container {
    padding-top: 60px;
    overflow: hidden;
    background-image: none;
    border-bottom: none;
  }
  div#container * {
    box-sizing: border-box;
  }
  div#container img {
    max-width: 100%;
    height: auto;
  }
  div#container div#content::after {
    display: none;
  }
  div#container div#content div#box-outer {
    width: 100%;
    background-image: none;
  }
  div#container div#content div#box-outer div#box {
    width: 100%;
    padding-bottom: 60px;
  }
  div#container div#content div#box-outer div#box::after {
    display: none;
  }
  div#container div#content div#box-outer div#box div#left {
    float: none;
  }
  div#container div#content div#box-outer div#box div#center {
    display: block;
    float: none;
    width: auto;
  }
  div#container div#content div#box-outer div#box div#right {
    display: block;
    float: none;
    width: auto;
  }
  div#container div#content div#box-outer div#box div#sub-content {
    display: block;
    float: none;
    width: auto;
    padding-inline: 5vw;
  }
}

/* ------------------------------------------------------------
 * header
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div#content header {
    width: 100%;
    margin: 0;
    background: transparent;
  }
  div#content header::after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  div#content header div#logoTel {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100vw;
    height: 60px;
    padding-inline: 10px;
    background: #e3f0ab;
  }
}
@media screen and (max-width: 768px) {
  div#content header div#logo {
    width: min(58.66%, 220px);
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  div#content header div#tel {
    display: none;
  }
}
div#content header .header__toggle {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 7px;
  align-items: center;
  justify-content: center;
  width: 60px;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  div#content header .header__toggle {
    display: none;
  }
}
div#content header .header__toggle span, div#content header .header__toggle::before, div#content header .header__toggle::after {
  display: block;
  width: 30px;
  content: "";
  border-top: 2px solid #559143;
}
@media screen and (max-width: 768px) {
  div#content header .header__toggle.-js-opened span {
    display: none;
  }
  div#content header .header__toggle.-js-opened::before, div#content header .header__toggle.-js-opened::after {
    position: absolute;
    top: 50%;
    left: 50%;
  }
  div#content header .header__toggle.-js-opened::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  div#content header .header__toggle.-js-opened::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}

/* ------------------------------------------------------------
 * footer
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  footer {
    width: auto;
    padding-inline: 10px;
    margin-top: 60px;
  }
  footer div#footLogo {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    padding: 20px 0;
    background: transparent url("../../images/common/border-x.webp") repeat-x 0 0/668px;
  }
  footer div#footLogo picture {
    width: min(58.66%, 220px);
  }
  footer div#footLogo p.text {
    position: static;
    font-size: 1.8rem;
    line-height: 2;
    text-align: center;
  }
}

#go-top {
  right: -10px;
  width: 60px;
  transform: translateY(15px);
}

.l-footer-navi-sp {
  padding-inline: 5vw;
}
.l-footer-navi-sp ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
}

/* ------------------------------------------------------------
 * sidebar
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div#box div#left,
  div#box div#leftSub {
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    z-index: 999;
    box-sizing: border-box;
    float: none;
    width: 100vw;
    height: 0;
    padding: 20px 5vw;
    margin: 0;
    overflow: hidden;
    visibility: hidden;
    background: #c7dfda;
    opacity: 0;
    transition-timing-function: ease-in-out;
    transition-duration: 0.3s;
    transition-property: height, visibility, opacity;
  }
  div#box div#left.-js-opened,
  div#box div#leftSub.-js-opened {
    height: calc(100dvh - 60px);
    overflow: auto;
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  div#box div#left .navImage,
  div#box div#leftSub .navImage {
    padding: 0 !important;
  }
  div#box div#left .navImage:not(:last-child),
  div#box div#leftSub .navImage:not(:last-child) {
    margin-bottom: 30px;
  }
  div#box div#left .navImage > a img,
  div#box div#leftSub .navImage > a img {
    width: min(100%, 335px);
  }
  div#box div#left .navImage:not(.banner) > a,
  div#box div#leftSub .navImage:not(.banner) > a {
    display: inline-block;
    padding-bottom: 10px;
    background: transparent url("../../images/common/border-x.webp") repeat-x 0 100%/668px;
  }
}
@media screen and (max-width: 768px) {
  div#box div#left .banner,
  div#box div#leftSub .banner {
    display: none;
  }
}

/* =============================================================================
 * project layout
============================================================================= */
/* ------------------------------------------------------------
 * HOME
------------------------------------------------------------ */
/* **** メインビジュアル **** */
@media screen and (max-width: 768px) {
  div#content header div#mainv {
    display: flex;
    gap: 20px;
    align-items: flex-end;
    width: 100%;
    height: auto;
    padding: 30px 2.5vw;
    overflow: hidden;
    background: transparent;
  }
  div#content header div#mainv::after {
    display: none;
  }
  div#content header div#mainv div#photo {
    display: block;
    flex: 1;
    float: none;
    width: auto;
    aspect-ratio: 1/0.7;
    padding: 0;
  }
  div#content header div#mainv div#photo .nivoSlider {
    width: auto;
    height: auto;
  }
  div#content header div#mainv div#photo p#bg-ph {
    top: 0;
    left: 0;
    transform: translate(5px, 5px);
  }
  div#content header div#mainv div#photo p#front-bg {
    top: 0;
    left: 0;
    transform: translateY(-5%);
  }
  div#content header div#mainv div#description {
    display: block;
    float: none;
    width: 32%;
    padding: 0;
  }
  div#content header div#mainv div#description img {
    width: 100%;
  }
}

/* **** PC専用セクション **** */
@media screen and (max-width: 768px) {
  body.home div#container div#content div#box-outer div#box div#center {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  body.home div#container div#content div#box-outer div#box div#right {
    display: none;
  }
}

/* **** スマホ専用セクション **** */
.p-home-sp {
  padding-inline: 5vw;
}
@media screen and (min-width: 769px) {
  .p-home-sp {
    display: none;
  }
}

/* ラフ線BOX */
.p-home-box:not(:first-child) {
  margin-top: 30px;
}
.p-home-box.--has-border {
  position: relative;
  border-style: solid;
  border-width: 20px;
  border-image-source: url("../../images/common/border-box.webp");
  border-image-slice: 20;
  border-image-repeat: stretch;
}
.p-home-box.--has-border:has(.p-home-box__title):not(:first-child) {
  margin-top: 60px;
}
.p-home-box.--has-border:has(.p-home-box__title) .p-home-box__content {
  padding-block: 1.5em 1em;
}
.p-home-box__title {
  position: absolute;
  top: -55px;
  left: -20px;
}
.p-home-box__content {
  background: #fff;
}
.p-home-box__content > p {
  font-size: 1.2rem;
}
.p-home-box__content > p:not(:last-child) {
  margin-bottom: 1.5em;
}

/* 投稿系 */
.p-home-post__item {
  padding-block: 1em;
  border-bottom: 1px dotted #693e16;
}
.p-home-post__item:first-child {
  padding-top: 0;
}
.p-home-post__item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.p-home-post__item.--has-image {
  display: flex;
  gap: 1em;
  align-items: flex-start;
}
.p-home-post__item.--has-image:not(:has(.p-home-post__date)) {
  align-items: center;
}
.p-home-post__image {
  width: 68px;
}
.p-home-post__text {
  flex: 1;
}
.p-home-post__date {
  display: flex;
  gap: 0.5em;
  align-items: center;
  margin-bottom: 0.25em;
}
.p-home-post__date .__new {
  line-height: 1;
}
.p-home-post__more {
  width: min(100%, 120px);
  margin: 1.5em auto 0;
}
.p-home-post__more img {
  width: 100%;
}

/* ------------------------------------------------------------
 * 幼稚園の紹介
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div.intro-content {
    /* ごあいさつ */
    /* 本園の特徴 */
    /* 本園の環境 */
    /* 幼稚園とは？ */
    /* 保護者の声 */
    /* アクセス */
  }
  div.intro-content div.box p.bar img {
    width: 100%;
    height: auto;
  }
  div.intro-content div.section01 p.intro01bar {
    margin-bottom: 2em;
  }
  div.intro-content div.section01 p.intro02bar {
    padding-top: 0;
  }
  div.intro-content div.section01 div.box {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  div.intro-content div.section01 div.box::after {
    display: none;
  }
  div.intro-content div.section01 div.box div.left {
    float: none;
    width: auto;
  }
  div.intro-content div.section01 div.box div.right {
    position: static;
    width: auto;
  }
  div.intro-content div.section01 div.box div.right img {
    width: 90%;
  }
  div.intro-content div.section02 div.left {
    display: none;
    float: none;
    width: auto;
  }
  div.intro-content div.section02 div.right {
    float: none;
    width: auto;
  }
  div.intro-content div.section02 div.right div.box div.titleImage img {
    width: 100%;
    height: auto;
  }
  div.intro-content div.section03 div.box::after {
    display: none;
  }
  div.intro-content div.section03 div.box:last-child {
    padding-bottom: 0;
  }
  div.intro-content div.section03 div.box p.smallBox,
  div.intro-content div.section03 div.box p.smallBoxLast {
    display: block;
    float: none;
    padding: 0;
    border-style: solid;
    border-width: 20px;
    border-image-source: url("../../images/subpage/intro/intro03_bg_col1.webp");
    border-image-slice: 20;
    border-image-repeat: stretch;
  }
  div.intro-content div.section03 div.box p.smallBox .smallBox__inner,
  div.intro-content div.section03 div.box p.smallBoxLast .smallBox__inner {
    display: block;
    background: #fac7ad;
  }
  div.intro-content div.section03 div.box p.smallBox img,
  div.intro-content div.section03 div.box p.smallBoxLast img {
    width: 100%;
    height: auto;
  }
  div.intro-content div.section03 div.box p.smallBox span.text,
  div.intro-content div.section03 div.box p.smallBoxLast span.text {
    position: static;
    display: block;
    width: auto;
    margin-top: 1em;
    font-size: inherit;
  }
  div.intro-content div.section03 div.box p.smallBox.--col1,
  div.intro-content div.section03 div.box p.smallBoxLast.--col1 {
    border-image-source: url("../../images/subpage/intro/intro03_bg_col1.webp");
  }
  div.intro-content div.section03 div.box p.smallBox.--col1 .smallBox__inner,
  div.intro-content div.section03 div.box p.smallBoxLast.--col1 .smallBox__inner {
    background: #fac7ad;
  }
  div.intro-content div.section03 div.box p.smallBox.--col2,
  div.intro-content div.section03 div.box p.smallBoxLast.--col2 {
    border-image-source: url("../../images/subpage/intro/intro03_bg_col2.webp");
  }
  div.intro-content div.section03 div.box p.smallBox.--col2 .smallBox__inner,
  div.intro-content div.section03 div.box p.smallBoxLast.--col2 .smallBox__inner {
    background: #ffeb7c;
  }
  div.intro-content div.section03 div.box p.smallBox.--col3,
  div.intro-content div.section03 div.box p.smallBoxLast.--col3 {
    border-image-source: url("../../images/subpage/intro/intro03_bg_col3.webp");
  }
  div.intro-content div.section03 div.box p.smallBox.--col3 .smallBox__inner,
  div.intro-content div.section03 div.box p.smallBoxLast.--col3 .smallBox__inner {
    background: #b6d5cf;
  }
  div.intro-content div.section03 div.box p.smallBox.--col4,
  div.intro-content div.section03 div.box p.smallBoxLast.--col4 {
    border-image-source: url("../../images/subpage/intro/intro03_bg_col4.webp");
  }
  div.intro-content div.section03 div.box p.smallBox.--col4 .smallBox__inner,
  div.intro-content div.section03 div.box p.smallBoxLast.--col4 .smallBox__inner {
    background: #f3e1eb;
  }
  div.intro-content div.section04 div.left {
    display: block;
    float: none;
    width: auto;
  }
  div.intro-content div.section04 div.left p.name {
    padding-bottom: 0;
  }
  div.intro-content div.section04 div.right {
    display: none;
  }
  div.intro-content div.section05 .binsen {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
  }
  div.intro-content div.section05 .binsen::after {
    display: none;
  }
  div.intro-content div.section05 .binsen .single-binsen {
    float: none;
    padding: 0;
    font-size: 1.1rem;
  }
  div.intro-content div.section05 .binsen02 {
    padding-top: 1em;
  }
  div.intro-content div.section06 {
    padding-bottom: 0;
  }
  div.intro-content div.section06 p.map {
    width: auto;
    height: auto;
    padding: 5px;
  }
  div.intro-content div.section06 p.map iframe {
    position: static;
    width: 100%;
    height: 400px;
    vertical-align: bottom;
  }
  div.intro-content div.section06 div.left p.text:last-child {
    padding-bottom: 0;
  }
  div.intro-content div.section06 div.right {
    display: none;
  }
}

/* ------------------------------------------------------------
 * 教育について
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div#sub-content.edu-content {
    /* 教育方針 */
    /* 教育過程 */
    /* 保育要項 */
  }
  div#sub-content.edu-content div.section01 div.left {
    width: auto;
    padding-bottom: 56px;
  }
  div#sub-content.edu-content div.section01 div.left .bar01 {
    margin-bottom: 2em;
  }
  div#sub-content.edu-content div.section01 div.left p.bar {
    padding: 0;
    margin-block: 2em 1em;
  }
  div#sub-content.edu-content div.section01 div.left p.bar img {
    width: min(100%, 375px);
    height: auto;
  }
  div#sub-content.edu-content div.section01 div.left p.text02 {
    padding: 0;
    font-size: inherit;
  }
  div#sub-content.edu-content div.section01 div.left p.text02:not(:last-child) {
    margin-bottom: 1.5em;
  }
  div#sub-content.edu-content div.section01 div.right {
    display: none;
  }
  div#sub-content.edu-content div.section01 .title {
    font-size: inherit;
  }
  div#sub-content.edu-content div.section02.clearfix p.text,
  div#sub-content.edu-content div.section02.clearfix p.text02 {
    font-size: inherit;
  }
  div#sub-content.edu-content div.section03.clearfix {
    padding-bottom: 0;
  }
  div#sub-content.edu-content div.section03.clearfix.clearfix p.barSmall img {
    width: min(100%, 375px);
    height: auto;
  }
  div#sub-content.edu-content div.section03.clearfix.clearfix p.text {
    padding-left: 0;
    font-size: inherit;
  }
}

/* ------------------------------------------------------------
 * 幼稚園での生活
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div#sub-content.life-content {
    /* 幼稚園の一日 */
    /* 幼稚園の一年 */
  }
  div#sub-content.life-content p.illust img {
    width: 100%;
    height: auto;
  }
  div#sub-content.life-content div.section01 p.bar {
    margin-bottom: 2em;
  }
  div#sub-content.life-content div.section01 p.bar02 {
    padding-top: 0;
  }
  div#sub-content.life-content div.section02 {
    padding-bottom: 0;
  }
  div#sub-content.life-content div.section02 p.bar {
    padding-top: 0;
  }
  div#sub-content.life-content div.section02 p.text {
    font-size: inherit;
  }
}

/* ------------------------------------------------------------
 * 入園のご案内・Q&A
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div#sub-content.qa-content {
    /* 園児募集 */
    /* 未就園児の会 */
    /* なかよしクラブ */
    /* Q&A */
    /* プライバシーポリシー */
  }
  div#sub-content.qa-content p.notes {
    padding-left: 0 !important;
    font-size: 1.2rem !important;
  }
  div#sub-content.qa-content div.section01.clearfix p.bar {
    padding-bottom: 0;
    margin-bottom: 2em;
  }
  div#sub-content.qa-content div.section01.clearfix p.title {
    font-size: inherit;
  }
  div#sub-content.qa-content div.section01.clearfix p.illust {
    display: none;
  }
  div#sub-content.qa-content div.section01.clearfix p.text {
    font-size: inherit;
  }
  div#sub-content.qa-content div.section01.clearfix p.smallBar img {
    width: min(100%, 375px);
    height: auto;
  }
  div#sub-content.qa-content div.section01.clearfix div.xsmallBar,
  div#sub-content.qa-content div.section01.clearfix p.table {
    display: grid;
    grid-template-columns: min(40%, 150px) auto;
    gap: 0.5em;
    width: auto;
    padding-left: 1em;
  }
  div#sub-content.qa-content div.section01.clearfix div.xsmallBar div.left,
  div#sub-content.qa-content div.section01.clearfix div.xsmallBar div.right,
  div#sub-content.qa-content div.section01.clearfix p.table div.left,
  div#sub-content.qa-content div.section01.clearfix p.table div.right {
    float: none;
    width: auto;
    padding: 0 !important;
    font-size: inherit;
  }
  div#sub-content.qa-content div.section01.clearfix p.table {
    grid-template-columns: min(22.93%, 86px) auto;
  }
  div#sub-content.qa-content div.section01.clearfix div.nyuen-setsumeikai p.xsmallBar img {
    width: min(100%, 375px);
    height: auto;
  }
  div#sub-content.qa-content div.section01.clearfix div.nyuen-setsumeikai div.title {
    font-size: inherit;
  }
  div#sub-content.qa-content div.section01.clearfix div.nyuen-setsumeikai div.title div.left {
    display: block;
    float: none;
    padding-left: 1em;
  }
  div#sub-content.qa-content div.section01.clearfix div.nyuen-setsumeikai div.title div.left img {
    width: min(100%, 375px);
    height: auto;
  }
  div#sub-content.qa-content div.section01.clearfix div.nyuen-setsumeikai div.title div.left.date {
    font-size: inherit;
  }
  div#sub-content.qa-content div.section02.clearfix p.text {
    padding-bottom: 30px;
    padding-left: 0;
    font-size: inherit;
  }
  div#sub-content.qa-content div.section02.clearfix .info_present br:nth-child(1) {
    display: none;
  }
  div#sub-content.qa-content div.section02.clearfix p.mishuenji-right {
    display: none;
  }
  div#sub-content.qa-content div.section04.clearfix p.text {
    padding-bottom: 30px;
    padding-left: 0;
    font-size: inherit;
  }
  div#sub-content.qa-content div.section03.clearfix {
    padding-bottom: 0;
  }
  div#sub-content.qa-content div.section03.clearfix p.title img {
    width: min(100%, 375px);
    height: auto;
  }
  div#sub-content.qa-content div.section03.clearfix div.qa01 {
    padding-bottom: 1.5em;
  }
  div#sub-content.qa-content div.section03.clearfix div.qa02 {
    padding-bottom: 56px;
  }
  div#sub-content.qa-content div.section05.clearfix {
    padding-bottom: 0;
  }
  div#sub-content.qa-content div.section05.clearfix p.text {
    padding-left: 0;
    font-size: inherit;
  }
  div#sub-content.qa-content div.section05.clearfix p.text:last-child {
    padding-bottom: 0;
  }
}

/* ------------------------------------------------------------
 * お問い合せ
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div#sub-content:has(.wpcf7) > p:nth-child(1), div#sub-content:has(.wpcf7) > p:nth-child(3), div#sub-content:has(.wpcf7) > p:last-child {
    display: none;
  }
  div#sub-content:has(.wpcf7) > p:nth-child(2) {
    aspect-ratio: 1/0.16;
    background: transparent url("../../images/mailform/inq_head-sp.webp") no-repeat 50% 50%/contain;
  }
  div#sub-content:has(.wpcf7) > p:nth-child(2) img {
    visibility: hidden;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 p.lead {
    font-size: inherit;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table {
    display: block;
    width: 100%;
    border: none;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table tbody,
  div#sub-content:has(.wpcf7) div.wpcf7 table tr,
  div#sub-content:has(.wpcf7) div.wpcf7 table th,
  div#sub-content:has(.wpcf7) div.wpcf7 table td {
    display: block;
    width: 100%;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table tr th,
  div#sub-content:has(.wpcf7) div.wpcf7 table tr td {
    border: 1px solid #693e16;
    border-radius: 0;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table tr th {
    padding: 1em 1em 0.25em;
    border-bottom: none;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table tr td {
    padding: 0.25em 1em 1em;
    border-top: none;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table tr:not(:last-child) td {
    border-bottom: none;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table tr:first-child th {
    border-radius: 10px 10px 0 0;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 table tr:last-child td {
    border-radius: 0 0 10px 10px;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 input[type=text],
  div#sub-content:has(.wpcf7) div.wpcf7 input[type=email] {
    width: 100%;
    height: 40px;
    font-size: 1.6rem;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 textarea {
    width: 100%;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 .wpcf7-radio {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin-top: 0.75em;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 .wpcf7-radio .wpcf7-list-item {
    font-size: inherit;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 div.submit {
    position: relative;
    margin-bottom: 0;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 div.submit input[type=submit] {
    font-size: 1.6rem;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 div.submit .ajax-loader {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin: 0;
    transform: translate(-50%, 120%);
  }
  div#sub-content:has(.wpcf7) div.wpcf7 .wpcf7-not-valid-tip {
    margin-top: 1em;
    font-size: 1.2rem;
  }
  div#sub-content:has(.wpcf7) div.wpcf7 .wpcf7-not-valid-tip:not(:last-child) {
    margin-bottom: 1em;
  }
}

/* ------------------------------------------------------------
 * 投稿アーカイブ・シングル
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  div.sheet {
    width: auto;
    padding-inline: 5vw;
    margin: 0;
    font-size: inherit;
  }
  div.sheet h1 {
    margin-bottom: 30px;
  }
  div.sheet p.bboad {
    margin-bottom: 30px;
    font-size: inherit;
  }
  div.sheet div.toukou {
    padding-bottom: 56px;
    margin-bottom: 56px;
  }
  div.sheet div.toukou:nth-last-child(2) {
    margin-bottom: 0;
  }
  div.sheet div.toukou h2 {
    padding: 0 0 0.5em;
    font-size: 1.6rem;
  }
  div.sheet div.toukou div.date {
    margin-top: 0.25em;
    font-size: 1rem;
  }
  div.sheet div.toukou > p {
    margin-block: 1em;
  }
  div.sheet div.toukou > p:first-child {
    margin-top: 0;
  }
  div.sheet div.toukou > p:last-child {
    margin-bottom: 0;
  }
  div.sheet div.prev-next .page_navi {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em;
    align-items: center;
    justify-content: center;
  }
  div.sheet div.prvnxt {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
  }
  div.sheet div.prvnxt > p {
    display: block;
    width: auto;
  }
  div.sheet div.prvnxt > p.prv, div.sheet div.prvnxt > p.nxt {
    font-size: 1.2rem;
  }
}

.p-post-archive {
  padding-inline: 5vw;
  margin-top: 56px;
}
@media screen and (min-width: 769px) {
  .p-post-archive {
    display: none;
  }
}
.p-post-archive__navi:not(:first-child) {
  margin-top: 20px;
}
.p-post-archive__navi__label {
  padding-block: 0.5em;
  font-size: 1.6rem;
  font-weight: 700;
  color: #6a3f17;
  text-align: center;
  background: #fff;
  border: 1px solid #6a3f17;
  border-radius: 10px;
}
.p-post-archive__navi__label::after {
  content: " ▼";
}
.p-post-archive__navi__list {
  display: none;
}
.p-post-archive__navi__list li {
  padding: 0.75em 1em;
  color: #6a3f17;
  border-bottom: 1px dotted #6a3f17;
}
.p-post-archive__navi__list li a {
  color: inherit;
}
.p-post-archive__navi.-js-opened .p-post-archive__navi__label::after {
  content: " ▲";
}
.p-post-archive__navi.-js-opened .p-post-archive__navi__list {
  display: block;
}

/* *** 子育て・あのね *** */
div.left:has(#kosodate_title) {
  display: block;
  float: none;
}

@media screen and (max-width: 768px) {
  div#kosodate_title {
    display: flex;
    gap: 1em;
    padding-inline: 0;
  }
  div#kosodate_title::after {
    display: none;
  }
  div#kosodate_title div.image {
    float: none;
    width: 68px;
  }
  div#kosodate_title div.text {
    flex: 1;
    float: none;
    width: auto;
  }
  div#kosodate_title p.title {
    padding-bottom: 0.5em;
    font-size: 1.6rem;
  }
  div#kosodate_title div.date {
    padding-bottom: 0;
    font-size: 1.2rem;
  }
}

/* =============================================================================
 * component
============================================================================= */
/* ------------------------------------------------------------
 * 大きい表などをスクロールさせるコンポーネント
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  .c-scroll-box {
    position: relative;
  }
  .c-scroll-box__target {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .c-scroll-box__target::-webkit-scrollbar {
    display: none;
  }
  .c-scroll-box__target__content img {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 768px) {
  .c-scroll-bar {
    position: relative;
    height: 6px;
    margin-top: 4px;
    overflow: hidden;
    background: #eee;
    border-radius: 3px;
  }
  .c-scroll-bar__thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #999;
    border-radius: 3px;
    transition: background 0.3s;
  }
  .c-scroll-bar__thumb:hover {
    background: #666;
  }
}