@charset "utf-8";
/*
Theme Name: 漢方薬ピュア
Theme URI: https://www.pure-kanpou.com/
Description: 漢方薬ピュアのテーマです
*/

/*全体スタイル
***************************************/
body {
	font-family: 'Noto Serif JP', Yu Mincho, '游明朝','Hiragino Mincho Pro','Hiragino Mincho Pro','ＭＳ 明朝',serif;
    animation: BgfadeIn 2s ease 0s 1 normal;
    -webkit-animation: BgfadeIn 2s ease 0s 1 normal;
	font-weight:400;
	letter-spacing:0.1em;
	background-size:100%;
	color:#444444;
}

.font_cormorant {
	font-family: 'Cormorant', 'Noto Serif JP', Yu Mincho, '游明朝','Hiragino Mincho Pro','Hiragino Mincho Pro','ＭＳ 明朝',serif;
}

h1, h2, h3, h4, h5, h6, p, dt, dd, li, a, th, td {
}

/*リンク文字色のスタイル
***************************************/
a:link, a:visited {
	text-decoration: none;
	overflow: hidden;
	color:#555;
}

a:hover {
	text-decoration: none;
}

/*構造部分
***************************************/
.base {
	padding-left:0;
	padding-right:0;
}

#wrapper {
/*background-image:
			radial-gradient(290px 300px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(800px 780px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(1000px 990px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(400px 380px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(750px 750px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(100px 100px , rgba(247,219,226, 0.15) 20%, transparent 20%);
		background-size: 
			1230px 1280px,
			810px 910px,
			1470px 990px,
			1200px 1700px,
			1520px 1200px,
			1100px 1300px;
		background-position: 
			-300px -550px,
			-200px 100px,
			50px 510px,
			-200px -550px,
			-180px -250px,
			130px -150px;
			background-attachment:fixed;*/
			background:#fff9fa;
}
}

#home #wrapper {
}

#main {}

#main p {
}

#primary {
	padding-top:15rem;
	padding-bottom:9rem;
}

#home #primary {
	padding-bottom:0;
}

@media (max-width: 1680px){
.base {
	padding-left:4.5rem;
	padding-right:4.5rem;
}
}


@media (max-width: 1560px){
.base {
	padding-left:4.5rem;
	padding-right:4.5rem;
}
}

@media (max-width: 1260px){
.base {
	padding-left:2rem;
	padding-right:2rem;
}
}

@media (max-width: 980px){
.base {
	padding-left:2rem;
	padding-right:2rem;
}

#wrapper {
	padding-bottom:4.5rem;
}

#main {}

#primary {}

}

/*header
***************************************/
#header {
	width:100%;
	padding:0 4.5rem;
	position:fixed;
    z-index: 999;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s;
}

#header.fixedmenu{
	background:rgba(255,255,255,0.9);
	padding-bottom:1rem;
}


#header #header_left {
	width:14%;
	text-align:left;
	position:relative;
	top:5px;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s;
}

#header.fixedmenu #header_left {
	-moz-transition: all .5s;
	-o-transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s;
}

#header #header_left img {
	width:100%;
	height:auto;
	max-width:240px;
}

#header #header_left .site_logo {
	max-width:240px;
}

#header #header_right {
	width:84%;
	margin-left:auto;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

#header #header_right #gnav {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
}

#header #header_right #header_info {
	width:32%;
	margin-left:3%;
	min-width: 365px;
	max-width: 450px;
}

#header #header_right #header_info ul:nth-child(1) {
	margin-bottom:0.5rem;
}

#header #header_right #header_info ul:nth-child(1) li {
	width:49%;
}

#header #header_right #header_info ul:nth-child(1) li a {
	color:#FFF;
	font-size:clamp(15px, 1vw, 18px);
	padding:0 0.75rem;
	text-align:center;
	border-radius:0 0 1rem 1rem;
	letter-spacing:0;
}

#header #header_right #header_info ul:nth-child(1) li a span {
	position:relative;
	top:-2px;
}

#header #header_right #header_info ul:nth-child(1) li:nth-child(1) a {
	background:#ff0024;
}

#header #header_right #header_info ul:nth-child(1) li:nth-child(2) a {
	background:#06c755;
}

#header #header_right #header_info ul:nth-child(2) {
	margin-bottom:0.5rem;
}

#header #header_right #header_info ul:nth-child(2) li:nth-child(1) {  
	font-size: clamp(20px, 1.8vw, 36px);
	letter-spacing: 1px;
}

#header #header_right #header_info ul:nth-child(2) li:nth-child(1) img {
	margin-right:1rem;
}

#header #header_right #header_info ul:nth-child(2) li:nth-child(2) {
	font-size:clamp(13px, 1vw, 16px);
	color:#6d3e10;
	position:relative;
	top:2px;
}

#header #header_right #header_info ul:nth-child(2) li:nth-child(2) span {
	display:inline-block;
	padding:0.5rem 1rem;
	background:#6d3e10;
	color:#FFF;
	border-radius:0.5rem;
	margin-right:0.75rem;
}

#header #header_right #header_info p {
	letter-spacing:1px;
	font-size:clamp(13px, 0.8vw, 16px);
}


@media (max-width: 1200px){
#header {
	padding-left:3rem;
	padding-right:3rem;
}	
}

@media (max-width: 980px){
#header #header_left {
  width: 30%;
}

/*#header.fixedmenu{
	height:62px;
	padding-top:1.5rem;
	padding-bottom:1.5rem;
}*/

#header #header_right #header_info {
	display:none;
}
}

@media (max-width: 680px){
#header {
}
  
#header #header_left {
}

#header #header_left .site_logo {
}
}

/*
***************************************/
/* nav */
#header nav#nav #menu-sp_nav {
  display: none;
}

@media (max-width: 980px) {
#header nav#nav #menu-global_nav {
    display: none;
}

#header nav#nav #menu-sp_nav {
    display: block;
}
}


/*footer
***************************************/
#footer {
}

#footer #footer_inner #footer_menu_wrapper {
	background:#fffef7;
	padding-top:6rem;
	padding-bottom:6rem;
}

#footer #footer_inner #footer_menu .footer_menu_box {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: flex-start; /* 横方向中央揃え（Safari用） */
	justify-content: flex-start; /* 横方向中央揃え */
	margin-right:3rem;
}


#footer #footer_inner #footer_menu .footer_menu_box.noflex {
	display:block;
}

#footer #footer_inner #footer_menu .footer_menu_box .footer_menu_box_inner {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: flex-start; /* 横方向中央揃え（Safari用） */
	justify-content: flex-start; /* 横方向中央揃え */
}

#footer #footer_inner #footer_menu .footer_menu_box h3 {
	font-size:clamp(14px, 1.2vw, 16px);
	color:#f07a8b;
	margin-right:1rem;
}

#footer #footer_inner #footer_menu .footer_menu_box .footer_menu_box_inner:nth-child(1) h3 {
	margin-right:2.2rem;
}

#footer #footer_inner #footer_menu .footer_menu_box ul li {
	line-height:1.6;
}

#footer #footer_inner #footer_menu .footer_menu_box ul li:before {
	content:"－";
	margin-right:0.5rem;
}

#footer #footer_inner #footer_menu .footer_menu_box ul li a {
	font-size:clamp(12px, 1vw, 14px);
}

#footer #footer_inner #footer_info {
	margin-top:6rem;
	margin-bottom:6rem;
}

#footer #footer_inner #footer_info > dl {
}

#footer #footer_inner #footer_info > dl dt {
	margin-bottom:1rem;
}

#footer #footer_inner #footer_info > dl dt img {
	max-width:172px;
	height:auto;
}

#footer #footer_inner #footer_info > dl dd {
	line-height:1.8;
	font-size:clamp(12px, 1vw, 14px);
}

#footer #footer_inner #footer_info #footer_contact ul li {
	margin-bottom:1rem;
}

#footer #footer_inner #footer_info #footer_contact ul li a {
  color: #FFF;
  font-size: clamp(15px, 1vw, 18px);
  padding: 0.25rem 1rem;
  text-align: center;
  border-radius: 0.5rem;
  letter-spacing: 0;
}

#footer #footer_inner #footer_info #footer_contact ul li a span {
	position:relative;
	top:-2px;
}

#footer #footer_inner #footer_info #footer_contact ul li:nth-child(1) a {
	background: #ff0024;
}

#footer #footer_inner #footer_info #footer_contact ul li:nth-child(2) a {
	background: #06c755;
}

#footer #footer_inner #footer_info #footer_contact ul li:nth-child(3) a {
	background: #906840;
}

#footer #footer_inner #footer_info #footer_contact ul li:nth-child(4) a {
	display:block;
	border:1px solid #f83d12;
}


#copy {
	font-size:clamp(12px, 1.2vw, 16px);
	padding-top:2rem;
	padding-bottom:2rem;
	display:block;
	text-align:center;
	background:#f07a8b;
	color:#FFF;
}

@media (max-width: 980px) {
#footer {
}

#footer #footer_inner #footer_info {
	margin-bottom:3rem;
}

#footer #footer_inner #footer_info p br.pc_none {
	display:inherit;
}

#footer #footer_inner #footer_info > dl dt img {
	max-width:240px;
}

}


/*section
***************************************/
#main #primary section {
	padding-top:24rem;
	padding-bottom:18rem;
}

#main #primary section:nth-child(1) {
}

@media (max-width: 980px){
#main #primary section {
	padding-top:10rem;
	padding-bottom:6rem;
}
}

/*サイドバー
***************************************/
/* =========================
   Sidebar
   ========================= */
.sidebar {
  width: 100%;
  background-color: #FFF;
  padding: 3rem;
}

.sidebar_inner {
}

/* =========================
   Search form
   ========================= */
.sidebar form#search {
  position: relative;
}

.sidebar .search h3 {
  font-size: clamp(16px, 1.8vw, 18px);
  margin-bottom: 1.5rem;
  font-weight: 600;
  color:#6d3e10;
}

.sidebar form#search input[type="text"] {
	padding: 0 10px;
	padding-right: 10px;
	border: 1px solid #707070;
	background: #fff;
	width:80%;
	height:45px;
}

.sidebar form#search input[type="submit"] {
	padding: 13px 10px;
	border: 1px solid #6d3e10;
	background:#6d3e10;
	color:#FFF;
	width:18%;
	text-align:center;
	height:45px;
	border-radius:0.35rem;
}

.sidebar h2 {  
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
}

.sidebar section {
  margin-bottom: 4.5rem;
}

.sidebar > .sidebar_inner > section > h3 {
  font-size: clamp(16px, 1.8vw, 18px);
  margin-bottom: 2rem;
  font-weight: 600;
  padding-bottom:1.5rem;
  border-bottom:1px solid #777;
  color:#6d3e10;
}

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

.sidebar_list_item {
}


.cate_list ul {
	margin-top:-1.5rem;}

.cate_list ul li a {
	display:block;
	padding:2rem 1.5rem 2rem 0;
	border-bottom:1px solid #DDD;
	color:#6d3e10;
}

.tag_list ul li {
	display:inline-block;
	margin-right:0.75rem;
	margin-bottom: 1rem;
}

.tag_list ul li a {
	display:block;
	padding:0.5rem 0.5rem;
	border:1px solid #6d3e10;
	color:#6d3e10;
}



/*NEWS
***************************************/
/* blog-content-wrapper：main + sidebar の2カラム */
.blog-content-wrapper {
    display: flex;
    gap: 6rem; /* mainとsidebar間の隙間 */
}

/* sidebar（左） */
.blog-sidebar {
    flex: 0 0 28%;
    order: 1; /* 左に配置 */
}

/* main（右） */
.blog-main {
    flex: 1 1 70%;
    order: 2; /* 右に配置 */
}

.blog-main .blog-single-content h1 {
	font-size: clamp(20px, 2.5vw, 30px);
	margin-bottom: 4.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #ddd;
	color:#6d3e10;
}

.blog-main h2 {
	font-size: clamp(18px, 2.5vw, 24px);
	margin-bottom: 4.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #ddd;
}


.blog-main time {
	text-align:right;
	display:block;
	margin-top:3rem;
	margin-bottom:3rem;
    font-size: 14px;
}

/* レスポンシブ対応 */
@media (max-width: 900px) {
    .blog-content-wrapper {
        flex-direction: column;
    }
    .blog-sidebar,
    .blog-main {
        flex: 1 1 100%;
        order: unset;
    }
}

/* 記事リスト：1列表示 */
.blog-item-list {
    display: flex;
    flex-direction: column;
    gap: 2rem; /* 記事間隔 */
}

/* 各記事 */
.blog-article-list {
    display: flex;
    flex-direction: column;
	margin-bottom:6rem;
}

/* 画像 */
.blog-article-list .img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    margin-bottom: 1rem;
}
.blog-article-list .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 記事テキスト */
.blog-article-list .text h3 {
    font-size: clamp(16px, 2vw, 20px);
    margin: 0.7rem 0 1rem;
    line-height: 1.4;
	border-bottom:1px solid #DDD;
	padding-bottom:1rem;
	margin-bottom:3rem;
}

/* 日付 */
.blog-article-list .text .article-date {
    font-size: 14px;
    line-height: 1.4;
	display:block;
	margin-bottom:3rem;
}

.blog-article-list .text .article-date small {
	padding:0.1rem 0.25rem 0.15rem 0.25rem;
	display:inline-block;
}

.blog-article-list .text .article-date small a {
    color: #FFF;
	letter-spacing:0;
}

/* 本文 */
.blog-article-list .text p {
    font-size: clamp(15px, 2vw, 16px);
    line-height: 1.6;
    margin-top: 3rem;
}

/* リンク装飾 */
.blog-article-list .text h3 a {
    text-decoration: none;
    color: inherit;
}

/* カテゴリーリスト */
.blog-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-bottom: 2rem;
}

/* カテゴリー名 */
.blog-article-list .text small {
    font-size: 14px;
    margin-left: 0.5rem;
}






/*
***************************************/





/*お問い合わせフォーム
***************************************/
table.contact {
	margin:0 auto 3rem auto;
}

table.contact th,
table.contact td:nth-child(1) {
	width:35%;
	border:1px solid #DDD;
	font-weight:400;
	vertical-align:middle;
	background:#FAFAFA;
}

table.contact td {
	border:1px solid #DDD;
	line-height:1.8;
	vertical-align:middle;
	background:#FFF;
}

table.contact td input,
table.contact td textarea {
	font-size:1.6rem;
    font-weight: 200;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"],
table.contact td input[type="date"] {
	height:40px;
	padding:0.25rem;
	width:80%;
	border:1px solid #DDD;
    box-sizing: border-box;
}

table.contact td select {
	padding:0.25rem;
	border:1px solid #DDD;
    box-sizing: border-box;
	font-size:1.6rem;
}

table.contact td input[type="date"] {
	border:1px solid #CCC;
	height:35px;
	padding:0.5rem;
	width:20%;
}

table.contact td input[type="text"]:focus,
table.contact td input[type="email"]:focus,
table.contact td input[type="tel"]:focus,
table.contact td input[type="date"]:focus,
table.contact td textarea:focus {
	outline: 0;
	-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}

table.contact td span.sp_btm10 {
	display:block;
	margin-bottom:0.5rem;
}

table.contact td span small {
	display:inline-block;
	padding:0.25rem 0.5rem;
	background:#135fa7;
	color:#FFF;
	font-size:0.8em;
	position:relative;
	top:-3px;
}

table.contact td p,
table.contact th p {
	margin-bottom:0 !important;
}

table.contact td p span.plan-check span.wpcf7-list-item,
table.contact td p span.size-check span.wpcf7-list-item {
	display:block;
}

table.contact td p small {
	display:block;
	font-size:0.9em;
}

table.contact td textarea {
	width:100%;
	border:1px solid #DDD;
	padding:0.5rem;
}

table.contact th span.required {
	background:#ff6666;
	color:#FFF;
	font-size:0.8em;
	padding:0.15rem 0.5rem;
	display:inline-block;
	margin-right:0.5rem;
}

p.submit {
	text-align:center !important;
	margin-bottom:1.5rem !important;
}

p.submit input {
	font-size:2rem;
	padding:0.5rem 3rem;
	margin:0 1rem;
	border:1px solid #CCC;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing, div.wpcf7-response-output {
	border:2px solid #FF0000 !important;
	padding:1rem !important;
	text-align:center;
	background:#FFFFFF;
	color:#FF0000;
	margin:0 auto !important;
	font-size:1.4rem !important;
	width:80% !important;
}

span.wpcf7-list-item {
	margin:0 0.75rem 0 0 !important;
}

span.wpcf7-not-valid-tip {
	font-size:1.4rem;
}

table.contact td strong {
	font-size:1.2em;
	margin-bottom:0.5rem;
	display:block;
}

table.contact td #privacy_box {
	font-size:0.8em;
	max-height:180px;
	overflow:auto;
	background:#FFF;
	padding:1rem;
}

table.contact td #privacy_box p {
	margin-bottom:0.5rem;
}

table.contact td.birth input[type="text"] {
	width:10%;
}

.caution_text {
	height:300px;
	overflow:auto;
	font-size:0.9em;
	background:#F7F7F7;
	padding:1.5rem;
}

.caution_text h5 {
	padding:0 1rem !important;
	border-bottom:none !important;
    margin-bottom: 1rem !important;
}

.caution_text .box {
	margin-bottom:1.5rem;
}

.caution_text ul {
	list-style:disc;
	list-style-position:outside;
	margin-left:3rem;
}


@media (max-width: 980px){
table.contact {
	margin:0 0 3rem 0;
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
}

table.contact th,
table.contact td:nth-child(1) {
	width:100%;
	background:#FAFAFA;
}

table.contact th,
table.contact td {
}

table.contact td:nth-child(1) {
	width:100%;
	border-bottom:none;
}

#omitsumori .content_wrapper p span {
	font-size:1em !important;
}

table.contact td input,
table.contact td textarea {
	font-size:16px !important;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"] {
	width:100%;
}

table.contact td input[type="date"] {
	width:100%;
}

table.contact td.birth input[type="text"] {
	width:20%;
}

table.contact td span small {
	font-size:1em;
}

input[type=text],
textarea {
}

.wpcf7 table {
    border-bottom: 1px solid #EEE;
}

.wpcf7 table th,
.wpcf7 table td {
	width:100%;
	display:block;
	border-bottom:none;
}

p.submit input {
	font-size:1.2em;
	padding:0.5rem 1rem;
}
}


/*プライバシーポリシー
***************************************/
#privacy #primary p {
	margin-bottom:6rem;
}

#privacy #primary ul {
	list-style:none !important;
}

#privacy #primary dl {
}

#privacy #primary dl dt {
	margin-bottom:2rem;
	line-height:1.4;
	font-size:clamp(16px, 1.5vw, 18px);
	font-weight:normal;
}

#privacy #primary dl dd {
	margin-bottom:4.5rem;
	padding-bottom:4.5rem;
	border-bottom:dashed 1px #EEE;
	line-height:1.8;
}

#privacy #primary dl dd:last-child {
	margin-bottom:0;
	border-bottom:none;
}

#privacy #primary dl dd table {
	width:100%;
	margin:2rem auto 0 auto;
}

#privacy #primary dl dd table td {
	vertical-align:middle;
	padding: 1em;
	border:none;
	border-bottom: 1px solid #EEE;
}

#privacy #primary dl dd table td:nth-child(1) {
	width:25%;
	padding: 1em;
	border:none;
	border-bottom: 1px solid #CCC;
	vertical-align: middle;
}

#privacy #primary dl dd table a {
	color:#0d5003;
}

@media (max-width: 980px){
#privacy #primary {
}

#privacy #primary p {
	font-size:0.9em;
	margin-bottom:3rem;
}

#privacy #primary dl {
	margin:0;
}


#privacy #primary dl dt {
	font-size:1.6rem;
	margin-bottom:1.5rem;
}

#privacy #primary dl dd {
	font-size:1.4rem;
	margin-bottom:3rem;
	padding-bottom:3rem;
}

#privacy #primary dl dd:last-child {
	padding-left:0;
}

#privacy #primary dl dd table td:nth-child(1) {
	width:30%;
}

#privacy #primary dl dd table td:nth-child(1),
#privacy #primary dl dd table td {
	padding:10px;
}
}

/*当サイトについて
***************************************/

#about #primary article > p {
	margin-bottom:6rem;
	text-align:center;
}

#about #primary ul {
	list-style:none !important;
}

#about #primary dl {
	margin:0 1.5rem;
}

#about #primary dl dt {
	margin-bottom:3rem;
	line-height:1.4;
	font-size:1.1em;
}

#about #primary dl dd {
	margin-bottom:7.5rem;
	line-height:1.8;
}

#about #primary dl dd ol {
	list-style:decimal;
	padding-left:2rem;
}

#about #primary dl dd:last-child {
	margin-bottom:0;
}

#about #primary dl dd table {
	width:100%;
	margin:2rem auto 0 auto;
}

#about #primary dl dd table td {
	vertical-align:middle;
	padding: 1em;
	border:none;
	border-bottom: 1px solid #DDD;
}

#about #primary dl dd table th {
	width:25%;
	padding: 1em;
	border:none;
	border-bottom: 1px solid #AAA;
	vertical-align: middle;
}

#about #primary dl dd table a {
	color:#a6231b;
}

@media (max-width: 980px){
#about #primary {
}

#about #primary p {
	font-size:0.9em;
	margin-bottom:3rem;
}

#about #primary dl {
	margin:0;
}


#about #primary dl dt {
	font-size:1.6rem;
	margin-bottom:1.5rem;
}

#about #primary dl dd {
	font-size:1.4rem;
	margin-bottom:3rem;
}

#about #primary dl dd:last-child {
	padding-left:0;
}

#about #primary dl dd table td:nth-child(1),
#about #primary dl dd table td {
	padding:10px;
}
}


/*サイトマップ
***************************************/
#sitemap .entry-content article > ul {
	list-style:none;
	padding-left:0;
}

#sitemap .entry-content article > ul > li {
	border-bottom:1px solid #DDD;
}

#sitemap .entry-content article > ul > li > a {
	padding:4.5rem 1.5rem;
	text-decoration:none;
	display:block;
}

#sitemap .entry-content article > ul > li > a:hover {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-ms-transition: 0s ease-in-out;
	opacity: 0.6;
	filter: alpha(opacity=60);
}

#sitemap .entry-content article > ul > li > a:before {
    content: "\f0da";
    font-family: FontAwesome;
    margin-right:1rem;
	color:#0d5003;
}

#sitemap .entry-content article > ul > li > ul {
	margin-left:3%;
	margin-bottom:3rem;
	margin-top:-1.5rem;
}

#sitemap .entry-content article > ul > li > ul > li {
	margin-bottom:1rem;
}

#sitemap .entry-content article > ul > li > ul > li:before {
	content:"― ";
	color:#0d5003;
}

#sitemap .entry-content article > ul > li > ul > li > a {
	text-decoration:none;
}

#sitemap .entry-content article > ul > li > ul > li > a:hover {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-ms-transition: 0s ease-in-out;
	opacity: 0.6;
	filter: alpha(opacity=60);
}

@media (max-width: 980px){
#sitemap .entry-content article > ul > li > a {
	padding:1.5rem 1rem;
}
#sitemap .entry-content article > ul > li > ul {
	margin-left:9%;
    margin-top: 0;
	margin-bottom:1.5rem
}
}

/*パン屑のスタイル
***************************************/
#breadcrumb {
	width:100%;
	padding-top:1.5rem;
	padding-bottom:1.5rem;
}

#breadcrumb ul {
	width:100%;
	margin:0 auto;
	display:flex;
	-webkit-flex-wrap:wrap; /* Safari */
	flex-wrap:wrap;
	list-style:none;
}

#breadcrumb ul li {
	margin-right:0.5rem;
	letter-spacing:0;
	font-size:clamp(12px, 1vw, 14px);
}

#breadcrumb ul li:nth-child(1):before {
    content: "\f015";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

#breadcrumb ul li:after {
    content: "\f105";
    font-family: FontAwesome;
    margin-left:0.5rem;
}

#breadcrumb ul li:last-child:after {
	content:none;
}

@media (max-width: 980px){
#breadcrumb {
	padding:1rem 2rem 1rem 2rem;
	letter-spacing:0;
}

#breadcrumb ul li {
	margin-right:0.25rem;
}

#breadcrumb ul li:after {
    margin-left:0.25rem;
}
#breadcrumb ul li a {
}
}



/*ページナビ
***************************************/
.pagenav {
	text-align:center;
	margin-bottom:6rem;
}

.pagenav ul {
	clear: both;
	padding: 3rem 0;
	text-align: center;
}
a.page-numbers, .pagenav .current {
	background: #fff;
	border: solid 1px #ddd;
	padding: 5px 10px;
	margin: 5px 2px;
	text-decoration: none;
}
.pagenav .current {
	background: #000;
	border: solid 1px #CCC;
	color: #fff;
}

@media (max-width: 980px) {
.pagenav {
	clear: both;
	padding: 2rem 10px;
	font-size:1.2rem;
}
}


#prev_next {
    border-bottom: 1px solid #E0E0E0;
	margin-bottom:9rem;
}

#prev_next ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	border-top:1px solid #E0E0E0;
}

#prev_next ul li {
	width:50%;
}

#prev_next ul li #prev_title,
#prev_next ul li #next_title {
	width:100%;
}

#prev_next ul li #prev_title a:hover,
#prev_next ul li #next_title a:hover {
	text-decoration:underline;
}

#prev_next ul li #prev_title a {
	padding:1rem 2rem;
	background:#F0F0F0;
	display:block;
	font-size:1.5rem;
}

#prev_next ul li #prev_title a:before {
    content: "\f0a8";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

#prev_next ul li #next_title a {
	padding:1rem 2rem;
	background:#F0F0F0;
	text-align:right;
	display:block;
	font-size:1.5rem;
}

#prev_next ul li #next_title a:after {
    content: "\f0a9";
    font-family: FontAwesome;
    margin-left:0.5rem;
}

#prev_next ul li {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#prev_next ul li.bktop{
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items:center; /* 縦方向中央揃え */
}

#prev_next ul li figure {
	width:35%;
	padding:2rem;
}

#prev_next ul li p {
	width:100%;
	padding:2rem;
	font-size:1.5rem;
	line-height:1.3;
}

#prev_next ul li:nth-child(2) p {
	text-align:right;
}

#prev_next ul li p a:hover {
	text-decoration:underline;
}

#prev_next ul li:nth-child(1) {
	border-right:1px solid #E0E0E0;
}

.bktop {
}

.bktop a {
	display:block;
	text-align:center;
	width:100%;
	font-size:1.5rem;
}

.bktop a:before {
    content: "\f015";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

@media (max-width: 980px){
#prev_next {
	margin-bottom:0;
    border-bottom:none;
}

#prev_next ul {
	padding:0;
	border-bottom:1px solid #E0E0E0;
}

#prev_next ul li {
	-webkit-align-items: flex-start; /* 縦方向中央揃え（Safari用） */
	align-items:flex-start; /* 縦方向中央揃え */
}


#prev_next ul li #prev_title a,
#prev_next ul li #next_title a {
	padding:1rem 10px;
	font-size:1.2rem;
}

#prev_next ul li figure {
	display:none;
}

#prev_next ul li p {
	width:100%;
	padding:10px;
}

#prev_next ul li p a {
	font-size:1.2rem;
}

.bktop a {
	margin-top:0%;
	font-size:1.2rem;
}

}

/*チェイン表示
***************************************/
.chain01,
.chain02,
.chain03,
.chain04,
.chain05 {
  opacity : 0;
  transition : all 1s;
}
  
.chain01.fadein-chain,
.chain02.fadein-chain,
.chain03.fadein-chain,
.chain04.fadein-chain,
.chain05.fadein-chain {
  opacity : 1;
}


/*スマホ用コンタクトボタン
***************************************/

@media screen and (min-width:980px){
#sp_contact {
	display:none;
}
#sp_link {
	display:none;
}
}

@media (max-width:980px) {
#sp_contact {
    position: fixed;
    bottom: 0;
    right: 0;
	width: 100%;
	z-index:9999;
	border-top:1px solid #FFF;
}

#sp_contact ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#sp_contact li {
	width:33.3333%;
}

#sp_contact li:nth-child(2),
#sp_contact li:nth-child(3),
#sp_contact li:nth-child(4),
#sp_contact li:nth-child(5),
#sp_contact li:nth-child(6) {
	border-left: 1px solid #FFF;
}

#sp_contact li a {
    background: #0d5003;
    text-decoration: none;
    color: #fff;
    width: 100%;
    padding: 1.2em 0;
    text-align: center;
    display: block;
	font-size:clamp(13px, 1vw, 14px);
	letter-spacing:0;
}

#sp_contact li:nth-child(5) a {
	letter-spacing:-1px;
}

#sp_contact a:hover {
    text-decoration: none;
    background:#e1af00;
	color:#0d5003;
}

#sp_contact li a i {
	margin-right:0.25rem;
}

#sp_link {
    display: block;
    position: absolute;
    top: 10px;
    right: 50px;
    z-index: 100;
}
#sp_link ul {
		display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
}

#sp_link ul li {
	width:43px;
	margin:0 0.25rem;
}
}


/*ページトップ
***************************************/
div.scroll-btn {
	position: fixed;
	right: 1rem;
	z-index: 10000;
}

div.scroll-btn a {
	background: rgba( 204, 204, 204, 0.5);
	width: 50px;
	height: 50px;
	display: block;
	text-align: center;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out;
}

div.scroll-btn a:hover {
	background: #000;
}

div.scroll-btn a i {
	font-size: 60px;
	line-height: .8;
	color: #fff;
	opacity: .8;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out
}

div.scroll-btn a:hover i {
	color: #FFF;
	opacity: 1;
}

@media (max-width: 980px){
.grecaptcha-badge {
    bottom: 150px !important;
}
}



/*WORDPRESSのCSS*/
.entry-header {
	position: relative;
	background-size: cover;
	padding: 22rem 3rem 12rem 3rem;
	background:url(images/entry-header_bg.jpg) no-repeat left bottom #FFF;
	background-size:cover;
}

.entry-header #page_title {
	max-width:1420px;
	margin:0 auto;
	letter-spacing:0;
}

.entry-header h1 {
	text-align:center;
	font-size:clamp(24px, 3.2vw, 36px);
	line-height:1.4;
	color:#6d3e10;
	letter-spacing:0.2em;
	font-weight:600;
}

.entry-header h1 span {
	display:block;
	font-size:clamp(16px, 1.2vw, 18px);
	margin-top:1rem;
}

 @media only screen and (max-width: 980px) {
.entry-header {
	padding:12rem 2rem 6rem 2rem;
}
}

 @media only screen and (max-width: 414px) {

.entry-header {
	padding:10rem 2rem 3rem 2rem;
}

.entry-header #page_title {
	max-width:1200px;
	margin:0 auto;
}

.entry-header h1 {
	letter-spacing:0;
}

.entry-header h1 span {
	margin-top:0.5rem;
}

}


/* ===================================================
   WordPress 本文エリア（the_content）基本スタイル（調整済レスポンシブ）
   対象: .entry-content
=================================================== */

.entry-content {
  font-size: clamp(16px, 1.4vw, 18px);
  padding-bottom:6rem;
  word-break: break-word;
}

/* 目次 */
.entry-content #toc_container {
	position: relative;
	z-index: 1;
	margin-top: 3rem;
	margin-bottom:6rem;
	padding: 3rem;
	border: 1px #e4e1e1 solid;
}

.entry-content #toc_container .toc_title {
	text-align:center;
  font-size: clamp(18px, 1.9vw, 23px);
}

.entry-content #toc_container .toc_list > li {
	list-style:none;
}

.entry-content #toc_container .toc_list > li::before {
  display: inline-block;
  content: "■";
  margin-right: 0.5em;
  margin-left: -1.5em;
  color:#6d3e10;
}



/* 段落 */
.entry-content p {
  margin-bottom: 1.6rem;
  line-height:2.2;
}

/* 見出し */
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  line-height: 1.4;
  margin: 3rem 0 3rem;
}

/* h1〜h6は段階的に縮小 */

.wp-block-heading span {
	display:block;
	text-align:center;
	font-size:0.6em;
	margin-top:0.5rem;
}

.entry-content h2 {
	font-size: clamp(20px, 2.1vw, 24px);
	margin-bottom:6rem;
}

.page .entry-content h2 {
	font-size: clamp(22px, 2.4vw, 30px);
	text-align:center;
}

.page .entry-content h2:after {
	content:"";
	width:60px;
	height:3px;
	background:#f07a8b;
	display:block;
	margin:2rem auto 0 auto;
}

.single .entry-content h2 {
	border-left: 4px solid #f07a8b;
	padding-left: 1.5rem;
}

.single-knowledge .entry-content h2 {
	border-left: 4px solid #906840;
}

.entry-content h2:first-child {
	margin-top:0 !important;
}

.entry-content h3 {
	font-size: clamp(18px, 1.9vw, 22px);
	padding:0 0 0 1.5rem;
	border-left:3px solid #f07a8b;
}

.page .entry-content h3 {
	border:none;
	padding-left:0;
	font-size: clamp(22px, 2.4vw, 28px);
	color:#f07a8b;
	position:relative;
}

.page .entry-content h3:after {
	display:inline-block;
	content:"";
	background-color: #fffef7;
	border-radius: 50%;
	width:100px;
	height:100px;
	position:absolute;
	left:-2rem;
	top:-2rem;
	z-index:-1;
}

.page .entry-content h3:first-letter {
	font-size:1.6em;
}


.single-knowledge .entry-content h3 {
	background:#fffcf7;
	padding:1rem 2rem;
	border-bottom:none;
	border-left:none;
}

.single-health .entry-content h3 {
	background:#fdfff1;
	padding:1rem 2rem;
}

.single-blog .entry-content h3 {
	background:#fff9fa;
	padding:1rem 2rem;
}

.entry-content h4 {
  font-size: clamp(17px, 1.8vw, 20px);
  color: #555;
}

.entry-content h5 {
  font-size: clamp(16px, 1.7vw, 18px);
  color: #666;
}

.entry-content h6 {
  font-size: clamp(15px, 1.6vw, 18px);
  color: #777;
}

.wp-block-group *:last-child {
	margin-bottom:0 !important;
}

/* =====================================
   Font Size Responsive (S / M / L / XL)
   WordPress Editor対応
   ===================================== */

/* 小サイズ（S） */
.has-small-font-size {
  font-size: clamp(12px, 1.2vw, 14px) !important;
}

/* 中サイズ（M） */
.has-medium-font-size {
  font-size: clamp(16px, 1.8vw, 20px) !important;
}

/* 大サイズ（L） */
.has-large-font-size {
  font-size: clamp(18px, 2.2vw, 24px) !important;
}

/* 特大サイズ（XL） */
.has-x-large-font-size {
  font-size: clamp(22px, 2.8vw, 30px) !important;
}

/* 画像・動画など */
.entry-content img,
.entry-content video,
.entry-content iframe {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 4.5rem auto;
  border-radius: 0.4rem;
}

.entry-content .wp-block-media-text img {
	margin-top:0;
	margin-bottom:0;
}

.entry-content .wp-block-column img {
	margin-top:0;
}

/* YouTubeなど埋め込み */
.entry-content iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
}

/* リスト */
.entry-content ul,
.entry-content ol {
  margin: 3rem 0 3rem 2rem;
  padding: 0;
}

.entry-content ul > li > ul,
.entry-content ol > li > ol {
	margin:1.5rem 0 1.5rem 2rem;
}

.entry-content ul.has-background,
.entry-content ol.has-background {
	margin-left:0;
}

.entry-content ul {
	list-style:disc;
}

.entry-content ul li,
.entry-content ol li {
  margin-bottom: 0.5rem;
  line-height: 1.7;
}

.entry-content ul li::marker {
  color: #f07a8b;
}

/* 引用 */
.entry-content blockquote {
  border-left: 0.4rem solid #f07a8b;
  background: #f9f9f9;
  padding: 1.2rem 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: #555;
}

/* テーブル */
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: clamp(14px, 1.4vw, 16px);
}

.entry-content th,
.entry-content td {
  border: 1px solid #ddd;
  padding: 1.5rem 2rem;
}

.entry-content th {
  background: #f7f7f7;
  font-weight: bold;
}

/* リンク */
.entry-content a {
  color: #f07a8b;
  text-decoration: underline;
  transition: color 0.3s;
}

.entry-content a:hover {
  color: #d65b70;
  text-decoration: none;
}

/* ボタン風リンク */
.entry-content .wp-block-button__link,
.entry-content a.button {
  background: #f07a8b;
  color: #fff;
  padding: 0.7rem 1.4rem;
  border-radius: 0.4rem;
  text-decoration: none;
  display: inline-block;
  transition: background 0.3s ease;
  font-size: clamp(14px, 1.6vw, 17px);
}

.entry-content .wp-block-button__link:hover,
.entry-content a.button:hover {
  background: #d65b70;
}

/* キャプション付き画像 */
.entry-content .wp-caption {
  text-align: center;
  margin: 1.8rem auto;
  max-width: 100%;
}

.entry-content .wp-caption-text {
  font-size: clamp(13px, 1.4vw, 15px);
  color: #666;
  margin-top: 0.4rem;
}

/* コードブロック */
.entry-content pre,
.entry-content code {
  background: #f5f5f5;
  padding: 0.8rem 1rem;
  border-radius: 0.4rem;
  font-family: monospace;
  overflow-x: auto;
  font-size: clamp(13px, 1.4vw, 15px);
}

/* clearfix */
.entry-content::after {
  content: "";
  display: block;
  clear: both;
}


/* 全幅ブロックをブラウザ幅いっぱいに広げる */
.entry-content .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-right:6rem;
  padding-left:6rem;
}

.entry-content > article > div.alignfull:first-child {
	margin-top:-15rem !important;
}

.entry-content .alignfull:last-child {
	margin-bottom:0;
}

.entry-content .alignfull > div {
	max-width:1480px;
}

.entry-content .has-background {
	margin-bottom:4.5rem;
	margin-top:4.5rem;
	padding:4.5rem;
}

.entry-content .has-background:last-child {
	margin-bottom:0;
}

.entry-content .alignfull.wp-block-group,
.entry-content .alignfull.has-background {
	padding-top:15rem;
	padding-bottom:15rem;
	margin-bottom:0;
	margin-top:0;
	position:relative;
}

.entry-content .alignfull.wp-block-group:last-child {
	padding-bottom:0;
}

.entry-content .alignfull.has-background:last-child {
	padding-bottom:15rem;
}

@media screen and (max-width: 600px) {
.entry-content .alignfull {
  padding-right:2rem;
  padding-left:2rem;
  margin-bottom: 4.5rem;
}

}

/* alignwide（ワイド幅）も使う場合 */
.entry-content .alignwide {
  width: 90vw;
  max-width: 90vw;
  margin-left: calc(50% - 45vw);
  margin-right: calc(50% - 45vw);
}

/* iframeや画像もはみ出しを防ぐ */
.entry-content .alignfull iframe,
.entry-content .alignfull img {
  width: 100%;
  height: auto;
  display: block;
}

/* Gutenbergのblock内余白調整（不要なら削除OK） */
.entry-content .alignfull > * {
  margin-left: auto;
  margin-right: auto;
}


/* 微調整 */

article > .wp-block-media-text {
	padding-top:3rem;
	padding-bottom:3rem;
}

.wp-block-media-text > .wp-block-media-text__content {
	padding-right:0;
}

.wp-block-media-text > .wp-block-media-text__content > *:first-child {
	margin-top:0;
}

.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
	padding-right:8%;
	padding-left:0;
}

@media screen and (max-width: 600px) {
.wp-block-media-text > .wp-block-media-text__content {
	padding-left:0;
	margin-top:3rem;
}
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
  padding-right: 0;
}
}