@charset "UTF-8";

/*
Theme Name: Cocoon OriginalChild
Description: Cocoon専用子テーマ
Author: ShigeZo
Template: cocoon-master
*/

/* 親テーマの修正::::::::::::::::::::::::::::::: */

.body {
	background-color: #cbd0d3;
	color: rgb(100 100 100 / 1);
}

.content {
    margin-top: 0px;
}

#list, .list-wrap {
    margin-bottom: 0;
}

.index-list {
	padding: 0 15px;
	background: linear-gradient(to bottom, rgb(200 230 240 / 0) 0%, rgb(255 255 255 / 0.8) 40%);
}

.a-wrap {
	background: rgb(255 255 255 / 0.8);
}

/* パンくずリスト ************************************/
.breadcrumb {
    margin: 0;
    padding: 10px 30px;
    background: rgb(255 255 255 / 0.8) 40%;
}

@media screen and (max-width: 768px) {
	#archive-title.archive-title {
		font-size: 20px;
	}
}

/*******************************************************
 * 画像ダウンロード禁止 ********************************
 * *****************************************************/
img {
	pointer-events: none;
	-webkit-user-select:none; /* テキスト選択禁止 */
	-moz-user-select:none;
	user-select:none;
	-webkit-touch-callout:none; /* 画像保存防止 */
	-moz-touch-callout:none;
	touch-callout:none;
}

/* 特定の画像のみ有効化 */
img.no-disable {
	pointer-events: auto;
}

a {
	-webkit-user-select:none; /* テキスト選択禁止 */
	-moz-user-select:none;
	user-select:none;
	-webkit-touch-callout:none; /* 画像保存防止 */
	-moz-touch-callout:none;
	touch-callout:none;
}
/*******************************************************/

.no-sidebar .content .main {
	position: relative; /* 擬似要素の位置を調整するために必要 */
    margin: 0 auto;
    width: 100%;
	max-width: 1200px;
	background-image: url(https://syumi.clan.shigezo-sa-point.com/wp-content/uploads/2025/01/backgroundTex06.png);
	background-color: rgb(230 230 230 / 0.8);
	background-blend-mode: lighten;
	box-shadow: inset 5px 5px 5px -2px rgb(255 255 255 / 1),
		inset -5px -5px 5px -2px rgb(108 132 141 / 1);
	border: 0;
}

.main::before {
	content: "";
	position: absolute;
	top: 50%; /* ボックスの垂直中央に配置 */
	left: -10px; /* 左側に影を配置 */
    width: 100px;
	height: 100%;
	border-radius: 50%; /* 丸い影を作る */
	background-color: rgb(22 94 131 / 0.5); /* 影の色 */
	transform: translateY(-50%);
	box-shadow: 0px 0px 50px -0px rgb(22 94 131 / 1);
	z-index:-1; /* ボックスの背後に配置 */
}

.main::after {	
	content: "";
	position: absolute;
	top: 50%; /* ボックスの垂直中央に配置 */
	right: -10px; /* 左側に影を配置 */
    width: 100px;
	height: 100%;
	border-radius: 50%; /* 丸い影を作る */
	background-color: rgb(22 94 131 / 0.5); /* 影の色 */
	transform: translateY(-50%);
	box-shadow: 0px 0px 50px -0px rgb(22 94 131 / 1);
	z-index:-1; /* ボックスの背後に配置 */
}

.main {
	padding: 0px 29px;
	z-index: auto;
}

.footer {
	background: rgb(230 230 230 / 0);
	margin: 0px auto 0px;
    padding: 8px;
}

.footer-bottom {
    margin-top: 0px;
    padding: 8px;
    position: relative;
    font-size: 14px;
}

.page .logo-header,
.logo-header{
  display: none;
}

.wrap {
    width: auto;
}

/* レイアウト調整 :::::::::::::::::::::::: */

.custom-top-container {
	display:flex;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 20px 20px;
	justify-content: space-around; /* 要素の間隔を調整 */
	align-items: center;          /* 縦方向の揃え方 */
}

/* 画面幅が768px以下になった場合に縦並びに変更 */
@media screen and (max-width: 768px) {
	.custom-top-container {
		flex-direction: column; /* flexを縦並びに変更 */
		align-items: stretch;   /* 子要素を親幅に合わせる */
		padding: 20px 20px;
	}
	
	main.main, div.sidebar {
        padding: 10px 16px;
        margin: 12px 0;
        border-width: 0;
    }
}

@media screen and (max-width: 1080px) {
	.main::before {
		content: none;
	}
	
	.main::after {
		content: none;
	}
}

/* トップページ用足跡ボーダー********************************* */
.paw-border-top {
	max-width: 1100px;
	height: 100px;
	padding-top: 30px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	#paw-border-top1.paw-border-top {
		padding-top: 5px;
		height: 80px;
	}
}

/* トップページメニュー :::::::::::::::::::::::::::::::::::::::::::::::::: */
.hero-section {
    text-align: center;
	margin: auto;
    padding: 0px 0px;
}

.hp_title {
	margin: 0;
	padding: 0 15px;
	line-height: 1.6;
	border-bottom: solid 1px rgb(50 100 160 / 0.5);
	box-shadow: 0 13px 15px -14px rgb(50 100 160 / 0.5);
}

.hp_title h1 span{
	display: inline-block;
	opacity: 0;
	line-height: 0.5em;
	padding: 0;
	font-size: 1em;
	color: transparent;
	//transform: translateY(10px);
}

/* サイトタイトル文字別:::::::::::::::::::::::*/
.hp_title h1 span:nth-child(1),
.hp_title h1 span:nth-child(2) {
	font-size: 2em;
	font-family: "Stick", serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing : -5px;
	text-shadow: 3px 3px 0px rgb(255 255 0 /1);
	animation: wave 4s infinite ease-in-out,
		fadeIn 2s ease forwards,
		textColorChange 5s linear infinite;
	animation-delay: 0.1s;
}

.hp_title h1 span:nth-child(3) {
	font-size: 1.4em;
	//font-family: "Kiwi Maru", serif;
	//font-weight: 500;
	font-family: "Stick", serif;
	font-weight: 400;
	font-style: normal;
	color: rgb(255 255 255 /1);
	padding-left: 10px;
	-webkit-text-stroke: 1px rgb(50 50 50 / 1);
	text-stroke: 1px rgb(50 50 50 / 1);
	text-shadow: 3px 3px 0px rgb(70 100 150 / 1);
	animation: wave 4s infinite ease-in-out,
		fadeIn 2s ease forwards;
	animation-delay: 0.5s;
}

.hp_title h1 span:nth-child(4),
.hp_title h1 span:nth-child(5),
.hp_title h1 span:nth-child(6),
.hp_title h1 span:nth-child(7) {
	color: rgb(0 0 0 /0);
	font-size: 2em;
	font-family: "Kaisei Opti", serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing : -12px;
	-webkit-text-stroke: 1px rgb(50 70 100 / 1);
	text-stroke: 1px rgb(50 70 100 / 1);
	animation: wave 4s infinite ease-in-out,
		fadeIn 2s ease forwards,
		textColorChange3 5s linear infinite;
	animation-delay: 1s;
}

@media screen and (max-width: 1080px) {
	.hp_title h1 span:nth-child(1),
	.hp_title h1 span:nth-child(2) {font-size: 1.4em;}
	
	.hp_title h1 span:nth-child(3){font-size: 1em;}
	
	.hp_title h1 span:nth-child(4),
	.hp_title h1 span:nth-child(5),
	.hp_title h1 span:nth-child(6),
	.hp_title h1 span:nth-child(7) {font-size: 1.4em;}
}

/* 色変え:::::::::::::::::::::::::::::::::*/
@keyframes textColorChange {
	0% {color: rgb(0 123 187 / 1); text-shadow: 3px 3px 0px rgb(255 255 0 /1);}
	30% {color: rgb(44 169 225 / 1);}
	50% {text-shadow: 3px 3px 0px rgb(255 220 0 /1);}
	70% {color: rgb(131 204 210 / 1);}
	100% {color: rgb(0 123 187 / 1);}
}

@keyframes textColorChange2 {
	0% {color: rgb(188 205 219 / 1);}
	30% {color: rgb(255 255 255 / 1);}
	70% {color: rgb(255 255 255 / 1);}
	100% {color: rgb(188 205 219 / 1);}
}

@keyframes textColorChange3 {
	0% {text-shadow: 3px 3px 0px rgb(100 150 180 /1);}
	40% {text-shadow: 3px 3px 0px rgb(160 190 170 /1);}
	80% {text-shadow: 3px 3px 0px rgb(150 140 180 /1);}
	100% {text-shadow: 3px 3px 0px rgb(100 150 180 /1);}
}

/* フェードイン:::::::::::::::::::::::::::::*/
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 波打つアニメ:::::::::::::::::::::::::::::::::::::::*/
@keyframes wave {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@keyframes wave2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

/* サイト概要ブロック::::::::::::::::::::::::*/

.hero-section h3{
	padding-top: 20px;
	font-size: 0.9em;
	line-height: 1.4em;
	color: rgb(130 150 180 / 1);
	font-family: "Murecho", serif;
	font-weight: 500;
}

/* メニュー項目:::::::::::::::::::::::::::::::::::::*/

.menu-section {
    margin-top: 20px;
}

.menu-section h2 {
	color: rgb(50 125 180 / 0.8);
	line-height: 1.3em;
	max-width: 220px;
	margin: auto;
	text-shadow: 2px -2px rgb(255 255 255), -2px -2px rgb(255 255 255), 0px -2px rgb(255 255 255), 0px 2px rgb(255 255 255), 2px 2px rgb(255 255 255), -2px 2px rgb(255 255 255);
	    background: linear-gradient(180deg, rgb(0 0 0 / 0) 0%, rgb(22 135 237 / 0) 70%, rgb(50 100 180 / 0.3) 70%, rgb(50 100 180 / 0.3) 85%, rgb(50 100 180 / 0) 90%, rgb(50 100 180 / 0) 95%, rgb(50 100 180 / 0.3) 95%, rgb(50 100 180 / 0.3) 100%);
}

.menu-section ul {
    list-style: none;
    padding: 0;
	margin: 10px 0 0;
}

.menu-section a {
	display: block;
	width: auto;
    text-decoration: none;
    font-weight: bold;
    color: rgb(50 125 180);
}

/* 親メニューのスタイル */
.menu-item {
    list-style: none;
	width: 220px;
    margin: 0 auto 10px;
    cursor: pointer;
}

.menu-item a:hover {
	transition: all 0.3s 0s ease;
	filter: drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255));
}

/* 子メニュー（最初は高さ0で非表示） */
.submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-10px);
    transition: max-height 0.5s ease, opacity 0.5s ease, transform 0.5s ease;
}

.submenu a {
	color: rgb(0 180 200);
}

.submenu a:hover {
	transition: all 0.3s 0s ease;
	color: rgb(255 255 255);
	filter: drop-shadow(0px 0px 4px rgb(0 180 200));
}

ul.submenu {
	margin: 0;
}

.submenu li {
    border-radius: 4px;
}

/* 子メニューを開いた時のアニメーション */
.menu-item.active .submenu {
    max-height: 200px; /* 適当な高さ（子要素の数に応じて調整） */
    opacity: 1;
    transform: translateY(0);
}

/* 最終更新通知欄:::::::::::::::::::::::::::::::::::::*/

.last-updata {
    display: inline-block;
	display: -webkit-inline-box;
    margin: 20px auto 15px;
    font-weight: 600;
    color: rgb(120 200 210 / 1);
    border-bottom: solid 1px;
}

/* 調整用隙間:::::::::::::::::::::::*/
.top_gap {
	min-width: 30px;
	height: 0;
}

/* メディアアイコン::::::::::::::::::::::::::::::::::::::::*/
ul.media-icon {
	display: flex;
	text-align: center;
	max-width: 300px;
	gap : 15px;
	padding: 20px;
	margin: 30px auto;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.media-icon li {
	position: relative;
	list-style: none;
	color: rgb(235 235 235 / 1);
	font-size: 24px;
	line-height: 1;
    min-width: 40px;
    min-height: 40px;
	align-content: center;
	background: linear-gradient(to bottom, rgb(240 180 0) 0%, rgb(220 160 0) 100%);	
	border-radius: 50% 50% 50% 50%;
    filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.2));
	transition: all 0.3s ease-in-out;
}

.media-icon li::before {
	content: "";
	position:absolute;
	min-width: 40px;
	min-height: 40px;
	top: 0;
	left: 0;
	background: linear-gradient(to bottom, rgb(100 150 190) 0%, rgb(100 150 190) 100%);
	border-radius: 50% 50% 50% 50%;
	transition: all 0.1s ease-in-out;
}

.media-icon li:hover {
	filter: drop-shadow(0px 0px 2px rgb(255 255 255 / 0.5));
}

.media-icon li:hover::before {
	opacity: 0;
}

.media-icon a {
	position: relative;
	color: rgb(235 235 235 / 1);
}

.arrow-scroll {
	font-size: 18px;
	color: rgb(100 150 190);
	width: 100%;
	margin: 30px auto 0;
	text-align: center;
}

.fa-solid.fa-angles-down {
	font-size: 24px;
	color: rgb(100 150 190);
	width: 100%;
	margin: 10px auto 0;
	text-align: center;
	animation: wave2 4s infinite ease-in-out,
		fadeIn 2s ease forwards;
}

/***************************************************************/
/* スライダー                                                  */
/***************************************************************/

.pickup-block {
	background: rgb(255 255 255 /0.5);
	margin: 10px auto auto ;
	width: 100%;
	max-width: 500px;
	height: 460px;
    overflow: hidden;
	//box-shadow: 5px 5px 3px 0px rgb(50 70 100 / 0.5), -1px -1px 2px 1px rgb(255 255 255 / 1), -1px -1px 0px 2px rgb(0 0 0 /0.5);
	box-shadow: 2px 2px 3px 0px rgb(50 70 100 / 0.5);
}

.pickup-label {
	display: flex;
    font-size: 26px;
    font-weight: 600;
	color: rgb(180 170 160);
	margin: 5px 10px 0;
	line-height: 1.5;
}

.thumbtack {
	display: block;
    width: 28px;
    height: 28px;
    margin: 2px 7px 2px 2px;
    color: rgb(255 255 255 / 0);
    background: linear-gradient(135deg, rgb(255 230 100), rgb(210 150 50));
    border-radius: 50%;
    filter: drop-shadow(1px 1px 2px rgb(150 150 100));
}

.pickup_post {
	margin: 0 20px 10px;
	display: none;
}

.pickup_post.active {
	display: block;
}

.pickup_post a {
	color: rgb(80 110 150);
	font-family: "Kaisei Opti","Stick","Kiwi Maru","Murecho";
	font-size: 22px;
    font-weight: 600;
	text-decoration: none;
	line-height: 1;
}

.pickup_post p {
	color: #666;
	font-size: 16px;
	line-height: 1.5;
}

#slider.slider{
    position: relative;
	display: flex;
	margin: auto auto ;
	width: 100%;
	max-width: 500px;
	height: 320px; /* 高さを指定 */
    overflow: hidden;
}

.frame{
	position: absolute;
	flex-shrink: 0; /* 横幅が縮まないように設定 */
	width: 100%;
	height: 320px;
	filter: drop-shadow(2px 2px 1px rgb(255 255 255 / 1)) drop-shadow(-2px -2px 1px rgb(50 70 100 / 1));
}

@media screen and (max-width: 768px) {
	#slider.slider {
		width: 100%;
		height: 220px;
	}
	
	.frame{
		height: 220px;
	}
}

.slide {
	display: inline-block;
	padding: 10px 20px;
    width: 100%;
    height: 100%;
    opacity: 0; /* 初期状態で透明 */
    visibility: hidden; /* 非表示にする */
    transition: opacity 1s ease-in-out, visibility 0s linear 1s; /* visibilityも含める */
	clip-path: inset(2% 5% round 0px);
}

.active {
    opacity: 1;      /* フェードイン */
    visibility: visible; /* 表示 */
    transition: opacity 1s ease-in-out, visibility 0s linear 0s; /* visibleに変更 */
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media screen and (max-width: 768px) {
	.slide {
		padding: 10px 10px;
		clip-path: inset(2% round 0px);
	}
	
	.pickup-block {
		height: 340px;
	}
}

@media screen and (max-width: 414px) {
	.pickup-label {
		font-size: 22px;
	}
	
	.thumbtack {
    	width: 24px;
    	height: 24px;
	}
	
	.pickup_post {
		margin: 0 10px 10px;
		line-height: 1.5px;
	}
	
	.pickup_post a {
		font-size: 18px;
		line-height: 1.5;
	}
	
	.pickup_post p {
		font-size: 14px;
	}
}

/* 右側の画像が外側から入るアニメーション */
@keyframes slideInFromRight {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0%);
    }
}

/* 左側の画像が外側から入るアニメーション */
@keyframes slideInFromLeft {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0%);
    }
}

/* ライン:::::::::::::::::::::::::::::::::::::::::::::::*/

.custom-hr {
	margin: 0 0 80px;
	height: 35px;
	border-bottom: solid 1px rgb(50 100 160 / 0.5);
	border-top: 0;
    border-left: 0;
    border-right: 0;
	box-shadow: 0 13px 15px -14px rgb(50 100 160 / 0.5);
}

/*******************************************************
 * エリアタイトル **************************************
 * ****************************************************/

.custom-border {
	display: flex;
	padding: 0 10px;
	width: auto;
	margin: 40px 20px 0px;
	background: linear-gradient(180deg, rgb(0 0 0 / 0) 0%,
		rgb(22 135 237 / 0) 75%,rgb(22 135 237 / 0) 75%,
  rgb(150 180 200 / 1) 75%,
  rgb(150 180 200 / 1) 83%,
  rgb(50 100 180 / 0) 83%,
  rgb(50 100 180 / 0) 87%,
  rgb(150 180 200 / 1) 87%,
  rgb(150 180 200 / 1) 90%,rgb(0 0 0/0) 90%,rgb(0 0 0/0) 100%);
}

.border-title {
	//padding-left: 10px;
	
	/*	text-shadow: 2px -2px rgb(255 255 255),
		-2px -2px rgb(255 255 255),
		0px -2px rgb(255 255 255),
		0px 2px rgb(255 255 255),
		2px 2px rgb(255 255 255),
		-2px 2px rgb(255 255 255);
	*/
}

.border-title h2 {
	font-size: 60px;
	line-height: 1.2;
	color: rgb(150 180 200 / 1);
	display: flex;
    flex-wrap: nowrap;
	white-space: nowrap;
    min-width: 100px;
}

@media screen and (max-width: 768px) {
	.custom-border {
		padding: 0 10px 0 5px;
	}
	
	.border-title h2 {
		font-size: 38px;
		line-height: 1.7;
		min-width: 90px;
		bottom: -5px;
        position: relative;
		letter-spacing: -2px;
	}
}

/*******************************************************
 * エリアタイトル2 **************************************
 * ****************************************************/

.custom-border02 {
	display: flex;
	padding: 0 10px;
	width: auto;
	margin: 20px 20px 0px;
	/*
	background: linear-gradient(180deg, rgb(0 0 0 / 0) 0%,
		rgb(22 135 237 / 0) 75%,rgb(22 135 237 / 0) 75%,
  rgb(150 180 200 / 1) 75%,
  rgb(150 180 200 / 1) 83%,
  rgb(50 100 180 / 0) 83%,
  rgb(50 100 180 / 0) 87%,
  rgb(150 180 200 / 1) 87%,
  rgb(150 180 200 / 1) 90%,rgb(0 0 0/0) 90%,rgb(0 0 0/0) 100%);
	*/
}

.border-title02 h2 {
	font-family: "Kaisei Opti","Stick","Kiwi Maru","Murecho";
	font-size: 50px;
	letter-spacing: -5px;
	line-height: 1.2;
	color: rgb(150 180 200 / 1);
	display: flex;
    flex-wrap: nowrap;
	white-space: nowrap;
    min-width: 100px;
	bottom: 5px;
    position: relative;
}

@media screen and (max-width: 768px) {
	.custom-border02 {
		padding: 0 10px 0 5px;
	}
	
	.border-title02 h2 {
		font-size: 32px;
		line-height: 1.2;
		min-width: 90px;
		bottom: -5px;
        position: relative;
		letter-spacing: -2px;
	}
}

/* ***************************************************** */
/* 新着記事エリア ---------------------------------------*/
/* ***************************************************** */

.custom-new-articles {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	gap : 15px;
	padding: 20px;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.post-item {
	text-decoration:none;
	color: rgb(80 110 150);
	max-width: 600px;
	min-width: 350px;
	width: 100%;
	flex-grow: 1; /* 余白を埋める */
	flex-basis: calc(33.33% - 15px); /* 3列になるように計算 */
	margin: 0px;
	position: relative;
    overflow: hidden;
}

.post-item.classA {
	background: rgb(255 255 245 /0.5);
	//box-shadow: 5px 5px 3px 0px rgb(50 70 100 / 0.5), -1px -1px 2px 1px rgb(255 255 245 / 1), -1px -1px 0px 2px rgb(0 0 0 /0.5);
}

.post-item.classB {
	background: rgb(255 255 255 /0.7);
}

.post-item:hover {
	transition: all 0.3s 0s ease;
	box-shadow: 2px 2px 5px 0px rgb(50 70 100 / 0.4);
	//box-shadow: 1px 1px 3px 0px rgb(50 70 100 / 0.5),
		-1px -1px 2px 1px rgb(255 255 255 / 1), -1px -1px 0px 2px rgb(0 0 0 /0.5);
	
	//filter: drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255));
}


.post-title {
	color: rgb(80 110 150);
	padding: 0 10px;
	font-size: 20px;
	line-height: 1.5em;
	white-space: nowrap; /* 改行せずに1行に収める */
	overflow: hidden; /* はみ出た部分を隠す */
	text-overflow: ellipsis; /* 「...」で省略 */
}

.post-title a {
	text-decoration: none;
	color: rgb(80 110 150);
}

.thum-frame {
	flex-shrink: 0; /* 横幅が縮まないように設定 */
	width: 100%;
	height: 260px;
	filter: drop-shadow(2px 2px 1px rgb(255 255 255 / 1)) drop-shadow(-2px -2px 1px rgb(50 70 100 / 1));
}

.post-thumbnail {
	display: inline-block;
	padding: 15px;
    width: 100%;
    height: 100%;
}

.post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.custom-cat-label {
	position: relative;
    z-index: 1;
    top: 15px;
    left: 15px;
}

.post-data {
	margin: 0 15px 15px;
	background: linear-gradient(to bottom, rgb(200 230 240 / 0) 0%, rgb(255 255 255 /0.5) 40%);
	box-shadow: 0px 2px 0px 0 rgb(0 0 0 / 0.3);
}

.post-excerpt {
	color: rgb(0 20 50 / 0.8);
	font-size: 16px;
	font-family: "Murecho", serif;
	font-weight: 400;
	line-height: 1.5em;
	margin: 5px 10px;
	display: -webkit-box; /* ボックスレイアウトを指定 */
	-webkit-box-orient: vertical; /* 縦方向のボックスにする */
	-webkit-line-clamp: 3; /* 最大2行まで表示 */
	overflow: hidden; /* はみ出た部分を隠す */
	text-overflow: ellipsis; /* 「...」で省略 */
}

.post-date {
	display: block;
	font-size: 14px;
	font-family: "Murecho", serif;
	font-weight: 400;
	color: rgb(100 100 100 /1);
	padding: 0;
	margin: auto 10px 0px;
	text-align: right;
}

@media screen and (max-width: 1080px) {
	.custom-new-articles {
		align-items: stretch;   /* 子要素を親幅に合わせる */
		padding: 20px 20px;
		flex-basis: calc(50% - 15px);
	}
}

@media screen and (max-width: 768px) {
	.post-item {
		display: flex;
		min-width: 280px;
		margin: auto;
	}
	
	.post-data {
		margin: 10px 15px 10px 0px;
		min-width: 120px;
	}
	
	.thum-frame {
		width: 120px;
		height: 120px;
	}
	
	.cat-label {
		display: table;
	}
	
	.post-title {
		font-size: 14px;
	}
	
	.post-excerpt {
		font-size: 14px;
	}
}

@media screen and (max-width: 680px) {
	.custom-new-articles {
		flex-direction: column;
	}
}

/* ハンバーガーメニューボタン */
.hamburger-menu {
	display: none;
	width: 40px;
	height: 30px;
	//display: flex;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
}

.bar {
    width: 100%;
    height: 5px;
    background-color: #333;
    transition: 0.3s;
}

/* メニューの基本設定 */
.menu {
    display: none; /* 初期状態は非表示 */
    background: white;
    width: 200px;
    position: absolute;
    top: 50px;
    left: 20px;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ↓↓ブロックレイアウト↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

.space-bg01 {
	display:flex;
    max-width: 1200px;
    margin: 20px 20px 100px;
	justify-content: space-around;
	background: rgb(240 240 235 / 1);
}

.about-block01 {
	font-family: "Murecho", serif;
	font-weight: 400;
	line-height: 1.5;
	margin: 20px 10px 10px 20px;
	width: auto;
	min-width: 260px;
	max-width: 700px;
}

.about-block01 p {
	margin: 10px;
}

.about-block02 {
	font-family: "Murecho", serif;
	font-weight: 400;
	line-height: 1.5;
	margin: 20px 20px 20px 10px;
	width: auto;
	min-width: 260px;
	max-width: 400px;
}

.about-title {
	color: rgb(255 255 255);
	display: flex;
	align-items: center;
	gap: 10px;
/*	text-shadow: 2px 2px rgb(100 100 100),
		2px -2px rgb(100 100 100),
		-2px 2px rgb(100 100 100),
		-2px -2px rgb(100 100 100); */
	text-shadow: 1px 1px 3px rgb(0 0 0);
}

.about-title i {
	font-size: 35px;
}

.about-title h3 {
	font-size: 28px;
}

.top-cf7block {
	padding: 20px;
}

.top-cf7block h3 {
	color: rgb(130 150 180);
}

.top-linksblock {
	width: 100%;
    max-width: 360px;
    padding: 0 20px;
    margin: 20px 0;
    border-left: dotted 2px #ccc;
}

.top-linksblock h2 {
	color: rgb(130 150 180);
	margin: 15px 0;
    line-height: 1.5;
    border-bottom: dotted 2px #ccc;
}

.top-linksblock h3 {
	color: rgb(130 150 180);
	border-bottom: dotted 2px #ccc;
}

.top-linksblock p {
	font-size: 14px;
	line-height: 1.5;
	margin-top: 10px;
}

@media screen and (max-width: 414px) {
	.top-cf7block {
		padding: 15px;
	}
	
	.top-cf7block h3 {
		font-size: 18px;
		line-height: 1.2;
		margin-bottom: 5px;
	}
	
	.top-linksblock h3 {
		font-size: 18px;
	}
	
	.top-linksblock h2 {
		font-size: 18px;
	}
}

@media screen and (max-width: 768px) {
	.space-bg01 {
		flex-direction: column;
		align-items: center;
	}
	
	.about-block01,
	.about-block02 {
	margin: 20px;
	}
	
	.top-linksblock {
		border-left: dotted 0px #ccc;
	}
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ↓↓記事ページ用↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::*/

.main-side-container {
	display: flex;
}

.main-column {
	width: 100%;
	//background: linear-gradient(to bottom, rgb(200 230 240 / 0) 0%, rgb(255 255 255 /0.8) 40%);
	box-shadow: 0px 6px 5px -5px rgb(50 100 160 / 0.5);
}

.side-column {
	min-width: 300px;
	z-index: 0;
}

.custom-header {
	display: flex;
	margin: 0;
	padding: 20px 0 0;
	line-height: 1.2;
	border-bottom: solid 1px rgb(50 100 160 / 0.5);
	box-shadow: 0 13px 15px -14px rgb(50 100 160 / 0.5);
}

.header-hp_title {
	width: 100%;
	padding: 0 10px;
}

.header-hp_title h1 span{
	display: inline-block;
	line-height: 0.5em;
	padding: 0;
	font-size: 1em;
}

/* サイトタイトル文字別:::::::::::::::::::::::*/
.header-hp_title h1 span:nth-child(1),
.header-hp_title h1 span:nth-child(2) {
	font-size: 38px;
	font-family: "Stick", serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing : -5px;
	text-shadow: 3px 3px 0px rgb(255 255 0 /1);
	animation: wave 4s infinite ease-in-out,
		textColorChange 5s linear infinite;
}

.header-hp_title h1 span:nth-child(3) {
	font-size: 30px;
	font-family: "Stick", serif;
	font-weight: 400;
	font-style: normal;
	color: rgb(255 255 255 /1);
	padding-left: 10px;
	-webkit-text-stroke: 1px rgb(50 50 50 / 1);
	text-stroke: 1px rgb(50 50 50 / 1);
	text-shadow: 3px 3px 0px rgb(70 100 150 / 1);
	animation: wave 4s infinite ease-in-out;
	animation-delay: 0.5s;
}

.header-hp_title h1 span:nth-child(4),
.header-hp_title h1 span:nth-child(5),
.header-hp_title h1 span:nth-child(6),
.header-hp_title h1 span:nth-child(7) {
	color: rgb(100 150 180 /0);
	font-size: 38px;
	font-family: "Kaisei Opti", serif;
	font-weight: 700;
	font-style: normal;
	text-shadow: 3px 3px 0px rgb(100 150 180 /1);
	letter-spacing : -12px;
	-webkit-text-stroke: 1px rgb(50 70 100 / 1);
	text-stroke: 1px rgb(50 70 100 / 1);
	animation: wave 4s infinite ease-in-out,
		textColorChange3 5s linear infinite;
	animation-delay: 1s;
}

@media screen and (max-width: 1080px) {
	.header-hp_title h1 span:nth-child(1),
	.header-hp_title h1 span:nth-child(2) {font-size: 1;}
	
	.header-hp_title h1 span:nth-child(3){font-size: 1;}
	
	.header-hp_title h1 span:nth-child(4),
	.header-hp_title h1 span:nth-child(5),
	.header-hp_title h1 span:nth-child(6),
	.header-hp_title h1 span:nth-child(7) {font-size: 1;}
}

.custom-header-menu {
	position: relative;
	display: flex;
	list-style: none;
	align-items: center;
	width: 100%;
	padding: 0 10px;
	gap: 15px;
	z-index:1;
}

.custom-header-menu a {
	text-decoration: none;
	font-weight: bold;
    color: rgb(50 125 180);
}

.custom-header-menu a:hover {
	transition: all 0.3s 0s ease;
	filter: drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255));
}

.custom-header-menuitem {
	min-width: 80px;
	font-size: 16px;
}

.custom-header-menuitem:nth-child(1) {
	margin-left: auto;
}

.custom-header-submenu {
	position: absolute;
	list-style: none;
	background-image: url(https://syumi.clan.shigezo-sa-point.com/wp-content/uploads/2025/01/backgroundTex06.png);
	background-color: rgb(230 230 230 / 0.8);
	background-blend-mode: lighten;
	opacity: 0;
    max-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 5px 5px;
	line-height: 1.5;
	font-size: 14px;
	transform: translateY(-10px);
    transition: max-height 0.5s ease, opacity 0.5s ease, transform 0.5s ease;
}

.custom-header-menuitem.active .custom-header-submenu {
    max-height: 200px; /* 適当な高さ（子要素の数に応じて調整） */
    opacity: 1;
    transform: translateY(0);
}

.custom-header-submenu a {
	color: rgb(0 180 200);
	filter: drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255))
		drop-shadow(0px 0px 2px rgb(255 255 255));
}

.custom-header-submenu a:hover {
	transition: all 0.3s 0s ease;
	color: rgb(255 255 255);
	filter: drop-shadow(0px 0px 4px rgb(0 180 200));
}

.post {
	background: linear-gradient(to bottom, rgb(200 230 240 / 0) 0%, rgb(255 255 255 / 0.8) 40%);
}

/* アイキャッチ画像:::::::::::::::::::::::::::::::::::*/

.eye-catch {
	position: static;
}

.eye-catch-wrap {
	margin: 30px 15px;
}

.eye-catch img {
	width: auto;
	max-height: 600px;
}

.eye-catch a {
	display: block;
	height: auto;
}

/* 記事情報::::::::::::::::::::::::::::::::::::::::::::::*/

.single .post-title {
	color: rgb(80 110 150);
	margin: 30px 30px 0;
	padding: 0;
	font-size: 24px;
	line-height: 1.5;
	white-space: normal;
}

.single .post-title h1 {
	color: rgb(80 110 150);
	margin: 0;
	padding: 0 5px;
	font-size: 24px;
	line-height: 1.5;
}

.single .post-title:after {
	content: "";
	display: block;
	height: 4px;
	background: -webkit-linear-gradient(to right, rgb(180 210 255), rgb(190 255 210));
	background: linear-gradient(to right, rgb(180 210 255), rgb(190 255 210));
}

.single .post-meta {
	margin: 0 30px;
}

.single .post-date {
	margin: 0 auto;
	font-weight: 500;
    color: rgb(150 150 150 / 1);
	list-style: none;
    display: flex;
    gap: 0 10px;
    justify-content: right;
}

.single .post-date a {
	text-decoration: none;
}

.single .post-content {
	color: rgb(100 100 100 / 1);
	margin: 0px 30px 0;
	padding: 5px;
	font-size: 16px;
	font-family: "Murecho", serif;
    font-weight: 400;
}

.single .post-content p {
	margin: 0 0 20px;
}

/* 前後の記事ナビエリア:::::::::::::::::::::::::::::::::::::::*/

.prevnext-post-navi {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	padding: 15px 30px;
	background: rgb(255 255 255 / 0.8) 40%;
	gap: 15px;
	-webkit-justify-content: space-around;
    justify-content: space-around;
}

.prev-post .custom-border {
	color: rgb(150 180 200 / 1);
	max-width: 600px;
	margin: 0 0 10px 0;
	text-align: left;
}

.next-post .custom-border {
	display: block;
	color: rgb(150 180 200 / 1);
	max-width: 600px;
	margin: 0 0 10px auto;
	text-align: right;
}

.single .thum-frame {
	width: 130px;
	height: auto;
	min-height: 150px;
	filter: none;
}

.single .post-thumbnail {
	width: 130px;
	height: 130px;
	padding: 10px;
	filter: drop-shadow(2px 2px 1px rgb(255 255 255 / 1)) drop-shadow(-2px -2px 1px rgb(50 70 100 / 1));
}

.prev-post {
	max-width: 600px;
    min-width: 350px;
    width: 100%;
    flex-grow: 1;
	flex-basis: calc(50% - 15px);
}

.prev-post a,
.next-post a {
	text-decoration: none;
	display: flex;
	display: -webkit-flex;
	background: rgb(255 255 255 /1);
	min-height: 170px;
}

.prev-post a:hover,
.next-post a:hover {
	transition: all 0.3s 0s ease;	
	filter: drop-shadow(0px 0px 3px rgb(50 100 160/ 0.3));
}

.prev-post .post-date,
.next-post .post-date {
	margin: 0 10px;
	line-height: 1;
}

.prev-post .post-data,
.next-post .post-data {
	width: 100%;
	max-width: 600px;
	margin: 0 15px 0 0;
	box-shadow: none;
	overflow: hidden;
}

.prev-post .post-title,
.next-post .post-title {
	//height: 100%;
	margin: 5px 0 0;
	font-size: 16px;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.prev-post .post-title:after,
.next-post .post-title:after {
	height: 2px;
}

.prev-post .post-content,
.next-post .post-content {
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 10px;
	padding: 0;
	height: auto;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
	text-overflow: ellipsis;
}

.next-post {
	max-width: 600px;
    min-width: 350px;
    width: 100%;
    flex-grow: 1;
	flex-basis: calc(50% - 15px);
}

.single .custom-hr {
	margin: 0 30px 30px;
}

@media screen and (max-width: 1080px) {
	.side-column { /* 横幅が狭い時はサイドを非表示 */
		display: none;
	}
}

@media screen and (max-width: 768px) {	
	.custom-header {
		flex-direction: column; /* flexを縦並びに変更 */
		align-items: stretch;   /* 子要素を親幅に合わせる */
		padding: 5px 0px;
	}
	
	.header-hp_title {
		text-align: center;
	}
	
	.single .post-title h1 {
		font-size: 20px;
	}
	
	.custom-header-menuitem {
		margin: auto;
		min-width: 60px;
		text-align: center;
	}
	
	.custom-header-menuitem:nth-child(1) {
		margin: auto;
	}
	
	.custom-header-submenu {
		text-align: left;
	}
	
	.single .post-date {
		flex-wrap: wrap;
	}
	
	.single .post-title {
		margin: 30px 15px 0;
	}
	
	.single .post-meta {
		margin: 0 15px;
	}
	
	.single .post-content {
		margin: 15px 15px 0;
	}
	.single .post-content p {
		margin: 0 0 20px;
	}
	
	.prevnext-post-navi {
		flex-direction: column; /* flexを縦並びに変更 */
	}
	
	.prevnext-post-navi {
		padding: 15px;
	}
	
	.prev-post {
		max-width: 600px;
		min-width: 250px;
		width: 100%;
	}
	
	.next-post {
		max-width: 600px;
		min-width: 250px;
		width: 100%;
	}
	
	.prev-post .post-title,
	.next-post .post-title {
		margin: 5px 0 0;
	}
	
	.prev-post .post-content,
	.next-post .post-content {
		margin: 0 0 10px;
	}
	
	.single .custom-hr {
		margin: 0 15px 30px;;
	}
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* コメント入力・表示エリア */
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

#comment-area.comment-area {
	margin: 0;
	padding: 30px 30px;
	background: rgb(255 255 255 / 0.8) 40%;
}

#comments.comment-title {
    color: rgb(50 125 180 / 0.8);
	line-height: 1.5;
    margin: 0px auto 20px;
	padding: 0 0 0 5px;
    text-shadow: 2px -2px rgb(255 255 255), -2px -2px rgb(255 255 255), 0px -2px rgb(255 255 255), 0px 2px rgb(255 255 255), 2px 2px rgb(255 255 255), -2px 2px rgb(255 255 255);
    background: linear-gradient(180deg, rgb(0 0 0 / 0) 0%, rgb(22 135 237 / 0) 70%, rgb(50 100 180 / 0.3) 70%, rgb(50 100 180 / 0.3) 85%, rgb(50 100 180 / 0) 90%, rgb(50 100 180 / 0) 95%, rgb(50 100 180 / 0.3) 95%, rgb(50 100 180 / 0.3) 100%);
}

.comment.even {
	padding: 15px;
	background: linear-gradient(to bottom, rgb(200 230 240 / 0) 0%, rgb(240 255 255 /0.6) 40%);
	box-shadow: 0px 6px 5px -5px rgb(50 100 160 / 0.5);
}

.st-comment-meta.st-commentmetadata {
	font-family: "Murecho", serif;
    font-weight: 400;
}
.st-comment-body.article {
	margin: 0;
}

.st-comment-content {
	padding: 15px 0;
}

.st-comment-content p{
	font-family: "Murecho", serif;
    font-weight: 400;
	font-size: 16px;
    line-height: 1.2;
	margin: 15px 10px;
}

.children {
	margin: 30px 0 30px 30px;
	position: relative;
	padding: 15px 15px 15px 25px;
	background: linear-gradient(to bottom, rgb(240 250 240 /1) 0%, rgb(235 255 235 /0.6) 40%);
	box-shadow: 0px 6px 5px -5px rgb(50 100 160 / 0.5);
}

.children::before {
  position: absolute;
  content: '';
  bottom: 100%;
    left: 0;
    border: none;
    border-top: solid 15px transparent;
    border-left: solid 20px rgb(240 250 240 /1);
}

.comment-respond {
	margin: 30px 0 0;
}

@media screen and (max-width: 768px) {
	
	#comment-area.comment-area {
		padding: 15px;
	}
	
	#comments.comment-title {
		font-size: 20px;
	}
	
	.comment-sub-heading.sub-caption {
		display: none;
	}
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* サイドバー */
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

.custom-sidebar.custom-hr {
	position: relative;
	margin: 10px;
	bottom: 35px;
}

/*
.side-border {
	position: relative;
	font-family: "Murecho", serif;
    font-weight: 500;
    color: rgb(255 255 255);
    padding: 5px 5px 5px 30px;
    margin: 30px 10px 5px 8px;
    line-height: 1.3;
    background: linear-gradient(45deg, rgb(100 150 190 / 1), rgb(130 160 180 / 1));
    vertical-align: middle;
    filter: box-shadow(1px 1px 1px rgb(0 0 0));
    border-radius: 25px 0px 0px 25px;
}

.side-border::before {
	position: absolute;
    content: '●';
    color: rgb(255 230 150);
    left: 8px;
    margin-right: 8px;
}
*/


.side-border {
	position: relative;
    font-family: "Murecho", serif;
    font-weight: 500;
    color: rgb(255 255 255);
    padding: 5px 5px 5px 30px;
    margin: 30px 15px 5px 15px;
    line-height: 1.2;
    background: rgb(120 150 180);
    box-shadow: 0px 0px 0px 5px rgb(120 150 180);
    border: dashed 2px white;
}

.side-border::before {
	position: absolute;
    content: '●';
    color: rgb(255 230 150);
    left: 7px;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* スライダー2::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

.slider-wrapper {
    position: relative;
    width: 280px;
    height: 220px;
	margin: 15px auto;
    overflow: hidden;
}

/* スライド全体のコンテナ */
.slider2 {
    //display: flex;
    align-items: center;
	justify-content: center;
}

.slide2 {
    flex: 0 0 33.333%; /* 3枚並べるので1/3ずつ */
    text-align: center;
    opacity: 0.5;
	z-index: 1;
	overflow: hidden;
	transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out, scale 0.5s ease-in-out;
}

.slide2 a {
	display: flex;
	justify-content: center;
}

/* 現在のスライド（中央の画像）は強調表示 */
.slide2.active {
	z-index:3; /* 最前面に表示 */
	margin: 0 auto;
	width: 180px;
	opacity: 1;
	transform: translateX(0) scale(1);
}

/* スライド内の画像 */
.slide2 img {
	width: auto;
	height: auto;
	max-width: 460px;
    max-height: 350px;
    //object-fit: cover;
    //border-radius: 10px; /* 角丸デザイン */
}

/* 前後の画像の配置 */
.slider-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.slider2 {
    display: flex;
    width: 100%;
    height: auto;
    position: relative;
	align-items: center;
}

/* スライドの配置を調整 */
.slide2 {
	position: absolute;
	width: 60%; /* 中央の画像の幅 */
}

.slide2.prev, .slide2.next {
    //width: 20%; /* 両端の画像の幅 */
	//transition: all 0.5s ease-0.5s;
    opacity: 0.5;
    z-index: 2; /* prev や next を active の下にする */
}

/* 位置調整 */
.slide2.prev {
	transform: translateX(-100%) scale(0.8);
}

.slide2.next {
	transform: translateX(100%) scale(0.8);
}

/* ボタンのスタイル */
.prev-btn, .next-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    font-size: 18px;
    border-radius: 5%;
    z-index: 10;
}

.prev-btn { left: 10px; }
.next-btn { right: 10px; }

.prev-btn:hover, .next-btn:hover {
    background: rgba(0, 0, 0, 0.8);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* てがろぐ埋め込み:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

.tegalog-link {
	text-decoration: none;
	color: rgb(100 100 100/1);
}

.tegalog-link:hover {
	color: rgb(100 100 100/1);
	text-decoration: none;
}

#tegalog-feed {
	max-width: 300px;
	min-height: 260px;
    margin: 15px 10px;
	padding: 5px;
    font-size: 14px;
    background: linear-gradient(to bottom, rgb(200 230 240 / 0) 0%, rgb(255 255 255 / 0.8) 0%);
	border-bottom: solid 1px rgb(50 100 160 / 0.5);
	box-shadow: 0 13px 15px -14px rgb(50 100 160 / 0.5);
}

#tegalog-feed li{
	list-style: none;
}

.tegalog-post-content {
	margin: 5px 8px 15px;
	line-height: 1.5;
}

.tegalog-post-data {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	gap : 5px;
	margin: 0 0 10px;
	padding: 5px;
	background: linear-gradient(to bottom, rgb(240 250 255 / 1) 0%, rgb(240 250 255 / 0) 100%);
}

.tegalog-icon {
	align-content: center;
}

.tegalog-icon img {
	width: 50px;
	clip-path: inset(1% round 25px);
}

.tegalog-name-data {
	align-content: center;
	line-height: 1.5;
	flex-grow: 1;
	margin: 0 5px;
}

.tegalog-name {
	font-size: 16px;
	font-weight: bold;
}

/************************************
****　Web拍手(Contact Form 7)設定用
************************************/

.iine-form {
	background: rgb(255 255 255 /0.8);
}

.webclapform_sent {
	display: none;
}
.sent .webclapform_sent {
	display: block;
}

#webclapform {
	text-align: center;
	display: block;
	max-width: 720px;
	margin: 0 auto 0px;
}
#webclapform p {
	margin: 0;
}
#webclapform input[type=submit] {
	width: fit-content;
	background-color: #fff;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 14px;
	color: #db5c73;
	box-shadow: 0px 0px 1px 1px #e3acae;
	border: 1px solid #db5c73;
	padding: 5px 10px;
	border-radius: 20px;
}
#webclapform input[type=submit]:hover {
	background-color: #db5c73;
	color: #fff;
	border: 1px solid #db5c73;
}
#webclapform input[type=checkbox] {
	display: none;
}
#webclapform input[type="text"], textarea {
	max-width: 100%;
	font-size: 16px;
	padding-top: 5px;
	padding-bottom: 5px;
}
#webclapform dl {
	text-align: left;
	border-top: dotted 2px #ccc;
	margin-top: 0;
}
#webclapform dt {
	margin: 15px 0 5px;
	font-weight: bold;
	color: #752e3b;
}
#webclapform dt::before {
	content: '任意';
	color: #fff;
	margin-right: 10px;
	padding: 3px 8px;
	background: #86bde4;
	border-radius: 5px;
	font-size: 0.8em;
	vertical-align: middle;
}
.webclapform_none {
	display: none;
}

.fav_enc00 {
	width: fit-content;
		background-color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 0 auto 0;
	box-shadow: none;
	border: 0px solid #db5c73;
	border-radius: 30px;
}

.fav_icon {
	margin: auto 0 auto 5px;
	padding: 0px;
}

.fav_like {
	margin: auto 0 auto 10px;
	padding: 5px 0;
}

#fav_point_pc {
	margin: auto 0px auto 15px;
  padding: 0px 10px;
  min-width: 30px;
  max-width: 100%;
  color: #555;
  font-size: 12px;
  background: #FFF;
  border: solid 2px #ccc;
  box-sizing: border-box;
	border-radius: 5px;
	position: relative;
}

/* 吹き出しのしっぽ：本体の背景色用 */
#fav_point_pc:before {
  content: "";
	position: absolute;
  top: 30%;
  left: 3px;
  transform: translateX(-100%);
	border: 5px solid transparent;
  border-right: 10px solid #fff;
  z-index: 2;
}

/* 吹き出しのしっぽ：枠線の色用 */
#fav_point_pc:after {
  content: "";
  position: absolute;
  top: 30%;
  left: 0px;
  transform: translateX(-100%);
	border: 5px solid transparent;
  border-right: 10px solid #ccc;
	z-index: 1;
}


#fav_point_mb {
	margin: auto 0px auto 15px;
  padding: 0px 10px;
  min-width: 30px;
  max-width: 100%;
  color: #555;
  font-size: 12px;
  background: #FFF;
  border: solid 2px #ccc;
  box-sizing: border-box;
	border-radius: 5px;
	position: relative;
}

/* 吹き出しのしっぽ：本体の背景色用 */
#fav_point_mb:before {
  content: "";
	position: absolute;
  top: 30%;
  left: 3px;
  transform: translateX(-100%);
	border: 5px solid transparent;
  border-right: 10px solid #fff;
  z-index: 2;
}

/* 吹き出しのしっぽ：枠線の色用 */
#fav_point_mb:after {
  content: "";
  position: absolute;
  top: 30%;
  left: 0px;
  transform: translateX(-100%);
	border: 5px solid transparent;
  border-right: 10px solid #ccc;
	z-index: 1;
}




/** ---------------------------------------- **/

#webclap_rp input[type=checkbox] {
	display: inline-block;
}

.webclap_rp input[type=checkbox]+.wpcf7-list-item-label {
	font-size: 14px;
}

.webclap_rp .wpcf7-list-item-label:hover {
	color: #db5c73;
}

.webclap_rp input[type=checkbox]+.wpcf7-list-item-label::before {
	font-weight: 900;
	display: inline-block;
	margin-right: 5px;
	color: #86bde4;
}

/** ---------------------------------------- **/

.webclapform_plus .wpcf7-list-item {
	margin: 5px 0;
}
.webclapform_plus input[type=checkbox]+.wpcf7-list-item-label {
	font-size: 18px;
}
.webclapform_plus .wpcf7-list-item-label:hover {
	color: #db5c73;
}
.webclapform_plus input[type=checkbox]+.wpcf7-list-item-label::before {
	content: '\f055';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	margin-right: 5px;
	color: #86bde4;
	transition: all 0.2s;
	transform: rotate(0);
}
.webclapform_plus input[type=checkbox]:checked+.wpcf7-list-item-label::before {
	transition: all 0.2s;
	transform: rotate(45deg);
}
.webclapform_select .wpcf7-list-item {
	margin: 5px 10px 10px 0;
}
.webclapform_select .wpcf7-list-item-label {
	color: #999;
	background-color: #f3f4f7;
	border: 1px solid #c5c5c5;
	border-radius: 50px;
	padding: 5px 17px;
	font-weight: bold;
	font-size: 16px;
}
.webclapform_select .wpcf7-list-item-label:hover {
	background-color: #ffffff;
	border: 1px solid #db5c73;
	color: #db5c73;
}
.webclapform_select input[type=checkbox]:checked+.wpcf7-list-item-label {
	color: #ffffff;
	background: #db5c73;
	border: 1px solid #db5c73;
}
.webclapform_scroll {
	display: none;
}
.sent .webclapform_scroll a {
	color: #db5c73;
	display: block;
	text-align: center;
	margin: 0 auto;
	font-size: 20px;
	animation: yureru 3s infinite;
}
@keyframes yureru {
	0% {
		transform: translate(0px, 2px);
	}
	5% {
		transform: translate(0px, -2px);
	}
	10% {
		transform: translate(0px, 2px);
	}
	15% {
		transform: translate(0px, -2px);
	}
	20% {
		transform: translate(0px, 2px);
	}
	25% {
		transform: translate(0px, -2px);
	}
	30% {
		transform: translate(0px, 0px);
	}
}
.webclapform_sent {
	display: none;
}
.sent .webclapform_sent {
	display: block;
	margin: 0 auto 2em;
	text-align: center;
	max-width: 500px;
	background: #fff;
	padding: 20px 10px 5px;
	border: solid 1px #671313;
	color: #671313;
	border-radius: 10px;
}
.sent .webclapform_sent p {
	margin-bottom: 15px!important;
}
.sent .webclapform_sent section {
	max-width: 300px;
	margin: 0 auto;
}
.sent .webclapform_sent a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	position: relative;
	background: #db5c73;
	border: 1px solid #db5c73;
	box-sizing: border-box;
	padding: 0 25px 0 40px;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition-duration: 0.3s;
	border-radius: 50px;
}
.sent .webclapform_sent a::before {
	content: '\f06b';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.sent .webclapform_sent a:hover {
	background: #fff;
	color: #db5c73;
}
#webclapform .wpcf7-response-output {
	max-width: 500px;
	margin: 0 auto;
	background: #fff;
	color: #671313;
	border: none;
	padding: 15px;
	text-align: center;
	font-weight: bold;
}

span.wpcf7-spinner {
  display: none;
}

@media screen and (max-width: 414px) {
	#webclapform dl dt p {
		font-size: 14px;
	}
	
	.webclapform_select .wpcf7-list-item-label {
		font-size: 14px;
		padding: 5px 10px;
	}
	
	.webclapform_select .wpcf7-list-item {
		margin: 3px 5px 5px 0;
	}
}

/* ***********************************
* ページネーション
************************************** */

#pagination-container {
    text-align: center;
    margin-top: 20px;
	align-items: center;
    display: flex;
    justify-content: center;
	}

#pagination-container button {
    margin: 5px;
    //padding: 8px 12px;
	color: white;
    background: rgb(100 150 190);
    cursor: pointer;
	border: none;
    border-radius: 50%;
}

#pagination-container button.active {
    font-weight: bold;
    background: rgb(240 180 0);
    color: white;
	border: none;
    border-radius: 50%;
}

#pagination-container button:hover {
	filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.5));
	transition: all 0.3s ease-in-out;
}

#pagination-container button:disabled {
	background: rgb(100 150 190/0.5);
	filter: none;
}

#prev-page,
#next-page{
	font-size: 20px;
	width: 40px;
    height: 40px;
}

.page-number {
	width: 30px;
    height: 30px;
}

