/*
Theme Name: Taste One Page
Theme URI: https://xwork.jp/taste/
Author: Neoproject
Description: 障がい福祉事業所・相談支援事業所「ていすと」用の1ページWordPressテーマです。
Version: 1.0.0
Text Domain: taste-theme
*/
body {
  margin: 0;
  font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
  color: #333;
  line-height: 1.8;
  background: #fffdf8;
}

img {
  max-width: 100%;
  display: block;
}

.header {
  background: rgba(255,255,255,0.96);
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 4px 18px rgba(0,0,0,0.06);
}

.header-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo img {
  width: 192px;
}

.nav a {
  margin-left: 24px;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
}

.hero {
  background: linear-gradient(135deg, #fffdf8, #f1fbef);
  padding: 70px 24px;
}

.hero-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
}

.hero-text,
.hero-photo {
  flex: 1;
}

.catch,
.en {
  color: #69b53f;
  font-weight: bold;
}

.hero h1 {
  font-size: 52px;
  line-height: 1.35;
  margin: 10px 0 24px;
}

.hero h1 span {
  color: #69b53f;
}

.hero-photo img {
  border-radius: 32px;
  box-shadow: 0 16px 36px rgba(0,0,0,0.14);
}

.btn {
  display: inline-block;
  background: #ff9f1c;
  color: #fff;
  padding: 14px 34px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 20px;
}

.section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 80px 24px;
  text-align: center;
}

.bg {
  background: #f4fbf8;
  max-width: none;
}

.bg > * {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.section-logo {
  width: 180px;
  margin: 0 auto 20px;
}

h2 {
  font-size: 34px;
  margin: 0 0 35px;
}

.about > p:last-child {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
}

.cards {
  display: flex;
  gap: 24px;
}

.card {
  flex: 1;
  background: #fff;
  padding: 32px;
  border-radius: 26px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.07);
  text-align: left;
}

.card h3 {
  color: #69b53f;
  font-size: 22px;
}

.support {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.support div {
  background: #fff;
  padding: 28px;
  border-radius: 22px;
  border: 2px dashed #9ed68c;
  text-align: left;
}

.support h3 {
  color: #69b53f;
}

.contact {
  background: linear-gradient(135deg, #69b53f, #4db7c5);
  color: #fff;
  text-align: center;
  padding: 70px 24px;
}

.contact-logo {
  width: 150px;
  margin: 0 auto 20px;
}

.contact a {
  display: inline-block;
  background: #fff;
  color: #69b53f;
  padding: 12px 34px;
  border-radius: 999px;
  font-size: 32px;
  font-weight: bold;
  text-decoration: none;
}

@media (max-width: 768px) {
  .header-inner,
  .hero-inner,
  .cards {
    flex-direction: column;
  }

  .nav {
    text-align: center;
    margin-top: 10px;
  }

  .nav a {
    display: inline-block;
    margin: 4px 8px;
  }

  .hero h1 {
    font-size: 36px;
  }

  .support {
    grid-template-columns: 1fr;
  }

  h2 {
    font-size: 28px;
  }
}

footer{
    background: linear-gradient(135deg,#66b83d 0%,#4fa56d 100%);
    color:#fff;
    text-align:center;
    padding:60px 20px 30px;
    margin-top:80px;
    position:relative;
    overflow:hidden;
}

/* ?㕔?̔g?` */
footer::before{
    content:"";
    position:absolute;
    top:-45px;
    left:0;
    width:100%;
    height:70px;
    background:#fff;
    border-radius:0 0 50% 50%;
}

footer p{
    margin:0;
    line-height:1.8;
}

footer p:first-child{
    font-size:14px;
    letter-spacing:2px;
    opacity:.9;
}

footer p:nth-child(2){
    font-size:28px;
    font-weight:bold;
    margin:10px 0 25px;
}

footer small{
    display:block;
    margin-top:25px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.3);
    font-size:13px;
    letter-spacing:1px;
    color:rgba(255,255,255,.8);
}

/* ?X?}?z */
@media screen and (max-width:768px){

    footer{
        padding:50px 15px 25px;
    }

    footer p:nth-child(2){
        font-size:22px;
    }

}

.access{
    background:#f7fbf5;
    padding:100px 20px;
}

.access .inner{
    max-width:1200px;
    margin:auto;
}

.access .en{
    color:#6db642;
    text-align:center;
    font-weight:bold;
    letter-spacing:2px;
}

.access h2{
    text-align:center;
    font-size:40px;
    margin-bottom:50px;
}

.access-wrap{

    display:flex;
    gap:50px;
    align-items:stretch;

}

.access-map{

    flex:1;

}

.access-map iframe{

    width:100%;
    height:100%;
    min-height:500px;

    border:none;
    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.1);

}

.access-info{

    flex:1;

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.access-logo{

    width:120px;

    display:block;

    margin:0 auto 20px;

}

.access-info h3{

    text-align:center;

    color:#66b83d;

    margin-bottom:30px;

}

.access-info table{

    width:100%;

    border-collapse:collapse;

}

.access-info th{

    width:170px;

    background:#f4faf0;

    color:#66b83d;

    text-align:left;

    padding:15px;

    border-bottom:1px solid #eee;

}

.access-info td{

    padding:15px;

    border-bottom:1px solid #eee;

}

.mapbtn{

    display:block;

    margin-top:35px;

    text-align:center;

    background:#ff9800;

    color:#fff;

    padding:16px;

    border-radius:50px;

    font-weight:bold;

    text-decoration:none;

    transition:.3s;

}

.mapbtn:hover{

    background:#ef8600;

}

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

.access-wrap{

    flex-direction:column;

}

.access-map iframe{

    min-height:350px;

}

.access h2{

    font-size:32px;

}

}


.company{

    padding:100px 20px;

    background:#ffffff;

}

.company .inner{

    max-width:1100px;

    margin:auto;

}

.company .en{

    text-align:center;

    color:#69b53f;

    font-weight:bold;

    letter-spacing:2px;

}

.company h2{

    text-align:center;

    font-size:40px;

    margin-bottom:50px;

}

.company-box{

    background:#fff;

    border-radius:25px;

    padding:45px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

}

.company-title{

    display:flex;

    align-items:center;

    gap:30px;

    margin-bottom:40px;

}

.company-title img{

    width:100px;

}

.company-title h3{

    margin:0;

    color:#69b53f;

    font-size:30px;

}

.company-title p{

    margin-top:8px;

    color:#666;

}

.company table{

    width:100%;

    border-collapse:collapse;

}

.company th{

    width:180px;

    background:#f5faf2;

    color:#69b53f;

    text-align:left;

    padding:18px;

    border-bottom:1px solid #eee;

}

.company td{

    padding:18px;

    border-bottom:1px solid #eee;

}

.company td a{

    color:#69b53f;

    text-decoration:none;

}

.company td a:hover{

    text-decoration:underline;

}

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

.company-box{

    padding:25px;

}

.company-title{

    flex-direction:column;

    text-align:center;

}

.company-title h3{

    font-size:24px;

}

.company th,
.company td{

    display:block;

    width:100%;

}

}

/* WordPress お知らせ・固定ページ */
.news-list{max-width:900px;margin:0 auto 30px;background:#fff;border-radius:22px;padding:10px 30px;box-shadow:0 8px 24px rgba(0,0,0,.07)}
.news-item{border-bottom:1px solid #eee;text-align:left}.news-item:last-child{border-bottom:0}
.news-item a{display:flex;gap:30px;padding:20px 0;color:#333;text-decoration:none}.news-item time{flex:0 0 110px;color:#69b53f;font-weight:bold}
.news-item span{font-weight:bold}.news-more,.back-link a{display:inline-block;background:#69b53f;color:#fff;padding:12px 30px;border-radius:999px;text-decoration:none;font-weight:bold}
.content-page{padding:80px 20px;background:#fffdf8;min-height:60vh}.content-inner{max-width:960px;margin:0 auto}.page-title{font-size:40px;margin:0 0 30px}
.archive-item{background:#fff;border-radius:20px;padding:30px;margin-bottom:24px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.archive-item time,.single-date{color:#69b53f;font-weight:bold}.archive-item h2{font-size:26px;margin:8px 0 12px}.archive-item h2 a{color:#333;text-decoration:none}
.single-content{background:#fff;border-radius:24px;padding:50px;box-shadow:0 8px 28px rgba(0,0,0,.07)}.single-date{display:block;margin-bottom:25px}.single-thumbnail{margin-bottom:30px}.entry-content img{height:auto}.entry-content a{color:#4f9f32}.back-link{margin-top:40px}.pagination{text-align:center;margin-top:35px}.pagination .nav-links{display:flex;justify-content:center;gap:8px}.pagination a,.pagination span{padding:8px 14px;background:#fff;border-radius:8px;text-decoration:none;color:#333}.pagination .current{background:#69b53f;color:#fff}
@media(max-width:768px){.news-item a{display:block}.news-item time{display:block;margin-bottom:6px}.content-page{padding:45px 15px}.single-content{padding:28px 20px}.page-title{font-size:30px}.archive-item{padding:22px}.archive-item h2{font-size:22px}}


.archive-btn{
    margin-top:25px;
    text-align:right;
}

.btn-detail{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 28px;
    border:2px solid #6EBE44;
    border-radius:30px;
    color:#6EBE44;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.btn-detail:hover{
    background:#6EBE44;
    color:#fff;
}

.btn-detail span{
    transition:.3s;
}

.btn-detail:hover span{
    transform:translateX(5px);
}

@media (max-width:768px){

    .archive-btn{
        text-align:center;
    }

    .btn-detail{
        width:100%;
        max-width:220px;
        justify-content:center;
    }

}


/* 情報公開 */
/*==================================
 情報公開
==================================*/

.disclosure{

    padding:100px 20px;
    background:#f7fbf5;

}

.disclosure .inner{

    max-width:1000px;
    margin:auto;

}

.disclosure .en{

    text-align:center;
    color:#69b53f;
    font-weight:bold;
    letter-spacing:2px;

}

.disclosure h2{

    text-align:center;
    font-size:40px;
    margin-bottom:20px;

}

.disclosure-text{

    text-align:center;
    color:#666;
    margin-bottom:50px;

}

.pdf-list{

    display:flex;
    flex-direction:column;
    gap:20px;

}

.pdf-list a{

    display:flex;
    align-items:center;
    gap:20px;

    background:#fff;

    padding:24px 30px;

    border-radius:18px;

    text-decoration:none;

    color:#333;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.pdf-list a:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.pdf-icon{

    font-size:42px;

}

.pdf-list strong{

    display:block;
    font-size:20px;
    color:#69b53f;

}

.pdf-list small{

    color:#777;

}

.arrow{

    margin-left:auto;
    font-size:36px;
    color:#69b53f;

}

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

    .disclosure{

        padding:70px 20px;

    }

    .disclosure h2{

        font-size:30px;

    }

    .pdf-list a{

        padding:20px;

    }

    .pdf-list strong{

        font-size:18px;

    }

    .pdf-icon{

        font-size:34px;

    }

}