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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

.wrap {
  margin: 0 !important;
  width: 100%;
}

/* モバイルヘッダー強制非表示 */
.sp-header-wrap {
  display: none;
}

/* FV設定 */
picture img {
  width: 100%;
  height: auto;
  display: block;
}

/* ヘッダー_PC */
.header-container-in {
  height: calc(100vw/14.4);
}
.navi-in {
  display: flex;
  align-items: center;
  justify-content: end;
  height: calc(100vw/14.4);
}
.header {
  display: flex;
}
.header:hover {
  background-color: #2C658620;
}
.header a {
  padding: 0;
}
.header img {
  align-items: center;
  width: calc(200vw/14.4);
  max-width: 200px;
}
.menu-header {
  display: flex;
  list-style: none;
}
.menu-header li{
  display: flex;
  align-items: center;
  height: calc(100vw/14.4) !important;
  position: relative;
}

.menu-header a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 calc(24vw/14.4) !important;
  font-size: calc(18vw/14.4) !important;
  font-weight: 600;
  color: #2C6586;
  text-decoration: none;
}

.menu-item-has-children:hover .sub-menu {
  display: block;
  color: #2C6586;
  font-size: calc(18vw/14.4) !important;
  font-weight: 600;
}
.sub-menu{
  position: absolute;
  top: calc(100vw/14.4);
  left: 0;
  background-color: #fff;
  display:none;
  z-index: 100;
}
.sub-menu li {
  background: #fff;
  border: 1px solid #2C658620;
}
#menu-item-318, #menu-item-318 ul {
  width: calc(195vw/14.4) !important;
}
#menu-item-314, #menu-item-314 ul {
  width: calc(212vw/14.4) !important;
}
.menu-header li:hover,.sub-menu li:hover {
  background-color: #2C658620;
}
.menu-header li .active {
  background-color: #2C6586;
}
.menu-header li.active a {
  color: #fff;
}

/* フッターPC */
#footer {
  background: #D6EFF6;
  padding: calc(60vw/14.4) calc(100vw/14.4) calc(50vw/14.4) calc(100vw/14.4);
}
.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(30vw/14.4) calc(100vw/14.4);
  max-width: 100%;
  margin: 0;
}
.footer-left {
  text-align: center;
  width: calc(460vw/14.4);;
}
.footer-left>img {
  width: calc(380vw/14.4);
  height: auto;
  margin-bottom: calc(30vw/14.4);
}
.footer-left address {
  font-style: normal;
  font-size: calc(18vw/14.4);
  color: #666;
  margin-bottom: calc(30vw/14.4);
  text-align: start;
}
.tel-box a {
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  text-align: center;
}
.tel-box a img {
  margin: 0 auto calc(20vw/14.4) auto;
  width: calc(331vw/14.4);
  height: auto;
  transition: 0.3s;
}
.tel-box a img:hover {
  content: url('https://smile-dental-clinic250626.com/wp-content/themes/cocoon-child-master/images/Tel_button_hover.png');
}
.tel-box p {
  font-size: calc(18vw/14.4);
  font-weight: 600;
  color: #666;
}
.footer-right {
  width: calc(720vw/14.4);
}
.footer-right>img {
  width: calc(720vw/14.4);
  height: auto;
}
.sns a img {
  width: calc(40vw/14.4);
  margin-right: calc(60vw/14.4);
  margin-top: calc(60vw/14.4);
}
.footer-center {
  max-width: 100%;
  width: 100%;
  padding-top: calc(60vw/14.4);
}
.footer-center>ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  height: 400px;
  justify-content: flex-start;
  align-content: center;
  gap: calc(30vw/14.4) calc(100vw/14.4);
  max-width: 100%;
  width: 100%;
}
.footer-center ul {
  list-style: none;
  padding: 0;
  margin: 0 calc(50vw/14.4);
}
.footer-center ul ul {
  margin-left: calc(30vw/14.4);
}
.footer-center a, .footer-center p {
  color: #222;
  text-decoration: none;
  font-size: calc(24vw/14.4);
  font-weight: 600;
}
.sub-navi li {
  margin-bottom: 0;
  margin-top: calc(30vw/14.4);
}
.sub-navi a {
  font-size: calc(18vw/14.4);
}
.footer-center a:hover {
  background-color: #22222220;
}
.footer-bottom {
  text-align: end;
  font-size: calc(16vw/14.4);
  margin-top: calc(30vw/14.4);
}


/* TOPボタン */
.go-to-top button {
  width: calc(90vw/14.4);
  height: calc(95vw/14.4);
}
.go-to-top button img {
  width: 100%;
  height: auto;
}


/* アドミンパネル他非表示 */
#admin-panel {
	display: none;
}
.sns-follow-message {
	display: none;
}
.sns-follow-buttons {
	display: none;
}
.author-info {
	display: none;
}
.entry-header .date-tags {
	display:none;
}

/* パンくずとタイトル（PageNavi） */
.page-title-box {
  background-color: #2C6586;
  padding: calc(30vw/14.4) calc(100vw/14.4);
  margin-bottom: calc(150vw/14.4);
  height: calc(205vw/14.4);
}
.breadcrumb, .breadcrumb span {
  margin: 0 0 calc(30vw/14.4) 0;
  color: #fff;
  font-size: calc(16vw/14.4);
  font-weight: bold;
}
.page-title-box h1 {
  color: #fff;
  font-size: calc(60vw/14.4);
  font-weight: bold;
  line-height: calc(80vw/14.4);
}



/* パンくずとタイトル（デフォルト） */
#breadcrumb {
	color: #fff;
	background-color:#2C6586;
	margin: 0;
	padding: calc(30vw/14.4) calc(100vw/14.4) calc(40vw/14.4) calc(100vw/14.4);
        line-height: 100%;
        height: calc(100vw/14.4);
}
.breadcrumb-caption {
	color: #fff;
}
/* 「ホーム」を消す */
#breadcrumb.breadcrumb .breadcrumb-home a span{
	font-size: 0px;
}
/* 「HOME」を挿入 */
#breadcrumb.breadcrumb .breadcrumb-home a span::before{
	font-size: calc(16vw/14.4);
	content: "HOME";
}
/* パンくずのアイコンを消す */
#breadcrumb.breadcrumb .fa-home,
#breadcrumb.breadcrumb .far{
	display: none;
}
.breadcrumb-home .sp .fa-angle-right{
	font-size: 0;
}
.breadcrumb-home .sp .fa-angle-right::before {
	font-size: calc(16vw/14.4);
	content: "/";
}
.breadcrumb-home .sp {
	margin:0;
}
.entry-title {
	margin: 0;
	padding: 0 calc(100vw/14.4) calc(30vw/14.4) calc(100vw/14.4);
	font-size: calc(60vw/14.4);
	color: #fff;
	background-color: #2C6586;
}
.entry-header {
  line-height: calc(75vw/14.4);
}


/* home.phpとarchive.php設定 */
.background-F7F9FA {
  background-color: #F7F9FA;
}

/* カテゴリーナビ */
.category-nav {
  display: flex;
  justify-content: center;
  gap: calc(60vw/14.4);
  margin-bottom: calc(100vw/14.4);
}
.category-nav a {
  text-decoration: none;
  padding: calc(16vw/14.4) calc(48vw/14.4);
  background: #fff;
  border: 1px solid #2C6586;
  border-radius: 50px;
  color: #2C6586;
}
.category-nav a:hover {
  background-color: #2C658620;
}
.category-nav a.current {
  background: #2C6586;
  color: #fff;
}

/* 投稿一覧 */
.blog-list {
  display: flex;
  flex-direction: column;
  gap: calc(100vw/14.4);
  margin-bottom: calc(150vw/14.4);
}

.blog-item a {
  display: flex;
  align-items: center;
  background-color: #fff;
  border: 1px solid #2C6586;
  border-radius: 0 calc(30vw/14.4) 0 calc(30vw/14.4);
  text-decoration: none;
  padding: calc(50vw/14.4) calc(100vw/14.4);
  margin: 0 calc(150vw/14.4);
}
.blog-item a:hover {
  background-color: #2C658620;
}
.blog-item .thumb {
  flex: 0 0 calc(200vw/14.4);
}
.blog-item .thumb img {
  width: 100%;
  height: auto;
}
.blog-item .meta {
  flex: 1;
  height: calc(130vw/14.4);
  padding: 0 calc(40vw/14.4);
}
.blog-item .date-cat {
  display: flex;
  gap: calc(30vw/14.4);
  margin-bottom: calc(16vw/14.4);
  text-transform: none;
  color: #666;
}
.blog-item .date {
  color: #666;
  font-size: calc(18vw/14.4);
}
.blog-item .cat {
  background: transparent;
  padding: calc(4vw/14.4) calc(12vw/14.4);
  border: 1px solid #666;
  border-radius: calc(12vw/14.4);
  font-size: calc(13vw/14.4);
}
.blog-item .title {
  font-size: calc(24vw/14.4);
  margin: 0;
  text-decoration: none;
  color: #2C6586;
}
.blog-item .arrow span{
  align-items: center;
  font-weight: bold;
  color: #666;
  font-size: calc(24vw/14.4);
}

/* ページ送り */
.wp-pagenavi {
  text-align: center !important;
  float: none !important;
  clear: both;
	padding-bottom: calc(100vw/14.4);
}
.wp-pagenavi a,.wp-pagenavi span {
  display: inline-flex;
	justify-content: center;
	align-items: center;
  height: calc(30vw/14.4);
  width: calc(30vw/14.4);
  margin: 0 calc(9vw/14.4) !important;
  border: 1px solid #2C6586;
  border-radius: 50% !important;
  background-color: #fff;
  color: #2C6586;
  text-decoration: none;
  font-size: calc(18vw/14.4);
  font-weight: bold;
  text-align: center;
}
.wp-pagenavi a:hover {
  background-color: #2C658620 !important;
  color: #2C6586 !important;
  border-color: #2C6586 !important;
}
.wp-pagenavi .current {
  background-color: #2C6586 !important;
  color: #fff !important;
  background-color: #2C6586 !important;
}

/* 投稿ページ */
.post-pagenation {
   display: flex;
   justify-content: center;
   align-items: center;
   margin-top: calc(200vw/14.4);
   margin-bottom: calc(100vw/14.4);
   gap: calc(18vw/14.4);
  }
.post-pagenation a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  height: calc(30vw/14.4);
  width: calc(30vw/14.4);
  border: 1px solid #2C6586;
  border-radius: 50%;
  text-decoration: none;
  font-size: calc(18vw/14.4);
  font-weight: bold;
  color: #2C6586;
}
.post-pagenation .text {
  width: auto;
  padding: calc(6vw/14.4) calc(26vw/14.4);
  border-radius: calc(50vw/14.4);
}
.post-pagenation a:hover {
  background-color: #2C658620;
}
.post-frame {
  padding: calc(50vw/14.4) calc(200vw/14.4) 0 calc(200vw/14.4);
}
.post-eyecatch {
  display: flex;
  justify-content: center;
  width: calc(940vw/14.4);
  height: auto;
  margin: 0 calc(50vw/14.4) calc(150vw/14.4) calc(50vw/14.4);
}
.post-eyecatch img {
  width: 100%;
  height: auto;
}
.post-title {
  margin: 0 calc(50vw/14.4) calc(30vw/14.4) calc(50vw/14.4);
  font-size: calc(40vw/14.4);
  font-weight: bold;
  color: #222;
}
.post-cat {
  font-size: calc(16vw/14.4);
  padding: calc(7vw/14.4) calc(24vw/14.4);
  border: 1px solid #222;
  border-radius: calc(30vw/14.4);
}
.post-date {
  font-size: calc(20vw/14.4);
}
.post-meta {
  display: flex;
  gap: 10px;
  color: #222;
  margin: 0 calc(50vw/14.4);
}
.post-divider {
  border: 0;
  border-top: 2px solid #E0E7EC;
  margin: calc(60vw/14.4) 0;
}
.post-content {
  margin: 0 calc(50vw/14.4);
}
.post-content p, .post-content span {
  line-height: 3em;
}




/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/

  /* デフォルトモバイルヘッダー非表示 */
  .header {
    display: none;
  }
  .header-container {
    display: none !important;
  }

/* 各ページ上部余白 */
#breadcrumb {
	margin-top: calc(50vw/8.34) !important;
}
.page-title-box {
  margin-top: calc(50vw/8.34);
}

  /* モバイルヘッダーヘッダーメニュー */
  .sp-header-wrap {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9998;
  }
  .sp-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;
  }
  .sp-menu.active {
    display: block;
  }
  .menu-close {
    border: none;
    cursor: pointer;
    z-index: 10000;
  }

  .sp-header, .sp-header-active {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 12px;
  background: #fff;
}

.sp-header .logo img, .sp-menu .logo img {
  height: auto;
  width: calc(120vw/8.34);
}
.sp-header .logo img:hover, .sp-menu .logo img:hover {
  background-color: #2C658620;
}
.menu-btn, .menu-close {
  width: calc(60vw/8.34);
  height: calc(50vw/8.34);
  border: none;
  padding: 0;
  cursor: pointer;
}

.sp-menu {
  display: none;
  background: #fff;
}
.sp-menu.open {
  display: block;
}
.menu-btn.active img{
  content: url("http://smile-dental-clinic.local/wp-content/uploads/2025/06/close_btn.png");
}

.sp-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sp-menu li {
  padding: calc(8vw/8.34) 0 calc(8vw/8.34) 50px;
}
.sp-menu a {
  text-decoration: none;
  font-size: calc(14vw/8.34);
  font-weight: 600;
  color: #2C6586;
  line-height: normal;
}

.sp-menu .tel-btn-wrap {
  margin-top: calc(30vw/8.34);
  text-align: center;
}
.tel-btn-wrap>img {
  width: 100%;
  height: auto;
  margin: 0 5px;
}

.sp-menu .tel-btn img {
  width: calc(240vw/8.34);
  transition: 0.3s;
}
.tel-btn img:hover {
  content: url('http://smile-dental-clinic.local/wp-content/uploads/2025/06/Tel_button_hover.png');
}
.tel-btn-wrap p {
  font-size: calc(13vw/8.34);
  font-weight: 600;
  padding: calc(10vw/8.34) 0 calc(20vw/8.34) 0;
}
.menu-title {
  font-weight: 600;
  color: #2C6586;
  font-size: calc(14vw/8.34);
  line-height: normal;
  display: block;
}


}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/


  /* 各ページ上部余白 */
#breadcrumb {
	margin-top: calc(50vw/3.75) !important;
}
.page-title-box {
  margin-top: calc(50vw/3.75);
}

  /* モバイルヘッダーヘッダーメニュー */


.sp-header .logo img, .sp-menu .logo img {
  width: calc(120vw/3.75);
}
.menu-btn, .menu-close {
  width: calc(60vw/3.75);
  height: calc(50vw/3.75);
}
.sp-menu li {
  padding: calc(8vw/3.75) 0 calc(8vw/3.75) 50px;
}
.sp-menu a {
  font-size: calc(14vw/3.75);
}
.sp-menu .tel-btn-wrap {
  margin-top: calc(30vw/3.75);
}
.sp-menu .tel-btn img {
  width: calc(240vw/3.75);
}
.tel-btn-wrap p {
  font-size: calc(13vw/3.75);
  padding: calc(10vw/3.75) 0 calc(20vw/3.75) 0;
}
.menu-title {
  font-size: calc(14vw/3.75);
}


  /* フッターSP */
  #footer {
  padding: calc(60vw/3.75) 0 calc(30vw/3.75) 0;
}
.footer-inner {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.footer-left {
  text-align: center;
  padding: 0 calc(25vw/3.75);
  width: 100%;
}
.footer-left>img {
  width: calc(240vw/3.75);
  height: auto;
  margin-bottom: calc(20vw/3.75);
}
.footer-left address {
  font-size: calc(13vw/3.75);
  margin-bottom: calc(20vw/3.75);
  text-align: start;
}
.tel-box a img {
  margin-bottom: calc(10vw/3.75);
  width: calc(237vw/3.75);
  height: auto;
  transition: 0.3s;
}
.tel-box p {
  font-size: calc(14vw/3.75);
  font-weight: 600;
}
.footer-right {
  width: 100%;
  text-align: center;
  padding: 0;
}
.footer-right>img {
  width: calc(370vw/3.75);
  height: auto;
}
.sns a img {
  width: calc(30vw/3.75);
  margin-right: calc(30vw/3.75);
  margin-top: calc(40vw/3.75);
}
.footer-center {
  padding-top: calc(60vw/3.75);

}
.footer-center>ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  height: 320px;
  justify-content: flex-start;
  align-content: center;
  gap: calc(12vw/3.75) calc(40vw/3.75);
}
.footer-center ul {
  padding: 0;
  margin: 0;
}
.footer-center a, .footer-center p {
  font-size: calc(16vw/3.75);
}
.sub-navi {
  margin: 0;
}
.sub-navi li {
  margin-top: calc(12vw/3.75);
  margin-left: calc(20vw/3.75);
}
.sub-navi a {
  font-size: calc(14vw/3.75);
}
.footer-bottom {
  text-align: end;
  font-size: calc(11vw/3.75);
  margin-top: calc(48vw/3.75);
}

/* TOPボタン */
.go-to-top button {
  width: calc(66vw/3.75);
  height: calc(69vw/3.75);
}

/* パンくずとタイトル（PageNavi） */
.page-title-box {
  padding: calc(10vw/3.75) 0 calc(20vw/3.75) calc(20vw/3.75);
  margin-bottom: calc(100vw/3.75);
  height: calc(108vw/3.75);
}
.breadcrumb, .breadcrumb span {
  margin: 0 0 calc(20vw/3.75) 0;
  font-size: calc(11vw/3.75);
}
.page-title-box h1 {
  font-size: calc(32vw/3.75);
  line-height: 100%;
}

/* パンくずとタイトル（デフォルト） */
#breadcrumb {
	padding: calc(10vw/3.75) 0 calc(20vw/3.75) calc(20vw/3.75);
  height: calc(48vw/3.75);
}
#breadcrumb.breadcrumb .breadcrumb-home a span::before,
#breadcrumb.breadcrumb .breadcrumb-home .sp span::before {
	font-size: calc(11vw/3.75);
}	
.entry-title {
	margin: 0;
	padding: 0 0 calc(20vw/3.75) calc(20vw/3.75);
	font-size: calc(32vw/3.75);
	color: #fff;
	background-color: #2C6586;
}

/* カテゴリーナビ */
.category-nav {
  gap: calc(20vw/3.75);
  margin-bottom: calc(60vw/3.75);
}
.category-nav a {
  padding: calc(6vw/3.75) calc(18vw/3.75);
  font-size: calc(13vw/3.75);
}

/* ページ送り */
.wp-pagenavi {
	padding-bottom: calc(60vw/3.75);
}
.wp-pagenavi a,.wp-pagenavi span {
  height: calc(22vw/3.75);
  width: calc(22vw/3.75);
  margin: 0 calc(12vw/3.75) !important;
  font-size: calc(13vw/3.75);
}

/* 投稿一覧 */
.blog-list {
  gap: calc(60vw/3.75);
  margin-bottom: calc(100vw/3.75);
}

.blog-item a {
  flex-direction: column;
  align-items: flex-start;
  border-radius: 0 calc(30vw/3.75) 0 calc(30vw/3.75);
  padding: calc(20vw/3.75);
  margin: 0 calc(10vw/3.75);
}
.blog-item .thumb {
  flex: 0 0 calc(200vw/3.75);
  flex: none;
  margin-bottom: calc(20vw/3.75);
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 100%;
}
.blog-item .thumb img {
  width: calc(200vw/3.75);
  height: auto;
}
.blog-item .meta {
  width: 100%;
  max-width: 100%;
  height: auto;
  padding: 0;
  margin-bottom: calc(12vw/3.75);
}
.blog-item .date-cat {
  display: flex;
  gap: calc(30vw/14.4);
  margin-bottom: calc(16vw/14.4);
  text-transform: none;
}
.blog-item .date {
  font-size: calc(13vw/3.75);
}
.blog-item .cat {
  padding: calc(4vw/3.75) calc(12vw/3.75);
  border-radius: calc(12vw/3.75);
  font-size: calc(11vw/3.75);
}
.blog-item .title {
  font-size: calc(16vw/3.75);
}
.blog-item .arrow {
  align-self: flex-end;
  margin-top: calc(10vw/3.75);
}
.blog-item .arrow span{
  align-items: center;
  font-weight: bold;
  color: #666;
  font-size: 18px;
  line-height: 100%;
  margin: 0;
}

/* 投稿ページ */
.post-pagenation {
   margin-top: calc(100vw/3.75);
   margin-bottom: calc(60vw/3.75);
   gap: calc(12vw/3.75);
  }
.post-pagenation a {
  height: calc(22vw/3.75);
  width: calc(22vw/3.75);
  font-size: calc(12vw/3.75);
}
.post-pagenation .text {
  width: auto;
  padding: calc(4vw/3.75) calc(20vw/3.75);
  border-radius: calc(50vw/3.75);
}

.post-frame {
  padding: 0;
}
.post-eyecatch {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 0 calc(60vw/3.75) 0;
}
.post-eyecatch img {
  width: 100%;
  height: auto;
}
.post-title {
  margin: 0 calc(20vw/3.75) calc(20vw/3.75) calc(20vw/3.75);
  font-size: calc(16vw/3.75);
}
.post-cat {
  font-size: calc(11vw/3.75);
  padding: calc(4vw/3.75) calc(12vw/3.75);
  border-radius: 30px;
}
.post-date {
  font-size: calc(13vw/3.75);
}
.post-meta {
  gap: 20px;
  margin: 0 calc(20vw/3.75);
}
.post-divider {
  margin: calc(30vw/3.75) calc(10vw/3.75);
}
.post-content {
  margin: 0 calc(50vw/14.4);
}


}