@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.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@600;700;900&display=swap');
.grecaptcha-badge { visibility: hidden; }
 
/*  ホバー背景色設定
-----------------------------*/
.widget_recent_entries ul li a:hover,
.widget_categories ul li a:hover,
.widget_archive ul li a:hover,
.widget_pages ul li a:hover,
.widget_meta ul li a:hover,
.widget_rss ul li a:hover,
.widget_nav_menu ul li a:hover,
.navi-footer-in a:hover,
.a-wrap:hover,
.comment-reply-link:hover,
.recent-comments .a-wrap:hover .recent-comment-content,
.pagination a:hover,
.pagination-next-link:hover, .comment-btn:hover,
.pager-links a:hover span,
.pager-links a:hover span,
.mobile-menu-buttons .menu-button:hover,
.menu-drawer a:hover,
.bp-login-widget-register-link a:hover,
.tagcloud a:hover{
  background-color: #F2EFDC; 
  transition: all 0.5s ease;
}
/*  body
-----------------------------*/
body{
  overflow-x: hidden;
  background: url("img/background-base.jpg") repeat center;
  background-size: auto;
  background-attachment: scroll;
}
.header-container, .main, .sidebar, .footer {
  background-color: transparent;
}
.wrap{
  max-width: 100%;
}
/*  共通ボタン
-----------------------------*/
.btn{
  color: #594636;
  background-color: transparent;
  border:1px solid #594636;
  font-size: .9em;
  font-weight: 500;
}
.btn:hover{
  color: #DD6031;
  border-color: #DD6031;
}
.basic-btn{
  background: #DD6031;
  border:0;
  color:#fff;
}
.basic-btn:hover{
  opacity: 0.5;
  color:#fff;
}

.clear-btn{
  background:transparent;
  border: 1px solid #DD6031;
  color: #DD6031;
}
/*  ヘッダーメニュー
-----------------------------*/
.header-container-in.hlt-top-menu .logo-header img {
  padding: 6px 0;
}
.navi {
  background-color: transparent;
}
.navi-in a:hover {
  background-color: #594636;
  color:#fff;
}
.navi-in > ul .sub-menu {
  background-color: #594636; 
}
.navi-in > ul .sub-menu a{
  color:#fff;
}
.gnavi-link-contact{
  background-color: #DD6031;
}
.gnavi-link-contact a{
  color:#fff;
}
/*モバイル*/
.search-menu-button{
  display: none!important;
}
.navi-menu-button {
  order: 2;
}
.logo-menu-button {
  order: 1;
  justify-content: flex-start!important;
}
.logo-menu-button img { /*モバイル版ロゴの調整*/
  padding: 3px 10px;
  width:auto;
}
.navi-menu-content {
  left: inherit;
  right:0;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
}
.menu-close-button{
  text-align: right;
}
.menu-close-button span{
  width:70px;
  text-align: center;
}
.menu-content{
  background:url("img/reason-background.webp") no-repeat left bottom;
}
.menu-drawer a {
  padding: 10px;
}
label.menu-open, label.menu-close-button{
  color:#594636;
}
/*  固定ページの日付を削除
-----------------------------*/
body.page .date-tags{
  display:none;
}

/*  固定ページのヘッダー
-----------------------------*/
.page .article-header{
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding:5em 1em;
  background:url("img/page-background.jpg") no-repeat center,#594636;
  background-size: cover;
  text-align: center;
  color:#fff;
}
.page .content{
  margin-top:0;
}
.page .main{
  padding-top:0;
}

/*  見出し
-----------------------------*/
.entry-title{
  font-family: "Zen Old Mincho", serif;
  font-weight: 900!important;
  letter-spacing:2px;
}
.article h2,.footer-h2 {
  padding: 0.5em 1.2em;
  background: url("img/background-h2.webp") center,#594636;
  border-left:10px solid #D5CC8F;
  border-right:10px solid #D5CC8F;
  font-size:24px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  line-height: 1.25;
  color:#F9F8F1;
  position: relative;
}
.article h2:first-letter,.footer-h2:first-letter{
  font-size:34px;
}
.article h2::before,.footer-h2::before{
  position: absolute;
  top:0;
  left:5px;
  content:"";
  display: block;
  width:2px;
  height: 100%;
  background-color: #D5CC8F;
}
.article h2::after,.footer-h2::after{
  position: absolute;
  top:0;
  right:5px;
  content:"";
  display: block;
  width:2px;
  height: 100%;
  background-color: #D5CC8F;
}
.page .article h2,.footer-h2 {
  text-align: center;
}
.article h3,.footer-h3,.front-h3{
  padding: 0 0.5em 0.5em 0;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #594636;
  font-size: 22px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  line-height: 1.25;
  color:#594636;
}


.sidebar h3 {
  margin: 16px 0;
  border-radius: 0;

  padding: 0.5em 1.2em;
  background: url("img/background-h2.webp") center,#594636;
  border-left:10px solid #D5CC8F;
  border-right:10px solid #D5CC8F;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color:#F9F8F1;
  position: relative;
}


/*  footer CTA
-----------------------------*/
.footer-cta{
  padding: min(6vw, 60px) 0;
  background: rgba(255,255,255,0.75);
}
.cta-in{
  padding:0 10px;
}
.cta-container{
  margin-top:20px;
  display: flex;
  justify-content: space-between;
  gap:4vw;
}
.cta-content{
  width:50%;
}
.cta-number{
  font-size:48px;
  font-weight: bold;
  color:#DD6031;
}
.cta-number a{
  color:#DD6031;
  text-decoration: none;
}
.cta-number::before{
  margin-right:10px;
  font-family: FontAwesome;
  content: "\f098";
}
.cta-btns{
  display: flex;
  flex-direction: column;
  gap:18px;
  margin-top:20px;
}
/*  目次
-----------------------------*/
.toc {
  width: 100%;
}


/*  フロントページ
-----------------------------*/

/*見出し*/
.front-h2{
  margin-bottom: 1em;
  font-size: min(2.6vw,32px);
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  line-height: 1.4;
  position: relative;
}
.front-h2:first-letter{
  font-size:min( calc( 2.6vw + 10px ), 44px);
}
.front-h2::after{
  content:"";
  display: block;
  margin-top:0.8em;
  width:100px;
  height:2px;
  background: #594636;
  border-left: 10px solid #D5CC8F;
  border-right: 10px solid #D5CC8F;
}
.front-h2.centering{
  text-align: center;
}
.front-h2.centering::after{
  margin:0.8em auto 0 auto;
}

/*ファーストビュー*/
.firstView{
  margin-bottom: 6vw;
  background: url("img/fv-background.webp") no-repeat left bottom;
  background-size: cover;
}
.firstView__container{
  margin:0 auto;
  padding:2vw 10px;
  text-align: center;
  position: relative;
}
.firstView-text{
  display: inline-block;
  min-width :620px;
  min-height: 620px;
  background:#F2EFDC;
  border:10px solid #F2DFBB;
  border-radius: 50%;
  text-align: center;
  box-shadow: 0 0 60px #F2DFBB;
  z-index: 1;
  position: relative;
}
.firstView-text__container{
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  width: 100%;
}
.firstView-text img{
  width:130px;
}
.firstView-maincopy{
  margin-top:30px;
  font-size:34px;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.6;
}
.firstView-subcopy{
  margin:60px 0 10px 0;
  font-size: 16px;
}
.firstView-image--right{
  position: absolute;
  top:0;
  right:0;
  width:50%;
  height: min(70%, 500px);
  background:url("img/kv-right.jpg") no-repeat top center;
  background-size: cover;
  box-shadow: -3vw 50px 0px #F2EFDC;
}
.firstView-image--left{
  position: absolute;
  bottom:0;
  left:0;
  width:50%;
  height: min(70%, 500px);
  background:url("img/kv-left.jpg") no-repeat center center;
  background-size: cover;
  box-shadow: 3vw -50px 0px #F2EFDC;
}

/*お知らせ*/
.latest-news{
  margin:50px auto 0 auto;
  padding:0 10px;
  width:100%;
  max-width: 1280px;
}
.latest-news__container{
  padding:32px;
  background: rgba(255,255,255,0.75);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.latest-news__wrap{
  flex-grow: 2;
}
.latest-news__heading{
  padding:0 min(3vw,46px);
  font-size: 24px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  border-right:1px solid #594636;
}
.latest-news__title{
  flex-grow: 1;
  padding:0 min(3vw,46px);
}
.latest-news__title a{
  color:#594636;
}
.latest-news__title a:hover{
  color:#DD6031;
}
.latest-news__title span{
  margin-right:1em;
}
.latest-news__link .clear-btn{
  padding: 0.9em 2em;
  font-size: 0.75em;
}

/*コンセプト*/
.about{
  margin-left: calc(-50vw + 50%);
  margin-bottom: 10vw;
}
.about p,.about ul{
  margin-bottom: 1em;
}
.about p:last-child{
  margin-bottom: 0;
}
.about__container{
  display: flex;
  gap: 7vw;
}
.about__image{
  width:40%;
  height:500px;
  background:url("img/maternity.jpg") no-repeat top center;
  background-size: cover;
  box-shadow: -50px 50px 0 #F2EFDC;
}
.about__text{
  width:60%;
}
.about__links{
  margin-top:2em;
}

/*コンセプト２*/
.area{
  margin-right: calc(-50vw + 50%);
  margin-bottom: 10vw;
}
.area p{
  margin-bottom: 1em;
}
.area p:last-child{
  margin-bottom: 0;
}
.area__container{
  display: flex;
  gap: 10%;
}
.area__image{
  width:40%;
  height:300px;
  background:url("img/area.png") no-repeat top left;
  background-size: contain;
}
.area__image::after{
  content:"";
  display: block;
  width:calc(100% + 50px);
  height: 100%;
  background: #F2EFDC;
  transform: translate(-50px,50px);
  position: relative;
  z-index: -1;
}
.area__text{
  width:60%;
}
.area__links{
  margin-top:2em;
}

/*選ばれる理由*/
.reason{
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: min(9vw, 100px) 0;
  background:url("img/reason-background.webp") no-repeat left center;
  background-size: cover;
}
.reason__container{
  margin:0 auto;
  padding:0 10px;
  width:100%;
  max-width: 1280px;
}
.reason .front-h3{
  margin-bottom:1em;
  font-size:26px;
}
ul.reason__list{
  list-style: none;
  padding-left:0;
}
ul.reason__list li{
  max-width: 1100px;
}
ul.reason__list li:nth-child(2){
  margin-left:7%;
}
ul.reason__list li:nth-child(3){
  margin-left:14%;
}
.reason__content{
  display: flex;
  align-items: center;
  gap: 50px;
}
.reason__image{
  width:30%;
}
.reason__text{
  width:70%;
}
.reason__links{
  text-align: right;
}

/*整体ブログ*/
.latest-blog .front-h2{
  margin-bottom:2em;
}
.latest-blog{
  padding: min(9vw, 100px) 0;
}
.latest-blog__list{
  list-style: none;
  padding-left:0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap:40px;
}
.latest-blog__item{
  width:calc( 100% / 3 - 40px );
}
.latest-blog__item a{
  text-decoration: none;
  font-weight: bold;
  color: #594636;
  transition: all .3s;
}
.latest-blog__item a:hover{
  opacity: 0.6;
}
.latest-blog__thumnail img{
  border-radius: 4px;
  width:100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.latest-blog__title{
  line-height: 1.6;
}
.latest-blog__links{
  margin-top: 50px;
  text-align: center;
}

/*  ブログページ
-----------------------------*/
/*アーカイブページ*/
.post-type-archive-blog .list a:hover{
  transform: translateY(-5px);
}
.post-type-archive-blog .ecb-entry-border .entry-card-wrap, .post-type-archive-blog .pagination-next-link{
  border-color: #F2EFDC;
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 3px 3px 1px #F2EFDC;
}
.post-type-archive-blog:hover .ecb-entry-border:hover .entry-card-wrap:hover, .post-type-archive-blog:hover .pagination-next-link:hover{
  box-shadow: 3px 3px 10px #F2EFDC;
}
.post-type-archive-blog .pagination-next-link{
  font-size: 0.9em;
}
.post-type-archive-blog .pagination .current {
  background-color: #F2EFDC;
}
.post-type-archive-blog .page-numbers{
  border:none;
}
/*個別ページ*/
.single-blog .main {
  padding-top:10px;
  padding-bottom:10px;
  background-color: rgba(255, 255, 255, 0.75);
  border: 1px solid #F2EFDC;
  box-shadow: 3px 3px 1px #F2EFDC;
}
.cat-label {
  background-color: rgba(221, 96, 49, 1);
}
.single-blog .eye-catch img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/*  お知らせ一覧
-----------------------------*/
/*アーカイブページ*/
.archive-news-wrap{
  display: block;
  padding:1em 0;
  text-decoration: none;
  border-bottom: 1px dashed #ccc;
}
.archive-news-list{
  display: flex;
  gap:1em;
  padding-right: 20px;
}
.post-type-archive-news .list a{
  color:#594636;
  transition: all .3s;
}
.post-type-archive-news .list a:hover{
  color:#DD6031;
}
.archive-news-list__title{
  font-size:18px;
}
.archive-news-list__title::after{
  font-family: FontAwesome;
  margin-right: 5px;
  transition: all 0.2s ease;
  content: "\f105";
  position: absolute;
  right: 0;
  font-size: 20px;
}
.archive-news-list__date{
  display: inline;
  font-size: 0.7em;
}
.post-type-archive-news .main,.single-news .main{
  width:100%;
  max-width: 1000px;
}
.post-type-archive-news .main,.single-news .main{
  margin:0 auto 3em auto;
}
.post-type-archive-news .archive-title{
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  text-align: center;
}
.post-type-archive-news .archive-title::after{
  content: "";
  display: block;
  margin: 0.8em auto 0 auto;
  width: 60px;
  height: 2px;
  background: #594636;
  border-left: 10px solid #D5CC8F;
  border-right: 10px solid #D5CC8F;
}

/*個別ページ*/
.single-news .entry-title,.single-news .date-tags{
  text-align: center;
}
.single-news .entry-header{
  border-bottom: 1px solid #594636;
}
.entry-content {
  margin-top: 2em;
  margin-bottom: 5em;
}
.single-news__link,.archive-news__link{
  text-align: center;
}

/*  faq
-----------------------------*/
.faq .faq-answer {
  padding: 1em;
  background: rgba(255, 255, 255, 0.75);
  border-radius: 6px;
}
.faq-question {
  display: flex;
  align-items: center;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  .about {
    margin-left:0;
    margin-bottom: 14vw;
  }
  .about__container {
    display: flex;
    flex-direction: column;
    gap: 9vw;
  }
  .about__image{
    width: 100%;
    height: 25vw;
    box-shadow: -50px 4vw 0 #F2EFDC;
    background: url("img/maternity.jpg") no-repeat bottom 32% center;
    background-size: cover;
  }
  .about__text{
    width: 100%;
    padding: 0 5vw;
  }
  .area {
    margin-right: 0; 
    margin-bottom: 12vw;
  }
  .area__text {
    order: 2;
    width: 70%;
  }
  .area__image {
    order: 1;
    width: 30%;
    height: 220px;
  }
  .front-h2 {
    font-size: 24px;
  }
  .front-h2:first-letter{
    font-size:34px;
  }
  .reason .front-h2 {
    margin-bottom: 2em;
  }
  .reason .front-h3 {
    font-size: 22px;
  }
  ul.reason__list li {
    max-width: 100%;
    margin-bottom: 4vw;
  }
  ul.reason__list li:nth-child(2),ul.reason__list li:nth-child(3) {
    margin-left:0;
  }
  .reason__content {
    gap: 3vw;
  }
  
}
@media (481px <= width <= 1023px){
  body{
    font-size:16px!important;
  }
}

/*834px以下*/
@media screen and (max-width: 834px){
  .latest-news__container {
    padding: 2vw 4vw;
  }
  .cta-in{
    padding:0 16px;
  }
  .cta-number{
    font-size:min(9vw,42px);
  }
  .firstView__container{
    padding:20vw 10px;
  }
  .firstView-text img {
    width: min(14vw, 100px);
  }
  .firstView-text {
    min-width: min(94vw, 500px);
    min-height: min(90vw, 500px);
  }
  .firstView-maincopy {
    margin-top: 2vw;
    font-size: min(5.7vw,32px);
  }
  .firstView-subcopy{
    margin: 5vw 0 2vw 0;
    font-size: min(4vw, 16px);
  }
  .firstView-image--right{
    box-shadow: -3vw 20px 0px #F2EFDC;
  }
  .firstView-image--left{
    box-shadow: 3vw -20px 0px #F2EFDC;
  }
  .latest-news{
    padding:0 16px;
  }
  .latest-news__container {
    flex-direction: column;
    justify-content: normal;
    align-items: baseline;
    gap: 1em;
  }
  .latest-news__heading {
    padding: 0;
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid #594636;
  }
  .latest-news__title {
    padding: 0 ;
  }
  .latest-news__link{
    width:100%;
    text-align: right;
  }
  .single-blog .main {
    margin:10px;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .article h2{
    font-size: 20px;
  }
  .article h2:first-letter,.footer-h2:first-letter{
    font-size:30px;
  }
  span.sp-br{
    display: block;
  }
  .cta-container{
    display: block;
  }
  .cta-content{
    width:100%;
  }
  .cta-tel{
    margin-bottom: 20px;
  }
  .front-h2{
    font-size: min(5.7vw, 22px);
  }
  .front-h2:first-letter{
    font-size:min( calc( 5.7vw + 10px ), 32px);
  }
  .firstView__container{
    padding: 40vw 10px 30vw 10px;
  }
  .firstView .basic-btn{
    padding: 0.9em 2em;
    font-size: min(3.8vw, 15px);
  }
  .firstView-image--right{
    top:inherit;
    bottom:0;
    width:90%;
    height: 30%;
    box-shadow: -5vw 15px 0px #F2EFDC;
  }
  .firstView-image--left{
    bottom:inherit;
    top: 0;
    width: 90%;
    height: 30%;
    box-shadow: 5vw 15px 0px #F2EFDC;
  }
  .area__container {
    gap: 5%;
  }
  .about {
    margin-bottom: 20vw;
  }
  .about ul {
    padding-left: 20px;
  }
  .area__image {
    width: 20%;
    height: 90px;
  }
  .area__image::after {
    width: calc(100% + 50px);
    transform: translate(-70px, 20px);
  }
  .area__text {
    width: 80%;
  }
  .reason__content {
    padding: 5vw;
    flex-direction: column;
    gap:0;
  }
  .reason__image {
    width:100%;
    text-align: center;
  }
  .reason__image img{
    width:52%;
  }
  .reason__text {
    width: 100%;
  }
  ul.reason__list li {
    margin-bottom: 10vw;
    border: 1px solid #594636;
    border-radius: 4px;
  }
  .reason .front-h3 {
    text-align: center;
  }
  .reason__links {
    text-align: center;
  }
  .latest-blog__list{
    gap:30px 10px;
  }
  .latest-blog__item{
    width:calc( 50% - 10px );
  }
}

/*1024px以上*/
@media screen and (min-width: 1024px){
  .header-container{
    background:#fff;
  }
  .navi-in a {
    font-size: 15px;
    font-weight: 500;
  }
  .page .entry-content{
    margin-top: 3em;
  }
  .single-blog .content {
    margin-bottom: 24px;
  }
  .single-blog .main {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 782px){
  html #wpadminbar {
    display: none;
  }
}

