@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

a {
  background-color: transparent;
  color: #000;
  text-decoration: none;
}

img {
  width: 100%;
  border-style: none;
}

li {
  list-style: none;
}

h1 {
  color: #575757;
  font-size: 48px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

h2 {
  color: #575757;
  font-size: 32px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 2px;
}

h3 {
  color: #83E5CE;
  font-weight: 600;
  font-size: 20px;
  font-family: "Roboto", sans-serif;
  letter-spacing: 2px;
}

p {
  color: #575757;
  font-size: 18px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 2px;
  line-height: 2em;
}

th, td {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;  
}

span {
  color: #575757;
  font-size: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

a {
  color: #575757;
}

a:hover {
  opacity: .7;
}

.w-container {
  width: 96%;
  margin-left: 2%;
  margin-right: 2%;
}

/* 消してる要素 */
.header {
  display: none;
}

/* ヘッダー */
.header-box {
  height: 126px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-left: 80px;
  margin-right: 80px;
}

.header-logo {
  width: 310px;
  height: auto;
}

.header-nav ul {
  display: flex;
  gap: 20px;
}

.header-nav li a {
  font-size: 16px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.header-tel .tel-number span {
  display: inline-block;
  color: #575757;
  font-size: 20px;
  background-color: #83E5CE;
  padding: 15px 40px;
}

.header-tel .tel-number span::before {
  content: ""; 
  width: 30px; 
  height: 24px;
  display: inline-block; 
  background-image: url('../image/tel.png'); 
  background-size: contain; 
  background-repeat: no-repeat;
  vertical-align: middle; 
  margin-right: 5px; 
}

/* トップ */
.main {
  width: 100%;       
  height: 660px;     
  overflow: hidden;
  position: relative; 
}

.main-img-box {
  width: 1120px;     
  height: 660px;     
  position: relative; 
  margin-left: auto;
  margin-right: 0; 
  overflow: hidden;
}

.slide-img {
  position: absolute; 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 10; 
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}

.slide-img.active {
  opacity: 1;
}

.slide-img-sp {
  display: none;
}

.main-title-box {
  width: 432px; 
  height: auto;
  position: absolute; 
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  z-index: 20;
}

.main-title-box img {
  max-width: 100%;
  height: auto;
}

.p1-a {
  background-image: url('../image/top-back1.png');
  background-size: cover;
  background-repeat: no-repeat;
  margin-top: -70px;
}

.p1-a-box {
  text-align: right;
}

.p1-a-item {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.95);
  padding: 134px 80px 72px;
  text-align: center;
}

.p1-a-item h2, .notice-title-box h2 {
  font-weight: 400;
}

.p1-a-item h2, .p1-a-item h3 {
  text-align: center;
}

.p1-a-item h3, .p1-a-item p, .p1-b-title h3, .p1-c-text h3 {
  margin-top: 27px;
}

.p1-a-item p {
  text-align: left;
}

.link-botan {
  display: inline-block;
  margin: 50px auto 0;
  text-align: center;
}

.link-botan span::after {
  content: "";
  display: inline-block;
  background-image: url('../image/botan-img.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 15px;
  height: 15px;
  padding-left: 0;
  margin-left: 20px;
  vertical-align: middle;
}

.link-botan span {
  display: inline-block;
  background-color: #98C3EE;
  padding: 20px 40px 20px 44px;
  border-radius: 120px;
}

.notice {
  padding: 80px 0;
}

.notice-box {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.notice-title-box {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 24px;
  border-left: 5px solid #83E5CE;
  margin-bottom: 40px;
}

.notice-text-box {
  height: 220px; 
  padding: 50px 60px;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.notice-text {
  height: 100%;
  overflow-y: scroll;
}

.notice-text ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.notice-text li {
  padding: 20px 0;
  border-top: 1px dashed #ccc; 
}

/* .notice-text li:first-child {
  border-top: none;
} */

.notice-date {
  font-size: 18px;
  font-weight: 400;
  margin-right: 30px;
}

/* スクロールバーのカスタム */
.notice-text::-webkit-scrollbar {
  width: 8px; 
}

.notice-text::-webkit-scrollbar-thumb {
  background-color: #83E5CE;
}

.p1-b {
  background-image: url('../image/top-back3.png');
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 80px;
  padding-bottom: 80px;
}

.p1-b-text-box img {
  width: 30px;
  height: 30px;
}

.p1-b-title {
  text-align: center;
}

.p1-b-text-box {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  max-width: 1280px;
  height: 450px;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  background-image: url('../image/Vector\ 20.png'), url('../image/Vector\ 21.png');  
  background-position: left center, right center;
  background-size: 65px 450px, 65px 450px; 
  background-repeat: no-repeat, no-repeat;
}

.p1-b-p {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #ccc;
}

.p1-c {
  position: relative;
  background-color: #FDF9ED;
}

.p1-c-box {
  height: 642px;
}

.p1-c-item {
  width: 100%;
  position: absolute;
  top: 70px;
  right: 0;
  display: flex;
  justify-content: space-between;
}

.p1-c-text {
  padding-top: 130px;
  padding-bottom: 40px;
  padding-left: 100px;
}

.p1-c-text p {
  margin-top: 40px;
}

.p1-c-img {
  max-width: 720px;
  height: auto;
  margin-top: 80px;
}

.p1-c-img-sp {
  display: none;
}

.p1-d {
  background-color: #D7F7EF;
  padding-top: 150px;
  padding-bottom: 110px;
}

.p1-d-item {
  /* max-width: 1120px;
  margin-left: auto;
  margin-right: auto; */
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 50px;
}

.p1-b-img {
  width: 240px;
  height: 224px;
  background-color: #fff;
  padding: 20px 10px 10px 10px;
  border-radius: 20px;
}

.p1-b-img a {
  height: 100%; 
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p1-d-item .p1-b-img:nth-child(2) img:first-child {
  margin-top: 25px;
}

.p1-b-img img:first-child {
  width: 120px;
  height: auto;
}

.p1-b-img img:last-child {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.p1-b-img span {
  margin-top: auto; 
  margin-bottom: 20px;
}

.p1-e {
  padding-top: 80px;
  padding-bottom: 80px;
}

.p1-e-box {
  display: flex;
  justify-content: center;
  gap: 100px;
}

.p1-e-inst {
  width: 400px;
  height: auto;
}

.p1-e-item {
  text-align: center;
}

.p1-e-item p {
  margin-top: 25px;
  margin-bottom: 25px;
}

.p1-e-item img {
  width: 320px;
  height: 320px;
}

/* あすとりんくについて */
.sub-main {
  background-image: url(../image/sub-back.png);
  /* background-size: cover;  */
  background-repeat: no-repeat;
}

.sub {
  background-color: #83E5CE;
  padding-top: 45px;
  padding-bottom: 45px;
}

.sub-box {
  text-align: center;
}

.sub-box h1 {
  font-size: 36px;
}

.p2-a {
  padding-top: 56px;
}

.p2-a-img {
  max-width: 960px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.p2-a-text {
  text-align: center;
}

.p2-a-text h2 {
  position: relative;
  padding-bottom: 36px;
  margin-top: 40px;
}

.p2-a-text h2::after {
  content: "";
  position: absolute; 
  left: 50%;
  transform: translateX(-50%);
  bottom: 0; 
  width: 100px;
  height: 5px;
  border-radius: 5px;
  background-color: #83E5CE; 
}

.p2-a-text p {
  margin-top: 40px;
}

.p2-a-text .p2-a-list {
  display: inline-block;
  text-align: left;
  background-color: #FDF9ED;
  padding: 42px 80px;
  margin-top: 40px;
}

.p2-a-text .p2-a-list .p2-a-li  {
  display: flex;
  margin-bottom: 10px;
}

.p2-a-text .p2-a-list .p2-a-li img  {
  width: 35px;
  height: 35px;
  margin-right: 10px;
}

.p2-a-text .p2-a-list .p2-a-li p {
  margin-top: 0;
}

.p2-b {
  padding-top: 100px;
}

.p2-b-box {
  text-align: center;
}

.p2-b-title h2, .p2-c-title h2, .p3-a-title h2 {
  text-align: center;
  position: relative;
  padding-bottom: 36px;  
}

.p2-b-title h2::after, .p2-c-title h2::after, .p3-a-title h2::after {
  content: "";
  position: absolute; 
  left: 50%;
  transform: translateX(-50%);
  bottom: 0; 
  width: 100px;
  height: 5px;
  border-radius: 5px;
  background-color: #83E5CE; 
}

.p2-b-item {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 42px 80px;
  border-radius: 30px;
  margin-bottom: 30px;
}

.p2-b-item h3 {
  text-align: left;
  font-size: 32px;
  color: #575757;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
  font-style: normal;
  padding-left: 30px;
  border-left: 5px solid #83E5CE;
}

.p2-b-item-box {
  display: flex;
  justify-content: flex-start;
  gap: 30px;
  margin-top: 30px;
}

.p2-b-img-box img {
  max-width: 520px;
  height: auto;
}

.p2-p {
  position: relative;
  text-align: left;
  font-size: 24px;
  font-weight: 600;
  padding-left: 40px;
  margin-top: 30px;
}

.p2-p::before {
  content: "";
  position: absolute; 
  left: 0; 
  width: 30px; 
  height: 30px;
  background-color: #83E5CE;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%); 
}

.p2-b-img-box ul {
  text-align: left;
}

.p2-b-img-box ul li {
  font-size: 18px;
  font-weight: 300;
  padding-top: 10px;
  padding-bottom: 10px;
}

.p2-b-text-box p {
  text-align: left;
}

.p2-b-text1 {
  background-color: #FDF9ED;
  padding-top: 20px;
  padding-bottom: 20px;
  border-radius: 20px;
}

.p2-b-text1 p {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}

.p2-c {
  padding-top: 70px;
}

.p2-c-table {
  max-width: 1120px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}

.p2-c-table tr th {
  width: 21%;
  background-color: #83E5CE;
}

.p2-c-table tr td {
  background-color: #fff;
  line-height: 1.5em;
  padding-left: 80px;
}

.p2-c-table table {
  width: 100%;
  border-collapse: collapse;
}

.p2-c-table tr th, .p2-c-table tr td {
  font-size: 20px;
  color: #575757;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #575757;
}

.p2-d {
  padding-top: 100px;
  padding-bottom: 80px;
}

.faq__list {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.faq__checkbox {
  display: none;
}
.faq__item {
  border-bottom: 1px solid #ddd;
  margin-top: 40px;
}
.faq-q {
  position: relative;
  background-color: #DEFEF6;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s;
}
.faq-q__txt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 300;
  flex-grow: 1;
}

.faq__mark {
  width: 80px;
  height: 80px;
  color: #575757;
  font-size: 48px;
  font-weight: 400;
  font-family: "Oswald", sans-serif;
  margin-right: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
.faq-q .faq__mark {
  background-color: #83E5CE; 
}

.faq_toggle {
  width: 50px;
  height: 50px;
  position: relative;
  transition: all 0.3s;
  flex-shrink: 0;
}
.faq_toggle span {
  display: inline-block;
  position: absolute;
  transition: all 0.3s;
  background-color: #191919;
}
.faq_toggle span:nth-of-type(1) {
  width: 30px;
  height: 4px;
  top: 23px;
  left: 10px;
}
.faq_toggle span:nth-of-type(2) {
  width: 4px;
  height: 30px;
  top: 10px;
  left: 23.5px;
}
.faq__checkbox:checked + .faq-q .faq_toggle {
  transform: rotate(90deg);
}
.faq__checkbox:checked + .faq-q .faq_toggle span:nth-of-type(1) {
  opacity: 0;
  transform: rotate(90deg);
}

.faq-a {
  /* padding: 40px 70px; */
  background-color: #FDF9ED;
  /* display: none; */

  max-height: 0;
  overflow: hidden;
  transition: max-height 2s ease-in-out, padding 2s ease-in-out;
  padding: 0 70px;
}
.faq-a__content {
  margin-top: 10px;

  padding-top: 40px;
  padding-bottom: 40px;
}
.faq__checkbox:checked + .faq-q + .faq-a {
  /* display: block; */
  background-color: #FDF9ED;

  max-height: 730px;
}

.faq-a p {
  letter-spacing: 0;
  line-height: 1.5em;
}

.faq-a2 {
  text-align: center;
}

.faq-a2 p {
  text-align: left;
}

.faq-a2 .footer-tel {
  margin-top: 40px;
}

.faq-a-table {
  margin-top: 30px;
}

.faq-a-table table {
  width: 100%;
  border-collapse: collapse;
}

.faq-a-table table tr th, .faq-a-table table tr td {
  font-size: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #575757;
}

.faq-a-table table tr:first-child td {
  background-color: #83E5CE;  
}

.faq-a-table table tr th {
  width: 50%;
  background-color: #83E5CE;
}

.faq-a-table table tr td {
  background-color: #fff;
  padding-left: 75px;
}

.faq-a-table table tr th span, .faq-a-text p span {
  color: #F67423;
}

.faq-a-text p {
  margin-top: 20px;
}

/* ご利用の流れ */
.p3-a {
  margin-top: 50px;
}

.p3-a-box {
  text-align: center;
}

.p3-a-text {
  display: inline-block;
  padding: 40px 30px;
  border: 5px solid #83E5CE;
  margin-top: 40px;
}

.p3-a-text h3 {
  color: #575757;
  font-size: 24px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
}

.p3-a-text p {
  margin-top: 30px;
}

.p3-b {
  margin-top: 160px;
}

.p3-b-item .p3-b-text-box {
  height: auto;
  background-image: none;
  border-radius: 20px;
  padding-top: 60px;
  padding-bottom: 60px;
}

.p3-c {
  margin-top: 160px;
  padding-bottom: 120px;
}

.p3-c-box .p3-a-title {
  margin-bottom: 30px;
}

.p3-c-item {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.p3-c-title-box {
  width: 31%;
  height: 100%;
  background-color: #83E5CE;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  padding: 50px 10px;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}

.p3-c-title-box p {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
}

.p3-c-title-box h3 {
  font-size: 72px;
  color: #fff;
}

.p3-c-title-box h3 span {
  vertical-align: middle;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
}

.p3-c-text {
  background-color: #FDF9ED;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}

.p3-c-text p {
  padding-left: 40px;
}

.p3-c-text p:last-child {
  margin-top: 25px;
}

.p3-img {
  text-align: center;
}

.p3-img img {
  width: 10px;
  height: 40px;
  margin-top: 5px;
  margin-bottom: 5px;
}

/* 日々の活動 */
.p4-b {
  padding-bottom: 120px;
  margin-top: 100px;
}

.p4-b-img {
  max-width: 600px;
  height: auto;
}

.p4-b-item {
  max-width: 1280px;
  margin: 50px auto 0;
}

.p4-b-text-title h3 {
  color: #575757;
  font-size: 32px;
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  padding-left: 30px;
  border-left: 5px solid #83E5CE;
}

.p4-b-text-box {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
}

.p4-b-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
}

.p4-b-text p {
  letter-spacing: 0;
}

.p4-b-text ul {
  background-color: #FDF9ED;
  padding: 20px 40px;
  border-radius: 20px;
}

.p4-b-text ul li {
  padding-top: 8px;
  padding-bottom: 8px;
}

.p4-b-box .p4-b-item2 {
  margin-top: 60px;
}

/* お問い合わせ */
.p5-a {
  padding-top: 60px;
}

.contact {
  max-width: 1082px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 120px;
}

.contact-form-list-table {
  width: 100%;
}

.contact-form-list-table th, .contact-form-list-table td {
  padding-top: 30px;
  padding-bottom: 30px;
}

.contact-form-list-table th {
  width: 30%;
  text-align: left;
}

.contact-form-list-table th span, .consent-block p .consent-mark {
  display: inline-block;
  background-color: #83E5CE;
  padding: 10px;
  border-radius: 10px;
  margin-right: 20px;
}

.contact-form-list-table th p {
  font-size: 20px;
  line-height: normal;
}

.contact-form-list-table td input {
  width: 100%;
  height: 80px;
  background-color: #E5E5E5;
  padding-left: 20px;
  border: none;
  border-radius: 10px;
}

.contact-form-list-table td textarea {
  width: 100%;
  height: 300px;
  background-color: #E5E5E5;
  border: none;
  border-radius: 10px;
}

.address-zipaddr-block div {
  padding-bottom: 20px;
}

.address-zipaddr-block div:last-child {
  padding-bottom: 0;
}

.zip-input-block-split p {
  font-size: 24px;
}

.zip-input-block-split p {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 40px;
}

.zip-input-block-split button {
  height: 80px;
  background-color: #83E5CE;
  padding-left: 20px;
  padding-right: 20px;
  border: none;
  border-radius: 10px;
}

.zip-input-block-split button:hover {
  opacity: .7;
}

.pref-city-inline {
  display: flex;
  justify-content: space-between
}

.pref-city-inline .address-input-item {
  width: 45%;
}

.contact-form-list-table tr:nth-child(3) th, .contact-form-list-table tr:nth-child(6) th {
  vertical-align: top;
}

.consent-block p {
  display: flex;
  align-items: center;
}

.consent-block .wpcf7-list-item-label {
  font-size: 18px;
  letter-spacing: 0;
}

.submit-button-area {
  text-align: center;
  padding-top: 30px; 
  padding-bottom: 30px;
}

.submit-button-area input[type="submit"],
.submit-button-area button[type="submit"] {
  padding: 20px 55px; 
  background-color: #83E5CE;
  border-radius: 90px;
  border: none;
  color: #575757; 
  font-size: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1; 
  cursor: pointer;
  transition: opacity 0.3s;
}

.submit-button-area input[type="submit"]:hover,
.submit-button-area button[type="submit"]:hover {
  opacity: 0.7;
}

.wpcf7-spinner {
  display: none;
}

/* みんなの声 */
.voice-archive {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.voice-cards-grid {
    display: grid;
    /* 3列表示の例。必要に応じて 2列(repeat(2, 1fr)) などに変更 */
    grid-template-columns: repeat(3, 1fr); 
    gap: 30px; /* カード間のスペース */
    row-gap: 60px;
    margin-top: 30px;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .voice-cards-grid {
        grid-template-columns: 1fr; /* 1列に戻す */
    }
}


/* --- カード全体 --- */
.voice-card { /* .news-card のクラスも付与しているため、共通のスタイルも適用される */
    border: 1px solid #ddd;
    border-radius: 8px; 
    overflow: hidden;
    background-color: #fcfcf9;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column; 
    transition: box-shadow 0.3s ease;
}

.voice-card:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

/* --- 画像エリア --- */
.card-image {
    width: 100%;
    overflow: hidden;
}

.card-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* --- テキスト内容エリア --- */
.card-content {
    padding: 15px 20px 20px;
    flex-grow: 1; 
    display: flex;
    flex-direction: column;
}


.voice-archive .entry-title  {
  height: 64px;
  font-size: 20px;
  letter-spacing: normal;
  line-height: normal;
  padding-bottom: 10px;
}

.voice-archive .entry-summary {
  display: flex;
  align-items: center;
  height: 128px;
  font-size: 18px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 300;
  border-top: 1px solid #D7D7D7;
  border-bottom: 1px solid #D7D7D7;
  margin-bottom: 10px;
}

/* --- メタ情報（日付とカテゴリー）--- */
.card-meta {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.card-date {
    font-size: 14px;
    color: #888;
    margin-right: 15px;
}

.card-category {
    /* 添付画像のような水色のタグデザイン */
    background-color: #98e2d4; 
    color: #575757;
    font-size: 12px;
    padding: 3px 15px;
    font-weight: 400;
    line-height: 1;
}

/* --- 詳細ボタン --- */
.card-button {
  width: 160px;
  /* ボタンをコンテンツの下端に配置 */
  margin-top: auto; 
  
  /* ボタンのデザイン */
  display: inline-block;
  padding: 8px 15px;
  background-color: #99c2e5;
  color: #575757;
  text-align: center;
  text-decoration: none;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 300;
}

.pagination {
    padding: 30px 0 120px 0;
    text-align: center;
}

.pagination ul {
    display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination li {
    display: inline-block;
    margin: 0 5px;
}

.pagination a,
.pagination span {
    display: block;
    padding: 8px 12px;
    border: 1px solid #ddd;
    text-decoration: none;
}

.pagination .current {
    color: #575757;
}

.page-numbers .prev, .page-numbers .next {
  display: none;
}

/* お知らせ */
.single-container article {
  padding-bottom: 120px;
}

.single-container .entry-header {
  background-color: #83E5CE;
  padding-top: 45px;
  padding-bottom: 45px;
}

.single-container .entry-header .entry-title, .entry-thumbnail {
    max-width: 1000px; 
    margin-left: auto;
    margin-right: auto;
    text-align: center;

}

.single-container .entry-content {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.entry-content .wp-block-image {
  padding-top: 50px;
}

.entry-content p {
  padding-top: 50px;
}

/* 投稿詳細ページ */
.single-container .entry-content img {
  width: auto;
  height: auto;
}

.entry-thumbnail {
  padding-top: 50px;
}

.entry-thumbnail img {
    width: 100%;    /* 横幅いっぱいに広げる場合 */
    height: auto;   /* 高さを自動調整 */
}

/* フェードアップの設定 */
/* 最初は透明で、少し下に配置しておく */
.fade-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

/* このクラスがついたら元の位置に戻って表示される */
.fade-up.is-active {
  opacity: 1;
  transform: translateY(0);
}





/* フッター */
footer {
  text-align: center;
  background-color: #FDF9ED;
  background-image: url(../image/footer-back.png);
  background-position: bottom;
  background-size: cover; 
  background-repeat: no-repeat;
  padding-top: 60px;
  padding-bottom: 30px;
}

.footer-logo {
  max-width: 410px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.footer-map img {
  max-width: 600px;
  height: auto;
}

.footer-accese {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 54px;
}

.footer-table {
  border-collapse: collapse;
}

.footer-table tr th, .footer-table tr td {
  text-align: left;
  font-size: 18px;
  font-weight: 400;
  color: #575757;
  letter-spacing: 1px;
  line-height: 2em;
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 1px dashed #ccc;
}

.footer-table tr:last-child th, .footer-table tr:last-child td {
  border-bottom: 1px dashed #ccc;
}

.footer-table tr th {
  width: 120px;
  padding-left: 15px;
}

.footer-table tr td {
  padding-right: 15px;
}

.footer-map-text {
  display: flex;
  justify-content: space-between;;
  align-items: center;
  gap: 40px;
  background-color: #fff;
  border-top: 2px solid #83E5CE;
}

.footer-map-text-box {
  display: flex;
  align-items: center;
  gap: 50px;
}

.footer-map-text p {
  letter-spacing: 1px;
  line-height: 1em;
}

.footer-map-text p:first-child {
  background-color: #83E5CE;
  padding: 20px 40px;
}

.footer-map-text-box p:first-child {
  background-color: #fff;
  padding: 0;
}

.footer-map-text p:last-child {
  line-height: 1.3em;
  padding-right: 45px;
}

.footer-link {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 20px;
}

.footer-tel {
  display: inline-block;
  color: #575757;
  font-size: 20px;
  background-color: #83E5CE;
  padding: 15px 40px;
}

.footer-tel .tel-number span::before {
  content: "";
  width: 30px;
  height: 24px;
  display: inline-block;
  background-image: url(../image/tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 5px;  
}

.footer-mail {
  display: inline-block;
  color: #575757;
  font-size: 20px;
  background-color: #98C3EE; 
}

.footer-mail span::before {
  content: "";
  width: 30px;
  height: 24px;
  display: inline-block;
  background-image: url(../image/mail.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 5px;  
}

.footer-mail a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 15px 40px;
}

.footer-nav {
  margin-top: 40px;
  margin-bottom: 60px;
}

.footer-nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
}

.footer-nav ul li a {
  font-weight: bold;
}

.footer-logo a {
  display: block;
}

.copy-right p {
  font-size: 14px;
  letter-spacing: 0;
}

@media screen and (max-width: 1400px) {
  /* ヘッダー */
  .header-box {
    margin-left: 5px;
    margin-right: 5px;
  }

  .header-logo {
    width: 200px;
  }

  /* トップ */
  .p1-c-box {
    height: auto;
  }

  .p1-c-text {
    padding-left: 10px;
  }

  .p1-c-item {
    position: static;
  }

}

@media screen and (max-width: 1200px) {
  /* みんなの声 */
  .voice-archive .entry-title {
    height: 100px;
  }

  /* 投稿詳細ページ */
  .single-container .entry-header .entry-title, .single-container .entry-content, .entry-thumbnail {
    max-width: 700px;
  }
}

@media screen and (max-width: 1000px) {
  /* フッター */
  footer .footer-link {
    flex-direction: column;
    row-gap: 10px;
  }

  .footer-map img {
    max-width: 520px;
  }

  .footer-map-text p:last-child {
    padding-right: 15px;
  }

  .footer-map-text p {
    width: 100%;
    padding: 10px 0;
  }

  .footer-map-text-box {
    width: 100%;
  }

  .footer-map-text {
    flex-direction: column;
    gap: 0;
  }

  .footer-tel, .footer-mail {
    width: 240px;
  }
}




@media screen and (max-width: 930px) {
  /* 全体 */
  main {
    padding-top: 83px;
  }
  /* ヘッダー */
  .header-container {
    display: none;
  }

  .header__inner {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 12px 0;
  }

  .sp-header-logo {
    width: 175px;
    height: auto;
  }

  .sp-mark {
    display: none;
  }

  .header .global-navigation__list li {
    padding-top: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dotted #fff;
  }

  .header .global-navigation__list li a {
    font-size: 18px;
    font-weight: 300;
    font-family: "Zen Maru Gothic", sans-serif;
    padding-left: 25px;
  }

  /* ハンバーガーメニュー */
  .header {
    display: block;
  }
  .header {
    z-index: 1000; /* 他のコンテンツの上に表示させる */
  }
  .hamburger {
    display: block;
    height: 59px;
    position: relative;
    z-index: 1110;
    width: 59px;
    border: none;
    background-color: #fff;
  } 
  .hamburger.-active .hamburger__line {
      background-color: transparent;
  }
  .hamburger.-active .hamburger__line::before {
      top: 0;
      transform: rotate(45deg);
  }
  .hamburger.-active .hamburger__line::after {
      top: 0;
      transform: rotate(-45deg);
  }
  .hamburger.-active .hamburger__text::before {
    content: '閉じる';
  }
  .hamburger__line {
    display: block;
    height: 5px;
    position: absolute;
    top: 28.5px; 
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    background-color: #83E5CE;
    transition: 0.4s;
  }
  .hamburger__line:before,
  .hamburger__line:after {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    background-color: #83E5CE;
    transition: inherit;
  }
  .hamburger__line:before {
    top: -10px;
  }
  .hamburger__line:after {
    top: 10px;
  }
  .hamburger__text {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
  .hamburger__text::before {
    content: "メニュー";
    text-align: center;
    color: #172e59;
    font-size: 10px;
    font-weight: 900;
  }
  .header {
    width: 100%;
    position: fixed;
    background-color: #fff;
    /* width: 59px;
    height: 59px; */
    /* top: 35px; 
    right: 35px;
    left: auto !important; */
  }

  .header__nav-area {
    position: fixed;
    top: 83px;
    left: -100%;
    z-index: 1100;
    width: 100vw;
    visibility: hidden;
    background-color: #83E5CE;
    transition: 0.4s;
  }
  .header__nav-area.-active {
    left: 0;
    visibility: visible;
  }
  .global-navigation__link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #000;
    font-weight: 900;
    transition: color 0.4s;
    font-size: 24px;
  }
  .global-navigation__link.-accordion {
    position: relative;
    background: none;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 0;
  }
  .global-navigation__link.-accordion::after {
    content: '';
    display: block;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 5px;
    width: 2px;
    background-color: #ed3242;
    transform: translateY(-50%);
    transition: transform 0.4s;
  }
  .global-navigation__link.-accordion::before {
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 0;
    width: 12px;
    background-color: #ed3242;
    transform: translateY(-50%);
      
  }
  .global-navigation__link.-active::after {
    transform: translateY(-50%) rotate(-90deg);
  }
  .accordion {
    height: 0;
    overflow: hidden;
    visibility: hidden;
    transition: 0.4s;
  }
  .accordion.-active {
    height: auto;
    padding-top: 30px;
    visibility: visible;
  }
  .accordion__list li {
    font-size: 0.75rem;
  }
  .accordion__list li + li {
    margin-top: 21px;
  }
  .accordion__link {
    color: #172e59;
  }

  .global-navigation__search-item form {
    padding-left: 25px;
  }

  .global-navigation__search-item form input {
    height: 37px;
  }

  .global-navigation__search-item form #s {
    width: 200px;
    border: none;
  }

  .global-navigation__search-item form #searchsubmit {
    width: 95px;
    background-color: #B8F1E3;
    border: none;
  }

  /* トップ */
  .p1-a {
    margin-top: 0;
  }

  .p1-b-text-box {
    height: auto;
    background-image: none;
    flex-direction: column;
    padding-bottom: 20px;
  }

  .p1-b-item {
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
  }

  /* あるとりんくについて */
  .p2-a-text .p2-a-list {
    padding: 20px 40px;
  }

  /* ご利用の流れ */
  .p3-c-text p {
    padding-left: 10px;
  }

  /* ありすとりんくについて */
  .p2-b-item-box {
    flex-direction: column;
  }

  .p4-b-img {
    margin-left: auto;
    margin-right: auto;
  }

  .p4-b-text p {
    padding-left: 20px;
  }

  .p4-b-text ul {
    margin-top: 20px;
  }

  /* みんなの声 */
  .voice-cards-grid {
    grid-template-columns: repeat(2, 1fr);   
  }
  
  .contact-form-list-table tr th, .contact-form-list-table tr td {
    display: block;
  }

  .contact-form-list-table tr th {
    width: 100%;
  }

  .contact-form-list-table tr td {
    padding-top: 0;
  }

  .consent-block p {
    flex-direction: column;
    align-items: flex-start;
  }




  /* フッター */
  footer {
    background-image: none;
    background-color: #FDF9ED; 
    padding-bottom: 0;
  }

  .footer-accese {
    flex-direction: column;
  }

  .footer-table table {
    border-collapse: collapse;
    max-width: 600px; /* 中央寄せのために幅を指定 */
    margin-left: auto;
    margin-right: auto;
  }

  .footer-map-text {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-map iframe {
    max-width: 520px;
  }

  .footer-nav {
    display: none;
  }

  .copy-right {
    background-image: url(../image/footer-back2.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 20px;
    padding-bottom: 90px;
  }

}

@media screen and (max-width: 790px) {
  /* ヘッダー */
  .sp-tel .footer-tel, .sp-mail .footer-mail {
    display: none;
  }

  .sp-mark {
    display: block;
    padding: 12px;
  }

  .sp-mark img {
    width: 25px;
    height: auto;
  }

  .sp-tel .sp-mark {
    background-color: #83E5CE;
  }

  .sp-mail .sp-mark {
    background-color: #98C3EE;
  }

  /* トップ */
  .p1-c-item {
    flex-direction: column-reverse;
  }

  .p1-c-img {
    margin-left: 2%;
    margin-right: 2%;
  }

  .p1-c-img-pc {
    display: none;
  }

  .p1-c-img-sp {
    display: block;
  }

  .p1-e-box {
    flex-direction: column;
    align-items: center;
  }

  /* 日々の活動 */
  .p4-b-text-box {
    flex-direction: column;
  }

  /* 投稿詳細ページ */
  .single-container .entry-header .entry-title, .single-container .entry-content, .entry-thumbnail {
    max-width: 650px;
  }  

}


@media screen and (max-width: 680px) {
  /* 全体 */
  .w-container {
    width: 92%;
    margin-left: 4%;
    margin-right: 4%;
  }

  h2 {
    font-size: 20px;
  }

  h3 {
    font-size: 16px;
  }

  p {
    font-size: 14px;
  }

  span {
    font-size: 16px;
  }

  .sp-br {
    display: none;
  }

  /* トップ */
  .main {
    height: calc(100vh - 83px);
  }

  .main-item .main-img-box {
    width: 100vw;
    height: calc(100vh - 83px);
  }

  .main-title-box {
    width: 48vw;
    top: auto;
    bottom: 0;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    display: block;
  }

  .slide-img-pc {
    display: none;
  }

  .slide-img-sp {
    display: block;
  }

  .p1-a {
    background-image: url(../image/sp-top-back1.png);
  }

  .p1-a-box {
    text-align: center;
    padding: 40px 4%;
  }

  .p1-a-item {
    display: block;
    padding: 40px 12px;
  }

  .link-botan {
    margin-top: 32px;
  }

  .notice {
    padding: 40px 0;
  }

  .notice-text-box {
    padding: 25px 30px;
  }

  .notice-date, .notice .notice-title {
    font-size: 14px;
  }

  .p1-b, .p1-d, .p1-e {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .p1-b-item {
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
  }

  .p1-b-p {
    gap: 10px;
  }

  .p1-c-img {
    margin-top: 40px;
    margin-left: 4%;
    margin-right: 4%;
  }

  .p1-c-text {
    text-align: center;
    padding: 20px 4%;
  }

  .p1-c-text p {
    text-align: left;
    margin-top: 30px;
  }

  .p1-d-item {
    gap: 5px 5px;
  }

  .p1-e-box {
    gap: 40px;
  }

  .p1-e-inst {
    width: 275px;
  }

  .p1-e-item p {
    margin-top: 10px;
    margin-bottom: 20px;
  }

  .p1-e-item img {
    width: 215px;
    height: 215px;
  }

  .p1-b-img {
    width: 165px;
    height: 147px;
    padding: 20px 5px 5px;
    border-radius: 10px;
  }

  .p1-b-img img:first-child {
    width: 80px;
    height: auto;
  }

  .p1-d-item .p1-b-img:nth-child(2) img:first-child {
    margin-top: 15px;
  }

  .p1-b-img img:last-child {
    width: 20px;
    height: 20px;
  }

  .p1-b-img span {
    font-size: 14px;
    margin-bottom: 15px;
  }
  
  /* ありすとりんくについて */
  .sub{
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .sub-box h1 {
    font-size: 32px;
  }

  .p2-a, .p2-b, .p2-c {
    padding-top: 40px;
  }

  .p2-a-text h2 {
    margin-top: 30px;
    padding-bottom: 26px;
  }

  .p2-a-text .p2-a-list {
    padding: 20px;
  }

  .p2-b-text1 {
    padding: 20px 5px;
  }

  .p2-a-text p, .p2-a-text .p2-a-list {
    margin-top: 30px;
  }

  .p2-b-title h2, .p2-c-title h2, .p3-a-title h2 {
    padding-bottom: 26px;
  }

  .p2-b-item {
    padding: 20px 40px;
  } 

  .p2-b-item h3 {
    font-size: 24px;
  }

  .p2-p, .p2-b-text1 p {
    font-size: 20px;
  }

  .p2-c-table tr th, .p2-c-table tr td {
    font-size: 14px;
  }

  .p2-c-table tr td {
    padding-left: 10px;
  }

  .faq__mark {
    width: 60px;
    height: 60px;
    font-size: 28px;
    margin-right: 10px;
  }

  .faq-a {
    padding: 0 35px;
  }

  .faq-a-table table tr th, .faq-a-table table tr td {
    font-size: 14px;
  }

  .faq__checkbox:checked + .faq-q + .faq-a {
    max-height: 780px;
  }

  .faq-a-table table tr td {
    padding-left: 15px;
  } 
  .faq-a-table, .faq-a-text p {
    margin-top: 10px;
  }

  /* ご利用の流れ */
  .p3-a {
    margin-top: 40px;
  }

  .p3-a-text {
    padding: 20px 15px;
    margin-top: 30px;
  }

  .p3-b, .p3-c {
    margin-top: 80px;
  }

  .p3-c {
    padding-bottom: 60px;
  }

  .p3-b-item .p3-b-text-box {
    padding-top: 30px;
    padding-bottom: 30px;
    margin-top: 30px;
  }

  .p3-c-title-box {
    padding: 10px 10px;
  }

  .p3-c-title-box h3 {
    font-size: 48px;
  }

  .p3-c-title-box p {
    font-size: 24px;
  }

  .p3-c-text p:last-child {
    margin-top: 10px;
  }

  .p3-c-text {
    padding: 10px 5px;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 0;
  }

  .p3-c-item {
    flex-direction: column;
  }

  .p3-c-title-box {
    width: 100%;
    flex-direction: row;
    align-items: center;
    border-bottom-left-radius: 0;
    border-top-right-radius: 20px;
  }

  /* 日々の活動 */
  .p4-b {
    margin-top: 50px;
    padding-bottom: 60px;
  }

  .p4-b-text-title h3 {
    font-size: 24px;
  }

  .p4-b-text-box {
    margin-top: 30px;
    gap: 30px;
  }

  .p4-b-text p {
    padding-left: 0;
  }

  /* みんなの声 */
  .voice-cards-grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .voice-archive .entry-title{
    height: 90px;
  }

  /* お問い合わせ */
  .p5-a {
    padding-top: 40px;
  }

  .contact-form-list-table tr th {
    padding: 15px 0 10px;
  }

  .contact-form-list-table th p {
    font-size: 16px;
  }

  .contact-form-list-table td input {
    height: 40px;
  }

  .contact-form-list-table td {
    padding-bottom: 5px;
  }

  .address-zipaddr-block div {
    padding-bottom: 5px;
  }

  .contact-form-list-table td textarea {
    height: 200px;
  }

  /* 投稿詳細ページ */
  .single-container .entry-header .entry-title, .single-container .entry-content, .entry-thumbnail {
    max-width: 100%;
    margin-left: 4%;
    margin-right: 4%;
  } 

  .entry-header h1 {
    font-size: 32px;
  }

  /* フッター */
  footer {
    padding-top: 40px;
  }

  .footer-table tr th, .footer-table tr td {
    font-size: 13px;
  }

  .footer-logo {
    max-width: 270px;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-table tr th {
    width: 80px;
    vertical-align: top;
  }

  .footer-map iframe {
    width: 100%;
    height: 240px;
  }

  .footer-map-text-box {
    justify-content: space-around;
    gap: 0;
  }

  .footer-map-text p:last-child {
    padding-right: 0;
  }
}