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

/************************************
** 子テーマ用のスタイルを書く
************************************/

.js-floating-floater.fixed { position: fixed; z-index: 100; }

/* 全体------------------------------------------*/
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
ol, ul{
	padding-left: 16px;
}

a:hover img{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	background:none!important;
}
.main,
.no-sidebar .content .main{
	width: 100%;
	max-width: 1100px;
	margin: 8px auto 24px;
	transition-duration: 0.6s;
}
.content{
	margin-top: 0;
}
.mincho{
	font-family: 'Noto Serif SC', serif;
}
.blocks-gallery-item{
	margin-bottom: 60px !important;
}
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-item figcaption{
	bottom: -30px !important;
	background: #fff !important;
	color:#000 !important;
	padding: 0 !important;
}
/*.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-item figcaption{
	position: relative !important;
	background: #fff !important;
	color:#000 !important;
	padding: 0 !important;
*/

/* ヘッダー------------------------------------------*/
.header{
	background-image: url("image/header-bg.jpg");
	background-size: cover;
	padding: 36px 14px;
}
.header-in{
	font-family: 'Noto Serif SC', serif;
	position: relative;
}
.site-name-text{
	font-weight: bold;
	font-size: 46px;
}
.tagline{
	margin: 0;
	font-size: 18px;
	font-weight: bold;
}
.logo-text{
	padding: 0;
	line-height: 1;
}
.sub-title{
	text-align: center;
	color: #696969;
	font-size: 18px;
}
.navi-in > ul{
	flex-wrap: nowrap
}
.navi-in{
	background: url("image/menu-bg.gif");
	width: 100%;
	}
.navi-in a{
	color:#fff;
}
.navi-in > ul .sub-menu a {
	color:#fff;
	background-color:#440101;
}
.navi-in > ul .sub-menu a:hover {
	background-color:#531515;
}

.btn_web {
  position: absolute;
  /* --- 位置の微調整はここで行います --- */
  top: 50%;           /* 上から50%の位置 */
  right: 20px;        /* 右端から20pxの位置 */
  transform: translateY(-50%); /* 上下方向の真ん中に合わせるための補正 */
}

/* 3. ボタンの基本スタイル（角丸・赤背景・影） */
.btn_web a {
  display: inline-block;
  padding: 10px 15px 15px 50px;
  text-decoration: none;
  font-weight: bold;
  font-size: 20px !important;
  transition: all 0.3s ease;

  background: url(image/btn_jinja.png) no-repeat #e21313 18px;

  color: #ffffff;
  border-radius: 50px;           /* 角丸設定 */
  border: 2px solid #e21313;     /* ホバー時の反転用 */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* 影 */
  white-space: nowrap;           /* 文字の折り返し防止 */
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
}

/* 4. マウスオーバー時のスタイル（色反転） */
.btn_web a:hover {
  background-color: #ff8383;
  color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
/* フロントページ------------------------------------------*/

.top-discription{
	font-family: 'Noto Serif SC', serif;
	text-align: center;
	line-height: 2.2;
	margin: 5rem auto 7rem;
}
.top-contents{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 58px;
}
.content-left,
.content-right{
	width: 48%;
}

/* お知らせ・SNS-------------------------*/
.top-contents img{
	width: 100%;
}
.news-wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.news{
	width:66.36%;
}
.news-title{
	color: #666;
	font-family: 'Noto Serif SC', serif;
	font-size: 27px;
}
.news-title::before{
	content: url("image/h-icon.gif");
	position:relative;
	top:7px;
	vertical-align: middle;
	margin-right: 10px;
}
.list .entry-card{
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
}
.entry-card-content{
	width: 81.27%;
	margin: 0 20px 0 0;
	padding: 0;
}
.e-card-info > span{
	margin-right: auto;
}
.entry-card-title{
	border-bottom: 2px dotted #333;
	font-size: 1.16rem;
	padding-bottom: 8px;
	margin-bottom: 8px;
}
.entry-card-snippet{
	line-height: 1.4;
}
.entry-card-thumb{
	width: 106px;
	height: 106px;
}
.entry-card-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	
}
.sns{
	width:27.27%;
}
.sidebar{
	padding: 0;
	width: 100%;
}
	.content-bottom .wrap{
		display: flex;
		justify-content: center;
	}
.content-bottom .wrap aside{
	margin: 0 10px;
}
/* お知らせ一覧 */
.entry-content .news { width:100%; }
.entry-content .news .entry-card-content { width:75%; float:left; }
.entry-content .news .entry-card-content h2 {
	font-size:21px;
	font-weight:bold;
	margin-top:5px;
	padding-left:5px;
	background-color:inherit;
}
.entry-content .news .entry-card-content h2:after {
	margin-left:-5px !important;
}
.entry-content .news .entry-card-thumb { width:20%; height:160px; float:right; }

.pagenation { text-align:center; }
.page-numbers { width:62px; }

.tolist {
	margin:0 auto;
	text-align:center;
}
.tolist a {
	color:#fff;
	font-size:21px;
	padding:10px 50px;
	background-color:#444;
	border-radius: 25px;
	text-decoration:none;
}
.tolist a:hover { background-color:#666; }

/* フッター---------------------------------------*/
.footer{
	background-image:url("image/footer-bg.jpg");
	background-size: cover;
	background-position: center;
	padding: 70px 14px 50px;
	text-align: center;
}
.footer-in .name{
	margin-bottom: 24px;
	font-family: 'Noto Serif SC', serif;
}
.footer-in .name .f-sub-title{
	font-size: 18px;
	margin-bottom: 6px;
}
.footer-in .name h2{
	font-size: 46px;
	line-height: 0.7;
}
.footer-in .name span{
	font-size: 18px;
}
.footer address{
	font-size: 16px;
	font-family: 'Noto Serif SC', serif;
	margin-bottom: 24px;
}
#footer .f-contact{
	margin-bottom: 20px;
}
#footer .f-contact a{
	text-decoration: none;
	color: #444444;
	background-color: #fff;
	border-radius: 30px;
	padding: 6px 30px 8px;
	font-size:16px;
}
#footer .f-contact a:hover {
	background-color:#ddd;
}
.f-sns{
	text-align: center;
	margin: 0 auto;
	height: 38px;
}
.f-sns a { text-decoration:none; }
.f-sns img{
	height: 100%;
}

/* 固定ページ-----------------------------------*/
.entry-header{
	margin-bottom: 46px;
}
.entry-title{
	font-size: 50px;
	color: #444444;
	padding-left:84px; 
	font-family: 'Noto Serif SC', serif;
	transition-duration: 0.6s;
	font-weight: 400 !important;
	
}
.entry-title::before{
	position: relative;
	top:7px;
	content:"";
	display:inline-block;
	width:50px;
	height:50px;
	background:url("image/page-title-icon.svg") no-repeat;
	background-size: contain;
	margin-right: 20px;
	margin-left: -84px;
}
.entry-content{
	background-image: url("image/page-icon.gif");
	background-repeat: repeat-x;
	padding: 48px 40px 30px;
	box-shadow: 0 7px 10px 1px rgba(110, 110, 110, 0.7);
}
.entry-content h2{
  border-bottom: solid 3px #870A0A;
  position: relative;
	padding-left: 20px;
	padding-bottom: 14px;
	background-color: #fff;
	margin-top: 20px;
	font-family: 'Noto Serif SC', serif;
	font-size: 32px;
	width: 100%;
	clear: both;
	font-weight: 400 !important;
}
.entry-content h2:before{
	clear: both;
}
.entry-content h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #FFA310;
  bottom: -3px;
  max-width: 208px;
  width: 22.13vw;
  margin-left: -20px;
}

.entry-content h3{
	border:0;
	border-left:2px solid #870A0A;
	font-size: 24px;
}
.search-edit, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea, select{
	margin-bottom: 14px;
}
input.check{
	margin-top: 18px;
}
input.contact{
	width:200px;
	background-color: #CCCACA;
	color: #000;
	font-size: 17px;
	margin-top: 18px;
}
.wp-block-button__link { border-radius:40px !important; }


/* プラグイン */
.metaslider .caption-wrap {
	position:initial !important;
	background-color:initial !important;
	text-align:center !important;
	color:#222 !important;
}
#fancybox-title { margin-left:0px !important; }
/* 注文フォーム */
.chumon {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
	background:url("image/bg_chumon.gif") repeat-y center;
}
.chumon-last { border-bottom:1px solid #ccc; }
.chumon .wp-block-columns {
	padding: 15px 15px 10px 15px;
	margin-bottom:0;
}
.chumon { margin:0 !important; }
.chumon .wp-block-column:not(:first-child){
	margin-left:0;
}
.chumon .wp-block-columns .image {
	flex-basis: 20% !important;
}
.chumon .wp-block-columns .image .wp-block-image{
	margin-bottom:0;
}
.chumon .wp-block-columns .text {
	flex-basis: 80% !important;
	margin-left:10px !important;
}
.chumon .wp-block-columns .text p {
	margin:0;
	line-height:1.4 !important;
	font-size:14px !important;
}
.chumon .wp-block-columns .text input[type="number"] { font-size:14px;padding:4px;width:12%;margin-bottom:4px; }
.shokei { display:none; }
.hissu { color:red; }
.hosoku { margin-top:50px; }
.hosoku label { margin-top:15px; }
.kibou,
.calc { width:200px !important; }
span.wpcf7-list-item { margin-left:5px !important; }
span.hosoku_text { font-size:14px;margin-left:30px; }

/* Contact Form 7のラジオボタンを縦並びに */
.wpcf7-radio .wpcf7-list-item {
    margin-top:10px;
    display: block;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
	.no-mobile-sidebar .sidebar{
	display: block;
}
}

/*834px以下*/
@media screen and (max-width: 834px){
	#header .site-name-text{
	font-size: 44px;
}
	.tagline{
	font-size: 17px;
}
	.sub-title{
	font-size: 17px;
}
	main.main,
	.no-sidebar .content .main{
	padding-top: 12px;
}
	.entry-content{
	padding: 42px 34px 26px;
}
	.entry-header{
	margin-bottom: 42px;
}
	.entry-title{
	font-size: 45px;
	padding-left:79px; 	
}
	.entry-title::before{
	position: relative;
	top:7px;
	content:"";
	display:inline-block;
	width:45px;
	height:45px;
	background:url("image/page-title-icon.svg") no-repeat;
	background-size: contain;
	margin-right: 17px;
	margin-left: -79px;
}
}

@media screen and (max-width: 768px){
.chumon { background: url(image/bg_chumon.gif) repeat-y top left 315px; }
.chumon .wp-block-columns .image { flex-basis: 15% !important; }

	.btn_web { right: 10px; }
	.btn_web a { font-size:15px !important; }
}                                                    
/*480px以下*/
@media screen and (max-width: 480px){
  .header{
	background-image: url("image/header-bg-mobile.jpg");
	background-size: cover;
	padding: 22px 14px 50px;
}
	.btn_web {
		left: 50%;
        transform: translateX(-50%);
        top: 115px;
        width: 250px;
	}
	.btn_web a { font-size:15px !important; padding: 3px 10px 5px 52px; }

	#header .site-name-text{
	font-size: 42px;
}
	.tagline{
	font-size: 16px;
}
	.sub-title{
	font-size: 16px;
}
	main.main,
	.no-sidebar .content .main{
	padding-top: 6px !important;
}
	.content-left,
	.content-right{
	width: 100%;
	margin-bottom: 1rem;
}
	.top-discription{
	line-height: 2.2;
	margin: 2rem auto 3rem;
}
	.news{
	width:100%;
}
	.sns{
	width:100%;
}
	.entry-content{
	padding: 36px 28px 22px;
}
	.entry-header{
	margin-bottom: 26px;
}
	.entry-title{
	font-size: 40px;
	padding-left:74px; 	
}
	.entry-title::before{
	position: relative;
	top:7px;
	content:"";
	display:inline-block;
	width:40px;
	height:40px;
	background:url("image/page-title-icon.svg") no-repeat;
	background-size: contain;
	margin-right: 17px;
	margin-left: -74px;
}
	h1.entry-title { font-size:32px; }
	.entry-content h2 { font-size:24px; }

	.chumon { background:none; }

	.chumon .wp-block-columns .image {
		flex-basis: 100% !important;
	}
	.chumon .wp-block-columns .text {
		flex-basis: 100% !important;
		margin-left: 0 !important;
	}
	
}
