@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=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*** 全体 ***/
body{
	letter-spacing: 0.075em;
	margin-top:0;
	background-color: #ffffff;
}
.wrap {
    width: 100%;
}
.main {
    padding-left: 0;
    padding-right: 0;
}

/*** header ***/
.header-container{
	position: relative;
	z-index: 999;
}
 
/*
.header-container .header-container-in{
	height: 106px;
	width: 92%;
	margin: 0 auto;
}
.header-container .wrap{
	width: auto;
}
*/
.header-container-in.hlt-center-logo-top-menu {
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
.header{
	height: auto;
}
.header-in.cf::after{
	display: none;
}

.header .header-in{
	/*
	width: 1000px;
	*/
    flex-direction: row;
    justify-content: space-between;
	align-items: center;
	padding: 10px 40px;
}
.header .logo-image{
	padding: 0;
	margin-right: 10px;
	font-size:0;
}
.header .logo-image .site-name{
	padding: 0;	
}
.logo-header .site-name-text img {
	width: auto;
	height: 42px;
	aspect-ratio: 47 / 7;
}
.header-in .tagline{
	margin: 0;
}
ul.header-contactlist{
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 15px;
	list-style: none;
	padding-left: 0;
}
ul.header-contactlist li{
	width: auto;
	flex: 1;
	background: #ffffff;
	border-radius: 5px;
	transition: all 0.3s ease-in-out;
}
ul.header-contactlist li:hover{
	background: #EBF0F7;
}
ul.header-contactlist li a{
	display: flex;
	width: 100%;
	height: 100%;
	padding: 5px 10px;
	text-decoration: none;
	color: #091139;
	align-items: center;
	gap: 5px;
}
ul.header-contactlist li.chokutu a::before{
	content: "";
	display: inline-block;
	background: url(../../../wp-content/uploads/2025/03/ic_bnr-sptel@4x.png) no-repeat center center / contain;
	width: auto;
	height: 40px;
	aspect-ratio: 5 / 9;
}
ul.header-contactlist li.ac a::before{
	content: "";
	display: inline-block;
	background: url(../../../wp-content/uploads/2025/03/ic_bnr-hometel@4x.png) no-repeat center center / contain;
	width: auto;
	height: 30px;
	aspect-ratio: 57 / 46;
}
ul.header-contactlist li.line-reserve{
	background-color: #00a75b;
}
ul.header-contactlist li.line-reserve:hover{
	background-color: #00c466;
}
ul.header-contactlist li.line-reserve a{
	color: #ffffff;
}
ul.header-contactlist li.line-reserve a::before{
	content: "";
	display: inline-block;
	background: url(../../../wp-content/uploads/2025/03/ic_bnr-line@4x.png) no-repeat center center / contain;
	width: auto;
	height: 36px;
	aspect-ratio: 118 / 113;
}

ul.header-contactlist li a div.h-contact-btn-num{
	display: flex;
	flex-direction: column;
}
ul.header-contactlist li a div.h-contact-btn-num h5{
	font-size: clamp(0.6rem, 0.5333rem + 0.1667vw, 0.7rem);
	font-weight: 300;
	letter-spacing: 0em;
}
ul.header-contactlist li a div.h-contact-btn-num div.telnum{
	font-family: "Hanken Grotesk", Sans-serif;
	font-size: 2vw;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1em;
}
#navi.navi{
	background-color: #091139;
	position: sticky;
	top: 0;
	z-index: 1;
}


/*1023px以下*/
@media screen and (max-width: 1023px) {
.header .header-in{
	padding: 10px 20px;
	justify-content: center;
}
.header-container{
	position: sticky;
	top: 0;
/*
	height: 75px;
*/
}
.header .logo-image{
	margin-right: 0;
}
.header-in .tagline{
	  font-size: 8px;
}
	ul.header-contactlist{
		display: none;
	}
	 #navi .navi-in>.menu-mobile{
		background: #ffffff;
		 border: 1px solid #ec6c3d;
		 border-radius: 50px;
		 padding: 0;
		 margin-right: 45px;
	}
	 #navi .navi-in>.menu-mobile li {
        width: 100%;
        height: 36px;
        line-height: 36px;
	}
	 #navi .navi-in>.menu-mobile li a {
        font-size: 12px;
		 color: #ec6c3d;
		 font-weight: bold;
		 padding: 0 0.8em;
    }
    .mobile-header-menu-buttons {
		/*
        justify-content: flex-start;
		*/
		justify-content: space-between;
        box-shadow: none;
			background-color: transparent;
		/*
			pointer-events: none;
		*/
		z-index: 1000;
    }
	.mobile-menu-buttons .navi-menu-button.menu-button{
			pointer-events: auto;
	}
	.mobile-menu-buttons .logo-menu-button.menu-button,
	.mobile-menu-buttons .search-menu-button.menu-button{
		display: none;
	}
	.navi-menu-caption{
		display: none	!important;
	}
.mobile-menu-buttons .menu-icon {
    width: 30px;
	height: 30px;
	margin-top: 4px;
	background: url(../../../wp-content/uploads/2025/03/btn_mb-menuopen-8a8db9.svg) no-repeat center center / contain;
}
.mobile-menu-buttons .menu-icon > span{
	display: none;
}
.mobile-menu-buttons .navi-menu-telbtn{
	position:relative;
	margin: 7px 10px;
	width: 40px;
	background: #ffffff;
	border-radius: 5px;
}
.mobile-menu-buttons .navi-menu-telbtn a{
	display: flex;
	width: 100%;
	height: 100%;
	padding: 5px 10px;
	justify-content: center;
	align-items: center;
}
.mobile-menu-buttons .navi-menu-telbtn a::before{
	content: "";
	display: block;
	background: url(../../../wp-content/uploads/2025/03/ic_bnr-hometel@4x.png) no-repeat center center / contain;
	width: auto;
	height: 24px;
	aspect-ratio: 57 / 46;
}


.menu-close-button {
    text-align: right;
	padding-right: 10px;
	padding-top: 5px;
	color: #ffffff;
}
.fa-remove:before, .fa-close:before, .fa-times:before {
	display: inline-block;
	content: '×';
	font-size: 48px;
}
.mobile-menu-buttons .menu-content {
	overflow: auto;
    background-color: #091139;
}
.menu-drawer a{
    color: #ffffff;
	padding: 10px;
	text-align: center;
	font-family: "Hanken Grotesk", Sans-serif;
	font-size: 1.1rem;
	font-weight: 200;
}
.menu-drawer a span{
	display: block;
	font-family: "Noto Sans JP", Sans-serif;
	font-size: 0.6rem;
}
}


/*834px以下*/
@media screen and (max-width: 834px){
.logo-header .site-name-text img {
	height: 27px;
}
}


/* navi */
/*
#navi.navi{
	padding: 0 40px;
}
#navi .navi-in.wrap{
	width: 1000px;
}
*/
#navi .navi-in>ul.menu-header{
	flex-wrap: nowrap;
	justify-content: space-between;
	padding: 15px 0;
	width: 100%;
}
#navi .navi-in>ul.menu-header>li {
	height: auto;
	line-height: 1em;
	flex-grow: 1;
	width: auto;
}
#navi .navi-in>ul.menu-header>li>a {
    padding: 0;
	    font-size: 13px;
	border-right: 1px solid #ffffff;
}
#navi .navi-in>ul.menu-header>li:last-child>a {
	border-right: none;
}
#navi .navi-in>ul.menu-header>li>a:hover {
	color: #f39800;
	background: inherit;
}
#navi .navi-in>ul.menu-header>li>a .item-label{
	font-family: "Hanken Grotesk", Sans-serif;
	font-size: 1.1rem;
	font-weight: 200;
}
#navi .navi-in>ul.menu-header>li>a .item-label span{
	display: block;
	font-family: "Noto Sans JP", Sans-serif;
	font-size: 0.6rem;
}

/*** content ***/
.body .article{
	margin-bottom: 0;
}
.content{
	margin-top: 0;
}
.content main{
	padding: 0;
}
/*
.content main article .article-header{
	display: none;
}
*/
.content main article .entry-content{
	margin: 0;
}
.entry-content>*{
margin-bottom: 0;
}

/*** reset ***/
.article h2 {
    background-color: transparent	!important;
    border-radius: 0;
	margin-bottom: 0;
	padding: 0;
}
.article h3 {
    border: 0;
    padding: 0;
	margin: 0;
}
.article p {
    background-color: transparent	!important;
    border-radius: 0;
	margin-bottom: 0;
	padding: 0;
}

/* breadcrum */
.breadcrumb.sbp-main-before, .breadcrumb.sbp-footer-before, .breadcrumb.pbp-main-before, .breadcrumb.pbp-footer-before {
    margin: 0 auto;
    padding: 1em 0;
}


/*** footer ***/
.footer {
    margin-top: 0;
    padding: 0;
}
.footer-in.wrap{
	/*
	width: 1000px;
	max-width: 92%;
	*/
	padding: 0 40px;
}
footer .footer-bottom{
	display: flex;
	flex-direction: column;
    font-size: 11px;
		margin-top: 0;
    padding: 30px 0 0 0;
}
.footer-bottom-logo {
    float: none;
    bottom: 0;
    position: relative;
}
.footer-bottom-logo img {
    height: 120px;
	width: auto;
}
.footer-bottom-content {
    float: none;
    text-align: center;
	padding: 20px 0;
}
.navi-footer{
	display: none;
}
/*
.navi-footer{
	border-bottom: 1px solid #ffe4b7;
	padding-bottom: 20px;
	margin-bottom: 40px;
}
*/
.navi-footer-in>.menu-footer {
    justify-content: center;
    text-align: center;
}
.navi-footer-in>.menu-footer li {
    border: none;
}
.navi-footer-in>.menu-footer li:last-child {
    border: none;
}
.footer-bottom.fnm-text-width .menu-footer li a{
	padding: 0 1.5em;
}
.navi-footer-in a {
    font-size: 13px;
}
#footer a:not(.sns-button):hover {
    background-color: transparent;
	color: #ec6c3d;	
}
.footer-bottom-content .copyright{
	display: flex;
	justify-content: center;
	margin-top: 0;
}
.footer-bottom-content .copyright a{
	text-decoration: none;
	transition: all 0.3s ease-in-out;
	font-size: 13px;
}
/*1023px以下*/
@media screen and (max-width: 1023px) {
.footer-in.wrap{
	padding: 0 20px;
}
footer .footer-bottom{
    padding: 30px 0 0 0;
}
.footer-bottom-logo img {
    height: 80px;
}
.navi-footer-in>.menu-footer {
	flex-direction: column;
    justify-content: center;
    text-align: center;
}
.navi-footer-in>.menu-footer li.menu-item {
        width: 100%;
}
.navi-footer {
    margin-bottom: 20px;
}
.footer-bottom-content .copyright{
	flex-direction: column;
	gap: 10px;
}
ul.mobile-footer-menu-buttons{
	box-shadow: none;
	border-top: 1px solid #ffffff;
	height: 50px;
	min-height: 50px;
    }
}
.mobile-menu-buttons .navi-menu-button.menu-button{
	gap: 5px;		
}
ul.mobile-footer-menu-buttons li:first-child{
	background-color: #091139;
}
ul.mobile-footer-menu-buttons li:first-child::before{
	content: "";
	display: inline-block;
	background: url(../../../wp-content/uploads/2025/04/ic_mbmene-sptel@4x.png) no-repeat center center / contain;
	width: auto;
	height: 32px;
	aspect-ratio: 5 / 9;
}
ul.mobile-footer-menu-buttons li:last-child{
	background-color: #00A75B;
}
ul.mobile-footer-menu-buttons li:last-child::before{
	content: "";
	display: inline-block;
	background: url(../../../wp-content/uploads/2025/04/ic_mbmene-line@4x.png) no-repeat center center / contain;
	width: auto;
	height: 27px;
	aspect-ratio: 167 / 159;
}
ul.mobile-footer-menu-buttons li a{
	color: #ffffff	!important;	
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
}
.mobile-menu-buttons .menu-caption {
	font-size: 0.8rem	!important;
    opacity: 1	!important;
}
.mobile-footer-menu-buttons.mobile-menu-buttons .menu-icon{
	display: none;
}
}
/*834px以下*/
@media screen and (max-width: 834px){
footer .footer-bottom{
    padding: 15px 0 0 0;
}
.footer-bottom-content {
	padding: 10px 0;
}
.footer-bottom-content .copyright{
	font-size: 0.6rem;
}
}

/* TOPの最新一覧 */
.elementor-widget-container h5{
	display: none;
}
.elementor-widget-container ul{
	list-style: none;
	padding-left: 0;
}
.elementor-widget-container ul li{
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	margin: 5px 0;
}
.elementor-widget-container ul li span.post-date{
	padding: 0;
	font-family: "Hanken Grotesk", Sans-serif;
	margin-right: 10px;
	font-size: 0.8rem;
}
.elementor-widget-container ul li span.post-date::after{
	display: inline-block;
	content: "ー";
	color: #6688c1;
	margin-left: 10px;
	font-family: "Hanken Grotesk", Sans-serif;
	font-size: 0.8rem;
}
.elementor-widget-container ul li a{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8em;
	color: #091139;
}
.elementor-widget-container ul li a:hover{
	color: #4d6896;
}
@media screen and (max-width: 1023px) {
	.elementor-widget-container ul li{
		flex-direction: column-reverse;
		align-items: flex-start;
	}
	.elementor-widget-container ul li span.post-date{
		color: #6688c1;
		font-size: 0.9rem;
	}
	.elementor-widget-container ul li span.post-date::after{
	display: none;
	}
	.elementor-widget-container ul li a{
		padding-left:0.5em;
		color: #091139;
		font-size: 0.9rem;
	}
}


/***** 投稿ページ *****/

body.blog .content-in.wrap,
body.archive .content-in.wrap,
body.single-post .content-in.wrap{
   width: 100%;
	max-width:1080px;
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 40px;
	padding-right: 40px;
}
@media screen and (max-width: 1023px) {
body.blog .content-in.wrap,
body.archive .content-in.wrap,
body.single-post .content-in.wrap{
	margin-top: 60px;
	margin-bottom: 60px;
	padding-left: 20px;
	padding-right: 20px;
}
}

body.blog .content-in.wrap main,
body.archive .content-in.wrap main,
body.single-post .content-in.wrap main{
	width: 75%;
	padding: 0;
	margin: 0;
}
/* 記事下ページ送り */
.under-entry-content figure{
	display: none;
}
.pager-post-navi a .iconfont {
    font-size: 1.6em;
    color: #091139;
}
@media screen and (max-width: 1023px) {
body.blog .content-in.wrap main,
body.archive .content-in.wrap main,
body.single-post .content-in.wrap main{
	width: 100%	!important;
	margin: 0;
}
.pager-post-navi a {
	font-size: 0.8rem;
}
}
@media screen and (max-width: 834px){
.entry-title, .archive-title {
    font-size: 1.1rem;
}
	.article p{
		font-size: 80%;
	}
.pager-post-navi a {
    font-size: 0.8rem;
	}
.pager-post-navi a .iconfont {
    font-size: 1.6em;
}
}

.breadcrumb.wrap{
   width: 100%;
	max-width:1080px;
	padding-left: 40px;
	padding-right; 40px;
}
@media screen and (max-width: 1023px) {
.breadcrumb.wrap{
	padding-left: 20px;
	padding-right; 20px;
}
}

.ect-entry-card .a-wrap{
	padding: 0;
}
.ect-entry-card figure{
	display: none;
}
.entry-card-content{
	margin: 0;
}

.sidebar{
	width: 21%;
	padding: 0;
	margin: 0;
}
@media screen and (max-width: 1023px) {
.sidebar{
	width: 100%	!important;
	padding: 0	!important;
	margin: 40px 0 0 0	!important;
}
}
.sidebar .wp-block-heading,
.sidebar .widget-sidebar-title{
    font-size: 1rem;
    font-weight: 500;
	padding: 0;
	margin: 0 0 1em;
	background: none;
}
.sidebar h2.wp-block-heading::after,
.sidebar .widget-sidebar-title::after{
	content: "";
	display: block;
	width: 30px;
	height: 2px;
	background: #6688c1;
	border-left: 15px solid #091139;
	margin-top: 0.5em;
}
.sidebar ul.wp-block-latest-posts__list li,
.sidebar .widget_archive ul li{
	margin: 0 0 1em;
}
.sidebar ul.wp-block-latest-posts__list .wp-block-latest-posts__post-title,
.sidebar .widget_archive ul li a{
	padding: 0;
	line-height: 1.3em;
	font-size: 0.9rem;
}
.sidebar ul.wp-block-latest-posts__list .wp-block-latest-posts__post-title:hover,
.sidebar .widget_archive ul li a:hover{
	background-color: inherit;
}
.sidebar .widget_archive ul li a::before{
	content: "-";
	font-size: font-size: 0.9rem;
	color: #6688c1;
	margin-right: 0.5em;
}
a.btn_sidebarlink{
	display: block;
    background-color: #ffffff;
    border: 1px solid #091139;
	border-radius: 5px;
    font-size: 0.9rem;
	padding: 7px;
	width: 100%;
	text-decoration: none;
	color: #091139;
	text-align: center;
	transition: all 0.3s ease-in-out;

}
a.btn_sidebarlink:hover{
    background-color: #091139;
	color: #ffffff;
}
@media screen and (max-width: 834px){
	.sidebar .wp-block-heading,
	.sidebar .widget-sidebar-title{
    	font-size: 0.9rem;
	}
	.sidebar ul.wp-block-latest-posts__list .wp-block-latest-posts__post-title,
	.sidebar .widget_archive ul li a{
	font-size: 0.8rem;
	}
	a.btn_sidebarlink{
    font-size: 0.8rem;
	}
}


/* 一覧 */
.a-wrap:hover{
	background: none;
}
.archive-title{
	display: none;
}
.entry-card-title{
	font-size: 1.1rem;
}
@media screen and (max-width: 834px){
.entry-card-title{
	font-size: 0.9rem;
}
}

/* ページネーション */
.pagination-next-link {
    background-color: #ffffff;
    border: 1px solid #091139;
	border-radius: 5px;
    font-size: 0.9rem;
	padding: 5px;
}
.pagination-next-link:hover {
    background-color: #091139;
	color: #ffffff;
}
.page-numbers {
    color: #091139;
    height: 40px;
    width: 40px;
    border: 1px solid #091139;
    line-height: 40px;
    border-radius: 5px;
    font-size: 0.9rem;
}
.pagination a:hover {
    background-color: #091139;
	color: #ffffff;
}
.pagination .current{
	background-color: #6688c1;
	color: #ffffff;
}
/* 記事下ページ送り */
.under-entry-content figure{
	display: none;
}
.pager-post-navi a .iconfont {
    font-size: 1.6em;
    color: #091139;
}


/* PCのみ非表示 */
@media screen and (min-width: 1024px){
	.pc-none{
		display: none;
	}
}

/*** アニメーション ***/
.fadein.is-animated {
  animation: fadeIn 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#container {
  animation: fadeIn 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

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

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

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