/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }
  
  /* Sections
     ========================================================================== */
  
  /**
   * Remove the margin in all browsers.
   */
  
  body {
    margin: 0;
  }
  
  /**
   * Render the `main` element consistently in IE.
   */
  
  main {
    display: block;
  }
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  /* Grouping content
     ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /* Text-level semantics
     ========================================================================== */
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  
  a {
    background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b,
  strong {
    font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* Embedded content
     ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
    border-style: none;
  }
  
  /* Forms
     ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  button,
  input { /* 1 */
    overflow: visible;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  button,
  select { /* 1 */
    text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  /**button,
  [type="button"],
  [type="reset"],
  [type="submit"] {-webkit-appearance: button;}
  */

  button,
    [type="button"],
    [type="reset"],
    [type="submit"] {
        -webkit-appearance: button; /* For Safari and Chrome */
        -moz-appearance: button; /* For Firefox */
        appearance: button; /* Standard property */
    }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  
  /**
   * Correct the padding in Firefox.
   */
  
  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  
  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  progress {
    vertical-align: baseline;
  }
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  textarea {
    overflow: auto;
  }
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
    /**
    [type="search"] {
        -webkit-appearance: textfield; 
        outline-offset: -2px; 
        }
    */
  
    [type="search"] {
        -webkit-appearance: textfield; /* For Safari and Chrome */
        -moz-appearance: textfield; /* For Firefox */
        appearance: textfield; /* Standard property */
        outline-offset: -2px; /* 2 */
    }


  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  details {
    display: block;
  }
  
  /*
   * Add the correct display in all browsers.
   */
  
  summary {
    display: list-item;
  }
  
  /* Misc
     ========================================================================== */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  template {
    display: none;
  }
  
  /**
   * Add the correct display in IE 10.
   */
  
  [hidden] {
    display: none;
  }
@charset "UTF-8";

/* 全体設定 */
*{
    box-sizing: border-box; /* パディングとボーダーを含めた幅 */
}

body {
    background-color: #FBF9F7;
}

ul{
    padding-left: 0;
    margin: 8px 0;
}

ul li{
    list-style: none;
}

a{
    text-decoration: none;
}

.wrapper{
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
}

section,#top-banner,.news-all{
    padding: 64px 20px 70px 20px;
}

@media screen and (max-width: 960px) {
    section,#top-banner{
        padding: 48px 16px;
    }
}

@media screen and (max-width: 560px) {
    section,#top-banner{
        padding: 36px 16px;
    }
}

/* テキスト設定 */


h1,h2,h3,h4,h5,p,li,a,dt,dd{
    color: #463F38;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
}

h1{
    font-size: 56px;
    font-weight: 900;
    letter-spacing: 0.10em;
}

/*パンくずリスト　h1の背景色*/
.under-page-map{
    background-color:#E8E5DD;
    margin: 0;
}

.under-page-map a,.under-page-map p,.under-page-map a{
    max-width: 1000px;
    margin: 12px auto;
    padding: 0 12px;
    font-size: 16px;
    color: #60504A;
    font-weight: 600;
    line-height: 200%;
}

.under-page-map a{
    margin: 0 auto;
}

.under-page-map a:hover{
    color: #6EA85F;
}

    @media screen and (max-width: 560px) {
        .under-page-map a,.under-page-map p,.under-page-map a{
            font-size: 14px;
        }
        }


h2{
    font-size: 38px;
    font-weight: 700;
    line-height:1.5;
    letter-spacing: 0.02em;
    margin: 0;
}

.h2-white{
    color: #ffff;
}

.h2-title{
    color: #6EA85F;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 900;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-size: 22px;
    display: block;
    margin-top: 15px;
    margin-bottom: 12px;
}

.h2-title span{
    color: #6EA85F;
}

.h2-center span{
    text-align: center;
}

h3{
    font-size: 32px;
    font-weight: 800;
    line-height: 1.5;
    margin: 0;
}

h4{
    font-size: 24px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0px;
}

h5{
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    color: #6EA85F;
    padding: 0px;
    margin: 0px;
}

p,li,a{
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1.8;
}
.small{
    font-size: 13px;
    letter-spacing: 0;
    line-height: 110%;
}

.bold{
    font-weight: 600;
}
.contact-p{
    font-size: 24px;
    font-weight: 600;
    margin: 0;
}

.txt-green{
    color: #6EA85F;
    font-size: 20px;
    font-weight: 600;
}


.link-outside{
    display: flex;
    position: relative;
    color: #6EA85F;
    font-weight: 700;
    font-style: normal;
    line-height: 1.3;
    letter-spacing: 0.02em;
    font-size: 18px;
}

@media screen and (max-width: 960px) {
    h1{
        font-size: 48px;
    }
    h2{
        font-size: 32px;
    }
    .h2-white{
        font-size: 28px;
    }
    h3{
        font-size: 24px;
    }
    h4{
        font-size: 20px;
    }
}

@media screen and (max-width: 560px) {
    h1{
        font-size: 32px;
        text-align: left;
    }
    h2{
        font-size: 28px;
        text-align: center;
    }
    .h2-white{
        font-size: 22px;
    }

    .h2-title{
        font-size: 18px;
        margin-top: 12px;
        margin-bottom: 8px;
    }

    h3{
        font-size: 20px;
    }

    h4{
        font-size: 18px;
        margin: 16px 0;
    }

    .contact-p{
        font-size: 20px;
    }

    p,li,a{
        font-size: 15px;
    }

    .txt-green{
        font-size: 17px;
    }
}

/* ヘッダー*/
header{
    background-color: #FBF9F7; 
    border-bottom: 1px solid #887770;
}

.header-content{
    align-items: center; 
    box-sizing: border-box;
    display: flex;
    justify-content: space-between; 
    width: 100%;
    height: 102px;
}

.header-content .c-header__logo img{
    height: 75px;
    width: auto;
}

.c-header__list ul{
    display: flex;
}

.c-header__list li{
    margin-right: 2em;
}

.c-header__list li:last-child{
    margin-right: 0;
}

.c-header__list li a:hover{
    opacity: 0.6;
}

.c-header__list a{
    color: #6A6052;
    font-weight: 700;
    font-style: normal;
    line-height: normal;
    letter-spacing: 0.05em;
    font-size: 17px;
    display: block;
    margin-top: 15px;
    padding: 12px 20px;
}

.c-hamburger-menu__bg{
    display: none;
}

.header-btn{
    border: solid 1px #463F38;
    background-color: #F3E184;
    border-radius: 32px;
    padding: 12px 24px;
    color:#463F38;
    font-size: 15px;
    font-family: "noto sans jp", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 2.8;
}

.header-btn:hover{
    background-color: #463F38;
    color: #fff;
    transition: 0.3s;
}

@media screen and (min-width:560px)  and (max-width: 960px) {
    .c-header__list li{
        margin-right: 1em;
    }
}

/*ハンバーガーメニュー*/
.c-hamburger-menu{
    position: relative;
}

@media screen and (max-width: 960px) {
    c-header__list{
        display: flex;
    }
    
    .c-header__list ul{
        display: block;
    }

    .c-header__list li{
        margin-right: 0;
    }

    .c-header__list li{
        padding-bottom: 2em;
    }

    .c-header__list li:last-of-type{
        padding: 0;
    }

    .c-hamburger-menu__list{
        background-color: #F7F8F3; 
        align-items:center;
        display:flex;
        flex-direction: column;
        text-align: center;
        left: 0;
        padding: 2rem; 
        position: absolute;
        transform: translateX(-100%);
        transition: 0.3s; 
        top: 100%;
        width: 100%;
        margin: 0;
        z-index: 100;/* 重なり順を一番上に */
    }

    #hamburger:checked ~ .c-hamburger-menu__list {
        transform: translateX(0%);
        transition: 0.3s;
    }
}

.c-hamburger-menu__input {
    display: none;
}

.c-hamburger-menu__bg{
    background-color: #F7F8F3;
    display: none;
    height: 100vh;
    left: 0;
    opacity: 0.8; 
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
}

#hamburger:checked ~ .c-hamburger-menu__bg {
    display: block;
    
}

.c-hamburger-menu__button {
    display: none;
}

@media screen and (max-width: 960px) {
.c-hamburger-menu__button {
    align-items: center;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px; 
    height: 32px; 
    justify-content: center;
    width: 32px; 
}
}

.c-hamburger-menu__button-mark {
    background-color: #6A6052; 
    display: block;
    height: 1px; 
    transition: 0.3s; 
    width: 20px; 

}

@media screen and (max-width: 960px) {
    #hamburger:checked
        ~ .c-hamburger-menu__button
        .c-hamburger-menu__button-mark:nth-of-type(1) {
        transform: translate(2px, 1px) rotate(45deg); 
        transform-origin: 0%; 

    }
    #hamburger:checked
        ~ .c-hamburger-menu__button
        .c-hamburger-menu__button-mark:nth-of-type(2) {
        opacity: 0;
  
    }
    #hamburger:checked
        ~ .c-hamburger-menu__button
        .c-hamburger-menu__button-mark:nth-of-type(3) {
        transform: translate(2px, 3px) rotate(-45deg); 
        transform-origin: 0%; 
    
    }
}

main{
    overflow: hidden;
}

/* メインビジュアル部分 */
.main-visual{
    position: relative;
    z-index: -1;
    background-color: #F6F5E4;
}

.main-visual-image{
    height: calc(100vh - 95px);
    width: 100%;
    object-fit: cover;
}

.main-visual-content{
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%); /* 中央に配置 */
    text-align: center;
    width: 576px;
}

.main-visual-content p{
    color:#6A6052;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 900;
    font-style: normal;
    line-height: 1;
    display: block;
}

.fv-text1{
    font-size: 56px;
    letter-spacing: 0.35em;
}
.fv-text2{
    font-size: 44px;
    letter-spacing: 0.1em;
}
.fv-text3{
    font-size: 24px;
    letter-spacing: 0.25em;
}

@media screen and (max-width: 860px){
    .main-visual-content{
        width: 560px;
    }
    
    .fv-text1{
        font-size: 48px;
        line-height: 1.0;
    }
    .fv-text2{
        font-size: 36px;
    }
    .fv-text3{
        font-size: 22px;
    }
}


@media screen and (max-width: 480px){
    .main-visual-content{
        width: 320px;
    }
    
    .fv-text1{
        font-size: 40px;
        line-height: 1.0;
    }
    .fv-text2{
        font-size: 24px;
    }
    .fv-text3{
        font-size: 18px;
    }
}


/* 新着情報 */
.news{
    background-color: #F6F5E4;
    padding: 40px 16px;
}

.block-top-topic {
    display: flex;
    margin: 0px auto;
    max-width: 1000px;
    justify-content: space-between;
    align-items: center;
}

.block-left{
    max-height: 320px;
}

.block-topic-header{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
    padding: 0;
    margin: 0;
}

.news-item{
    display: flex;
    max-width: 720px;
    padding: 20px 0 20px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-bottom: 2px solid #CACACA;
}

    .news-item a:hover{
        opacity: 0.5;
        transition: 0.2s;
        -webkit-transition: 0.2s;
    }

.block-show-more{
    border: solid 1px #463F38;
    background-color: #F3E184;
    border-radius: 32px;
    padding: 20px 24px;
    margin: 0;
    color: #463F38;
    font-size: 17px;
    font-family: "noto sans jp", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

    .block-show-more:hover {
        background-color: #463F38;
        color: #fff;
        transition: 0.3s;
    }
        
.news-date{
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.02em;
    font-size: 16px;
    margin: 0;
}

.news-title{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.02em;
    font-size: 20px;
    margin: 0;
}



/* PC画面のスタイル */

@media screen and (min-width: 961px) {
    .news {
        display: flex;
    }

    .block-top-topic {
        display: flex;
        width: 100%;
    }

    .block-topic-header{
        padding-top: 0;
    }
    
    .block-left {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        width: 20%;
        height: 320px;
        gap: 142px;
        margin-right: 2rem;
    }

    .block-topic-header {
        width: 100%;
    }

    .block-top-topic--body {
        width: 80%;
        padding-left:40px;
        }

    .sp-btn{
        display:none ;   
    }

}

        

    /* タブレット以下のスタイル */
    @media screen and (max-width: 960px) {
        .block-top-topic {
            display: flex;
            flex-direction: column;
            align-items: center;
            
        }

        .block-topic-header {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            align-items: center;
            text-align: center;
            margin-bottom: 20px; /* 下部に余白を追加 */
        }

        .block-top-topic--body {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 24px;
        }

        .news-list .news-item {
            width: 100%;
            max-width: 860px; /* リストアイテムの最大幅を設定 */
            padding:12px 12px 16px 12px;
            border-bottom: 1px solid #CACACA; /* 枠線を細くする */
        }

        .news-list .news-item a {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            width: 100%;
        }

        .news-list .news-item .news-date {
            font-size: 15px;
            margin-bottom: 5px; /* 日付の下に余白を追加 */
        }

        .news-list .news-item .news-title {
            font-size: 17px;
            margin: 0;
            width: 100%;
            text-align: left;
        }

        .block-topic-header{
            order: 1; 
        }
        .block-show-more {
            margin-top: 20px; /* 上部に余白を追加 */
            display: inline-block; /* インラインブロックに変更 */
            order: 3; /* 順序を変更して、最後に表示 */
        }

        .block-top-topic--body {
            order: 2; 
        }

        .pc-btn{
            display:none ;   
        }

    }

    @media screen and (max-width: 560px){
        .news-date{
            font-size: 14px;
        }
        .news-title{
            font-size: 16px;
        }

        }


  /* 装飾 */
   
  *{
    box-sizing: border-box;
  }




/* ２カラム右側全幅画像 */
.full-side{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch; /* 親要素の高さに合わせて子要素の高さを揃える */
    max-width: 1000px;
    margin: auto;
}


.full-side img{
    width: auto;  /*幅を親要素に合わせない*/
    height: 100%; /*高さを親要素に合わせる */
    max-height: 480px;
    object-fit: cover;
    /*object-fit: cover;  画像のアスペクト比を保ちながら高さを調整 */
}

.column{
    width: 50%;
}

.column-inside-left{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 16px;
}


.column-inside-left a{
    max-width: 290px;
    margin-top: 20px;
}


.column-outside-right{
    flex: 1;
    /**/
    margin-right: calc(50% - 50vw);/**/
    padding-left: 5%;
    display: flex;
    justify-content: space-around;
}

    /* １カラム表示*/
    @media screen and (max-width: 960px){
        main{
            overflow: hidden;
        }

        .full-side{
            text-align: center;
            flex-direction: column-reverse;
            max-width: 1000px;
            margin: auto;
        }

        .full-side img{
            width: 100%;
            height: auto;
        }

        .column{
            width: 100%;
        }

        .column p{
            padding: 0 ;
        }

        .column-inside-left{
            padding: 0 20px 32px 20px;
            display: block;
            justify-content: flex-start;
        }

        .column-inside-left-info{
            padding-bottom: 32px;
            display:flex;
            flex-direction:column-reverse;
        }
     
        .column-outside-right{
            flex: 1;
            margin-right: calc(50% - 50vw);
            padding-top: 20px;
            padding-left: 0;
        }
    }


/*2カラム左右逆*/
.column-inside-right{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 16px;
}
.column-outside-left{
    flex: 1;
    /**/
    margin-right: calc(50% - 50vw);/**/
    padding-right: 5%;
    display: flex;
    justify-content: space-around;
}




/*左寄せ表示*/
.box-contents-left{
    max-width: 1000px;
    margin: 0;
    flex-direction: column;
    align-items:center;
    text-align: left;
    background-color: #F6F5E4;
}

/*中央表示*/
.box-contents-center{
    display: flex;
    margin: 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background-color: #F6F5E4;
}

.title{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 20px;
}

.h2-center{
    text-align: center;
}

.title p{
    max-width: 560px;
}

/*横並び*/
.wrapper-items{
    display: flex;
    max-width: 1000px;
    gap: 2em;
    align-items: flex-start;
    padding-bottom: 64px;
}

.card-item{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    max-width: 312px;
}

.card-item img{
    border-radius: 20px;
}

.card-number{
    font-size: 22px;
    font-weight: 800;
    margin: 0;
    text-align: left;
}

.card-number span{
    font-size: 28px;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    margin-right: 6px;
}

.item-text{
    padding: 0 12px;
}

.item-text p, li{
    text-align: left;
}

.item-text ul{
    padding-left: 12px;
}


/*タブレット以下の表示*/
@media screen and (max-width:960px) {
    .wrapper-items{
        display: flex;
        flex-direction: column; /*flexアイテムを縦並びに変更*/
        align-items: flex-start;
        padding-bottom: 48px;
        align-items: center;
    }

    .card-item{
        align-self: stretch;
        max-width: 800px;
        align-items: center;
    }

    .card-item p{
        text-align: center;
    }

    .item-text p, li{
        text-align: center;
    }
}





/*top-連携先*/
.box-contents-center-backnone{
    display: flex;
    margin: 48px auto 88px auto;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
    /*画像横並び*/
    .box-2{
        display: flex;
        gap: 40px;
        margin: 24px auto 40px ;
    }
    
    /*タブレット以下の表示*/
    @media screen and (max-width:960px) {
        .box-2{
            display:block;
            gap: 20px;
            margin: 20px auto 32px ;
        }
        .box-2 img{
            width: auto;
            height: 64px;
            margin: 8px;
        }
    }



/* 画像無限ループ*/
.scroll-infinity{
    margin-bottom: 32px;
}
@keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }
      to {
      transform: translateX(-100%);
    }
    }
.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
}
.scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
}
.scroll-infinity__list--left {
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
    width: calc(100vw / 5);
    margin-right: 20px;
}
/*
.scroll-infinity__item img {
    height: 160px;
    width: 229px;
}*/
.scroll-infinity__item>img {
    width: 100%;
}

@media screen and  (max-width:960px) {
    .scroll-infinity{
        margin-bottom: 12px;
    }
    .scroll-infinity__item {
        width: calc(100vw / 4);
        margin-right: 20px;
    }
}

@media screen and  (max-width:560px) {
    .scroll-infinity{
        margin-bottom: 0px;
    }
    .scroll-infinity__item {
        width: calc(100vw / 2);
        margin-right: 16px;
    }
}
    

/*支援する*/
.box-contents-center-back{
    display: flex;
    margin: 0 ;
    padding-bottom: 88px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background-image:url("../img/top-joinus.jpg");/*ディレクトリ注意！*/
    background-size: cover;
    background-position: center;
}

.box-contents-center-back span{
    color: #F3E184;
}

.box-contents-center-back p{
    color: #fff;
}


    .block-show-more-white{
        /*  display: flex;
        align-items: center;
        justify-content: space-between;*/
        border: solid 1px #fff;
        background-color: transparent;
        border-radius: 32px;
        padding: 16px 32px;
        margin-bottom: 1rem;
    }
    
    .block-show-more-white{
        color: #fff;;
        font-size: 17px;
        font-family: "noto sans jp", sans-serif;
        font-weight: 700;
        font-style: normal;
        letter-spacing: 0.1em;
        line-height: 1.2;
    }
  
    .block-show-more-white:hover{
        background-color: #fff;
        color: #6EA85F;
        transition: 0.3s;
    }

/*お問い合わせ*/
.contact-text{
    max-width: 840px;
}
.card-contact{
    width: 460px;
    max-height: 200px;
    background-color: #fff;
    border-radius: 20px;
    border-color: #463F38;
    border: solid 1px;
    padding: 24px 32px;
}

.card-contact p{
    font-weight: 700;
}

.side-img {
    display: inline-block;
    vertical-align: middle;
  }

.side-txt {
    display: inline-block;
    margin-left: 12px;
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 250%;
    margin: 0;
}

.side-txt-number {
    font-size: 24px;
    display: inline-block;
    margin-left: 12px;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    padding-right: 12px;
    margin: 0;
}

    /*タブレット以下の表示*/
    @media screen and (max-width:960px) {
        .card-contact{
            max-width: 400px;
            padding: 24px;
        }
        .side-txt-number {
            font-size: 18px;
            padding-right: 4px;
        }
        .side-txt {
            font-size: 18px;
        }
        .side-img img{
            width: 34px;
            height: auto;
          }
    }

    @media screen and (max-width:480px) {
        .card-contact{
            width: 320px;
            padding: 20px;
        }
        .side-img img{
            width: 24px;
            height: auto;
          }
        .side-txt-number {
            font-size: 17px;
            padding-right: 0px;
        }
        .side-txt {
            font-size: 17px;
        }
    }


/* 下層h1 */
.h1-visual{
    position: relative;
    z-index: -1;
    background-color: #FBFAF7;
}

.h1-image{
    height: calc(38vh);
    width: 100%;
    object-fit: cover;
}

.h1-content{
    position: absolute;
    bottom: 0%;
    left: 0%;
    text-align: center;
    padding: 0px 64px 0px 56px;
    background-color:#FBF9F7;
    border-radius: 0px 50px 0px 0px;
}


@media screen and (max-width: 860px){
    .h1-content{
        padding: 0px 48px 0px 40px;
        border-radius: 0px 36px 0px 0px;
    }
    
}


@media screen and (max-width: 480px){
    .h1-image{
        height: calc(20vh );
    }
    .h1-content{
        padding: 0px 36px 0px 28px;
        border-radius: 0px 24px 0px 0px;
    }
}


/* newsページ */
.news-all{
    background-color: #FBF9F7;
    padding: 64px 20px 72px 20px;
}

.block-news-all {
    display: flex;
    flex-direction: column;
    margin: auto;
    width: 1000px;
    padding: 0px;
}

/*.block-news-all {
    flex-direction: column;
    align-items: center;
    display: inline-flex;
    width: 100%;
}*/

.news-all-item{
    width: 100%;
    padding: 20px 32px 24px 32px;
    background-color: #ffff;
    border-radius: 30px;
    border: 1px solid  #6A6052;
    margin-bottom: 40px;
}

.news-all-item a {
    display: block;
    width: 100%;
}
.news-all-item a :hover{
    opacity: 0.5;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}

.news-all-date{
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.02em;
    font-size: 16px;
    color: #6EA85F;
    width: 100%;
}

.news-all-title{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.02em;
    font-size: 20px;
    width: 100%;
}

.under-line{
    border-bottom: 2px solid #6EA85F;
    width: 100%;
}

    /* タブレット以下のスタイル */
    @media screen and (max-width: 960px) {

        .block-news-all {
            width: 100%;
            padding: 0px;
            margin: 0;
        }

        .news-all-item{
            width: 100%;
            border-radius: 24px;
        }
    }

    @media screen and (max-width: 560px) {
        .news-all-list{
            margin: auto 40px;
        }
        .news-all-item{
            padding: 16px 16px 20px 16px;
            border-radius: 20px;
            margin-bottom: 20px;
        }
    }

/* ページネーション */
 .Pagination {
    max-width: 1000px;
    display: flex;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%); 
  }
  .Pagination-Item-Link {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    overflow: hidden;
    background: #fff;
    border: solid 1px #463F38;
    font-size: 16px;
    color: #463F38;
    font-weight: bold;
    transition: all 0.15s linear;
  }
  .Pagination-Item-Link-Icon {
    width: 20px;
  }
  .Pagination-Item-Link.isActive {
    background: #463F38;
    color: #fff;
    /*pointer-events: none;*/
  }
  .Pagination-Item-Link:not(.isActive):hover {
    background: #F3E184;
    color: #463F38;
  }
  .Pagination > * + * {
    margin-left: 8px;
  }



/* news投稿ページ */
.post-card{
    margin-bottom: 80px;
}

.news-post-title{
    text-align: left;
    padding-bottom: 8px;
}
.post-date{
    text-align: right;
    font-size: 20px;
}

.post-img{
    margin: 32px 0;
    width: 100%;
    height: auto;
    text-align: center;
}

.back-btn{
    margin-top: 40px;
}

    /* タブレット以下のスタイル */
    @media screen and (max-width: 960px) {
        .post-list li{
            text-align: left;
        }
        .post-card{
            margin-bottom: 32px;
        }
    }

    @media screen and (max-width: 560px) {
        .post-card{
            margin-bottom: 16px;
        }
        .news-all-list{
            margin: auto 28px;
        }
        .news-post-title{
            font-size:20px;
        }
        .post-date{
            font-size: 17px;
            margin: 8px auto;
        }
        .post-img{
            margin: 20px 0;
        }
        
        .post-list{
            text-align: left;
        }
    }

/* Aboutページ */
.under-section{
    background-color: #FBF9F7;
}
.section-card{
    background-color: #6EA85F;
    border-radius: 40px;
    padding: 32px 40px 40px 40px;
}

.h2-white span{
    color: #F3E184;
}

.title-2  p{
    color: #fff;
}

.title-2{
    display: flex;
    margin-bottom: 20px;
}

.h3-white,.number-deco{
    font-family: "Montserrat", sans-serif;
    font-size: 44px;
}

.h3-white{
    color: #fff;
    padding-top: 24px;
}

.number-deco{
    color: #6EA85F;
    font-size: 32px;
    font-weight: 800;
    margin-right: 24px;
    padding: 20px 0;
    letter-spacing: 1px;
}

.number-deco span{
    font-size: 24px;
}

.h3-title{
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    line-height: 0.9;
    letter-spacing: 0.2em;
    font-size: 18px;
    display: block;
    margin-top: 2px;
    margin-bottom: 12px;
}

.h3-center span{
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    color: #fff;
}

.title-2 p{
    font-size: 24px;
    font-weight: 700;
    max-width: 753px;
    text-align: left;
    margin-left: 2rem;
}

@media screen and (max-width: 960px) {
    .section-card{
        border-radius: 24px;
        padding: 24px 32px 32px 32px;
    }
    .h3-white{
        font-size: 40px;
    }
    .title-2 p{
        font-size: 20px;
    }
}

    @media screen and (max-width: 560px) {
        .section-card{
            border-radius: 12px;
            padding: 20px 24px 24px 24px;
        }
        .h3-white{
            font-size: 36px;
        }
        .title-2{
            display: block;
        }
        .title-2 p{
            font-size: 18px;
            margin-left: 0px;
        }
        .number-deco{
            font-size: 32px;
            margin-right: 16px;
            padding: 20px 0 8px 0;
        }
    }

/* 法人概要 */
.outline{
    display: flex;
    flex-direction: column;
    margin: auto;
    max-width: 1000px;
    width: 100%;
    align-items:start;
}

.under-line-h2{
    margin-bottom: 40px;
    padding-bottom: 12px;
    text-align: left;
    border-bottom: solid 3px #6EA85F;
    width: 100%;
}

.outline dl {
    width: 98%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    text-align: left;
    margin-bottom: 20px;
}

.outline dt {
    width: 32%;
    margin: 0;
    border-bottom: 1px solid #ccc;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2rem;
    padding: 1.2em 1em 1em 0;
    vertical-align: middle;
    align-items: center;
    letter-spacing: 0.05em;
    color: #463F38;
}

.outline dd {
    width: 68%;
    margin: 0;
    padding: 1em 1em 1em 0;
    border-bottom: 1px solid #ccc;
    font-size: 20px;
    font-weight: 400;
    vertical-align: middle;
    line-height: 2.7rem;
    letter-spacing: 0.05em;
}
.outline a{
    font-size: 20px;
    word-wrap:break-word;
}

.outline h5{
    margin: 0;
}

.outline p{
    font-size: 18px;
    margin: 0;
}

.block-1{
    margin-bottom: 16px;
}

.block-1 h5{
    font-size: 18px;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
}

.link-doc{
    text-decoration: underline;
}

.link-doc:hover{
    opacity: 0.5;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}

@media screen and (max-width: 560px)  {
    .under-line-h2{
        margin-bottom: 24px;
    }
    .outline dl{
        padding: 0;
        margin-bottom: 12px;
    }
    .outline dt {
        width: 100%;
        font-size: 17px;
        line-height: 120%;
        border-bottom: none;
        padding: 1em 0 0.4em 0;
    }
    
    .outline dd {
        width: 100%;
        font-size: 16px;
        line-height: 150%;
        margin-bottom: 16px;
        padding: 1em 0 0.4em 0;
    }
    .outline a{
        font-size: 16px;
    }
    .blaock-1{
        margin-bottom: 12px;
    }

    .outline p{
        font-size: 15px;
    }
    .block-1 h5{
        margin-bottom: 8px;
        font-size: 15px;
    }
}


.img-pc{
    width: 100%;
    height: auto;
    text-align: center;
    margin:auto 20px;
}

.img-sp {
    display: none;
}

@media screen and (max-width:560px) {
    .img-pc {
        display: none;
    }

    .img-sp {
        display: block;
        width: 100%;
        height: auto;
        text-align: center;
        padding: 16px 20px;
    }
}

/*加盟団体,事業報告*/
.outline-btn{
    margin: 40px 0;
}

.block-outline-btn{
    font-size: 18px;
    padding: 16px 36px;
}

.block-outline-btn {
    border: solid 1px #463F38;
    background-color: #F3E184;
    border-radius: 32px;
    padding: 20px 40px;
    margin: 12px 0;
    color: #463F38;
    font-size: 17px;
    font-family: "noto sans jp", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

    .block-outline-btn:hover {
        background-color: #463F38;
        color: #fff;
        transition: 0.3s;
    }
        

.grid-3 {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1.5rem;
  }

  .Vertical-line-h3,.Vertical-line{
    padding: 0 0.5em;
    border-left: solid 4px #6EA85F;
    text-align: left;
  }
  .Vertical-line-h3{
    font-size: 24px;
    margin-bottom: 16px;
  }
 .Vertical-line{
    margin-top: 0px;
    margin-bottom: 8px;
 }

.grid-3 li{
    margin-bottom: 16px;
    display: flex;
}

.grid-3 a{
    color: #6EA85F;
    font-weight: 500;
    vertical-align: middle; 
}
.grid-3 img{
    margin-left: 8px;
    vertical-align: middle; 
}

.link-hover:hover{
    opacity: 0.5;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}

@media screen and (max-width:940px) {
    .grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-bottom: 1.5rem;
        padding-right: 20px;
      }
    
    .Vertical-line-h3{
    font-size: 20px;
    margin: 16px 0;
    }
    
    .grid-3 li{
        margin-bottom: 24px;
    }
    .grid-3 a{
        font-size: 20px;
    }
    
}


@media screen and (max-width:560px) {
    .grid-3 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        margin-bottom: 1.5rem;
      }
    .Vertical-line-h3{
    font-size: 18px;
    margin: 12px 0;
    }
    
    .grid-3 h3{
    font-size: 18px;
    margin: 16px 0;
    }
    
    .grid-3 li{
        margin-bottom: 20px;
    }
    .grid-3 a{
        font-size: 17px;
    }
    
}


/* 会員名簿 */
.under-page-txt{
    text-align: center;
    margin-top: 64px;
    font-size: 24px;
    font-weight: 700;
}

.grid-member {
    display: grid;
    place-items: center;
    width: 100%;
    max-width: 1000px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    text-align: center;
    margin-top: 24px;
  }

@media screen and (max-width:1000px) {
    .under-page-txt{
        font-size: 22px;
        margin: 56px 20px 0px 20px;
    }
    .grid-member {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0 16px;
      }
}


@media screen and (max-width:740px) {
    .under-page-txt{
        margin: 48px 20px 0px 20px;
        font-size: 17px;
    }

    .grid-member {
        grid-template-columns: repeat(1, minmax(0, 1fr));
      }
    
}

.card-member{
    width: 316px;
    background-color: #fff;
    border-radius: 20px;
    border-color: #60504A;
    border: solid 1px;
    padding: 16px;
    margin-bottom: 20px;
}

.member-img{
    width: 284px;
    height: 169px;
    margin: 0;
}

.member-name{
    color: #6EA85F;
    font-size:17px; 
    font-weight: 700;
    text-align: left;
    letter-spacing: 0.85px;
    margin-top: 4px;
    margin-bottom: 0px;
}

.member-link-box{
    justify-content: flex-end;
    min-height: 106px;   
    width: 100%;
    padding-top: 4px;
    padding-bottom:0px;
    border-bottom: solid #6EA85F;
}

.member-link-box a{
    display: flex;
    align-items: center; /* テキストと画像を中央揃えに */
    word-break: break-all;
}

.card-member a{
    color: #463F38;
    text-align: left;
    font-size: 14px;
}

.member-link-box img{
    margin: 16px;
    height: 29px;
    width: auto;
}

.social-icon-box{
    display: flex;
}

.member-link-box a :hover{
    opacity: 0.5;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}

/* 活動紹介*/
.width-fixed{
    max-width: 1000px;
}

.h2-title-box{
    position: relative;
    padding: 3rem 8px 20px 32px;
    font-size: 36px;
    font-weight: 800;
}

.h2-title-number{
    font-family: "Montserrat", sans-serif;
    font-size: 88px;
    font-weight: 800;
    line-height: 1;
    margin-right: 12px;
    position: absolute;
    left: 1px;
    top: 0.5rem;
    z-index: -1;
}

@media screen and (max-width:960px) {
    .h2-title-number{
        position: absolute;
        left: 30%;
        top: 0.5rem;
    }
}

@media screen and (max-width:560px) {
    .h2-title-box{
        text-align: center;
        padding: 30px 24px 16px 24px;
        font-size: 28px;
    }
    .h2-title-number{
        font-size: 64px;
        left: 40%;
        top: 0.5px;
    }
}

/*タイトル装飾*/
.yellow{
    color: #F6ECB7;
}

.green{
    color: #CFEBB4;
}

.pink{
    color: #FFCEF4;
}

.bold-midium{
    font-size: 24px;
    font-weight: 700;
    margin-top: 0px;
    margin-bottom: 8px;
}

.bold-small{
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    padding: 0;
}
@media screen and (max-width:960px) {
    .bold-midium{
        text-align: left;
    }
    
    .bold-small{
        text-align: left;
    }

    .bold-small p{
        text-align: left;
    }
}

@media screen and (max-width:560px) {
    .bold-midium{
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 20px;
        text-align: left;
    } 
    .bold-small{
        font-size: 16px;
        font-weight: 600;
        margin: 0px;
        padding-left: 0px;
        text-align: left;
    }
}

.list-box{
    margin-top: 20px;
    margin-bottom: 0px;
    text-align: left;
}

.list-green{
    font-size: 18px;
    font-weight: 500;
    padding-left: 1.3em;
    text-indent: -1.3em;
    line-height: 220%;
    text-align: left;
}

.list-green:before {
    content:  "";     /* 空の要素作成 */
    width:  8px;               /* 幅指定 */
    height:  8px;              /* 高さ指定 */
    display:  inline-block;     /* インラインブロックにする */
    background-color: #81AB69;  /* 背景色指定 */
    border-radius:  50%;        /* 要素を丸くする */
    vertical-align: middle;
    margin-right: 0.5em;
}

.list-brawn{
    font-size: 17px;
    font-weight:400;
    line-height: 1.6;
    margin-left: 16px;
}
.list-brawn:before {
    width:  4px;               
    height:  4px;              
    background-color: #463F38; 
}

.two-column-box{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0;
    height: auto;
}



.left-img{
    padding-right: 40px;
    height: 100%;
    margin: 0;
    object-fit: cover; 
}

@media screen and (max-width:960px) {    
    .two-column-box,.column-inside-left{
        padding: 0;
        margin: 32px 0;
    }
    .left-img{
        padding-right: 0px;
        height: 240px;
        margin: 0;
    }
    .list-green{
        margin-left: 24px;
    }
    .list-brawn{
        margin-left: 5%;
    }
}

@media screen and (max-width:560px) {
    .list-green{
        font-size: 16px;
        font-weight: 500;
        margin-left: 5%;
    }
    .list-brawn{
        font-size: 16px;
    }
    
    .two-column-box,.column-inside-left{
        padding: 0;
    }
}

/* 記事コンテンツ（グランパなど）*/
.article-01{
    margin: 40px 20px;
}

.img-card{
    text-align: center;
    align-items: center;
    max-width: 280px;
    height: auto;
}

.img-card img{
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.txt-deco{
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
    align-items: center;
    letter-spacing:0.01em; 
}

.txt-deco:before,.txt-deco:after {
    content:  "";   
    width:  7px;              
    height:  7px;             
    display:  inline-block; 
    background-color: #F3E184;  
    border-radius:  50%;        
    vertical-align: middle;  
}
.txt-deco:before{
    margin-right: 0.4em;
}
.txt-deco:after{
    margin-left: 0.4em;
}

.column-full{
    max-width: 1000px;
    margin: 40px auto 20px auto;
}

/* 参加・支援ページ*/
.width-80{
    max-width: 1000px;
    width: 80%;
    padding: 20px 64px;
    text-align: center;
    align-items: center;
}

.box-center{
    text-align: center;
    margin: auto;
}

.white-box{
    background-color: #fff;
    padding: 1px 32px;
    margin-bottom: 12px;
    width:100%;
    border-radius: 16px;
    text-align: center;
}

.white-box p{
    font-size: 24px;
    font-weight: 600;
    color: #6EA85F;
    line-height: 160%;
    letter-spacing: 0.05em;
    margin: 12px auto;
}

@media screen and (max-width:960px) {
    .width-80{
        width: 100%;
        padding: 10px 32px;
    }
    .white-box{
        padding: 2px 28px;
    }
    .white-box p{
        font-size: 22px;
    }
}
@media screen and (max-width:560px) {
    .width-80{
        padding: 10px 16px;
    }
    .white-box{
        padding: 2px 16px;
        border-radius: 10px;
    }
    .white-box p{
        font-size: 18px;
        margin: 8px auto;
    }
}


/* ステップ*/
.step-frame{
    margin-bottom: 40px;
}
.title-aline-center{
    align-items: center;
    display: flex;
    margin-bottom: 0px;
}

.link-green{
    font-size: 16px;
    color: #6EA85F;
    font-weight: 400;
}
.link-green:hover{
    opacity: 0.5;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}
.aline-left,.aline-left li{
    text-align: left;
}
.txt-box{
    margin-bottom: 20px;
}


/* 会費表　テーブル*/
.content_area {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 20px;
}

.cost-table {
    width: 100%;
    min-width: 600px;
    margin: 20px 0;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    text-align: center;
    align-items: center;
    place-items: center;
}

.table-box h4,.table-box p{
    margin: 0px;
}

.cost-tr td{
    font-size: 20px;
}

.cost-table th,
.cost-table td {
    padding: 8px 12px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 2.7rem;
    text-align: center;
    align-items: center;
}

th {
    background: #F5F5F5;
    font-weight: bold;
    text-align: left;
    width: 112px;
    place-items: center;
}

td{
    vertical-align: top;
    background: #Fff;
    width: 256px;
}

.yellow-txt,.green-txt,.pink-txt,.cost-table td,.cost-table th,.cost-tr p,.small-p{
    font-family: 'Noto sans JP';
}

td,th,.cost-tr p,.small-p{
    color: #463F38;
}

.yellow-txt,.green-txt,.pink-txt{
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 4px;
    margin-bottom: 20px;
}

.yellow-txt p,.green-txt p,.pink-txt p{
    margin-top: 20px;
}
.small-p p{
    font-size: 16px;
    text-align: left;
}

.yellow-txt{
    color: #AD8620;
}
.green-txt{
    color: #6EA85F;
}
.pink-txt{
    color: #D386C3;
}


@media screen and (max-width: 600px) {
    .yellow-txt,.green-txt,.pink-txt{
        font-size:20px;
        margin-bottom: 16px;
    }
    .yellow-txt p,.green-txt p,.pink-txt p{
        margin-top: 10px;
    }
    .small-p p{
        font-size: 14px;
    }

    .table_box {
        overflow-x: scroll;
    }

    .cost-table{
        text-align: center;
        max-width: 640px;
        white-space: nowrap;
    }
    
    .cost-table .txt-newline {
        white-space: normal; /* ここでテキストを折り返す設定 */
    }

    .table_box table th,
    .table_box table td {
        max-width: 188px;
    }

    /* スクロールバー全体を対象にする */
    .table_box::-webkit-scrollbar {
        width: 10px; /* スクロールバーの幅 */
        height: 10px; /* スクロールバーの高さ */
    }

    /* スクロールバーの背景部分をカスタマイズ */
    .table_box::-webkit-scrollbar-track {
        background: #888; /* スクロールバーの背景色 */
        border-radius: 5px; /* 角丸にする */
    }

    /* スクロールバーの操作部分をカスタマイズ */
    .table_box::-webkit-scrollbar-thumb {
        background:#6EA85F; /* スクロールバーの操作部分の背景色 */
        border-radius: 5px; /* 角丸にする */
    }

    /* スクロールバーの操作部分にホバーした時のスタイル */
    .table_box::-webkit-scrollbar-thumb:hover {
        background: #555; /* ホバー時のスクロールバーの操作部分の背景色 */
    }
}





/* プライバシー*/
.text-box{
    margin: 40px 0 56px 0 ;
}

@media screen and (max-width:560px) {
    .text-box{
    margin: 32px 0 40px 0 ;
    }
}




/* footer */

  address,
  .footer__address a {
      color: #463F38;
      font-family: "Noto Sans JP", sans-serif;
      font-size: 17px;
      font-weight: 500;
      font-style: normal;
      line-height: 180%;
  }
  
  .footer-grid {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 0.4rem;
      margin-bottom: 1.5rem;
      padding-right: 20px;
  }
  
  .footer {
      padding: 2rem;
      font-size: 16px;
      color: #463F38;
      background: #FBF9F7;
  }
  
  .footer__logo {
      display: flex;
      margin-bottom: 2rem;
      text-align: center;
  }
  
  .footer__logo img {
      height: auto;
      width: 280px;
  }
  
  .mun-logo {
      margin: 0 0 0 auto;
  }
  
  .mun-logo a {
      gap: 20px;
      font-size: 18px;
      font-weight: 600;
  }
  
  .mun-logo img {
      vertical-align: middle;
      height: 100%;
      width: auto;
  }
  
  .mun-logo a:hover {
      opacity: 0.5;
      transition: 0.2s;
      -webkit-transition: 0.2s;
  }
  
  .footer__navi li {
      margin-bottom: 0.75rem;
      text-align: left;
  }
  
  .footer__address {
      margin-bottom: 2rem;
      line-height: 200%;
      color: #60504A;
  }
  
  address {
      font-weight: 400;
  }
  
  .footer__address a {
      text-decoration: underline;
  }
  
  .footer__navi a {
      color: #60504A;
      font-family: "Noto Sans JP", sans-serif;
      font-size: 16px;
      font-weight: 500;
      font-style: normal;
      line-height: 180%;
  }
  
  .footer__navi a:hover {
      opacity: 0.5;
      transition: 0.2s;
      -webkit-transition: 0.2s;
  }
  
  .footer__navi img {
      margin-left: 12px;
      width: 16px;
      height: auto;
  }
  
  .footer__social {
      display: flex;
      text-align: center;
  }
  
  .footer__social:hover {
      opacity: 0.5;
      transition: 0.2s;
      -webkit-transition: 0.2s;
  }
  
  .footer__social img {
      width: 34px;
      height: auto;
      margin: 14px;
  }
  
  @media (min-width: 768px) {
      .md-flex {
          display: contents;
      }
  
      .md-justify-between {
          justify-content: space-between;
      }
  
      .footer-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  
      address,
      .footer__address a {
          font-size: 18px;
      }
  
      .footer__navi a {
          font-size: 16px;
      }
  
      .mun-logo a {
          display: flex;
          font-size: 15px;
          text-align: right;
      }
  }
  
  @media (min-width: 1000px) {
      .lg-flex {
          display: flex;
          text-align: left;
      }
  }
  
  @media screen and (max-width: 560px) {
    .footer__navi a{
        text-align: left;
    }
      .lg-flex {
          flex-direction: column;
      }
  
      .footer__logo,.footer__logo a,.mun-logo,.mun-logo a {
          align-items: center;
          text-align: center;
      }

      .mun-logo img{
        margin-left: 8px;
      }
      .footer__navi li {
        margin-bottom: 0.5rem;
        text-align: center;
    }
  }
  
  .copyright {
    font-size: 12px;
    font-weight: 400;
    padding: 1rem;
    margin: 0;
    line-height: 1.1;
    color: #fff;
    text-align: center;
    background: #463F38;
  }
