@charset "utf-8";
/* リセットCSS */
html{
    font-size: 16px;
}
body{
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}
hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.main{
    position: relative;
    font-family: "M PLUS 1", sans-serif;
    font-optical-sizing: auto;
    font-weight: bold;
    font-style: normal;
    line-height: 2.0;
    border-top: 1px solid #bcbcbc;
}

/* main 共通 */
.spacing-box{
    height: 50px;
}

h1 {
    font-size: 2rem;
    font-weight: 400;
    color: #fa6c74;
    margin-top: 50px;
    margin-bottom: 20px;
    font-family: "Mochiy Pop P One", sans-serif;
}

h2 {
  font-size: 1.7rem;
  font-weight: 400;
    color: #fa6c74;
    margin-bottom: 20px;
    font-family: "Mochiy Pop P One", sans-serif;
    letter-spacing: 0.4em;
}

h3 {
    font-size: 1.4rem;
    letter-spacing: 0.4em;
    text-align: center;
    font-weight: 400;
    color: #fa6c74;
    margin-bottom: 20px;
    font-family: "Mochiy Pop P One", sans-serif;
}


/* 使わない波線スタイル */
.waveline {
  width: 100%;
  height: 80px; /* 波の高さ分は必要 */
  background-image: url("../img/waveline-white.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  /* background-color: hotpink; */
  /* outline: 1px solid red; */
  position: relative;
  z-index: 10;
}
.waveline2 {
  width: 100%;
  height: 80px; /* 波の高さ分は必要 */
  background-image: url("../img/waveline.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  /* background-color: hotpink; */
  /* outline: 1px solid red; */
  position: relative;
  z-index: 10;
}
/* 使わない波線スタイル　ここまで */

/* 波線（indexと同じ）スタイル */
.custom-shape-divider-bottom-1758701570 {
    position: absolute;
    top: -75px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
    z-index: 99;
}

.custom-shape-divider-bottom-1759886586 {
    position: absolute;
    bottom: -44px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    /* transform: rotate(180deg); */
    z-index: 99;
}

.custom-shape-divider-bottom-1758701570 svg {
    position: relative;
    display: block;
    width: calc(111% + 1.3px);
    height: 76px;
}

.custom-shape-divider-bottom-1759886586 svg {
    position: relative;
    display: block;
    width: calc(111% + 1.3px);
    height: 45px;
}

.custom-shape-divider-bottom-1758701570 .shape-fill,
.custom-shape-divider-bottom-1759886586 .shape-fill {
    fill: #FFF2BB;
}
/* 波線スタイル　ここまで */


/* main */
.seikatsu-top{
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

/* section01 1日の流れ */
.seikatsu-section01 {
    background-color: #fff2bb;
}
.sec01-top{
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.sec01-top img{
    width: 320px;
}

.pc {
  display: block;
    max-width: 800px;
    margin: 0 auto;
}
.sp {
  display: none;
}

.table-style{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    background-color: transparent;
    border-collapse: separate;
    border-spacing: 5px;
}
th{
    font-size: 22px;
    padding-bottom: 10px;
    font-weight: bold;
    color: #fa6c74;
}
.time{
    width: 18%;
    font-size: 18px;
    background-color: transparent;
    font-weight: bold;
    color: #fa6c74;
    text-align: right;
    padding-right: 10px;
}
td:not(.time){
    background-color: #fff;
    font-weight: bold;
    width: 30%;
    overflow: hidden;
    letter-spacing: 5px;
    padding: 15px;
}
.radius1 {
    border-top-left-radius:18px;
    border-top-right-radius: 18px;
}
.radius2 {
    border-bottom-right-radius: 18px;
}
.radius3 {
    border-bottom-left-radius: 18px;
}

/* sec02　活動内容 */
.sec02-top{
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.sec02-top img {
    width: 250px;
}
.sec02-01-back{
    background-color: #fff2bb;
}
.sec02-01 {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 3rem;
}
.sec02-01-p img{
    width: 230px;
    display: block;
    margin-left: auto;
    padding-top: 20px;
    padding-right: 40px;
}
.res-br {
  display: none;
}
.pic img{
    border-radius: 28px;    
}
.sec02-01-back{
    background-color: #fff2bb;
}
/*  */
.bg-yellow {
    background-color: #fff2bb;
}
.sec02-02 {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
}
.sec02-02-p {
  width: 100%;
}
.sec02-02-p img{
    width: 200px;
    display: block;
    margin:0 auto;
}
.pic img{
    border-radius: 28px;    
}
.sec02-02-p .img04 {
    width: 150px;
    padding-top: 30px;
}
.pic04 img{
    width: 300px;
    border-radius: 38px;
}

/* sec03 1年の行事 */
.seikatsu-section03 h2{
    text-align: center;
}
.event-timeline {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding: 4rem 0;
}

/* セクションタイトル */
.event-timeline h2 {
  text-align: center;
  color: #fa6c74;
  font-size: 24px;
  margin-bottom: 4rem;
  letter-spacing: 2px;
}

/* 各シーズンのブロック */
.event-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 5rem 0;
  position: relative;
}

/* タイムライン　真ん中の縦ライン */
.event-timeline::before {
  content: "";
  position: absolute;
  top: 100;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 100%;
  background: linear-gradient(
    to bottom,
    #fa6c74 0%,   /* 春ピンク */
    #fa6c74 25%,
    #9acd32 25%,  /* 夏グリーン */
    #9acd32 50%,
    #f79a3f 50%,  /* 秋オレンジ */
    #f79a3f 75%,
    #00a3c4 75%,  /* 冬ブルー */
    #00a3c4 100%
  );
  border-radius: 3px;
}

/* タイムライン　丸マーク共通（基本スタイル） */
.event-mark{
  position: absolute;
  top: 35%;
  left: 47%;
}
.event-mark-out {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 6px solid;
  background-color: #fff;
  position: absolute;
}
.event-mark-in {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 6px solid;
  position: absolute;
  top: 4px;
  left: 9%;
}

/* .event-item::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 8px solid #fff;
  background: #fff;
  z-index: 1;
} */

/* タイムライン　季節ごとの丸マーク 色 */
.mark-spring-out {
    border-color: #fa6c74;
}
.mark-spring-in {
    border-color: #fa6c74;
    background-color: #fa6c74;
}
.mark-summer-out {
    border-color: #9acd32;
}
.mark-summer-in {
    border-color: #9acd32;
    background-color: #9acd32;
}
.mark-autumn-out {
    border-color: #f79a3f;
}
.mark-autumn-in {
    border-color: #f79a3f;
    background-color: #f79a3f;
}
.mark-winter-out {
    border-color: #00a3c4;
}
.mark-winter-in {
    border-color: #00a3c4;
    background-color: #00a3c4;
}

/* .spring::before {
  top: 25%; ←ここを自由に変えられる！
}
.summer::before {
  top: 20%;
}
.autumn::before {
  top: 30%;
}
.winter::before {
  top: 20%;
} */

/* 丸と線の重なり */
.event-item::before {
  top: 50%;
  transform: translate(-50%, -50%);
}

/* 季節ごとのコンテンツ位置調整 */
.event-item.spring{
    top: -30px;
}
.event-item.summer{
    top: 40px;
}
.event-item.autumn {
    top: 90px;
}
.event-item.winter {
    top: 130px;
}

/* 左右の入れ替え（偶数行） */
/* .event-item:nth-child(even) {
  flex-direction: row-reverse;
} */

/* 画像エリア */
.sec03-img-box {
  width: 400px;
  aspect-ratio: 5/3; /*  */
}
/* フレーム共通 */
.photo-frame {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  padding: 15px;
  overflow: hidden;
  box-sizing: border-box;
}
/* 写真共通 */
.photo-image {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  position: relative;

  /* 写真の角 */
  /* 逆角丸マスク */
  -webkit-mask: 
    radial-gradient(circle 25px at 0 0, transparent 98%, black 100%) 0 0,
    radial-gradient(circle 25px at 100% 0, transparent 98%, black 100%) 100% 0,
    radial-gradient(circle 25px at 0 100%, transparent 98%, black 100%) 0 100%,
    radial-gradient(circle 25px at 100% 100%, transparent 98%, black 100%) 100% 100%;
  -webkit-mask-size: 50% 50%;
  -webkit-mask-repeat: no-repeat;
}

/* 季節ごとのフレーム色 */
.frame-spring{
  background-color: #fa6c74;
}
.frame-summer{
  background-color: #9acd32;
}
.frame-autumn{
  background-color: #f79a3f;
}
.frame-winter{
  background-color: #00a3c4;
}

/* 季節ごとの写真 */
.photo-spring {
  background-image: url("../img/seikatsu/season/spring.jpg");
  background-size: 100% auto; /* 画像の表示領域調整 */
  background-position: center 35%; /* 画像の表示位置調整 */
  background-repeat: no-repeat;
}
.photo-summer {
  background-image: url("../img/seikatsu/season/summer.jpg");
  background-size: 100% auto; /* 画像の表示領域調整 */
  background-position: center; /* 画像の表示位置調整 */
  background-repeat: no-repeat;
}
.photo-autumn {
  background-image: url("../img/seikatsu/season/n_autumn.jpg");
  background-size: 100% auto; /* 画像の表示領域調整 */
  background-position: center 30%; /* 画像の表示位置調整 */
  background-repeat: no-repeat;
}
.photo-winter {
  background-image: url("../img/seikatsu/season/n_winter.jpeg");
  background-size: 100% auto; /* 画像の表示領域調整 */
  background-position: center 62%; /* 画像の表示位置調整 */
  background-repeat: no-repeat;
}


/* テキストエリア */
.event-left, .event-right {
  width: 40%;
}

/* 季節タイトル */
.event-item h3 {
  font-family: "Zen Maru Gothic", sans-serif;;
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: center;
}

/* 季節リスト */
.event-item ul {
  list-style: none;
  padding: 0;
  padding-left: 60px;
  margin: 0;
  margin-left: 40px;
  font-size: 18px;
  line-height: 1.8;
  text-align: left;
}
.event-item li{
  font-size: 22px;
}

/* 季節リスト　春・冬 */
.list-container {
  display: flex;
  margin-left: 40px;
  gap: 2rem;
}
.list-group {
  display: flex;
  flex-direction: column;
}
.list-container ul{
  padding-left: 0;
  margin-left: 0;
}
.container-winter{
  margin-left: 0;
  gap: 10px;
}

/* 季節ごとのカラー設定 */
.spring h3 { color: #fa6c74; }
.spring::before { border-color: #fa6c74; }

.summer h3 { color: #9acd32; }
.summer::before { border-color: #9acd32; }

.autumn h3 { color: #f79a3f; }
.autumn::before { border-color: #f79a3f; }

.winter h3 { color: #00a3c4; }
.winter::before { border-color: #00a3c4; }




/* レスポンシブ　スタイル */
@media screen and (max-width:52em){
/* 波線スタイルsp */
  .custom-shape-divider-bottom-1758701570 {
   top: -59px;
}
.custom-shape-divider-bottom-1758701570 svg {
    width: calc(145% + 1.3px);
    height: 60px;
}

/* section01 1日の流れ（レスポンシブ） */
.sec01-top img{
  width: 250px;
}

/* 全体のスケジュールエリア */
.pc {
    display: none;
}
.sp {
    display: block;
    max-width: 90%;
    margin: 0 auto;

    padding-bottom: 20px;
    background-color: #F7DC1C;
    border-radius: 30px;
}

/* タブ切替エリア */
/* buttonタグのリセットCSS */
button{
  background-color: transparent;
  color: black;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
/* タブ-スタイル(共通) */
.tabs {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 4.0rem;
  margin: 0 auto;
  gap: 0px;
  
}
/* タブ-文字スタイル */
.tab{
  font-weight: bold;
  font-size: 1.2rem;
  border-radius:30px 30px 5px 5px;
}
/* タブ-各スタイル */
.tab-week{
  width: 52%;
  padding-left: 10px;
  border-top-right-radius: 5px;
}
.tab-thu{
  width: 48%;
  border-top-left-radius: 5px;  
}
.tab.active {
  background-color: #F7DC1C;
}
.tab:not(.active) {
  background-color: #ffbd59;
}

/* スケジュールの中身 */
.sp-schedule-item {
  width: 87%;
  margin: 0 auto;
  margin-top: 10px;
  margin-bottom: 10px;

  display: grid; /* divをグリッド表示 */
  grid-template-columns: 120px 1fr; /* グリッド幅の指定 */
  flex-direction: row;
  gap: 0.5rem;
  padding: 1rem;
  background: #fff;
  border-radius: 20px;

  align-items: center; /* 垂直中央 */
  font-weight: bold;
}
.content-first {
  margin-top: 40px;
}
/* 時間と内容 */
.time {
  width: 100%;
  font-weight: bold;
  font-size: 1.2rem;
  padding-right: 20px;
}
.content {
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
}
/* 表示 */
.tab-content {
  opacity: 0;
}
.tab-content.show {
  opacity: 1;
  transition: opacity 1.5s ease;
}


/* 木曜日 */
.content-thu{
  display: none;
}



  /* section02 活動内容（レスポンシブ） */
.sec02-01 {
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
    /* justify-content: space-between; */
    gap: 1rem;
    align-items: center;
}
.sec02-top img{
  width: 200px;
}
.sec02-01-p{
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.sec02-01-p img{
  width: 40%;
  margin: 0 auto;
  padding: 0;
  padding-top: 20px;
}
.sec02-02 {
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    gap: 1rem;
}
.sec02-02-p {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.sec02-02-p img{
  width: 40%;
  margin-top: 20px;
}
.pic {
  width: 100%;
}
.pic img{
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 400px;
  border-radius: 28px;
  object-fit: cover;
}
.res-br{
  display: block;
}

.pic04 {
  margin: 0 auto;
}


/* 一年行事　レスポンシブ */
/* タイムライン消 */
.event-timeline::before {
  display: none;
}
.event-item::before{
  display: none;
}
.event-mark{
  display: none;
}

/* ならびかえ　配置　レスポンシブ */
.event-item {
  display: flex;
  flex-direction: column;
  margin: 2rem 0;
}
.event-item.summer, .event-item.winter{
  display: flex;
  flex-direction: column-reverse;
}
.event-timeline {
  padding: 2rem 0;
}
.event-item ul{
  margin: 0 auto;
  padding: 0;
}
.event-left li, .event-right li{
  text-align: center;
  line-height: 2.5;
}
.event-left, .event-right {
  width: 100%;
}
.event-item img{
  width: 100%;
}
.event-item .list-group li{
  font-size: 18px;
}
.list-container {
  margin-left: 0;
  gap: 0;
}


/* 季節画像　レスポンシブ */
.sec03-img-box {
  width: 90%;
  margin: 0 auto;
  margin-top: 20px;
}
/* 季節背景色 レスポンシブ　*/
.event-item.spring {
  width: 100%;
  /* margin:20px auto ; */
  border-radius: 16px;
  /* 背景色入れるかも　12/02 */
}
.event-item.summer {
  width: 100%;
  /* margin:20px auto ; */
  border-radius: 16px;
}
.event-item.autumn {
  width: 100%;
  /* margin:20px auto ; */
  border-radius: 16px;
}
.event-item.winter {
  width: 100%;
  /* margin:20px auto ; */
  border-radius: 16px;
}


}