@charset "UTF-8";

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

/************************************
** 子テーマ用のスタイルを書く
************************************/

/*ヘッダーモバイルボタンの文字色と背景色を変更*/
.search-menu-button.menu-button,
.navi-menu-button.menu-button,
.logo-menu-button.menu-button {
	background: #ffffff;
	color: #000000;
}

.mobile-menu-buttons .menu-icon,
.mobile-menu-buttons .menu-caption {
   color: #000000;
}

.mobile-menu-buttons{
	background: #ffffff;
}

/*768px以下でロゴの大きさを変更*/
@media screen and (max-width: 768px){
img.site-logo-image{
	width: 200px;
}
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/* CAT’S INN TOKYO 共通CSS
   2026-09-17 最終整理版 v6：重複整理・モバイル最終調整統合 */

@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@700;800;900&display=swap");

/* 基本・PC共通 */
/* 基本設定 */
*{
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}

a:hover{
  opacity:.85;
}

.home .entry-content h2{
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

.home .entry-content h2::before,.home .entry-content h2::after{
  background:none;
  border:0;
  box-shadow:none;
}

:root{
  --cats-side-space:25%;
  --cats-primary:#A2D7DD;
  --cats-primary-dark:#347F87;
  --cats-primary-light:#EDF7F7;
  --cats-blue:#73B8E2;
  --cats-pink:#F6ADC6;
  --cats-pink-dark:#C85E82;
  --cats-text:#3D3D3D;
  --cats-subtext:#707070;
  --cats-border:#E5E5E2;
  --cats-light-gray:#F5F4F1;
  --cats-white:#FFFFFF;
  --cats-black:#141414;
}

body{
  background:var(--cats-white) !important;
  color:var(--cats-text);
}

#main,.main,.content,.content-in{
  background:var(--cats-white) !important;
}

body:has(.cats-hero) .sidebar{
  display:none !important;
}

body:has(.cats-hero) .main{
  width:100% !important;
  max-width:none !important;
}

body:has(.cats-hero) .toc{
  display:none !important;
}

.home .entry-content .cats-support-message,.cats-support .cats-support-message{
  display:block !important;
  margin:0 0 14px !important;
  padding:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#fff !important;
  font-size:27px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-align:center !important;
}

.home .entry-content .cats-support-message::before,.home .entry-content .cats-support-message::after,.cats-support .cats-support-message::before,.cats-support .cats-support-message::after{
  display:none !important;
  content:none !important;
}

.home .entry-content a.cats-support-line-card,.home .entry-content a.cats-support-line-card:link,.home .entry-content a.cats-support-line-card:visited,.home .entry-content a.cats-support-line-card:hover,.home .entry-content a.cats-support-line-card:focus,.home .entry-content a.cats-support-line-card:active,.cats-support a.cats-support-line-card,.cats-support a.cats-support-line-card:link,.cats-support a.cats-support-line-card:visited,.cats-support a.cats-support-line-card:hover,.cats-support a.cats-support-line-card:focus,.cats-support a.cats-support-line-card:active,.cats-support a.cats-support-line-card *,.cats-support a.cats-support-line-card:hover *,.cats-support a.cats-support-line-card:visited *{
  color:inherit;
  text-decoration:none !important;
  text-decoration-line:none !important;
  border-bottom:0 !important;
}

/* ヒーロー */
.cats-hero{
  background:#f7f4ec;
  max-width:none !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:45px var(--cats-side-space);
  display:flex;
  align-items:center;
  gap:6%;
  box-sizing:border-box;
}

.cats-hero-title,.cats-news-home-title,.cats-home-title{
  color:var(--cats-primary-dark) !important;
}

.cats-hero-button-main{
  background:var(--cats-primary-dark);
  color:var(--cats-white) !important;
}

.cats-hero-button-sub{
  color:var(--cats-primary-dark) !important;
  border-color:var(--cats-primary-dark) !important;
  background:var(--cats-white);
  border:1px solid var(--cats-primary-dark);
}

.cats-hero-text{
  width:42%;
  flex-shrink:0;
}

.cats-hero-title{
  margin:0 0 24px;
  font-size:42px;
  line-height:1.35;
  font-weight:700;
  color:var(--cats-primary-dark);
  letter-spacing:.03em;
}

.cats-hero-description{
  margin:0 0 28px;
  font-size:14px;
  line-height:1.9;
  font-weight:400;
  color:var(--cats-text);
}

.cats-hero-buttons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.cats-hero-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:13px 45px 13px 20px;
  border-radius:999px;
  box-sizing:border-box;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  text-decoration:none !important;
  transition:.2s;
}

.cats-hero-button::after{
  content:"→";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:15px;
  line-height:1;
}

.cats-hero-button:hover{
  opacity:.85;
  transform:translateY(-2px);
}

.cats-hero-image{
  position:relative;
  width:calc(52% + var(--cats-side-space));
  height:550px;
  background:url("https://cats-inn.tokyo/wp-content/uploads/2026/09/IMG_1561.jpg") center/cover no-repeat;
  margin-right:calc(var(--cats-side-space) * -1);
  flex-shrink:0;
  overflow:hidden;
  border-radius:28px 0 0 28px;
}

.cats-hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.10);
  pointer-events:none;
  z-index:2;
}

.cats-hero-image img{
  position:absolute !important;
  inset:0;
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) contrast(.96);
  opacity:0;
  animation:catsHeroFade 16s infinite;
}

.cats-hero-image img:nth-child(1){
  animation-delay:0s;
}

.cats-hero-image img:nth-child(2){
  animation-delay:4s;
}

.cats-hero-image img:nth-child(3){
  animation-delay:8s;
}

.cats-hero-image img:nth-child(4){
  animation-delay:12s;
}

.page-id-5302 .cats-hero{
  margin-top:0 !important;
}

/* 最新情報 */
.cats-news-home:not(.cats-hoikuen-home){
  background:#f3f3f3;
}

.cats-news-home-more-button,.cats-home-more-button,.list-more-button{
  background:var(--cats-primary-dark) !important;
  border-color:var(--cats-primary-dark) !important;
  display:inline-block !important;
  padding:9px 30px !important;
  border:1px solid var(--cats-primary-dark) !important;
  border-radius:999px !important;
  color:var(--cats-white) !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  text-decoration:none !important;
  transition:.2s !important;
}

.cats-news-home-more-button:hover,.cats-home-more-button:hover,.list-more-button:hover{
  background:var(--cats-white) !important;
  color:var(--cats-primary-dark) !important;
  border-color:var(--cats-primary-dark) !important;
  opacity:1 !important;
}

.cats-news-home-date{
  color:#808080;
  flex:0 0 82px;
  font-size:15px;
  line-height:1.5;
}

.cats-news-home-text,.cats-home-desc{
  color:var(--cats-text);
}

.cats-news-home:not(.cats-hoikuen-home) .cats-news-home-title{
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:17px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
  color:#C85E82 !important;
  white-space:nowrap;
}

.cats-news-home{
  max-width:1400px;
  margin:40px auto 45px;
  padding:28px 36px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
}

.cats-news-home-header{
  flex:0 0 180px;
  margin:0 !important;
  padding:0 30px !important;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  text-align:center;
}

.cats-news-home-list{
  flex:1;
  min-width:0;
  padding-left:30px;
  border:none !important;
}

.cats-news-home-item{
  display:flex;
  align-items:center;
  min-height:30px;
  padding:1px 0 !important;
  margin:0 !important;
  border:none !important;
  background:none !important;
  box-shadow:none !important;
  color:#333 !important;
  text-decoration:none !important;
}

.cats-news-home-text{
  flex:1;
  min-width:0;
  color:var(--cats-text) !important;
  font-size:15px;
  line-height:1.5;
}

.cats-news-home-arrow{
  display:none !important;
}

.cats-news-home-item:hover .cats-news-home-text{
  color:var(--cats-primary-dark) !important;
}

/* 里親募集中 */
.cats-home-section{
  background:var(--cats-white);
  max-width:1400px !important;
  margin:60px auto !important;
  padding:0 30px !important;
  box-sizing:border-box;
}

.cats-home-title,.cats-hoikuen-title{
  position:relative;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-width:580px;
  min-height:105px;
  margin:0 auto !important;
  padding:0 175px !important;
  box-sizing:border-box;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-size:165px auto,165px auto !important;
  background-position:left 40px center,right 40px center !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  line-height:1 !important;
  white-space:nowrap;
}

.cats-home-title{
  margin-bottom:30px !important;
  font-size:0 !important;
  background-image:url("https://cats-inn.tokyo/wp-content/uploads/2026/09/見出し装飾_伸び猫-1.png"),url("https://cats-inn.tokyo/wp-content/uploads/2026/09/見出し装飾_足跡.png") !important;
}

.cats-home-title::before,.cats-home-title::after{
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

.cats-home-title::before{
  content:"ADOPTION";
  font-family:"Nunito",sans-serif !important;
  font-size:34px;
  line-height:1;
  font-weight:800;
  letter-spacing:.10em;
  color:var(--cats-primary-dark);
}

.cats-home-title::after{
  content:"里親募集中の猫";
  margin-top:10px !important;
  font-size:14px;
  line-height:1.5;
  font-weight:400;
  letter-spacing:.08em;
  color:var(--cats-text);
}

.cats-adoption-header{
  margin-bottom:34px;
  text-align:center;
}

.cats-adoption-header .cats-home-title{
  margin-bottom:8px !important;
}

.cats-recruiting-count{
  display:flex;
  align-items:baseline;
  justify-content:center;
  flex-wrap:wrap;
  margin:0 !important;
  color:var(--cats-text);
  font-size:16px;
  line-height:1.7;
  font-weight:500;
}

.cats-recruiting-count strong{
  display:inline-flex;
  align-items:baseline;
  margin:0 7px;
  color:#E03071;
  font-family:"Nunito",sans-serif;
  font-size:38px;
  line-height:1;
  font-weight:900;
}

.cats-recruiting-count small{
  margin-left:3px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:15px;
  font-weight:700;
}

.cats-home-card{
  text-align:center;
}

.cats-home-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,240px)) !important;
  justify-content:center !important;
  gap:40px 36px !important;
}

.cats-home-body{
  padding:3px 2px 0 !important;
}

.cats-home-cat-name{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  margin:4px 0 !important;
  padding:0 !important;
  line-height:1.3 !important;
  font-size:16px !important;
  font-weight:700 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-align:center !important;
}

.cats-home-meta{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin:0 0 4px !important;
  line-height:1.4 !important;
  text-align:center !important;
}

.cats-home-desc{
  margin:0 !important;
  line-height:1.5 !important;
}

.cats-home-gender{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px;
  height:24px;
  padding:0 0 2px 0 !important;
  border-radius:50%;
  box-sizing:border-box;
  font-size:15px !important;
  font-weight:700;
  line-height:1 !important;
  text-align:center !important;
}

.cats-home-gender.male{
  background:var(--cats-primary-dark) !important;
  color:var(--cats-white) !important;
  border:1px solid var(--cats-primary-dark) !important;
}

.cats-home-gender.female{
  background:var(--cats-white) !important;
  color:var(--cats-primary-dark) !important;
  border:1px solid var(--cats-primary-dark) !important;
}

.cats-home-more,.cats-hoikuen-more,.cats-support a,.cats-life-button,.cats-cafe-shop a,.cats-access-button,.cats-report-more{
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}

/* 保護猫保育園 */
.cats-hoikuen-home{
  background:var(--cats-primary-light);
  position:relative;
  width:100vw;
  max-width:none !important;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:80px 0 85px;
  box-sizing:border-box;
  overflow:hidden;
}

.cats-hoikuen-title{
  min-height:110px;
  background-image:
    url("https://cats-inn.tokyo/wp-content/uploads/2026/09/見出し装飾_足跡.png"),
    url("https://cats-inn.tokyo/wp-content/uploads/2026/09/見出し装飾_歩き猫-1.png") !important;
}

.cats-hoikuen-title::before,.cats-hoikuen-title::after{
  content:none !important;
  display:none !important;
}

.cats-hoikuen-en{
  display:block;
  font-family:"Nunito",sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--cats-primary-dark);
}

.cats-hoikuen-jp{
  display:block;
  margin-top:9px;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  color:var(--cats-text);
}

.cats-hoikuen-header{
  width:100%;
  max-width:1100px;
  margin:0 auto 42px;
  padding:0 30px;
  box-sizing:border-box;
  text-align:center;
}

.cats-hoikuen-description{
  margin:-20px auto 32px !important;
  padding:0 20px;
  text-align:center;
  font-size:13px;
  line-height:1.8;
  font-weight:400;
  color:var(--cats-subtext);
}

.cats-hoikuen-carousel-wrap{
  position:relative;
  width:min(1400px,94vw);
  margin:0 auto;
}

.cats-hoikuen-carousel{
  display:flex;
  gap:20px;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:5px 5px 24px;
  box-sizing:border-box;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.cats-hoikuen-carousel::-webkit-scrollbar{
  display:none;
}

.cats-hoikuen-card{
  flex:0 0 calc((100% - 60px) / 4.2);
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--cats-border);
  border-radius:18px;
  box-shadow:0 5px 18px rgba(0,0,0,.06);
  scroll-snap-align:start;
  transition:transform .25s ease,box-shadow .25s ease;
}

.cats-hoikuen-card:hover{
  transform:translateY(-4px);
  box-shadow:0 9px 26px rgba(0,0,0,.10);
}

.cats-hoikuen-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
  color:inherit !important;
  text-decoration:none !important;
}

.cats-hoikuen-main-image{
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#eee;
}

.cats-hoikuen-main-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.cats-hoikuen-card:hover.cats-hoikuen-main-image img{
  transform:scale(1.035);
}

.cats-hoikuen-sub-images{
  display:grid;
  gap:3px;
  height:68px;
  padding-top:3px;
  background:#fff;
}

.cats-hoikuen-sub-images-1{
  grid-template-columns:1fr;
}

.cats-hoikuen-sub-images-2{
  grid-template-columns:repeat(2,1fr);
}

.cats-hoikuen-sub-images-3{
  grid-template-columns:repeat(3,1fr);
}

.cats-hoikuen-sub-image{
  min-width:0;
  overflow:hidden;
  background:#eee;
}

.cats-hoikuen-sub-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.cats-hoikuen-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:19px 19px 20px;
}

.cats-hoikuen-date{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.04em;
  color:var(--cats-subtext);
}

.cats-hoikuen-card-title{
  margin:0 0 11px !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  font-size:17px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
  color:var(--cats-text) !important;
}

.cats-hoikuen-excerpt{
  display:-webkit-box;
  margin:0 0 17px;
  overflow:hidden;
  font-size:13px;
  line-height:1.8;
  color:var(--cats-subtext);
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.cats-hoikuen-readmore{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding-top:3px;
  font-size:13px;
  font-weight:700;
  color:var(--cats-primary-dark);
}

.cats-hoikuen-readmore span{
  transition:transform .2s ease;
}

.cats-hoikuen-card:hover.cats-hoikuen-readmore span{
  transform:translateX(4px);
}

.cats-hoikuen-nav{
  position:absolute;
  z-index:5;
  top:50%;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 15px rgba(0,0,0,.13);
  color:var(--cats-primary-dark);
  font-family:Arial,sans-serif;
  font-size:32px;
  font-weight:400;
  line-height:42px;
  cursor:pointer;
  transform:translateY(-50%);
  transition:transform .2s ease,box-shadow .2s ease;
}

.cats-hoikuen-nav:hover{
  transform:translateY(-50%) scale(1.07);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}

.cats-hoikuen-prev{
  left:-18px;
}

.cats-hoikuen-next{
  right:-18px;
}

.cats-hoikuen-more{
  margin-top:28px;
  text-align:center;
}

.cats-hoikuen-more-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:13px 26px;
  border:1px solid var(--cats-primary-dark);
  border-radius:999px;
  background:#fff;
  color:var(--cats-primary-dark) !important;
  font-size:14px;
  font-weight:700;
  text-decoration:none !important;
  transition:background .2s ease,color .2s ease;
}

.cats-hoikuen-more-button:hover{
  background:var(--cats-primary-dark);
  color:#fff !important;
}

/* 支援 */
.cats-support{
  width:100vw;
  max-width:none !important;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:75px 30px 80px;
  box-sizing:border-box;
  background:var(--cats-primary-dark);
  color:var(--cats-white);
}

.cats-support-inner{
  width:100%;
  max-width:1100px;
  margin:0 auto;
}

.cats-support-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-width:650px;
  min-height:110px;
  margin:0 auto 8px;
  padding:0 170px;
  box-sizing:border-box;
}

.cats-support-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.cats-support-en{
  font-family:"Nunito",sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  color:#fff;
}

.cats-support-jp{
  margin-top:9px;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:.06em;
  color:#fff;
}

.cats-support-cat,.cats-support-paw{
  position:absolute;
  top:50%;
  height:auto;
  filter:brightness(0) invert(1);
  opacity:.9;
  pointer-events:none;
  transform:translateY(-50%);
}

.cats-support-cat{
  left:15px;
  width:125px;
}

.cats-support-paw{
  right:5px;
  width:145px;
}

.cats-support-intro{
  max-width:700px;
  margin:0 auto 35px;
  text-align:center;
}

.cats-support-sp-br{
  display:none;
}

.cats-support-card{
  position:relative;
  box-sizing:border-box;
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease;
}

.cats-support-card,.cats-support-card:link,.cats-support-card:visited,.cats-support-card:hover,.cats-support-card:active,.cats-support-card *{
  text-decoration:none !important;
}

.cats-support-main{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-bottom:14px;
}

.cats-support-card-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px 34px;
  align-items:center;
  gap:18px;
  min-height:165px;
  padding:22px 20px 22px 26px;
  overflow:hidden;
  border-radius:17px;
  background:#fff;
  color:var(--cats-text) !important;
}

.cats-support-card-content{
  min-width:0;
}

.cats-support-card-en{
  display:block;
  margin-bottom:7px;
  font-family:"Nunito",sans-serif;
  color:var(--cats-primary-dark);
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
}

.cats-support-card-main strong{
  display:block;
  margin-bottom:7px;
  font-size:17px;
  line-height:1.4;
  font-weight:700;
}

.cats-support-card-text{
  display:block;
  color:var(--cats-subtext);
  font-size:14px;
  line-height:1.7;
  font-weight:400;
}

.cats-support-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-width:0;
  height:112px;
}

.cats-support-visual img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

/* 寄付カード：PayPay / Amazon / Syncable 統合ロゴ */
.cats-support-visual-donation{
  display:flex;
  align-items:center;
  justify-content:center;
  width:170px;
  height:120px;
  overflow:hidden;
}

.cats-support-visual-donation img{
  display:block;
  width:132px !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:translate(5px, 8px) scale(1.05);
  transform-origin:center center;
}

.cats-support-visual-logos{
  flex-wrap:wrap;
  align-content:center;
}

.cats-support-visual-logos img{
  width:calc(50% - 4px);
  height:48px;
}

.cats-support-visual-photo{
  height:121px;
  overflow:hidden;
  border-radius:12px;
}

.cats-support-visual-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.cats-support-card .cats-support-arrow{
  position:absolute;
  right:18px;
  bottom:14px;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:none;
  color:#fff;
  font-size:18px;
  line-height:1;
}

.cats-support-card-main .cats-support-arrow{
  position:static;
  right:auto;
  bottom:auto;
  width:auto;
  height:auto;
  border:0;
  background:none;
  color:var(--cats-primary-dark);
  transform:none;
}

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

.cats-support-card-sub{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  align-items:center;
  gap:16px;
  min-height:94px;
  padding:10px 48px 10px 22px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:14px;
  background:rgba(255,255,255,.12);
  color:#fff !important;
}

.cats-support-sub-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:100%;
  height:72px;
  overflow:hidden;
  border-radius:9px;
  background:#fff;
}

.cats-support-sub-visual img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.cats-support-sub-visual-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.cats-support-sub-visual-logos{
  gap:10px;
  padding:4px 8px;
  box-sizing:border-box;
  flex-wrap:nowrap;
}

.cats-support-sub-visual-logos img{
  width:calc(50% - 5px);
  height:64px;
  max-height:none;
  object-fit:contain;
}

.cats-support-card-sub strong{
  font-size:17px;
  line-height:1.4;
  font-weight:700;
}

.cats-support-card-sub .cats-support-arrow{
  right:17px;
  bottom:50%;
  width:auto;
  height:auto;
  border:0;
  background:none;
  color:#fff;
  transform:translateY(50%);
}

.cats-support-card:hover{
  opacity:1 !important;
  transform:translateY(-3px);
}

.cats-support-card-main:hover{
  box-shadow:0 9px 25px rgba(0,0,0,.15);
}

.cats-support-line-card{
  display:grid;
  grid-template-columns:250px 1fr auto;
  align-items:center;
  gap:28px;
  min-height:135px;
  margin-top:25px;
  padding:14px 30px;
  box-sizing:border-box;
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(110deg,#fff 0%,#f2fbfa 100%);
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}

.cats-support-line-images{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:250px;
  height:105px;
}

.cats-support-line-images img{
  position:static !important;
  display:block;
  width:115px;
  height:100px;
  margin:0 !important;
  object-fit:contain;
  transform:none !important;
}

.cats-support-line-content{
  min-width:0;
}

.cats-support-line-content>strong{
  display:block;
  margin:0 !important;
  color:var(--cats-primary-dark) !important;
  font-size:18px;
  line-height:1.5;
  font-weight:700;
}

.cats-support-line-button{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-width:170px;
  padding:12px 18px;
  box-sizing:border-box;
  border:1px solid var(--cats-primary-dark) !important;
  border-radius:999px;
  background:#fff;
  color:var(--cats-primary-dark) !important;
  font-size:11px;
  line-height:1.4;
  font-weight:700;
  white-space:nowrap;
}

.cats-support-line-card:hover{
  opacity:1 !important;
  transform:translateY(-3px);
  box-shadow:0 9px 25px rgba(0,0,0,.14) !important;
}

.cats-support-line-card:hover .cats-support-line-button{
  background:var(--cats-primary-dark);
  color:#fff !important;
}

.cats-support-footer-note{
  display:block !important;
  width:100% !important;
  max-width:900px !important;
  margin:28px auto 0 !important;
  padding:18px 20px 0 !important;
  box-sizing:border-box !important;
  border-top:1px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.9) !important;
  font-size:12px !important;
  line-height:1.8 !important;
  font-weight:400 !important;
  text-align:center !important;
}

/* 猫との暮らし */
.cats-life{
  padding:65px 30px 70px;
}

.cats-life-intro{
  margin:0 auto 30px;
  max-width:700px;
  text-align:center;
}

.cats-life-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.cats-life-card{
  display:grid;
  grid-template-columns:42% 58%;
  min-height:190px;
  overflow:hidden;
  border:1px solid var(--cats-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 3px 12px rgba(0,0,0,.045);
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}

.cats-life-photo{
  width:100%;
  height:100%;
  min-height:190px;
  overflow:hidden;
  background:var(--cats-light-gray);
}

.cats-life-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.cats-life-card:hover{
  opacity:1 !important;
  transform:translateY(-3px);
  box-shadow:0 7px 20px rgba(0,0,0,.08);
}

.cats-life-card:hover .cats-life-photo img{
  transform:scale(1.025);
}

.cats-life-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:20px 20px 19px;
}

.cats-life-card-en{
  display:block;
  margin-bottom:5px;
  font-family:"Nunito",sans-serif;
  color:var(--cats-primary-dark);
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.1em;
}

.cats-life-body h3{
  margin:0 0 6px !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  color:var(--cats-text) !important;
  font-size:16px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}

.cats-life-body p{
  min-height:0;
  margin:0 0 13px;
  color:var(--cats-subtext);
  font-size:11px;
  line-height:1.6;
}

.cats-life-button{
  display:inline-flex;
  align-items:center;
  align-self:flex-end;
  gap:8px;
  margin-top:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  color:var(--cats-primary-dark) !important;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  text-decoration:none !important;
}

.cats-life-button span{
  position:static;
  transform:none;
  font-size:15px;
  line-height:1;
  transition:transform .2s ease;
}

.cats-life-button:hover{
  background:none;
  color:var(--cats-primary-dark) !important;
  opacity:.7 !important;
  transform:none;
}

.cats-life-button:hover span{
  transform:translateX(3px);
}

.cats-life-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0 auto 25px;
  text-align:center;
}

.cats-life-en{
  display:block;
  font-family:"Nunito",sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--cats-primary-dark);
}

.cats-life-jp{
  display:block;
  margin-top:9px;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--cats-text);
}

.cats-life-intro strong{
  display:block;
  margin-bottom:10px;
  color:var(--cats-text);
  font-size:21px;
  line-height:1.5;
  font-weight:700;
}

.cats-life-intro p{
  margin:0;
  color:var(--cats-subtext);
  font-size:13px;
  line-height:1.8;
}

/* カフェ・ショップ */
.cats-cafe-shop{
  width:100vw;
  max-width:none !important;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:75px 30px 80px;
  box-sizing:border-box;
  background:var(--cats-primary-light);
}

.cats-cafe-shop-inner{
  width:100%;
  max-width:1100px;
  margin:0 auto;
}

.cats-cafe-shop-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0 auto 23px;
  text-align:center;
}

.cats-cafe-shop-en{
  font-family:"Nunito",sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--cats-primary-dark);
}

.cats-cafe-shop-jp{
  margin-top:9px;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--cats-text);
}

.cats-cafe-shop-intro{
  margin:0 auto 32px;
  text-align:center;
}

.cats-cafe-shop-intro p{
  margin:0;
  color:var(--cats-subtext);
  font-size:13px;
  line-height:1.8;
}

.cats-cafe-shop-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  max-width:1000px;
  margin:0 auto;
}

.cats-cafe-main,.cats-shop-card{
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}

.cats-cafe-main:hover,.cats-shop-card:hover{
  opacity:1 !important;
  transform:translateY(-3px);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.cats-cafe-main{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:19px;
  background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.055);
}

.cats-cafe-main-photo{
  height:245px;
  overflow:hidden;
}

.cats-cafe-main-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.cats-cafe-main:hover .cats-cafe-main-photo img{
  transform:scale(1.025);
}

.cats-cafe-main-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:22px 25px 24px;
}

.cats-cafe-main-body>strong{
  display:block;
  margin-bottom:7px;
  color:var(--cats-text);
  font-size:18px;
  line-height:1.45;
  font-weight:700;
}

.cats-cafe-main-body p{
  margin:0 0 16px;
  color:var(--cats-subtext);
  font-size:11.5px;
  line-height:1.65;
}

.cats-cafe-shop-button{
  display:inline-flex;
  align-items:center;
  align-self:flex-end;
  gap:8px;
  margin-top:auto;
  padding:0;
  border:0;
  background:none;
  color:var(--cats-primary-dark) !important;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  text-decoration:none !important;
}

.cats-cafe-shop-button>span{
  font-size:15px;
  transition:transform .2s ease;
}

.cats-cafe-main:hover .cats-cafe-shop-button>span{
  transform:translateX(3px);
}

.cats-cafe-shop-side{
  display:grid;
  grid-template-rows:1fr auto;
  gap:15px;
}

.cats-shop-card{
  display:grid;
  grid-template-columns:45% 55%;
  overflow:hidden;
  border-radius:17px;
  background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
}

.cats-shop-photo{
  min-height:215px;
  overflow:hidden;
}

.cats-shop-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.cats-shop-card:hover .cats-shop-photo img{
  transform:scale(1.025);
}

.cats-shop-body{
  display:flex;
  flex-direction:column;
  padding:19px;
}

.cats-shop-body>strong{
  display:block;
  margin-bottom:6px;
  color:var(--cats-text);
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}

.cats-shop-body p{
  margin:0 0 13px;
  color:var(--cats-subtext);
  font-size:10.5px;
  line-height:1.6;
}

.cats-shop-link{
  display:inline-flex;
  align-items:center;
  align-self:flex-end;
  gap:8px;
  margin-top:auto !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  color:var(--cats-primary-dark) !important;
  font-size:12px !important;
  line-height:1.4;
  font-weight:700 !important;
  text-decoration:none !important;
}

.cats-shop-link>span{
  font-size:15px;
  transition:transform .2s ease;
}

.cats-shop-card:hover .cats-shop-link>span{
  transform:translateX(3px);
}

.cats-online-shop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:78px;
  padding:18px 21px;
  box-sizing:border-box;
  border:1px solid rgba(52,127,135,.18);
  border-radius:17px;
  background:rgba(255,255,255,.65);
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}

.cats-online-shop>strong{
  color:var(--cats-text);
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

.cats-online-shop>span{
  color:var(--cats-primary-dark);
  font-size:18px;
  line-height:1;
  transition:transform .2s ease;
}

.cats-online-shop:hover{
  opacity:1 !important;
  transform:translateY(-3px);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.cats-online-shop:hover>span{
  transform:translateX(3px);
}

.cats-online-store{
  padding:20px;
  box-sizing:border-box;
  border:1px solid rgba(52,127,135,.18);
  border-radius:16px;
  background:#fff;
}

.cats-online-store-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom:14px;
}

.cats-online-store-head > div{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:9px !important;
}

.cats-online-store-en{
  color:var(--cats-primary-dark);
  font-family:"Nunito",sans-serif;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}

.cats-online-store-head strong{
  color:var(--cats-text);
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
}

.cats-online-store-products{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  width:100%;
}

.cats-online-store-products a,
.cats-online-store-products span{
  display:block;
  overflow:hidden;
  aspect-ratio:1 / 1;
  border-radius:8px;
  background:#f7f7f5;
  text-decoration:none !important;
}

.cats-online-store-products img{
  display:block;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  object-fit:cover;
  transition:transform .25s ease;
}

.cats-online-store-products a:hover img,
.cats-online-store-products span:hover img{
  transform:scale(1.04);
}

.cats-online-store-more{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:13px;
  color:var(--cats-primary-dark) !important;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  text-decoration:none !important;
}

.cats-online-store-more span{
  font-size:16px;
  line-height:1;
}

.cats-online-store-more:hover{
  opacity:.7;
}

/* アクセス */
.cats-access{
  width:100vw;
  max-width:none !important;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:68px 30px 72px;
  box-sizing:border-box;
  background:#F7F4EC;
}

.cats-access-inner{
  width:100%;
  max-width:900px;
  margin:0 auto;
}

.cats-access-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0 auto 34px;
  text-align:center;
}

.cats-access-en{
  font-family:"Nunito",sans-serif;
  font-size:32px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--cats-primary-dark);
}

.cats-access-jp{
  margin-top:8px;
  font-size:13px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--cats-text);
}

.cats-access-content{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:50px;
}

.cats-access-list{
  margin:0 !important;
  padding:0 !important;
}

.cats-access-list>div{
  display:grid;
  grid-template-columns:62px 1fr;
  align-items:start;
  padding:5px 0;
}

.cats-access .cats-access-list dt{
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--cats-primary-dark) !important;
  font-size:15px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
}

.cats-access .cats-access-list dd{
  margin:0 !important;
  padding:0 !important;
  color:var(--cats-text) !important;
  font-size:13px !important;
  line-height:1.6 !important;
  font-weight:400 !important;
}

.cats-access-detail{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:190px;
  margin-top:18px;
  padding:11px 43px 11px 20px;
  box-sizing:border-box;
  border:1px solid var(--cats-primary-dark) !important;
  border-radius:999px;
  background:var(--cats-primary-dark) !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}

.cats-access-detail>span{
  position:absolute;
  right:16px;
  top:50%;
  font-size:15px;
  line-height:1;
  transform:translateY(-50%);
  transition:transform .2s ease;
}

.cats-access-detail:hover{
  opacity:1 !important;
  background:#286b72 !important;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 5px 14px rgba(52,127,135,.18);
}

.cats-access-detail:hover>span{
  transform:translate(3px,-50%);
}

.cats-access-map{
  width:100%;
  height:275px;
  overflow:hidden;
  border-radius:18px;
}

.cats-access-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

/* 収支報告 */
.cats-report{
  width:100vw;
  max-width:none !important;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:62px 30px 66px;
  box-sizing:border-box;
  background:#fff;
}

.cats-report-inner{
  width:100%;
  max-width:900px;
  margin:0 auto;
}

.cats-report-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0 auto 18px;
  text-align:center;
}

.cats-report-en{
  font-family:"Nunito",sans-serif;
  font-size:32px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--cats-primary-dark);
}

.cats-report-jp{
  margin-top:8px;
  font-size:13px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--cats-text);
}

.cats-report-intro{
  margin:0 auto 27px;
  text-align:center;
}

.cats-report-intro p{
  margin:0 !important;
  color:var(--cats-subtext);
  font-size:13px;
  line-height:1.8;
}

.cats-report-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}

.cats-report-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:130px;
  padding:19px 48px 18px 20px;
  box-sizing:border-box;
  border:1px solid var(--cats-border);
  border-radius:13px;
  background:#fff;
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.cats-report-card,.cats-report-card:link,.cats-report-card:visited,.cats-report-card:hover,.cats-report-card:active,.cats-report-card *{
  text-decoration:none !important;
}

.cats-report-top{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:9px;
}

.cats-report-date{
  color:var(--cats-subtext);
  font-family:"Nunito",sans-serif;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.04em;
}

.cats-report-latest{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 7px;
  border-radius:999px;
  background:var(--cats-primary-dark);
  color:#fff;
  font-size:9px;
  line-height:1.3;
  font-weight:700;
}

.cats-report-title{
  display:block;
  margin:0;
  color:var(--cats-text) !important;
  font-size:14px;
  line-height:1.55;
  font-weight:700;
}

.cats-report-arrow{
  position:absolute;
  right:19px;
  top:50%;
  color:var(--cats-primary-dark);
  font-family:Arial,sans-serif;
  font-size:17px;
  line-height:1;
  transform:translateY(-50%);
  transition:transform .2s ease;
}

.cats-report-card:hover{
  opacity:1 !important;
  border-color:var(--cats-primary-dark);
  transform:translateY(-2px);
  box-shadow:0 5px 15px rgba(0,0,0,.06);
}

.cats-report-card:hover .cats-report-arrow{
  transform:translate(3px,-50%);
}

.cats-report-more{
  margin-top:24px;
  text-align:center;
}

.cats-report-more-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:230px;
  padding:10px 42px 10px 20px;
  box-sizing:border-box;
  border:1px solid var(--cats-primary-dark);
  border-radius:999px;
  background:#fff;
  color:var(--cats-primary-dark) !important;
  font-size:11.5px;
  line-height:1.4;
  font-weight:700;
  text-decoration:none !important;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}

.cats-report-more-button>span{
  position:absolute;
  right:16px;
  top:50%;
  font-size:14px;
  transform:translateY(-50%);
  transition:transform .2s ease;
}

.cats-report-more-button:hover{
  opacity:1 !important;
  background:var(--cats-primary-dark);
  color:#fff !important;
  transform:translateY(-2px);
}

.cats-report-more-button:hover>span{
  transform:translate(3px,-50%);
}

/* フッター */
.footer{
  background:#f7f4ec !important;
  color:var(--cats-text) !important;
}

.cats-footer-simple{
  width:calc(100% - 40px);
  max-width:500px;
  margin:0 auto;
  padding:48px 20px 40px;
  box-sizing:border-box;
  text-align:center;
}

.cats-footer-simple-logo{
  display:block;
  width:190px;
  max-width:100%;
  margin:0 auto;
  text-decoration:none !important;
}

.cats-footer-simple-logo img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto !important;
}

.cats-footer-simple-copy{
  margin:15px 0 20px !important;
  color:#666;
  font-size:11.5px;
  line-height:1.8;
  font-weight:400;
  text-align:center;
}

.cats-footer-simple-sns{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
}

.cats-footer-simple-sns a{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--cats-primary-dark) !important;
  font-size:18px;
  text-decoration:none !important;
  transition:opacity .2s ease,transform .2s ease;
}

.cats-footer-simple-sns a:hover{
  opacity:.65;
  transform:translateY(-2px);
}

.footer-bottom{
  width:calc(100% - 60px) !important;
  max-width:1040px !important;
  margin:0 auto !important;
  padding:18px 0 22px !important;
  box-sizing:border-box;
  border-top:1px solid rgba(52,127,135,.18);
}

.footer-bottom,.footer-bottom a,.copyright{
  color:#999 !important;
  font-size:9.5px !important;
}

.page-id-5302 .entry-footer, .page-id-5302 .article-footer, .page-id-5302 .author-box, .page-id-5302 .post-author{
  display:none !important;
}

/* ナビ・検索 */
.mobile-header-menu-buttons,.mobile-menu-buttons,.menu-button{
  color:#000;
  background-color:#fff;
}

/* レビュー固定ページ */
.page-id-5302 .entry-header{
  display:none !important;
}

.page-id-5302 .sns-share, .page-id-5302 .sns-share-message, .page-id-5302 .sns-share-buttons{
  display:none !important;
}

.page-id-5302 .breadcrumb{
  display:none !important;
}

.page-id-5302 .post-date, .page-id-5302 .post-update, .page-id-5302 .date-tags{
  display:none !important;
}

.page-id-5302 .edit-link, .page-id-5302 .post-edit-link{
  display:none !important;
}

.page-id-5302 #main{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.page-id-5302 .article{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.page-id-5302 .entry-content{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.page-id-5302 .entry-content > :first-child{
  margin-top:0 !important;
}

.page-id-5302 .entry-content > :last-child{
  margin-bottom:0 !important;
}

.page-id-5302 #content, .page-id-5302 #content-in, .page-id-5302 #main, .page-id-5302 .article, .page-id-5302 .entry-content{
  margin-top:0 !important;
  padding-top:0 !important;
}

.page-id-5302 .content, .page-id-5302 .content-in{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* その他 */
.carousel .cat-label{
  display:none;
}

.entry-card-category{
  font-size:10px;
}

.entry-card-title{
  line-height:1.5;
}

.cat-profile{
  max-width:1100px;
  margin:0 auto;
}

.cat-profile img{
  max-width:100%;
  height:auto;
}

/* アニメーション */
@keyframes catsHeroFade{
0%{opacity:1;}
20%{opacity:1;}
25%{opacity:0;}
95%{opacity:0;}
100%{opacity:1;}
}

/* PC */
@media screen and (min-width:768px){
  /* 背景付きセクションは基本フル幅。ACCESSのみ左右余白あり */

  /* ヒーロー */
  .cats-hero{
    padding-left:max(30px, calc((100vw - 1180px) / 2)) !important;
    padding-right:0 !important;
    gap:50px !important;
  }

  .cats-hero-text{
    flex:0 0 500px !important;
    width:500px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  .cats-hero-description{
    max-width:500px !important;
  }

  .cats-hero-image{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    margin-right:0 !important;
  }

  /* 最新情報 */
  .cats-news-home{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* 里親募集中 */
  .cats-home-section{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* 保護猫保育園 */
  .cats-hoikuen-header{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* 支援 */
  .cats-support-inner{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* 猫との暮らし */
  .cats-life-inner{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* カフェ・ショップ */
  .cats-cafe-shop-side{
    grid-template-rows:200px auto !important;
    display:grid !important;
    gap:14px !important;
    height:auto !important;
  }

  .cats-shop-photo{
    min-height:0 !important;
    height:200px !important;
  }

  .cats-online-shop{
    min-height:0 !important;
    padding:20px 21px !important;
  }

  .cats-cafe-shop-intro p{
    font-size:14px !important;
  }

  .cats-cafe-main-body p{
    font-size:13px !important;
    line-height:1.7 !important;
  }

  .cats-shop-body p{
    font-size:12.5px !important;
    line-height:1.65 !important;
  }

  .cats-cafe-shop-button,.cats-shop-link{
    font-size:13px !important;
  }

  .cats-online-shop>strong{
    font-size:15px !important;
  }

  .cats-cafe-shop-inner{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .cats-cafe-shop-grid{
    width:100% !important;
    max-width:none !important;
    align-items:stretch !important;
  }

  .cats-cafe-main{
    height:auto !important;
    min-height:0 !important;
  }

  .cats-cafe-main-photo{
    height:205px !important;
    flex:0 0 205px !important;
  }

  .cats-cafe-main-body{
    padding:18px 22px 18px !important;
  }

  .cats-shop-card{
    height:200px !important;
    min-height:0 !important;
  }

  .cats-shop-body{
    padding:15px 18px !important;
  }

  .cats-online-store{
    min-height:0 !important;
    padding:15px 18px 13px !important;
  }

  .cats-online-store-head{
    margin-bottom:9px !important;
  }

  .cats-online-store-more{
    margin-top:8px !important;
  }

  /* アクセス */
  .cats-access-inner{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* 収支報告 */
  .cats-report-inner{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* ナビ・検索 */
  #navi .navi-in>ul>li{
    width:auto !important;
    flex:0 0 auto !important;
  }

  #navi .navi-in>ul>li>a{
    width:auto !important;
    padding-left:17px !important;
    padding-right:17px !important;
    white-space:nowrap;
  }

  #navi .navi-in>ul>li>a .fa,#navi .navi-in>ul>li>a .fas,#navi .navi-in>ul>li>a .far,#navi .navi-in>ul>li>a .fab{
    display:none !important;
  }

  #navi .cats-search-trigger{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    margin-left:5px !important;
  }

  #navi .cats-search-trigger>a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    width:auto !important;
    min-width:0 !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:var(--cats-primary-dark) !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:500 !important;
    text-decoration:none !important;
  }

  #navi .cats-search-trigger>a::before{
    content:"" !important;
    position:static !important;
    display:inline-block !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    font-family:"Font Awesome 5 Free" !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    color:var(--cats-primary-dark) !important;
    transform:none !important;
  }

  #navi .cats-search-trigger>a::after{
    content:none !important;
    display:none !important;
  }

  #navi .cats-search-trigger>a:hover{
    background:transparent !important;
    color:var(--cats-primary-dark) !important;
    opacity:.65 !important;
  }

  #cats-search-overlay{
    position:fixed !important;
    z-index:999999 !important;
    top:0 !important;
    left:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:150px !important;
    padding:24px 80px !important;
    box-sizing:border-box !important;
    background:linear-gradient(
        110deg,
        #EDF7F7 0%,
        #F7F4EC 100%
      ) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-15px) !important;
    transition:opacity .28s ease,
        transform .28s ease,
        visibility .28s ease !important;
  }

  #cats-search-overlay.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  #cats-search-overlay .cats-search-form{
    display:flex !important;
    align-items:center !important;
    width:min(620px,70vw) !important;
    height:48px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(52,127,135,.22) !important;
    border-radius:999px !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  #cats-search-overlay .cats-search-form input{
    flex:1 1 auto !important;
    min-width:0 !important;
    height:100% !important;
    margin:0 !important;
    padding:0 22px !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--cats-text) !important;
    font-size:14px !important;
  }

  #cats-search-overlay .cats-search-form button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 55px !important;
    width:55px !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:var(--cats-primary-dark) !important;
    font-size:14px !important;
    cursor:pointer !important;
  }

  #cats-search-overlay .cats-search-close{
    position:absolute !important;
    top:20px !important;
    right:28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:var(--cats-text) !important;
    font-size:28px !important;
    line-height:1 !important;
    cursor:pointer !important;
  }
}

/* タブレット */
@media screen and (max-width:1024px){
  /* 保護猫保育園 */
  .cats-hoikuen-carousel-wrap{
    width:95vw;
  }

  .cats-hoikuen-card{
    flex-basis:calc((100% - 20px) / 2.25);
  }
}

/* スマホ 767px以下 */
@media screen and (max-width:767px){
  /* 基本設定 */
  .home .entry-content .cats-support-message,.cats-support .cats-support-message{
    font-size:20px !important;
    line-height:1.5 !important;
  }

  html,body{
    width:100%;
    overflow-x:hidden;
  }

  .home .entry-content{
    overflow:visible;
  }

  /* ヒーロー */
  .cats-hero{
    position:relative !important;
    display:block;
    height:520px !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    isolation:isolate;
  }

  .cats-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border-radius:0;
    z-index:1 !important;
  }

  .cats-hero-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover;
    object-position:center center;
  }

  .cats-hero::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:rgba(0,0,0,.38) !important;
    z-index:2 !important;
    pointer-events:none !important;
  }

  .cats-hero-text{
    position:relative !important;
    z-index:3 !important;
    width:100% !important;
    min-height:520px !important;
    padding:45px 20px 35px !important;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .cats-hero-title{
    margin:0 0 18px;
    font-size:28px !important;
    line-height:1.4;
    text-shadow:0 1px 4px rgba(0,0,0,.25) !important;
  }

  .cats-hero-description{
    margin:0 0 25px;
    font-size:13px;
    line-height:1.8;
    text-shadow:0 1px 3px rgba(0,0,0,.30) !important;
  }

  .cats-hero-buttons{
    display:flex;
    flex-direction:column;
    gap:10px;
    width:100%;
  }

  .cats-hero-button{
    width:100%;
    min-width:0;
    padding:13px 45px 13px 20px !important;
    box-sizing:border-box !important;
    text-align:center;
    font-size:14px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
    min-height:46px !important;
    line-height:1.4 !important;
  }

  .cats-hero-button::after{
    right:18px;
  }

  .cats-hero-description,.cats-support-card-text,.cats-life-body p,.cats-cafe-main-body p,.cats-shop-body p,.cats-hoikuen-excerpt,.cats-report-intro p,.cats-cafe-shop-intro p,.cats-life-intro p{
    font-size:12.5px !important;
    line-height:1.7 !important;
  }

  .cats-hero-button,.cats-home-more-button,.cats-news-home-more-button,.list-more-button,.cats-hoikuen-more-button,.cats-access-detail,.cats-report-more-button,.cats-support-line-button{
    min-height:46px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
    box-sizing:border-box !important;
  }

  .cats-hero-title, .cats-hero-description{
    color:#fff !important;
  }

  /* 最新情報 */
  .cats-news-home{
    width:calc(100% - 36px) !important;
    max-width:none !important;
    margin:30px 18px 42px !important;
    padding:23px 18px !important;
    box-sizing:border-box;
  }

  /* 里親募集中 */
  .cats-adoption-header{
    margin-bottom:27px;
  }

  .cats-adoption-header .cats-home-title{
    margin-bottom:6px !important;
  }

  .cats-recruiting-count{
    font-size:14px;
    line-height:1.6;
  }

  .cats-recruiting-count strong{
    margin:0 5px;
    font-size:32px;
  }

  .cats-recruiting-count small{
    font-size:13px;
  }

  .cats-home-title,.cats-hoikuen-title{
    width:100% !important;
    min-width:0 !important;
    min-height:85px;
    padding:0 72px !important;
    background-size:78px auto,78px auto !important;
    background-position:left center,right center !important;
  }

  .cats-home-title{
    margin-bottom:22px !important;
  }

  .cats-home-title::before,.cats-hoikuen-en{
    font-size:27px;
    letter-spacing:.07em;
  }

  .cats-home-title::after,.cats-hoikuen-jp{
    margin-top:7px !important;
    font-size:12px;
    letter-spacing:.04em;
  }

  .cats-home-section{
    width:100% !important;
    max-width:none !important;
    padding:0 16px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:18px !important;
    padding-right:18px !important;
    box-sizing:border-box;
  }

  .cats-home-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:25px 14px !important;
    width:100% !important;
  }

  .cats-home-body{
    padding:1px 2px 0 !important;
  }

  .cats-home-cat-name{
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    line-height:1.25 !important;
    min-height:28px !important;
  }

  .cats-home-meta{
    margin-bottom:3px !important;
  }

  .cats-home-gender{
    display:inline-block !important;
    flex:0 0 24px !important;
    width:24px !important;
    height:24px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    vertical-align:middle !important;
    line-height:24px !important;
    position:relative !important;
    box-sizing:border-box !important;
    transform:none !important;
    overflow:hidden !important;
    border-radius:50% !important;
    font-size:0 !important;
  }

  .cats-home-gender::after{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 0 1px !important;
    font-family:Arial,"Helvetica Neue",sans-serif !important;
    font-size:15px !important;
    font-weight:900 !important;
    -webkit-text-stroke:.6px currentColor !important;
    line-height:1 !important;
    transform:none !important;
  }

  .cats-home-gender.male::after{
    content:"♂" !important;
    color:#fff !important;
  }

  .cats-home-gender.female::after{
    content:"♀" !important;
    color:var(--cats-primary-dark) !important;
  }

  /* 保護猫保育園 */
  .cats-hoikuen-home{
    padding:52px 0 56px !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
  }

  .cats-hoikuen-header{
    margin-bottom:28px !important;
    padding:0 18px !important;
    width:100% !important;
  }

  .cats-hoikuen-carousel-wrap{
    width:100%;
  }

  .cats-hoikuen-carousel{
    gap:14px;
    padding:4px 18px 20px;
    scroll-padding-left:7%;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .cats-hoikuen-card{
    flex:0 0 86%;
    scroll-snap-align:center;
  }

  .cats-hoikuen-main-image{
    aspect-ratio:16 / 10;
  }

  .cats-hoikuen-sub-images{
    height:75px;
  }

  .cats-hoikuen-card-body{
    padding:17px 17px 19px;
  }

  .cats-hoikuen-date{
    margin-bottom:5px;
    font-size:11px;
    line-height:1.3;
  }

  .cats-hoikuen-card-title{
    margin:0 0 6px !important;
    font-size:17px !important;
    line-height:1.4 !important;
  }

  .cats-hoikuen-excerpt{
    margin:0 0 9px;
    font-size:13px;
    line-height:1.55;
    -webkit-line-clamp:3;
  }

  .cats-hoikuen-readmore{
    gap:5px;
    padding-top:0;
    font-size:11.5px;
    line-height:1.3;
  }

  .cats-hoikuen-nav{
    display:none;
  }

  .cats-hoikuen-more{
    margin-top:22px;
  }

  .cats-hoikuen-description{
    margin:-12px auto 25px !important;
    padding:0 18px !important;
    font-size:12px;
    line-height:1.7;
  }

  .cats-hoikuen-en,.cats-support-en,.cats-life-en,.cats-cafe-shop-en,.cats-access-en,.cats-report-en{
    font-size:27px !important;
    line-height:1.1 !important;
  }

  .cats-hoikuen-jp,.cats-support-jp,.cats-life-jp,.cats-cafe-shop-jp,.cats-access-jp,.cats-report-jp{
    margin-top:7px !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }

  /* 支援 */
  .cats-support{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:52px 0 56px !important;
    box-sizing:border-box !important;
  }

  .cats-support-header{
    width:100% !important;
    min-width:0 !important;
    min-height:80px !important;
    padding:0 65px !important;
    margin:0 auto 12px !important;
  }

  .cats-support-en{
    font-size:27px !important;
  }

  .cats-support-jp{
    margin-top:7px !important;
    font-size:12px !important;
  }

  .cats-support-cat{
    left:0 !important;
    width:60px !important;
  }

  .cats-support-paw{
    right:0 !important;
    width:68px !important;
  }

  .cats-support-intro{
    margin-bottom:27px !important;
  }

  .cats-support-sp-br{
    display:block;
  }

  .cats-support-main,.cats-support-sub{
    grid-template-columns:1fr;
    gap:11px;
  }

  .cats-support-main{
    margin-bottom:10px !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .cats-support-card-main{
    grid-template-columns:minmax(0,1fr) 108px 18px !important;
    gap:8px !important;
    min-height:118px !important;
    padding:16px 8px 16px 18px !important;
    border-radius:14px !important;
  }

  .cats-support-card-en{
    font-size:9px;
  }

  .cats-support-card-main strong{
    font-size:15px !important;
  }

  .cats-support-card-text{
    font-size:10.5px !important;
    line-height:1.65;
  }

  .cats-support-visual{
    height:94px;
  }

  .cats-support-visual-donation{
    width:105px !important;
    height:90px !important;
  }

  .cats-support-visual-donation img{
    width:96px !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    transform:translateY(3px) !important;
  }

  .cats-support-visual-logos img{
    width:100%;
    height:27px;
  }

  .cats-support-visual-photo{
    height:100px;
  }

  .cats-support-card .cats-support-arrow{
    right:13px;
    bottom:10px;
    width:27px;
    height:27px;
    font-size:12px;
  }

  /* 募金箱・ふるさと納税：PC同様の青背景＋白文字 */
  .cats-support-card-sub{
    grid-template-columns:minmax(0,1fr) 150px 18px !important;
    gap:8px !important;
    min-height:82px !important;
    padding:8px 8px 8px 15px !important;
    border:1px solid rgba(255,255,255,.45) !important;
    background:var(--cats-primary-dark) !important;
    color:#fff !important;
  }

  .cats-support-sub-visual{
    width:100%;
    height:66px !important;
  }

  .cats-support-card-sub strong{
    font-size:15px;
    color:#fff !important;
  }

  .cats-support-card-sub .cats-support-arrow{
    right:12px;
    bottom:50%;
    width:auto !important;
    height:auto !important;
    position:static !important;
    justify-self:end !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1 !important;
    transform:none !important;
  }

  .cats-support-line-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:11px;
    min-height:0;
    margin-top:20px;
    padding:15px 17px 18px;
    border-radius:17px;
    text-align:center;
  }

  .cats-support-line-images{
    justify-content:center;
    gap:6px;
    width:100%;
    height:90px;
  }

  .cats-support-line-images img{
    width:90px;
    height:90px;
  }

  .cats-support-line-content{
    width:100%;
    text-align:center;
  }

  .cats-support-line-content>strong{
    font-size:15px;
  }

  .cats-support-line-button{
    width:100%;
    min-width:0;
    padding:10px 17px;
    font-size:10.5px;
  }

  .cats-support-footer-note{
    margin:24px auto 0 !important;
    padding:16px 8px 0 !important;
    font-size:10.5px !important;
    line-height:1.75 !important;
  }

  .cats-support-note-pc{
    display:none;
  }

  .cats-support-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
  }

  .cats-support-card,
  .cats-support-card-sub{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  .cats-support-intro p{
    font-size:11.5px !important;
  }

  .cats-support-card-main .cats-support-arrow{
    position:static !important;
    width:auto !important;
    height:auto !important;
    border:0 !important;
    background:none !important;
    color:var(--cats-primary-dark) !important;
    transform:none !important;
    justify-self:end !important;
    margin:0 !important;
    font-size:18px !important;
    line-height:1 !important;
  }

  .cats-support-sub{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .cats-support-card-main strong,.cats-support-card-sub strong{
    font-size:16px !important;
  }

  /* 猫との暮らし */
  .cats-life{
    padding:52px 18px 56px !important;
    width:100% !important;
    box-sizing:border-box;
  }

  .cats-life-grid{
    grid-template-columns:1fr !important;
    gap:12px;
    width:100% !important;
  }

  .cats-life-card{
    grid-template-columns:38% 62% !important;
    min-height:132px !important;
    border-radius:14px;
    width:100% !important;
    box-sizing:border-box;
  }

  .cats-life-photo{
    min-height:132px !important;
  }

  .cats-life-body{
    padding:12px 14px !important;
  }

  .cats-life-card-en{
    font-size:8px;
  }

  .cats-life-body h3{
    font-size:14px !important;
  }

  .cats-life-body p{
    margin-bottom:5px !important;
    font-size:10px;
    line-height:1.5;
  }

  .cats-life-button{
    font-size:12px !important;
    margin-top:0 !important;
  }

  .cats-life-heading{
    margin-bottom:20px;
  }

  .cats-life-en{
    font-size:27px;
    letter-spacing:.07em;
  }

  .cats-life-jp{
    margin-top:7px;
    font-size:12px;
  }

  .cats-life-intro{
    margin-bottom:25px;
  }

  .cats-life-intro strong{
    font-size:17px;
    line-height:1.5;
  }

  .cats-life-intro p{
    font-size:11.5px;
    line-height:1.7;
  }

  .cats-life-intro p br{
    display:none;
  }

  .cats-life-inner{
    width:100% !important;
    max-width:none !important;
  }

  .cats-life-body h3,.cats-shop-body>strong{
    font-size:15px !important;
  }

  /* カフェ・ショップのリンクボタンは縦幅をコンパクトに */
  .cats-cafe-shop-button,.cats-shop-link{
    min-height:30px !important;
    padding-top:3px !important;
    padding-bottom:3px !important;
    line-height:1.3 !important;
    display:inline-flex !important;
    align-items:center !important;
  }

  .cats-life-button{
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
  }

  /* カフェ・ショップ */
  .cats-cafe-shop{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:52px 18px 56px !important;
    box-sizing:border-box !important;
  }

  .cats-cafe-shop-heading{
    margin-bottom:19px;
  }

  .cats-cafe-shop-en{
    font-size:27px;
    letter-spacing:.06em;
  }

  .cats-cafe-shop-jp{
    margin-top:7px;
    font-size:12px;
  }

  .cats-cafe-shop-intro{
    margin-bottom:25px;
  }

  .cats-cafe-shop-intro p{
    font-size:11.5px;
  }

  .cats-cafe-shop-grid{
    grid-template-columns:1fr !important;
    gap:13px;
    width:100% !important;
  }

  .cats-cafe-main{
    border-radius:16px;
  }

  .cats-cafe-main-photo{
    height:190px;
  }

  .cats-cafe-main-body{
    padding:18px 19px 20px;
  }

  .cats-cafe-main-body>strong{
    font-size:16px;
  }

  .cats-cafe-shop-side{
    gap:11px;
  }

  .cats-shop-card{
    grid-template-columns:1fr !important;
    border-radius:15px;
  }

  .cats-shop-photo{
    width:100% !important;
    min-height:155px;
  }

  .cats-shop-body{
    padding:15px;
  }

  .cats-shop-body>strong{
    font-size:14px;
  }

  .cats-online-shop{
    min-height:74px !important;
    padding:14px 42px 14px 54px !important;
    border-radius:15px;
    position:relative;
    background:#fff !important;
    border:1px solid rgba(52,127,135,.22) !important;
  }

  .cats-online-shop>strong{
    font-size:14px !important;
  }

  .cats-cafe-shop-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .cats-cafe-shop-grid,
  .cats-cafe-main,
  .cats-cafe-shop-side,
  .cats-shop-card,
  .cats-online-store{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .cats-online-shop::before{
    content:"SHOP";
    position:absolute;
    left:14px;
    top:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:31px;
    height:31px;
    border:1px solid var(--cats-primary-dark);
    border-radius:8px;
    color:var(--cats-primary-dark);
    font-family:"Nunito",sans-serif;
    font-size:7px;
    font-weight:800;
    letter-spacing:.04em;
    transform:translateY(-50%);
  }

  .cats-online-shop>span{
    position:absolute;
    right:15px;
    top:50%;
    color:var(--cats-primary-dark) !important;
    text-decoration:none !important;
    border:0 !important;
    transform:translateY(-50%);
  }

  .cats-online-shop>span::before,.cats-online-shop>span::after{
    display:none !important;
  }

  .cats-online-store{
    padding:16px 14px 15px;
    border-radius:14px;
  }

  .cats-online-store-head{
    margin-bottom:11px;
  }

  .cats-online-store-head strong{
    font-size:11px !important;
  }

  .cats-online-store-products{
    display:flex;
    gap:8px;
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    padding-right:0 !important;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .cats-online-store-products::-webkit-scrollbar{
    display:none;
  }

  .cats-online-store-products a,
.cats-online-store-products span{
    flex:0 0 92px;
    width:92px;
    height:92px;
  }

  .cats-online-store-more{
    min-height:30px !important;
    margin-top:8px;
    padding-top:3px !important;
    padding-bottom:3px !important;
    font-size:12px;
    line-height:1.3 !important;
  }

  /* アクセス */
  .cats-access{
    width:calc(100vw - 36px) !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw + 18px) !important;
    margin-right:calc(50% - 50vw + 18px) !important;
    padding:52px 18px 56px !important;
    box-sizing:border-box;
  }

  .cats-access-inner{
    max-width:none !important;
    width:100% !important;
  }

  .cats-access-heading{
    margin-bottom:27px;
  }

  .cats-access-en{
    font-size:27px;
  }

  .cats-access-jp{
    margin-top:7px;
    font-size:12px;
  }

  .cats-access-content{
    grid-template-columns:1fr !important;
    gap:25px !important;
    width:100% !important;
  }

  .cats-access-list>div{
    grid-template-columns:57px 1fr;
    padding:4px 0;
  }

  .cats-access .cats-access-list dt{
    font-size:14px !important;
    line-height:1.6 !important;
  }

  .cats-access .cats-access-list dd{
    font-size:12px !important;
    line-height:1.6 !important;
  }

  .cats-access-detail{
    min-width:185px;
    margin-top:16px;
    padding:10px 40px 10px 18px;
    font-size:11.5px !important;
  }

  .cats-access-map{
    height:220px !important;
    border-radius:15px;
    width:100% !important;
  }

  /* 収支報告 */
  .cats-report{
    padding:52px 18px 56px !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box;
  }

  .cats-report-inner{
    max-width:none !important;
    width:100% !important;
  }

  .cats-report-heading{
    margin-bottom:17px;
  }

  .cats-report-en{
    font-size:27px;
  }

  .cats-report-jp{
    margin-top:7px;
    font-size:12px;
  }

  .cats-report-intro{
    margin-bottom:23px;
  }

  .cats-report-intro p{
    font-size:11.5px;
    line-height:1.75;
  }

  .cats-report-intro p br{
    display:none;
  }

  .cats-report-grid{
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
  }

  .cats-report-card{
    min-height:95px;
    padding:16px 45px 15px 17px;
    border-radius:12px;
  }

  .cats-report-top{
    margin-bottom:6px;
  }

  .cats-report-date{
    font-size:9px;
  }

  .cats-report-latest{
    padding:2px 6px;
    font-size:8px;
  }

  .cats-report-title{
    font-size:13px;
    line-height:1.5;
  }

  .cats-report-arrow{
    right:17px;
    font-size:16px;
  }

  .cats-report-more{
    margin-top:21px;
  }

  .cats-report-more-button{
    min-width:220px;
    padding:9px 39px 9px 17px;
    font-size:10.5px;
  }

  /* フッター */
  .cats-footer-simple{
    width:100%;
    padding:38px 22px 30px;
  }

  .cats-footer-simple-logo{
    width:170px;
  }

  .cats-footer-simple-copy{
    margin:12px 0 18px !important;
    font-size:10.5px;
    line-height:1.75;
  }

  .cats-footer-simple-sns{
    gap:19px;
  }

  .cats-footer-simple-sns a{
    font-size:17px;
  }

  .footer-bottom{
    width:calc(100% - 44px) !important;
    padding:15px 0 18px !important;
    font-size:10px;
  }

  .footer{
    margin-top:40px;
  }

  /* ナビ・検索 */
  .menu-drawer{
    background:#f7f4ec !important;
    color:#24383a !important;
  }

  .menu-drawer a{
    color:#24383a !important;
    text-decoration:none !important;
  }

  .menu-drawer>ul>li>a,.menu-drawer .menu-item-has-children>a{
    position:relative;
    display:flex !important;
    align-items:center;
    min-height:58px;
    padding:15px 48px 15px 22px !important;
    border-bottom:1px solid rgba(52,127,135,.15) !important;
    font-size:16px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    background:transparent !important;
  }

  .menu-drawer .sub-menu{
    margin:0 !important;
    padding:3px 0 8px !important;
    background:rgba(255,255,255,.38) !important;
  }

  .menu-drawer .sub-menu li a{
    position:relative;
    display:flex !important;
    align-items:center;
    min-height:48px;
    padding:11px 45px 11px 38px !important;
    border-bottom:1px solid rgba(52,127,135,.09) !important;
    color:#536467 !important;
    font-size:14px !important;
    line-height:1.5 !important;
    font-weight:400 !important;
    background:transparent !important;
  }

  .menu-drawer .sub-menu li a::before{
    content:"";
    width:10px;
    height:1px;
    margin-right:10px;
    flex:0 0 10px;
    background:#347f87;
  }

  .menu-drawer li>a::after{
    color:#347f87 !important;
  }

  .menu-drawer .current-menu-item>a{
    color:#347f87 !important;
    font-weight:700 !important;
    background:rgba(52,127,135,.08) !important;
  }

  .menu-drawer .menu-close-button,.menu-drawer .close-button{
    color:#24383a !important;
  }

  .navi-menu-content .menu-item-has-children>.sub-menu{
    display:none !important;
  }

  .navi-menu-content .menu-item-has-children.is-open>.sub-menu{
    display:block !important;
  }

  .navi-menu-content .menu-item-has-children>a{
    position:relative !important;
    padding-right:58px !important;
  }

  .navi-menu-content .menu-item-has-children>a::after{
    display:none !important;
  }

  .navi-menu-content .menu-item-has-children>a::before{
    content:"＋" !important;
    position:absolute;
    top:50%;
    right:22px;
    transform:translateY(-50%);
    color:#347f87;
    font-size:22px;
    line-height:1;
    font-weight:400;
  }

  .navi-menu-content .menu-item-has-children.is-open>a::before{
    content:"−" !important;
  }

  .navi-menu-content .sub-menu li a{
    padding-left:34px !important;
    color:#5c696a !important;
    font-size:14px !important;
    font-weight:400 !important;
    background:rgba(52,127,135,.025) !important;
  }

  .menu-drawer a:hover,.menu-drawer a:focus,.menu-drawer a:active,.navi-menu-content a:hover,.navi-menu-content a:focus,.navi-menu-content a:active{
    background:rgba(52,127,135,.08) !important;
    color:var(--cats-primary-dark) !important;
    opacity:1 !important;
  }

  .menu-drawer>ul>li>a, .menu-drawer .menu-item-has-children>a, .navi-menu-content>ul>li>a, .navi-menu-content .menu-item-has-children>a{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-height:58px !important;
    padding:15px 54px 15px 22px !important;
    box-sizing:border-box !important;
  }

  .menu-drawer .menu-item-has-children>a::before, .navi-menu-content .menu-item-has-children>a::before{
    right:22px !important;
    width:20px !important;
    text-align:center !important;
  }

  .menu-drawer li:not(.menu-item-has-children)>a::after, .navi-menu-content li:not(.menu-item-has-children)>a::after{
    position:absolute !important;
    right:22px !important;
    top:50% !important;
    width:20px !important;
    margin:0 !important;
    text-align:center !important;
    transform:translateY(-50%) !important;
  }

  .menu-drawer a:hover,.menu-drawer a:focus,.menu-drawer a:active, .navi-menu-content a:hover,.navi-menu-content a:focus,.navi-menu-content a:active{
    background:#EDF7F7 !important;
    color:#347F87 !important;
    opacity:1 !important;
  }

  #navi .cats-search-trigger, #cats-search-overlay{
    display:none !important;
  }

  /* その他 */
  .sidebar{
    padding-left:16px;
    padding-right:16px;
  }
}

/* スマホ 640px以下 */
@media screen and (max-width:640px){
  /* 最新情報 */
  .cats-news-home{
    display:block;
    width:100%;
    max-width:none;
    margin:32px auto 40px;
    padding:24px 18px;
  }

  .cats-news-home-header{
    width:100%;
    display:block;
    margin:0 0 12px !important;
    padding:0 !important;
    text-align:center;
  }

  .cats-news-home-title{
    font-size:18px !important;
  }

  .cats-news-home-item{
    min-height:0;
    align-items:flex-start;
    padding:4px 0 !important;
  }

  .cats-news-home-list{
    padding-left:0;
  }

  .cats-news-home-date{
    flex:0 0 70px;
    font-size:12px;
    line-height:1.5;
  }

  .cats-news-home-text{
    font-size:12px;
    line-height:1.5;
    padding-left:5px;
  }

  /* フッター */
  .footer-sns{
    width:100% !important;
    justify-content:center !important;
    margin:18px auto !important;
    gap:11px !important;
  }

  .footer-sns a{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
  }

  .footer-sns a i{
    font-size:20px !important;
  }
}

/* ==================================================
   HOME｜最終調整（2026-09-17）
   ・右向き矢印を「›」に統一
   ・SUPPORT下段の位置調整
   ・REPORTカードの視認性改善
   ================================================== */

/* HTML内の矢印文字を隠し、› に統一 */
body:has(.cats-hero) .cats-support-arrow,
body:has(.cats-hero) .cats-report-arrow,
body:has(.cats-hero) .cats-cafe-shop-button > span,
body:has(.cats-hero) .cats-shop-link > span,
body:has(.cats-hero) .cats-online-store-more > span,
body:has(.cats-hero) .cats-life-button > span,
body:has(.cats-hero) .cats-hoikuen-readmore > span,
body:has(.cats-hero) .cats-news-home-more-button > span,
body:has(.cats-hero) .cats-home-more-button > span,
body:has(.cats-hero) .list-more-button > span,
body:has(.cats-hero) .cats-access-detail > span,
body:has(.cats-hero) .cats-report-more-button > span,
body:has(.cats-hero) .cats-support-line-button > span{
  font-size:0 !important;
  line-height:1 !important;
}

body:has(.cats-hero) .cats-support-arrow::after,
body:has(.cats-hero) .cats-report-arrow::after,
body:has(.cats-hero) .cats-cafe-shop-button > span::after,
body:has(.cats-hero) .cats-shop-link > span::after,
body:has(.cats-hero) .cats-online-store-more > span::after,
body:has(.cats-hero) .cats-life-button > span::after,
body:has(.cats-hero) .cats-hoikuen-readmore > span::after,
body:has(.cats-hero) .cats-news-home-more-button > span::after,
body:has(.cats-hero) .cats-home-more-button > span::after,
body:has(.cats-hero) .list-more-button > span::after,
body:has(.cats-hero) .cats-access-detail > span::after,
body:has(.cats-hero) .cats-report-more-button > span::after,
body:has(.cats-hero) .cats-support-line-button > span::after{
  content:"›" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:1em !important;
  font-family:Arial,sans-serif !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:600 !important;
  vertical-align:middle !important;
  transform:none !important;
}

/* HEROは疑似要素そのものを書き換え */
body:has(.cats-hero) .cats-hero-button::after{
  content:"›" !important;
  top:50% !important;
  right:18px !important;
  font-family:Arial,sans-serif !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:600 !important;
  transform:translateY(-50%) !important;
}

/* ADOPTION：もっと見るは常に白文字・白矢印 */
body:has(.cats-hero) .cats-home-more-button,
body:has(.cats-hero) .cats-home-more-button:link,
body:has(.cats-hero) .cats-home-more-button:visited,
body:has(.cats-hero) .cats-home-more-button:hover,
body:has(.cats-hero) .cats-home-more-button:focus,
body:has(.cats-hero) .cats-home-more-button:active,
body:has(.cats-hero) .cats-home-more-button *,
body:has(.cats-hero) .cats-home-more-button > span::after{
  color:#fff !important;
}
body:has(.cats-hero) .cats-home-more-button:hover,
body:has(.cats-hero) .cats-home-more-button:focus,
body:has(.cats-hero) .cats-home-more-button:active{
  background:var(--cats-primary-dark) !important;
  border-color:var(--cats-primary-dark) !important;
}

/* SUPPORT：下段2カードだけ画像と矢印の間隔を調整 */
.cats-support-card-sub .cats-support-sub-visual{
  position:relative !important;
  left:-18px !important;
}
.cats-support-card-sub .cats-support-arrow{
  position:absolute !important;
  top:50% !important;
  right:20px !important;
  bottom:auto !important;
  left:auto !important;
  transform:translateY(-50%) !important;
}

/* REPORT：カードをクリック可能と分かりやすく */
.cats-report-card{
  border:1px solid rgba(52,127,135,.28) !important;
  box-shadow:0 4px 13px rgba(52,127,135,.08) !important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease !important;
}
.cats-report-card:hover{
  border-color:rgba(52,127,135,.48) !important;
  box-shadow:0 7px 18px rgba(52,127,135,.13) !important;
  transform:translateY(-2px) !important;
}

/* ==================================================
   MOBILE｜最終調整
   ・CAT CAFÉ & SHOP コンパクト化
   ・ONLINE STORE 3商品表示
   ・ACCESS Google Map 表示修正
   ・SUPPORT下段位置をモバイル用に戻す
   ================================================== */
@media screen and (max-width:767px){
  /* SUPPORT */
  .cats-support-card-sub .cats-support-sub-visual{
    left:0 !important;
  }
  .cats-support-card-sub .cats-support-arrow{
    right:12px !important;
  }

  /* CAT CAFÉ & SHOP：余白・画像・説明・リンクをコンパクトに */
  .cats-cafe-shop{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
  .cats-cafe-shop-heading{
    margin-bottom:12px !important;
  }
  .cats-cafe-shop-intro{
    margin-bottom:20px !important;
  }
  .cats-cafe-shop-grid,
  .cats-cafe-shop-side{
    gap:12px !important;
  }
  .cats-cafe-main-photo{
    height:165px !important;
    min-height:165px !important;
    flex:0 0 165px !important;
  }
  .cats-cafe-main-body,
  .cats-shop-body{
    padding:13px 16px 12px !important;
  }
  .cats-cafe-main-body strong,
  .cats-shop-body strong{
    margin-bottom:5px !important;
  }
  .cats-cafe-main-body p,
  .cats-shop-body p{
    margin:0 !important;
    font-weight:400 !important;
    line-height:1.55 !important;
  }
  .cats-cafe-shop-button,
  .cats-shop-link{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    min-height:0 !important;
    height:24px !important;
    margin-top:7px !important;
    padding:0 !important;
    font-size:10.5px !important;
    line-height:1 !important;
  }
  .cats-shop-card{
    grid-template-columns:1fr !important;
  }
  .cats-shop-photo{
    height:165px !important;
    min-height:165px !important;
  }

  /* ONLINE STORE：スマホは3商品だけ。横スクロール・見切れなし */
  .cats-online-store{
    padding:12px !important;
  }
  .cats-online-store-head{
    margin-bottom:8px !important;
  }
  .cats-online-store-products{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .cats-online-store-products a,
.cats-online-store-products span{
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    aspect-ratio:1 / 1 !important;
    flex:none !important;
  }
  .cats-online-store-products a:nth-child(n+4){
    display:none !important;
  }
  .cats-online-store-products img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .cats-online-store-more{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    min-height:0 !important;
    height:22px !important;
    margin-top:6px !important;
    padding:0 !important;
    font-size:10px !important;
    line-height:1 !important;
  }

  /* ACCESS：Google Mapを確実に表示 */
  .cats-access{
    min-height:0 !important;
    height:auto !important;
  }
  .cats-access-content{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:22px !important;
    height:auto !important;
  }
  .cats-access-list{
    width:100% !important;
  }
  .cats-access-map{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:220px !important;
    min-height:220px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:15px !important;
  }
  .cats-access-map iframe{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:220px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
}

/* SUPPORT｜上段2カードの「›」位置を完全統一 */
.cats-support-card-main{
  position:relative !important;
}

/* グリッド内の矢印用列は使わない */
.cats-support-card-main .cats-support-arrow{
  position:absolute !important;
  top:50% !important;
  right:20px !important;
  bottom:auto !important;
  left:auto !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:18px !important;
  height:24px !important;
  margin:0 !important;

  transform:translateY(-50%) !important;
}

/* スマホ */
@media screen and (max-width:767px){
  .cats-support-card-main .cats-support-arrow{
    right:12px !important;
  }
}

/* ==================================================
   ほいくえんだより｜カードをコンパクトに
   ================================================== */
.cats-hoikuen-card-image{
  height:150px !important;
  min-height:150px !important;
}

.cats-hoikuen-card-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.cats-hoikuen-card-body{
  padding:14px 16px 12px !important;
}

.cats-hoikuen-card-body p{
  display:-webkit-box !important;
  margin:5px 0 !important;
  overflow:hidden !important;
  line-height:1.5 !important;
  max-height:3em !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
}

.cats-hoikuen-readmore{
  align-self:flex-end !important;
  justify-content:flex-end !important;
  margin-left:auto !important;
  margin-top:5px !important;
  font-weight:400 !important;
  text-align:right !important;
}

@media screen and (max-width:767px){
  .cats-hoikuen-card-image{
    height:115px !important;
    min-height:115px !important;
  }

  .cats-hoikuen-card-body{
    padding:10px 12px 9px !important;
  }

  .cats-hoikuen-card-body p{
    margin:4px 0 !important;
    line-height:1.45 !important;
  }

  .cats-hoikuen-readmore{
    margin-top:4px !important;
  }
}

/* ==================================================
   HOME｜「詳しく見る・もっと見る」系リンクを通常の太さに統一
   ================================================== */

.cats-hoikuen-readmore,
.cats-life-button,
.cats-cafe-shop-button,
.cats-shop-link,
.cats-online-store-more,
.cats-access-detail,
.cats-report-more-button,
.cats-support-line-button{
  font-weight:400 !important;
}

/* 中の文字・矢印にも太字指定が残っている場合を解除 */
.cats-hoikuen-readmore span,
.cats-life-button span,
.cats-cafe-shop-button span,
.cats-shop-link span,
.cats-online-store-more span,
.cats-access-detail span,
.cats-report-more-button span,
.cats-support-line-button span{
  font-weight:400 !important;
}

/* ==================================================
   PC｜ONLINE STORE 6商品を小さく均等表示
   ================================================== */
@media screen and (min-width:768px){

  .cats-online-store-products{
    display:grid !important;
    grid-template-columns:repeat(6, minmax(0,1fr)) !important;
    align-items:center !important;
    gap:10px !important;

    width:100% !important;
    padding:12px 0 14px !important;
    margin:0 !important;
    overflow:visible !important;
  }

  .cats-online-store-products span{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    height:92px !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .cats-online-store-products img{
    display:block !important;
    width:100% !important;
    height:92px !important;
    max-width:100% !important;
    object-fit:contain !important;
  }

  .cats-online-store-more{
    margin-top:0 !important;
    font-weight:400 !important;
  }

  /* ───────────────
     左：保護猫カフェ
     右2カードの高さに合わせて縮める
     ─────────────── */

  .cats-cafe-main-photo{
    height:220px !important;
    min-height:220px !important;
    flex:0 0 220px !important;
  }

  .cats-cafe-main-body{
    padding:18px 22px 15px !important;
  }
}

/* ONLINE STORE｜カード全体をクリック可能に */
.cats-online-store{
  display:block !important;
  text-decoration:none !important;
  color:inherit !important;
  cursor:pointer !important;

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease !important;
}

.cats-online-store:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 7px 18px rgba(52,127,135,.13) !important;
  border-color:rgba(52,127,135,.45) !important;
}

/* 商品画像 */
.cats-online-store-products span{
  display:block;
  flex:1 1 0;
  min-width:0;
}

.cats-online-store-products img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

/* 右下リンク風表示 */
.cats-online-store-more,
.cats-online-store-more *{
  font-weight:400 !important;
}

/* ==================================================
   CAT CAFÉ & SHOP｜最終微調整
   ================================================== */

/* ONLINE STORE見出しを以前の横並びUIに戻す */
.cats-online-store-head{
  display:flex !important;
  align-items:baseline !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin-bottom:14px !important;
}

.cats-online-store-head > div{
  display:contents !important;
}

.cats-online-store-en,
.cats-online-store-head > strong:first-child{
  color:var(--cats-primary-dark) !important;
  font-family:"Nunito",sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}

.cats-online-store-head strong:not(:first-child),
.cats-online-store-head > span{
  color:var(--cats-text) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
}


/* 保護猫カフェ・猫カフェショップ｜説明文をRegularに統一 */
.cats-cafe-main-body p,
.cats-shop-body p{
  font-weight:400 !important;
}

/* ==================================================
   PC｜CAT CAFÉ & SHOP 縦幅をコンパクトに
   ================================================== */
@media screen and (min-width:768px){

  /* ONLINE STOREカード */
  .cats-online-store{
    padding:13px 20px 10px !important;
  }

  /* 見出し下の余白を縮小 */
  .cats-online-store-head{
    margin-bottom:5px !important;
  }

  /* 商品画像エリアの上下余白を縮小 */
  .cats-online-store-products{
    padding:5px 0 6px !important;
  }

  /* 6枚の画像サイズはほぼそのまま */
  .cats-online-store-products a,
  .cats-online-store-products span{
    height:88px !important;
  }

  .cats-online-store-products img{
    height:88px !important;
  }

  /* 下のリンクとの余白も縮小 */
  .cats-online-store-more{
    margin-top:3px !important;
  }


  /* 左：保護猫カフェも右側全体の高さに合わせて縮小 */
  .cats-cafe-main-photo{
    height:205px !important;
    min-height:205px !important;
    flex:0 0 205px !important;
  }

  .cats-cafe-main-body{
    padding:16px 22px 13px !important;
  }
}

/* ==================================================
   見出し装飾｜左右の距離を統一
   ================================================== */

/* ADOPTION：装飾を少し外側へ */
.cats-home-title{
  min-width:680px !important;
  background-position:
    left 5px center,
    right 5px center !important;
}

/* SUPPORT：装飾を中央へ寄せる */
.cats-support-header{
  min-width:590px !important;
}

.cats-support-cat{
  left:45px !important;
}

.cats-support-paw{
  right:35px !important;
}

/* ==================================================
   見出し装飾｜DIARY / LIFE / CAFÉ / ACCESS
   ================================================== */

/* ---------- 共通 ---------- */

.cats-deco-heading{
  position:relative !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;

  width:fit-content !important;
  min-width:720px !important;
  min-height:115px !important;

  margin-left:auto !important;
  margin-right:auto !important;
  padding:0 190px !important;

  box-sizing:border-box !important;
  overflow:visible !important;
}

.cats-heading-text{
  position:relative;
  z-index:2;

  display:flex;
  flex-direction:column;
  align-items:center;

  white-space:nowrap;
  text-align:center;
}

.cats-heading-deco{
  position:absolute !important;
  top:50% !important;

  display:block !important;
  height:auto !important;

  object-fit:contain;
  pointer-events:none;

  transform:translateY(-50%);
}


/* ---------- LIFE WITH CATS ---------- */

/* 左：足跡 */
.cats-life-heading .cats-deco-paws{
  left:20px !important;
  width:125px !important;
}

/* 右：人間と猫 */
.cats-life-heading .cats-deco-life{
  right:0 !important;
  width:175px !important;
}


/* ---------- CAT CAFÉ & SHOP ---------- */

/* 左：遊び猫 */
.cats-cafe-shop-heading .cats-deco-playcat{
  left:-5px !important;
  width:175px !important;
}

/* 右：足跡 */
.cats-cafe-shop-heading .cats-deco-paws{
  right:20px !important;
  width:125px !important;
}


/* ---------- DIARY ---------- */

.cats-hoikuen-title{
  min-width:680px !important;
  padding-left:175px !important;
  padding-right:175px !important;

  background-size:
    120px auto,
    165px auto !important;

  background-position:
    left 30px center,
    right 20px center !important;
}


/* ---------- ACCESS ---------- */

.cats-access-heading-deco{
  position:relative !important;

  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;

  width:fit-content !important;
  min-width:430px !important;
  min-height:100px !important;

  margin-left:auto !important;
  margin-right:auto !important;

  padding:0 145px 0 20px !important;

  box-sizing:border-box !important;
  overflow:visible !important;
}

.cats-access-paws{
  position:absolute !important;

  top:50% !important;
  right:5px !important;

  display:block !important;
  width:125px !important;
  height:auto !important;

  object-fit:contain;

  transform:translateY(-50%) !important;

  pointer-events:none;
}

/* ==================================================
   見出し装飾｜PC位置・サイズ最終調整
   ================================================== */

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

  /* ---------- ADOPTION ---------- */
  /* 左猫を少し見出し側へ */
  .cats-home-title::before{
    left:55px !important;
  }

  /* 右足跡を少し見出し側へ */
  .cats-home-title::after{
    right:55px !important;
  }


  /* ---------- DIARY ---------- */
  /* 左足跡・右猫ともかなり内側へ */
  .cats-hoikuen-title{
    background-size:
      120px auto,
      165px auto !important;

    background-position:
      left 95px center,
      right 90px center !important;
  }


  /* ---------- LIFE WITH CATS ---------- */

  /* 左足跡を内側へ */
  .cats-life-heading .cats-deco-paws{
    left:65px !important;
  }

  /* 右の人＋猫も内側へ */
  .cats-life-heading .cats-deco-life{
    right:45px !important;
  }


  /* ---------- CAT CAFÉ & SHOP ---------- */

  /* 左側は今くらいでOK */
  .cats-cafe-shop-heading .cats-deco-playcat{
    left:-5px !important;
  }

  /* 右足跡：大きく＋少し内側へ */
  .cats-cafe-shop-heading .cats-deco-paws{
    right:25px !important;
    width:155px !important;
  }


  /* ---------- ACCESS ---------- */

  /* 足跡を大きくして、ACCESSへ近づける */
  .cats-access-paws{
    right:35px !important;
    width:165px !important;
  }

  /* 装飾込みの横幅も少し縮める */
  .cats-access-heading-deco{
    min-width:390px !important;
    padding-right:135px !important;
  }

}