@charset "utf-8";

/* ----------------------------------------- */
/* TOP Page */
/* ----------------------------------------- */

/* MV ----------------------------------------- */
#mv {
  padding: 20rem 0 7.2rem;
}
.mv-inner {
  gap: 2rem;
}
.mv-img {
  width: 36.7vw;
  max-width: 560px;
}
.mv-catch {
  font-size: clamp(32px, 5vw, 64px);
  color: var(--red);
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 0.85em;
}
.mv-p {
  font-size: clamp(16px, 2.5vw, 18px);
}
.mv-img.zoomin {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media screen and (max-width: 1200px) {
  #mv {
    padding: 16rem 0 7.2rem;
  }
}
@media screen and (max-width: 768px) {
  #mv {
    padding: 12rem 0 4.2rem;
  }
  .mv-catch {
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 680px) {
  .mv-inner {
    flex-direction: column;
  }
  .mv-txt {
    margin-bottom: 2em;
  }
  .mv-catch {
    font-size: clamp(32px, 8vw, 64px);
    margin-bottom: 0.3em;
  }
  .mv-img {
    width: 60%;
  }
}
@media screen and (max-width: 480px) {
  .mv-img {
    width: 70%;
  }
  .mv-p br {
    display: none;
  }
}

/* READ ----------------------------------------- */
#read {
  background: #fff;
  padding: 7.2rem 0;
}
.read-box ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25.4rem;
  height: 25.4rem;
  border: 3px solid var(--blue);
  border-radius: 50%;
  background: #fff;
}
.read-box ul li .circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22.4rem;
  height: 22.4rem;
  font-size: clamp(16px, 3vw, 24px);
  line-height: 1.5;
  border-radius: 50%;
}
.read-box ul li .circle01 {
  background: var(--yellow);
}
.read-box ul li .circle02 {
  background: var(--green);
}
.read-box ul li .circle03 {
  background: var(--lblue);
}
.circle03 .pc-none {
  display: none;
}
.home .read-box ul {
	margin-bottom: 5rem;
}
/* 初期状態（見え方はお好み）*/
.read-box ul li.poyoyon2,
.f-contact_btn.poyoyon2,
.profile-faq_h2.poyoyon2,
.profile-oshiete.poyoyon2 {
  opacity: 0;
  will-change: transform, opacity;
}
/* 交差したら animation 開始 */
.read-box ul li.poyoyon2.is-animated,
.f-contact_btn.poyoyon2.is-animated,
.profile-faq_h2.poyoyon2.is-animated,
.profile-oshiete.poyoyon2.is-animated {
  opacity: 1;
  animation: poyoyon2 1s ease-in-out forwards;
}
/* キーフレーム：不透明度も0→1にすると自然 */
@keyframes poyoyon2 {
  0%   { transform: scale(1) translate(0,0);   opacity: 0; }
  15%  { transform: scale(0.98,0.9) translate(0,5px);   opacity: 1; }
  30%  { transform: scale(1.02,1) translate(0,8px);     }
  50%  { transform: scale(0.98,1.05) translate(0,-8px); }
  70%  { transform: scale(1,0.9) translate(0,5px);      }
  100% { transform: scale(1) translate(0,0);            opacity: 1; }
}
@media screen and (max-width: 992px) {
  .read-box ul li {
    width: 21.4rem;
    height: 21.4rem;
  }
  .read-box ul li .circle {
    width: 18.4rem;
    height: 18.4rem;
  }
}
@media screen and (max-width: 768px) {
  #read {
    padding: 5.2rem 0;
  }
  .circle02 .pc-none {
    display: none;
  }
  .circle02 .sp-none {
    display: block;
  }
  .circle03 .pc-none {
    display: none;
  }
}
@media screen and (max-width: 680px) {
  .read-box ul li {
    width: 30.5vw;
    height: 30.5vw;
  }
  .read-box ul li .circle {
    width: 28vw;
    height: 28vw;
  }
  .circle02 .pc-none,
  .circle03 .pc-none {
    display: block;
  }
  .circle02 .sp-none {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .read-box ul li .circle {
    line-height: 1.3;
  }
}

/* MEMBER ----------------------------------------- */
#top-member {
  padding: 10.8rem 0;
}
@media screen and (max-width: 992px) {
  #top-member {
    padding: 10.8rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  #top-member {
    padding: 5.8rem 0 0;
  }
}

/* TOP PAGE Blog ----------------------------------------- */
#top-blog {
  margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  #top-blog {
    margin-bottom: 9rem;
  }
}



/* ----------------------------------------- */
/* Service Page 無料相談会*/
/* ----------------------------------------- */

/* Page-header 共通はcommon.cssに記述 ----------------------------------------- */

.service-tab {
  width: 100%;
}
.service-tab li {
  width: 50%;
}
.service-tab li a{
	display: block;
	background:var(--gray);
  color: var(--black);
	padding: 0.5em;
  font-size: clamp(18px, 2vw, 24px);
  border-radius: 10px 10px 0 0;
  text-align: center;
}
.service-tab li.active a{
	background:var(--lblue);
  color: #fff;
}
.area {
	display: none;
	opacity: 0;
}
.area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Service ----------------------------------------- */
.kyoukai .box .inner,
.kuyakusho .box .inner {
  padding: 6.4rem 0 0;
}
.service-head {
  color: var(--red);
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1;
  margin-bottom: 1em;
}
.service-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 6rem;
}
.service-h2 {
  color: var(--black);
  font-size: clamp(26px, 3vw, 32px);
  line-height: 1.5;
  margin-bottom: 0.3em;
}
.service-p {
  color: var(--black);
  line-height: 1.9;
  margin-bottom: 6rem;
}
.service-info h2 {
  margin-bottom: 1em;
}
.service-info_block ul {
  margin-bottom: 6.4rem;
}
.service-info_block ul li {
  font-size: clamp(16px, 2vw, 18px);
  padding: 2em 0;
  border-bottom: 1px solid var(--gray);
}
.service-info h3 {
  width: 4em;
  font-size: clamp(16px, 2vw, 18px);
  color: var(--black);
  margin-right: 6em;
}
.service-info_block ul li p {
  flex: 1;
  font-weight: 500;
  color: var(--black);
}
.service-info_map {
  aspect-ratio: 16 / 7;
}
.service-info_map iframe {
  width: 100%;
  height: 100%;
}
.calendar-link {
  margin-bottom: 4.8rem;
}
.calendar-link a {
  color: var(--blue);
  font-size: clamp(14px, 2vw, 16px);
  border-bottom: 1px solid var(--blue);
  padding-bottom: 0.2em;
  margin-bottom: 0.3em;
}
.calendar-link p {
  font-size: 14px;
  color: var(--black);
  font-weight: 500;
}
.calendar-block iframe {
  width: 100%;
  height: 60rem;
}

.calender-section {
  padding: 6rem 0;
  margin-bottom: 6rem;
  border-top: 3px solid var(--gray);
  border-bottom: 3px solid var(--gray);
}
.calender-section .service-h2 {
  margin-bottom: 1em;
}
.service-outline p {
  margin-bottom: 1em;
}
.service-outline ul {
  width: 100%;
  font-size: clamp(16px, 2vw, 18px);
  margin-bottom: 1em;
}
.service-outline ul li {
  width: 30%;
  border: 2px solid;
  border-radius: 500px;
  text-align: center;
  padding: 1em 0.3em;
}
.service-outline ul li span {
  background: linear-gradient(transparent 50%, #fff8a4 50%);
}
.service-place ul li,
.service-time p,
.service-target ul li {
  font-size: clamp(16px, 2vw, 18px);
}
.service-block_last {
	background: #f7f7f7;
    padding: 2em;
    width: 100%;
}
.service-block_last h3 {
	font-size: clamp(16px, 2.5vw, 18px);
    color: var(--black);
    text-align: center;
}
.service-block_last ul {
	font-size: clamp(14px, 2vw, 16px);
    color: var(--black);
    text-align: center;
}
.service-place ul li:before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  background: var(--red);
  border-radius: 100px;
  margin-right: 0.5em;
}
.service-outline small,
.service-place ul li small {
  font-size: 14px;
  color: var(--black);
}
.calender-wrap table {
  width: 100%;
  border: 1px solid;
  font-size: clamp(14px, 2vw, 16px);
  background: #fff;
}
.calender-wrap table th,
.calender-wrap table td {
  padding: 0.7em;
  border: 1px solid;
  text-align: center;
}
.calender-wrap table td:nth-child(n+3) {
  background: #fff8a4;
}
.calender-wrap {
  width: 48%;
  margin-bottom: 4%;
}
.calender-wrap h3 {
  font-size: clamp(16px, 2.5vw, 18px);
  padding: 0.5em;
  cursor: pointer;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  background: #f9f9f9;
}
.calender-wrap h3:before,
.calender-wrap h3:after {
  position: absolute;
  content:'';
  width: 1em;
  height: 2px;
  background-color: #333;
}
.calender-wrap h3:before {
  top:48%;
  right: 15px;
  transform: rotate(0deg);
}
.calender-wrap h3:after {
  top:48%;
  right: 15px;
  transform: rotate(90deg);
}
.calender-wrap h3.close::before{
	transform: rotate(45deg);
}
.calender-wrap h3.close::after{
	transform: rotate(-45deg);
}
.calender-table {
  display: none;
}

@media screen and (max-width: 880px) {
  .calender-section {
    width: 90vw;
    margin-inline: calc(50% - 45cqi);
  }
}
@media screen and (max-width: 768px){
  .white-block {
    margin-bottom: 7rem;
  }
}
@media screen and (max-width: 680px) {
  .calender-section {
    width: 95vw;
    margin-inline: calc(50% - 47.5cqi);
  }
  .calender-wrap table th,
  .calender-wrap table td {
    padding: 0.3em;
  }
}
@media screen and (max-width: 576px) {
  .kyoukai .box .inner,
  .kuyakusho .box .inner {
    padding: 4.4rem 0 0;
  }
  .service-h2 {
    margin-bottom: 1em;
  }
  .calender-block {
    flex-direction: column;
    gap: 1rem;
  }
  .calender-wrap {
    width: 100%;
  }
  .calendar-link {
    margin-bottom: 2.8rem;
  }
  .service-info {
    padding: 2.8rem 0;
    margin-bottom: 4rem;
  }
  .service-info h3 {
    margin-right: 1.5em;
  }
  .calender-section {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 480px) {

}



/* ----------------------------------------- */
/* Single-member */
/* ----------------------------------------- */
.member-title {
  font-size: clamp(21px, 2.5vw, 36px);
  color: var(--red);
  line-height: 1;
  margin-bottom: 0.75em;
}
.member-post {
  font-size: clamp(19px, 2.5vw, 32px);
  margin-bottom: 0.3em;
}
.member-furigana {
  font-size: clamp(16px, 2vw, 18px);
}
.member-name {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
  margin-bottom: 1.2em;
}
/* .member-name span:first-child {
  margin-right: 0.5em;
} */
.member-img {
  position: relative;
  display: block;
  width: 400px;
  height: 400px;
  margin: 0 auto;
  overflow: hidden;
	cursor: pointer;
  margin-bottom: 10rem;
}
.member-img img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: left top;
  border-radius: 500px;
  position: absolute;
  top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}
.member-img .noimage {
  object-position: center center;
}
.member-img:hover img:nth-of-type(2) {
	opacity: 0;
}
.profile {
  margin-bottom: 15rem;
}
.profile-wrap {
  background: #fff;
  border-radius: 40px;
  padding: 7.5rem 3.5vw;
}
/* あだ名、誕生日、動物占い、好きな食べ物 */
.profile-block {
  margin-bottom: 5vw;
}
.profile-block .member-name {
  font-size: clamp(19px, 5vw, 32px);
  margin-bottom: 0.3em;
}
.profile-block .member-name:before,
.profile-block .member-name:after {
  content: "";
  background-color: var(--blue);
  border-radius: 5px;
  height: 5px;
  width: 40px;
}
.profile-block .member-name:before {
  margin-right: 10px;
  transform: rotate(60deg);
}
.profile-block .member-name:after {
  margin-left: 10px;
  transform: rotate(-60deg);
}
.profile-block .member-nickname {
  font-size: clamp(28px, 3vw, 42px);
  color: var(--red);
}
.profile-block .member-nickname:before,
.profile-block .member-nickname:after {
  content: "";
  background-color: var(--red);
  border-radius: 5px;
  height: 5px;
  width: 40px;
}
.profile-block .member-nickname:before {
  margin-right: 10px;
  transform: rotate(60deg);
}
.profile-block .member-nickname:after {
  margin-left: 10px;
  transform: rotate(-60deg);
}
.profile-block .read-box {
  margin-top: 2.5vw;
  margin-bottom: 5vw;
}
.profile-block .read-box ul li .circle {
  flex-direction: column;
  font-size: clamp(16px, 3vw, 21px);
}
.faq-answer {
  font-size: clamp(21px, 3vw, 32px);
}
.member-profile_txt {
  width: 80%;
  margin: 0 auto;
}
.member-profile_txt p {
  text-decoration: 1px underline dashed var(--gray);
  text-underline-offset: 6px;
  line-height: 1.8;
}
/* FAQ */
.profile-faq_block {
  margin-bottom: 6rem;
}
.profile-faq {
  padding-top: 8.8rem;
  border-top: 2px solid var(--gray);
}
.profile-faq_title {
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.3;
  letter-spacing: -0.05em;
  margin-bottom: 1em;
}
.profile-faq_sub {
  width: calc(100% - 22rem);
  margin: 0 0 0 22rem;
  padding: 1em 2em;
  position: relative;
  font-size: clamp(16px, 3vw, 21px);
  line-height: 1.7;
  border: 2px solid #000;
  border-radius: 3rem;
}
.profile-faq_sub:before {
  width: 4rem;
  height: 3.7rem;
  position: absolute;
  right: calc(100% - 0.9rem);
  top: 50%;
  transform: translateY(-50%);
  content: '';
  background: url(../img/sankaku_01.png) no-repeat center right / 100% 100%;
}
.profile-faq_img {
  margin-top: 0;
  position: absolute;
  left: -18.5rem;
  top: 50%;
  width: 13rem;
  aspect-ratio: 1;
  background: #fff;
  border: 0.2rem solid #000;
  border-radius: 20rem;
  transform: translateY(-50%);
}
.profile-faq_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
  border-radius: 20rem;
}
.member-profile_img {
  width: 70%;
  margin: 0 auto 8.8rem;
  border: 3px solid var(--blue);
  border-radius: 5px;
}
.member-profile_img img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: left 40%;
}
/* 教えて！〇〇先生！ */
.profile-oshiete {
  width: 90%;
  margin: 0 auto 8.8rem;
  border: 2px solid var(--blue);
  border-radius: 20px;
  background-image: url(../img/hatena_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  /* background: var(--beige); */
}
.profile-oshiete_inner {
  padding: 3rem;
}
.profile-oshiete_inner h2 {
  font-size: clamp(21px, 2.5vw, 28px);
  margin-bottom: 0.5em;
  color: var(--red);
}
.profile-oshiete_question {
  font-size: clamp(17px, 2vw, 21px);
  margin-bottom: 1em;
}
.profile-oshiete_answer {
  font-size: clamp(16px, 2vw, 21px);
  background: #fff;
  padding: 1.5em;
  border-radius: 15px;
}
/* 関連記事 */
.connection-post_wrap {
  padding: 8.8rem 0;
  margin: 0 0 8.8rem 0;
  border-top: 2px solid var(--gray);
  border-bottom: 2px solid var(--gray);
}
.profile-faq > h2,
.connection-post_wrap h2,
.office-wrap h2 {
  width: 17em;
  font-size: clamp(18px, 2vw, 21px);
  border: 2px solid var(--blue);
  border-radius: 50px;
  padding: 0.3em;
  margin: 0 auto 2em;
}
.post-wrapper {
  width: 90%;
  margin: 0 auto;
}
.post-recommend_img img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.post-list {
  margin: 0 5px;
}
.post-list a p {
  margin-top: 0.5em;
  line-height: 1.3;
}      

.slick-prev, 
.slick-next {
  position: absolute;
  top: 30%;
  cursor: pointer;
  outline: none;
  border-top: 2px solid var(--gray);
  border-right: 2px solid var(--gray);
  height: 15px;
  width: 15px;
}
.slick-prev {
  left: -2.5%;
  transform: rotate(-135deg);
}
.slick-next {
  right: -2.5%;
  transform: rotate(45deg);
}
/* .slick-dots {
  text-align:center;
	margin:20px 0 0 0;
}
.slick-dots li {
  display:inline-block;
	margin:0 10px;
}
.slick-dots button {
  color: transparent;
  width: 10px;
  height: 12px;
  display: inline-block;
  border-radius: 500px;
  background: #ccc;
  border: none;
}
.slick-dots .slick-active button{
    background:var(--green);
} */



/* 事務所概要 */
.office-list li {
  font-size: clamp(16px, 2vw, 18px);
  padding: 2em 0;
  border-bottom: 1px solid var(--gray);
}
.office-list li h3 {
  width: 8em;
  font-size: clamp(16px, 2vw, 18px);
  color: var(--black);
  margin-right: 6em;
}
.office-list li p,
.office-list li a {
  flex: 1;
  font-weight: 500;
  color: var(--black);
}
.office-list li a {
  color: inherit;
}
.office-map {
  margin-top: 4.8rem;
  aspect-ratio: 16 / 7;
}
.office-map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 992px) {
  .profile-block .member-name {
    margin-bottom: 1.5em;
  }
  .profile-faq_sub {
    width: calc(100% - 17rem);
    margin: 0px 0 0 17rem;
  }
  .profile-faq_img {
    left: -17.5rem;
  }
}
@media screen and (max-width: 880px) {
  .read-box ul li {
    width: 20.4rem;
    height: 20.4rem;
  }
  .profile-wrap {
    padding: 6.5rem 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  .profile {
    margin-bottom: 7rem;
  }
  .member-profile_txt {
    width: 95%;
  }
  .member-profile_img {
    width: 90%;
    margin: 0 auto 6.8rem;
  }
  .profile-oshiete {
    width: 100%;
  }
}
@media screen and (max-width: 680px) {
  .member-img {
    margin-bottom: 5rem;
  }
  .read-box ul {
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 3rem;
  }
  .read-box ul li {
    width: 21.4rem;
    height: 21.4rem;
  }
  .read-box ul li .circle {
    width: 20rem;
    height: 20rem;
  }
  .profile-faq_img {
    left: -12.5rem;
    width: 10rem;
  }
  .profile-faq_sub:before {
    width: 3rem;
    height: 2.7rem;
  }
  .profile-faq_sub {
    width: calc(100% - 12rem);
    margin: 0px 0 0 12rem;
    padding: 1em 1em;
  }
}
@media screen and (max-width: 576px) {
  .read-box ul li {
    width: 17.4rem;
    height: 17.4rem;
  }
  .read-box ul li .circle {
    width: 16rem;
    height: 16rem;
  }
  .profile-faq_block {
    margin-bottom: 13rem;
  }
  .profile-faq_sub {
    width: 100%;
    margin: 0;
  }
  .profile-faq_img {
    left: inherit;
    right: 0;
    width: 8.8rem;
    top: calc(100% + 0.2rem);
    transform: translateY(0.9rem);
  }
  .profile-faq_sub:before {
    width: 3.4rem;
    height: 1.2rem;
    right: 5.5rem;
    top: calc(100% - 1px);
    transform: translateY(0);
    background: url(../img/sankaku_02.png) no-repeat center top / 100% 100%;
  }
  .office-list li h3 {
    margin-right: 1em;
  }
}
@media screen and (max-width: 480px) {
  .member-name {
    margin-bottom: 0.5em;
  }
  .member-img {
    width: 80%;
    height: 360px;
    margin-bottom: 3rem;
  }
  .read-box ul li {
    width: 14.2rem;
    height: 14.2rem;
  }
  .read-box ul li .circle {
    width: 13rem;
    height: 13rem;
  }
  .profile-block .member-name:before,
  .profile-block .member-name:after {
    height: 3px;
    width: 20px;
  }
  .profile-block .member-name:before {
    margin-right: 5px;
  }
  .profile-block .member-name:after {
    margin-left: 5px;
  }
  .profile-oshiete_inner {
    padding: 2rem;
  }
}
@media screen and (max-width: 390px) {
  .member-img {
    height: 290px;
    margin-bottom: 2rem;
  }
}


/* ----------------------------------------- */
/* Archive-member */
/* ----------------------------------------- */
.member-archive {
  margin-bottom: 15rem;
}
.member-archive_list {
  gap: 3%;
  margin-bottom: 5rem;
}
.member-archive_list:after {
  content: "";
  display: block;
  width: 30%;
}
.member-archive_list li {
  width: 30%;
  background: #fff;
  border-radius: 40px;
  padding: 4em 7em;
  margin-bottom: 3%;
}
.member-archive_img {
  width: 100%;
  height: 22rem;
  margin-bottom: 1vw;
  min-height: 223px;
}
.member-archive_post{
  font-size: clamp(16px, 3vw, 21px);
  margin-bottom: 0.7em;
  line-height: 1;
}
.member-archive_furigana {
  line-height: 1;
}
.member-archive_name {
  font-size: clamp(21px, 2.5vw, 28px);
  margin-bottom: 0.5em;
}
.member-archive_link {
  display: inline-block;
  width: 100%;
  background: var(--lblue);
  color: #fff;
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1;
  padding: 0.5em 0.2em;
  border-radius: 5px;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  border: 2px solid var(--lblue);
}
.member-archive_link:hover {
  background: #fff;
  color: var(--lblue);
}

/* ============= ページング ============= */
.page-numbers {
  font-size: clamp(16px, 1.4vw, 18px);
}
.page-numbers:first-child,
.page-numbers:last-child {
  display: flex;
  align-items: center;
  gap: 1em;
}
.page-numbers:first-child:before,
.page-numbers:last-child:after {
  content: "";
  display: inline-block;
  background-image: url(../img/link-icon1.svg); 
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 1em;
  height: 1em;
}
.page-numbers:first-child:before {
  transform: scale(-1, 1);
}
.navigation .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5em;
}
.page-numbers.current {
  color: var(--red);
}
@media screen and (max-width: 992px) {
  .member-archive_list li {
    padding: 4em 4em;
  }
  .member-archive_img {
    height: 17rem;
    min-height: 210px;
  }
}
@media screen and (max-width: 880px) {
  .member-archive_img {
    min-height: 180px;
  }
}
@media screen and (max-width: 768px) {
  .member-archive_list li {
    width: 48%;
  }
  .member-archive_img {
    height: 10rem;
    min-height: 260px;
    width: 80%;
  }
  .member-archive {
    margin-bottom: 7rem;
  }
}
@media screen and (max-width: 680px) {
  .member-archive_img {
    min-height: 240px;
    width: 90%;
  }
}
@media screen and (max-width: 576px) {
  .member-archive_img {
    min-height: 210px;
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .member-archive_img {
    min-height: 193px;
  }
  .member-archive_list li {
    padding: 2em 2em 4em;
    border-radius: 20px;
  }
}
@media screen and (max-width: 390px) {
  .member-archive_img {
    min-height: 153px;
  }
}




/* ----------------------------------------- */
/* Blog */
/* ----------------------------------------- */
.ikuno-blog {
  margin-bottom: 15rem;
}
.ikuno-blog .box {
  max-width: calc(1000px + 16vw);
  padding-left: 3vw;
  padding-right: 3vw;
}
#top-blog .ikuno-blog {
  margin-bottom: 0;
}
.ikuno-blog_wrap {
  display: flex;
  justify-content: space-between;
}
.ikuno-blog_container {
  width: 73%;
}
.side-block_container {
  width: 22%;
}
.article-block {
  margin-bottom: 15rem;
}
.blog-ul {
  margin-bottom: 6.4rem;
}
.blog-ul li {
  background: #fff;
  border-radius: 10px;
  margin-bottom: 3.2rem;
  padding: 6em;
  gap: 4em;
}
.blog-list_block {
  display: contents;
}
.blog-date {
  font-size: clamp(14px, 2vw, 16px);
  font-weight: 400;
}
.blog-cate {
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 600;
  color: var(--lblue);
  border: 1px solid var(--lblue);
  border-radius: 100px;
  padding: 0 2em;
  margin-right: 2em;
  white-space: nowrap;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.blog-cate:hover {
  color: #fff;
  background-color: var(--lblue);
}
.blog-permalink {
  font-size: clamp(14px, 2vw, 16px);
  flex: 1;
}
.blog-permalink:hover {
  opacity: 0.7;
}
.single-header {
  background: #fff;
  padding: 4em 0;
  margin-bottom: 5rem;
}
.single-header .box .blog-date {
  margin-right: 1em;
}
.single-header .box .page-header {
  font-size: clamp(24px, 2.5vw, 32px);
  margin-bottom: 0;
  margin-top: 0.5em;
  line-height: 1.5;
}
#article {
  width: 80%;
}
#article p {
  margin-bottom: 1.3em;
}
#article p a {
	text-decoration: underline;
    color: rgb(0 79 194);
}
#article figure {
  margin: 3rem 0;
}
#article h2 {
  display: flex;
  align-items: center;
  font-size: clamp(21px, 2.5vw, 28px);
  margin-top: 2em;
  margin-bottom: 0.5em;
  padding: 0.2em 1em;
  border-bottom: 2px dotted var(--lblue);
  border-left: 5px solid var(--lblue);
  background: #fff;
}
#article h3 {
  font-size: clamp(19px, 2vw, 24px);
  margin-top: 1em;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}
#article h3:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 0.3rem;
  background: var(--lblue);
  border-radius: 10px;
  margin-right: 0.5em;
}
#article h4 {
  color: var(--black);
  font-size: clamp(17px, 1.5vw, 21px);
  margin-top: 1em;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}
#article h4:before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  background: var(--black);
  border-radius: 100px;
  margin-right: 0.5em;
}
#article .wp-block-list li {
  font-size: clamp(14px, 2vw, 16px);
  padding: 0.1em 0 0.1em 1em;
}
#article .wp-block-list li:before {
  content: "";
  display: inline-block;
  width: 0.2em;
  height: 0.2em;
  background: var(--blue);
  border-radius: 100px;
  margin-right: 0.5em;
}
#article .wp-block-image .alignleft {
	margin: 3rem 3rem 3rem 0 !important;
}
#article .wp-block-image .alignright {
	margin: 3rem 0 3rem 3rem !important;
}
.prev-next {
  margin-top: 10rem;
}
.prev-next ul li {
  width: 48%;
  background: #fff;
  padding: 3em;
}
.prev_post_link,
.next_post_link {
  gap: 1em;
}
.post_img:hover,
.post_link p:hover {
  opacity: 0.7;
}
.post_img {
  width: 40%;
}
.post_img img {
  width: 100%;
}
.post_link p {
  width: 55%;
  overflow: hidden;
  display: -webkit-box;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  max-height: 110px;
}
.post_link p span {
  font-size: 12px;
  margin-bottom: 1em;
}
.post_link p span:first-child {
  margin-bottom: 0;
}
.single-post_thumbnail {
	width: 70%;
	font-size: clamp(21px, 2.5vw, 28px);
    margin-bottom: 2em;
}
/* .single-post_thumbnail img {
	aspect-ratio: 1 / 1;
    object-fit: cover;
} */

/* サイドバー */
.side-block_container h2 {
  font-size: clamp(16px, 2vw, 18px);
  border-bottom: 2px dotted;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
.side-block_category {
  margin-bottom: 3em;
  font-size: clamp(14px, 1.8vw, 16px);
}
.category_list ul li {
  margin-bottom: 0.2em;
}
.category_list ul li:before {
  content: ">";
  font-size: clamp(16px, 2vw, 18px);
  margin-right: 0.5em;
  color: var(--lblue);
}

/* ----------------------------------------- */
@media screen and (max-width: 992px) {
  .blog-cate {
    margin-right: 0;
  }
}
@media screen and (max-width: 880px) {
  .blog-list_block {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
}
@media screen and (max-width: 768px) {
  #article {
    width: 100%;
  }
  .article-block {
    margin-bottom: 8rem;
  }
  .ikuno-blog {
    margin-bottom: 10rem;
  }
  .blog-ul li {
    padding: 4em;
    gap: 2em;
  }
  .blog-cate {
    padding: 0 1em;
  }
  .post_link p {
    max-height: 98px;
  }
  .post_link p span {
    margin-bottom: 0.5em;
  }
  .ikuno-blog_wrap {
    flex-direction: column;
  }
  .ikuno-blog_container {
    margin-bottom: 7rem;
    width: 100%;
  }
  .blog-list_block {
    display: contents;
  }
  .side-block_container {
    width: 50%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 576px) {
  .blog-list_block {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
  .blog-ul li {
    padding: 3em;
    gap: 3em;
  }
  .ikuno-blog {
    margin-bottom: 2rem;
  }
  .prev-next ul {
    flex-direction: column;
  }
  .prev-next ul li {
    width: 100%;
    margin-bottom: 2rem;
  }
  .post_link p {
    width: 70%;
  }
  .post_img {
    width: 25%;
  }
  .single-post_thumbnail {
	width: 90%;
  }
  #article .wp-block-image .alignleft,
  #article .wp-block-image .alignright {
    float: inherit;
  }
  .side-block_container {
    width: 100%;
  }
}


/* ----------------------------------------- */
/* お問い合わせ個別ページCSS */
/* ----------------------------------------- */
.contact-single_inner {
  background: #fff;
  border-radius: 40px;
  padding: 8.8rem;
}
#contact-single .contact-form_label,
#contact-confirm .contact-form_label {
  display: inline-flex;
  align-items: center;
  column-gap: 4em;
  font-size: clamp(16px, 3vw, 18px);
  width: 100%;
  margin-bottom: 3em;
  line-height: 1;
  cursor: pointer;
}
#contact-confirm .contact-form_label p {
  flex: 1;
  font-size: clamp(16px, 3vw, 18px);
}
#contact-single .contact-form_label h3,
#contact-confirm .contact-form_label h3 {
  width: calc(10em + 5px);
}
#contact-single .contact-form_label h3:after,
#contact-confirm .contact-form_label h3:after {
  content: "*";
  color: var(--red);
  margin-left: 5px;
}
.wpcf7-form-control-wrap {
  flex: 1;
}
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
  background: #FFFDF9;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 1em;
  width: 100%;
  font-size: clamp(16px, 2vw, 18px);
}
.wpcf7-form-control-wrap textarea {
  line-height: 1.5;
}
.wpcf7-checkbox {
  display: flex;
  align-items: center;
  gap: 2em;
}
.wpcf7-list-item {
  display: block;
  line-height: 1;
  margin: 0;
}
input[type="checkbox"] {
  display: none;
}
.wpcf7-list-item-label {
  position: relative;
  padding-left: 1.5em;
  display: inline-block;
}
.wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 1.1em;
  height: 1.1em;
  border: 2px solid var(--gray);
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  border-radius: 100px;
}
input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 0.6em;
  height: 0.4em;
  border-top: 3px solid var(--red);
  border-right: 3px solid var(--red);
  transform: rotate(135deg);
  position: absolute;
  left: 5px;
  top: 5px;
}
/*デフォルトのスタイルを無効化する*/
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
span.wpcf7-spinner {
  display: none;
}
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 60%;
  font-size: clamp(16px, 2.2vw, 18px);
  font-weight: 700;
  padding: 1em;
  border-radius: 500px;
  background-color: #fff;
  border: 2px solid var(--blue);
  color: var(--blue);
  cursor: pointer;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}
.wpcf7-not-valid-tip {
  margin-top: 0.5em;
}
.contact-kiyaku_wrap h2 {
  font-size: clamp(16px, 3vw, 18px);
  margin-bottom: 0.8em;
}
.contact-kiyaku {
  width: 73%;
  height: 300px;
  /* overflow: auto; */
  overflow-y: scroll;
  margin: 0 auto 2.8rem;
  border: 2px solid var(--blue);
  border-radius: 10px;
  padding: 3.6rem;
}
.contact-kiyaku::-webkit-scrollbar {
  width: 12px;
  height: 30px;
}
.contact-kiyaku::-webkit-scrollbar-track {
  background-color: #f3f3f3;
  border-radius: 0 8px 8px 0;
  border-left: 1px solid var(--gray);
}
.contact-kiyaku::-webkit-scrollbar-thumb {
  background-color: var(--gray);
  border-radius: 20px;
}
.contact-agree {
  margin-bottom: 10rem;
  font-size: clamp(16px, 3vw, 18px);
}
.contact-agree .wpcf7-list-item-label::before {
  border-radius: 0;
}


/* お問合せ完了ページ */
.contact-top_btn {
  background: var(--lblue);
  width: 70%;
  margin: 0 auto;
  padding: 1em;
  font-size: clamp(16px, 2vw, 18px);
  color: #fff;
  border-radius: 100px;
  border: 2px solid #fff;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.contact-top_btn:hover {
  background: var(--blue);
}
.contact-confirm_read {
  font-size: clamp(18px, 2vw, 20px);
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: inherit;
  border: 2px solid;
  font-size: 16px;
  color: var(--red);
  width: 95%;
  margin: 2em auto 0;
  text-align: center;
  padding: 1.5em;
}


@media screen and (max-width: 992px) {
  #contact-single .contact-form_label {
    column-gap: 1em;
  }
  .contact-single_inner {
    padding: 6rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-kiyaku {
    width: 95%;
  }
}
@media screen and (max-width: 680px) {
  #contact-single .contact-form_label {
    flex-direction: column;
    align-items: inherit;
    row-gap: 1em;
  }
}
@media screen and (max-width:576px) {
  .contact-single_inner {
    padding: 6rem 2rem;
  }
  .contact-kiyaku {
    width: 100%;
  }
}
@media screen and (max-width:480px) {
  .contact-single_inner {
    padding: 4rem 2rem;
  }
  .contact-kiyaku {
    padding: 1.6rem;
  }
  .contact-agree {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width:380px) {
  #contact-thanks p br {
    display: none;
  }
}

/* ----------------------------------------- */
/* 404 Page */
/* ----------------------------------------- */
#error-inner a {
  display: block;
  background: var(--green);
  padding: 1em;
  width: 16em;
  margin: 0 auto;
	font-size: 16px;
	color: #fff;
	font-weight: 600;
	border-radius: 500px;
}



/* ----------------------------------------- */
/* プライバシーポリシー */
/* ----------------------------------------- */
.page-template-page-privacy_policy main h3,
.contact-kiyaku h3 {
  font-size: clamp(19px, 2vw, 24px);
  margin-top: 1em;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}
.page-template-page-privacy_policy main h3:before,
.contact-kiyaku h3:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 0.3rem;
  background: var(--lblue);
  border-radius: 10px;
  margin-right: 0.5em;
}
.page-template-page-privacy_policy main h4,
.contact-kiyaku h4 {
  color: var(--black);
  font-size: clamp(17px, 1.5vw, 21px);
  margin-top: 1em;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}
.page-template-page-privacy_policy main h4:before,
.contact-kiyaku h4:before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  background: var(--black);
  border-radius: 100px;
  margin-right: 0.5em;
}
.page-template-page-privacy_policy main li,
.contact-kiyaku li {
  font-size: clamp(14px, 2vw, 16px);
  padding: 0.1em 0 0.1em 1em;
}
.page-template-page-privacy_policy main li:before,
.contact-kiyaku li:before {
  content: "";
  display: inline-block;
  width: 0.2em;
  height: 0.2em;
  background: var(--blue);
  border-radius: 100px;
  margin-right: 0.5em;
}
.page-template-page-privacy_policy main p,
.contact-kiyaku p {
  margin-bottom: 0.5em;
}
.page-template-page-privacy_policy main ul,
.contact-kiyaku ul {
  margin-bottom: 1.5em;
}



.wp-block-button__link {
  background-color: var(--lblue);
  font-size: clamp(14px, 2vw, 16px);
  padding: 0.3em 2em;
  margin: 1em 0;
}
.wp-block-file {
  font-size: clamp(14px, 2vw, 16px) !important;
  display: flex;
  align-items: center;
}
.wp-block-file:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url(../img/download-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-left: 0.5em;
}