@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Opti&family=Sawarabi+Gothic&family=Shippori+Mincho&family=Zen+Maru+Gothic&display=swap');


/* RESET */
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, figure{
margin:0;
padding:0;
border:0;
font-weight:normal;
font-size:100%;
vertical-align:baseline;
}
ol, ul{
list-style:none;
padding-left:0;
}
*:focus{
outline:none !important;
box-shadow:none !important;
}

/* BASIC */
*, *::before, *::after{
margin:0;
padding:0;
box-sizing:border-box;
}
html{
font-size:62.5%;
}

:root{
--color-main_green:#373d0f;
--color-dark_green:#414c2f;
--color-mid_green:#5f643c;
--color-red:#ab2824;
--color-olive:#666320;
--color-dark_olive:#4f4f34;
--color-vermillion:#a22924;
--color-brown:#4b4334;
--color-cream:#f5f1ed;
--color-white:#fff;
--bg-pattern-cream:repeating-conic-gradient(from 200deg at 60% 60%, #ffffff20 0deg 59.9deg, #eeee8810 60deg 120deg) 0 0/14px 6px, var(--color-cream);
}

body{
background:var(--bg-pattern-cream);
font-size:1.7rem;
line-height:1.8;
color:#333;
font-family:"Shippori Mincho", serif;
min-height:100vh;
display:flex;
flex-direction:column;
-webkit-text-size-adjust:100%;
}

#allmaincontents{
margin:3rem auto;
}
#allmaincontents section{
display:block;
width:100%;
max-width:100%;
padding:0;
margin:0 auto 5rem;
}

#allmaincontents [class^="col-md-"],
#allmaincontents [class*=" col-md-"]{
margin-bottom:1.8rem;
}

#allmaincontents header{
margin-bottom:5rem;
}

@media screen and (max-width:767px){
body{
font-size:1.6rem;
color:#000;
}
#allmaincontents{
margin:0 auto;
max-width:96%;
}
#allmaincontents section{
margin:0 auto 2rem;
}
.footer-info .col-md-4{
margin-bottom:1.8rem;
}
#allmaincontents header{
margin-bottom:0;
}
}

.row{
margin-bottom:3rem;
}

img{
width:100%;
max-width:100%;
height:auto;
transition:all 1s ease;
}
a img:hover{
opacity:.7;
}
img.op8{
opacity:.8;
}

p{
padding:0 0 2rem;
margin:0;
}

a{
transition:all 1s ease;
font-family:"Kaisei Opti", serif;
text-decoration:none;
color:#5a5f39;
}
a:hover{
color:var(--color-red);
}

/* HEAD */
a.navbar-brand{
padding-right:2rem;
flex-shrink:0;
}
a.navbar-brand img{
width:240px;
}
a.navbar-brand img:hover{
opacity:1;
}

nav#main-nav{
position:relative;
background-color:var(--color-cream) !important;
background:var(--bg-pattern-cream);
padding:2rem 0;
font-weight:500;
box-shadow:0 32px 30px -30px rgba(53,47,47,.5);
margin-bottom:-3rem;
z-index:100;
font-family:"Kaisei Opti", serif;
}

nav#main-nav a{
color:var(--color-main_green);
font-size:1.6rem;
transition:all 1s ease;
}

nav#main-nav a:hover{
color:var(--color-red);
}

li.menu-item{
text-align:center;
line-height:1.4;
letter-spacing:.1rem;
margin-right:1.4rem;
white-space:nowrap;
}

.dropdown-menu{
display:block;
opacity:0;
visibility:hidden;
transform:translateY(-6px);
transition:opacity .25s ease, visibility .25s ease, transform .25s ease;
border-radius:0;
border-color:#353513;
margin-top:0;
pointer-events:none;
}

.dropdown:hover .dropdown-menu,
.dropdown-menu.show{
opacity:1;
visibility:visible;
transform:translateY(0);
pointer-events:auto;
}

.dropdown-menu li a{
text-align:left;
font-size:1.4rem !important;
}

.dropdown-menu li a:hover{
background-color:transparent;
}

.kan-nav-cta{
font-family:"Shippori Mincho", serif;
position:absolute;
right:0;
top:0;
height:100%;
align-items:center;
padding:0 1.5rem;
background:var(--color-main_green);
color:var(--color-white);
text-align:center;
line-height:1.4;
white-space:nowrap;
transition:all 1s ease;
}

.kan-nav-cta:hover{
background:#5f5f25;
}

.kan-nav-cta-label,
.kan-nav-cta-number{
display:block;
font-family:"Shippori Mincho", serif;
}

.kan-nav-cta-number{
font-size:1.8rem;
}

.kan-nav-cta a{
color:var(--color-white) !important;
text-decoration:none;
font-size:2rem;
}

.kan-nav-cta-time{
font-size:1rem;
font-family:"Shippori Mincho", serif;
}

.kan-mobile-only{
display:none;
}

.kan-desktop-only{
display:flex;
}

/* 821px以上：PCヘッダー */
@media screen and (min-width:821px){

#main-nav .navbar-toggler{
display:none;
}

#main-nav .container{
justify-content:flex-start;
}

#navbarNavOffcanvas{
position:static;
display:block;
visibility:visible !important;
width:auto;
height:auto;
max-width:none;
flex:0 1 auto;
background:transparent;
border:0;
transform:none !important;
transition:none;
z-index:auto;
}

#navbarNavOffcanvas .offcanvas-header{
display:none;
}

#navbarNavOffcanvas .offcanvas-body{
display:flex;
justify-content:flex-start;
align-items:center;
padding:0;
overflow:visible;
}

#main-menu{
flex-direction:row;
justify-content:flex-start;
margin-left:0;
margin-right:0 !important;
}

#main-menu .dropdown-menu{
position:absolute;
}

}

/* 820px以下：スマホヘッダー */
@media screen and (max-width:820px){

.kan-mobile-only{
display:block;
}

.offcanvas-header.kan-mobile-only{
display:flex;
}

.kan-desktop-only{
display:none;
}

#main-nav a.navbar-brand{
padding-left:2%;
padding-right:0;
text-align:left;
}

#main-nav a.navbar-brand img{
width:240px;
}

#main-nav .navbar-toggler{
position:absolute;
right:4%;
top:20%;
transform:translateY(-50%);
width:48px;
height:48px;
padding:0;
display:flex;
align-items:center;
justify-content:center;
border:1px solid var(--color-main_green);
border-radius:0;
}

#main-nav .navbar-toggler:focus{
box-shadow:none;
}

#main-nav .navbar-toggler-icon{
background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23373d0f' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

#main-nav .kan-nav-tel{
flex:0 0 96%;
background:var(--color-main_green);
transition:all 1s ease;
margin:2rem auto 0;
border-radius:3px;
}

.kan-nav-cta-time{
font-size:1.4rem;
}

#main-nav .kan-nav-tel:hover{
background:#5f5f25;
}

#main-nav .kan-nav-tel a{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
padding:.8rem 1.5rem;
color:var(--color-white) !important;
text-decoration:none;
}

.kan-nav-tel-number{
font-size:3rem;
margin:-1rem auto;
}

#navbarNavOffcanvas.offcanvas-start{
width:100vw;
background-color:var(--color-cream);
background:var(--bg-pattern-cream);
}

#navbarNavOffcanvas .offcanvas-header{
padding:1.5rem;
border-bottom:1px solid var(--color-main_green);
}

#navbarNavOffcanvas .offcanvas-brand img{
width:240px;
}

#navbarNavOffcanvas .btn-close{
opacity:1;
}

#navbarNavOffcanvas .offcanvas-body{
padding:1.5rem;
}

#navbarNavOffcanvas .navbar-nav{
gap:.4rem;
}

#navbarNavOffcanvas .menu-item{
text-align:left;
margin-right:0;
}

#navbarNavOffcanvas .dropdown-menu{
opacity:1;
visibility:visible;
transform:none;
pointer-events:auto;
position:static;
border:1px solid var(--color-main_green);
padding-left:1rem;
margin-top:0;
background:rgba(255,255,255,.5);
}

.kan-nav-tel span{
display:block !important;
}
}


/* BREAD */
.breadcrumbs{
display:flex;
flex-wrap:wrap;
align-items:center;
font-size:1.2rem;
margin:1.4rem 0 0;
font-family:"Sawarabi Gothic", sans-serif;
}
.breadcrumbs a,
.breadcrumbs span{
display:inline-flex;
align-items:center;
margin:0 2px;
text-decoration:none;
font-family:"Shippori Mincho", serif;
}
.breadcrumbs span{
color:#5e633e;
}
.breadcrumb--first{
font-size:0;
}
.breadcrumb--first::before{
content:"\F424";
font-family:"bootstrap-icons";
font-size:1.4rem;
color:#737757;
transition:all 1s ease;
}
.breadcrumbs a{
color:#737757;
}
.breadcrumbs a:hover, .breadcrumb--first:hover::before{
color:var(--color-red);
}

@media (max-width:767px){
.breadcrumbs{
font-size:1rem;
margin-top:-.2rem;
}
}

/* FOOT INFO */
.footer-info{
position:relative;
overflow:hidden;
background:rgba(77,74,55,.05);
padding:4rem 0;
}
.footer-info::before{
content:"";
position:absolute;
left:-1rem;
bottom:-3rem;
width:40rem;
height:40rem;
background:url("../img/footbg.svg") no-repeat left bottom / contain;
opacity:.35;
pointer-events:none;
z-index:0;
}
.footer-info .container{
position:relative;
z-index:1;
}
.footer-info .row{
margin-bottom:0;
}
.info-box{
width:100%;
min-height:22rem;
border:1px solid rgba(55,61,15,.25);
background:rgba(255,255,255,.28);
padding:2.4rem;
}
.info-box.tel,
.info-box.shop{
display:flex;
flex-direction:column;
justify-content:center;
}
.info-box.tel{
text-align:center;
}
.label{
font-size:1.3rem;
letter-spacing:.12rem;
padding:0 0 1rem;
color:#4d4a37;
}
.number{
font-family:"Kaisei Opti", serif;
font-size:3rem;
line-height:1.3;
letter-spacing:.08rem;
padding:0 0 1.2rem;
color:#332f28;
}
.number a{
color:#332f28;
text-decoration:none;
}
.text{
font-size:1.3rem;
line-height:1.9;
letter-spacing:.05rem;
padding:0;
color:#4d4a37;
}
.info-box.line{
display:flex;
flex-direction:column;
background:rgba(58,70,53,.8);
border-color:rgba(58,70,53,.8);
color:var(--color-white);
}
.line-content{
display:flex;
align-items:center;
gap:1.6rem;
}
.line-text{
flex:1;
min-width:0;
}
.line .label{
color:rgba(255,255,255,.8);
}
.qr{
flex:0 0 10rem;
background:var(--color-white);
padding:.6rem;
margin:0;
}
.qr img{
display:block;
width:100%;
height:auto;
}
.line-btn{
margin-top:auto;
}

.btn-info{
display:inline-flex;
align-items:center;
justify-content:space-between;
gap:1.6rem;
min-width:13rem;
padding:1rem 1.2rem;
border:1px solid rgba(58,70,53,.8);
letter-spacing:.1rem;
line-height:1.4;
color:var(--color-white);
text-decoration:none;
font-family:"Shippori Mincho", serif;
}
.btn-info:hover{
background:var(--color-white);
color:rgba(58,70,53,1);
}
.btn-info i{
font-size:1.4rem;
}
.info-box.shop p:first-child{
padding:0 0 1.4rem;
}
.info-box.shop img{
display:block;
width:20rem;
height:auto;
margin-left:auto;
}
.btn-info.dark{
border-color:rgba(55,61,15,.35);
color:var(--color-main_green);
}
.btn-info.dark.dk02{
background-color:var(--color-white);
}
.btn-info.dark.dk02:hover{
background-color:rgba(255,255,255,.3);
}

.btn-info.dark:hover{
background:rgba(58,70,53,.8);
color:var(--color-white);
}
.btn-info.green{
background:var(--color-main_green);
border-color:var(--color-main_green);
color:var(--color-white);
}
.btn-info.green:hover{
background:rgba(255,255,255,.15);
color:var(--color-main_green);
}


/* 外枠セクション */
.entry-sns-section {
background-color: #f5f4ef;
padding: 36px 20px;
margin: 40px 0 -3rem;
text-align: center;
box-sizing: border-box;
}

.sns-title {
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", sans-serif;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.12em;
color: #555555;
margin: 0 0 8px 0;
}

.sns-description {
font-size: 12px;
color: #666666;
margin: 0 0 22px 0;
line-height: 1.6;
}

/* ボタン並び */
.sns-links {
display: flex;
justify-content: center;
align-items: center;
gap: 14px;
flex-wrap: wrap;
}

/* 共通丸型ボタン */
.sns-btn {
display: inline-flex;
justify-content: center;
align-items: center;
width: 48px;
height: 48px;
border-radius: 50%;
text-decoration: none;
box-shadow: 0 2px 6px rgba(0,0,0,0.12);
transition: transform 0.2s ease, opacity 0.2s ease;
}

.sns-btn:hover {
opacity: 0.88;
transform: translateY(-2px);
}

.btn-inner {
display: flex;
justify-content: center;
align-items: center;
color: var(--color-white);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* 1. note */
.sns-btn.note {
background-color: #000000;
}
.sns-btn.note .btn-inner {
font-size: 12px;
font-weight: 800;
letter-spacing: -0.05em;
}

/* 2. Instagram */
.sns-btn.instagram {
background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}
.insta-camera {
width: 20px;
height: 20px;
border: 2px solid var(--color-white);
border-radius: 6px;
position: relative;
box-sizing: border-box;
}
.insta-camera::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 8px;
height: 8px;
border: 2px solid var(--color-white);
border-radius: 50%;
box-sizing: border-box;
}
.insta-camera::after {
content: "";
position: absolute;
top: 2px;
right: 2px;
width: 2px;
height: 2px;
background-color: var(--color-white);
border-radius: 50%;
}

/* 3. X (Twitter) */
.sns-btn.x-twitter {
background-color: #000000;
}
.svg-icon {
width: 20px;
height: 20px;
}

/* 4. LINE */
.sns-btn.line {
background-color: #06c755;
}
.sns-btn.line .btn-inner {
font-size: 11px;
font-weight: 900;
letter-spacing: -0.02em;
}

/* 5. Facebook */
.sns-btn.facebook {
background-color: #1877f2;
}
.sns-btn.facebook .btn-inner {
font-size: 26px;
font-weight: 800;
font-family: Georgia, serif;
line-height: 1;
margin-top: 4px;
}

/* スマホ表示 */
.sp-only {
display: none;
}

@media (max-width: 768px) {
.sp-only {
display: inline;
}
.entry-sns-section {
padding: 28px 16px;
margin-bottom:0;
}
.sns-links {
gap: 10px;
}
.sns-btn {
width: 42px;
height: 42px;
}
}

@media screen and (max-width:767px){
.footer-info{
padding:3rem 1.8rem 1rem;
}
.footer-info::before{
opacity:0;
}
.footer-info .col-md-4{
display:block;
}
.info-box{
min-height:auto;
padding:2rem;
}
.info-box.line{
display:block;
text-align:center;
}
.qr{
width:12rem;
margin:0 auto;
}
.btn-info{
margin-left:auto;
margin-right:auto;
}
.info-box.shop{
text-align:center;
}
.info-box.shop img{
width:16rem;
margin:0 auto;
}
}

/* FOOT */
#wrapper-footer{
background:repeating-conic-gradient(from 200deg at 60% 60%, #ffffff08 0deg 59.9deg, #ffffff05 60deg 120deg) 0 0/30px 10px, var(--color-main_green);
color:var(--color-white);
margin-top:auto;
position:relative;
bottom:auto;
width:100%;
max-width:100%;
}
.site-footer{
padding:0;
margin:0 auto;
}
.site-info{
text-align:center;
font-size:1rem;
}
.page_top{
position:fixed;
bottom:20px;
right:30px;
width:40px;
height:40px;
font-size:4rem;
line-height:1;
background:var(--color-white);
border:1px solid var(--color-main_green);
color:var(--color-main_green);
border-radius:50%;
text-align:center;
text-decoration:none;
display:grid;
opacity:.5;
z-index:9999;
}
.page_top:hover{
opacity:1;
color:var(--color-main_green);
}
.page_top i{
margin-top:-.2rem;
}
.snslink{
margin-bottom:1rem;
}
.snslink img{
display:inline-block;
height:1.4rem;
width:auto;
margin-top:1.2rem;
margin-right:-.4rem;
}
.snslink i{
font-size:2rem;
}
.snslink a{
color:var(--color-white);
}
.snslink a:hover{
opacity:.6;
}
#copyright{
padding:0;
margin:0 auto -2rem;
}

@media screen and (min-width:768px) and (max-width:1024px){

.footer-info .row{
row-gap:1.8rem;
}

.footer-info .col-md-4{
flex:0 0 50%;
max-width:50%;
}

.footer-info .col-md-4:nth-child(1){
order:1;
}

.footer-info .col-md-4:nth-child(3){
order:2;
}

.footer-info .col-md-4:nth-child(2){
order:3;
flex:0 0 100%;
max-width:100%;
}

}

@media screen and (max-width:767px){
.ptop{
display:none;
}
}

/* KEYIMG */
.hero-section{
position:relative;
overflow:hidden;
background-image:url('../img/keyimg.webp');
background-size:cover;
background-position:right center;
height:50vh;
}
.hero-leaves{
position:absolute;
inset:0;
z-index:2;
display:block;
width:100%;
height:100%;
pointer-events:none;
}

.hero-404{
position:relative;
background-image:url('../img/keyimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-study{
position:relative;
background-image:url('../img/studyimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-yojyo{
position:relative;
background-image:url('../img/yojyoimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-items{
position:relative;
background-image:url('../img/itemimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-check{
position:relative;
background-image:url('../img/checkimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-soudan{
position:relative;
background-image:url('../img/soudanimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-about{
position:relative;
background-image:url('../img/aboutimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-form{
position:relative;
background-image:url('../img/formimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-news{
position:relative;
background-image:url('../img/newsimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-life{
position:relative;
background-image:url('../img/lifeimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-foods{
position:relative;
background-image:url('../img/foodimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}
.hero-mental{
position:relative;
background-image:url('../img/mentalimg.webp'); 
background-size:cover;
background-position:right bottom;
height:20vh;
text-align:left;
font-family:"Shippori Mincho", serif;
opacity:.8;
}

.fade-text{
position:absolute;
top:46%;
left:10%;
color:var(--color-cream);
z-index:50;
font-weight:700;
}
.fade-text h1{
text-align:left;
}
.fade-text h1 span,
.fade-text p span{
display:block;
text-align:left;
line-height:2;
}
.fade-text h1,
.fade-text h1 span,
.fade-text p,
.fade-text p span{
opacity:0;
transform:translateX(-30px);
animation:heroFadeIn 2.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.fade-text h1  { animation-delay:0.5s; }
.fade-text h1 span{ animation-delay:2s; }
.fade-text p   { animation-delay:4.2s; }
.fade-text p span{ animation-delay:5.5s; }
@keyframes heroFadeIn{
to{
opacity:1;
transform:translateX(0);
}
}
.fade-text.darks{
color:#4b5026;
}
@media screen and (max-width:767px){
.hero-section{
height:30vh;
background-position:center center;
}
.fade-text{
top:60%;
}
}


/* TITLE */
#allmaincontents h1, h2, h3, h4{
font-family:"Kaisei Opti", serif;
color:#4b5026;
}
h1{
text-align:center;
margin:0 auto 3rem;
font-weight:500;
font-size:clamp(2rem, 4vw, 2.8rem);
}
.myochostyle{
font-family:"Shippori Mincho", serif;
font-weight:600;
margin-bottom:0 !important;
font-size:clamp(1.8rem, calc(0.24vw + 1.71rem), 2rem);
}

.mainttl{
--icon-size:64px;
--icon-inner-size:48px;
--ttl-gap:1.1rem;
--icon-color:#996;
--line-color:rgba(153, 153, 102, 0.35);
--icon-image:none;
position:relative;
margin:0 0 2rem;
padding:0.7rem 0 0.8rem calc(var(--icon-size) + var(--ttl-gap));
color:var(--color-brown);
font-size:clamp(2rem, calc(0.97vw + 1.64rem), 2.8rem) !important;
font-weight:500;
letter-spacing:0.08em;
line-height:1.35;
}
.mainttl::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:var(--icon-size);
height:var(--icon-size);
border-radius:50%;
background-color:var(--icon-color);
background-image:var(--icon-image);
background-repeat:no-repeat;
background-position:center;
background-size:var(--icon-inner-size) auto;
}
.mainttl::after{
content:"";
position:absolute;
left:calc(var(--icon-size) + var(--ttl-gap));
right:0;
bottom:0;
height:1px;
background:var(--line-color);
}

.icon-tea{
--icon-color:#999966;
--line-color:rgba(153, 153, 102, 0.35);
--icon-image:url("../img/icon_tea.svg");
}
.icon-cha{
--icon-color:#d04333;
--line-color:rgba(208, 67, 51, 0.35);
--icon-image:url("../img/icon_tea2.svg");
}
.icon-yojyo{
--icon-color:var(--color-red);
--line-color:rgba(171, 40, 36, 0.35);
--icon-image:url("../img/icon_yojyo.svg");
}
.icon-yakan{
--icon-color:#4f5d3b;
--line-color:rgba(79, 93, 59, 0.35);
--icon-image:url("../img/icon_yakan.svg");
}
.icon-book{
--icon-color:#263526;
--line-color:rgba(38, 53, 39, 0.35);
--icon-image:url("../img/icon_book.svg");
}
.icon-noren{
--icon-color:#8b5a3c;
--line-color:rgba(139,90,60, 0.35);
--icon-image:url("../img/icon_noren.svg");
}
.icon-pen{
--icon-color:#4f5d3b;
--line-color:rgba(79, 93, 59, 0.35);
--icon-image:url("../img/icon_pen.svg");
}
.icon-leaf2{
--icon-color:#4f5d3b;
--line-color:rgba(79, 93, 59, 0.35);
--icon-image:url("../img/icon_leaf2.svg");
}
.icon-mebuki{
--icon-color:#4f5d3b;
--line-color:rgba(79, 93, 59, 0.35);
--icon-image:url("../img/icon_mebuki.svg");
}
.icon-tsubo{
--icon-color:#999966;
--line-color:rgba(153, 153, 102, 0.35);
--icon-image:url("../img/icon_tsubo.svg");
}
.icon-mail{
--icon-color:var(--color-red);
--line-color:rgba(171, 40, 36, 0.35);
--icon-image:url("../img/icon_mail.svg");
}

#allmaincontents .subttl, #allmaincontents .subttl02{
--h3-color:var(--color-brown);
--h3-accent-color:#999966;
margin:0 0 1.4rem;
color:var(--h3-color);
font-family:"Kaisei Opti", serif;
font-size:clamp(1.8rem, 1.6rem + 0.45vw, 2.05rem);
font-weight:500;
line-height:1.6;
}
#allmaincontents .subttl::first-letter{
color:var(--h3-accent-color);
font-size:1.45em;
line-height:1;
padding-right:0.12em;
}
.char-accent {
color: var(--h3-accent-color);
font-size: 1.45em;
line-height: 1;
padding:0 0.12em;
}


#allmaincontents h3.line-green{
--h3-accent-color:#999966;
}
#allmaincontents h3.line-brown{
--h3-accent-color:#9a8470;
}
#allmaincontents h3.line-gold{
--h3-accent-color:#a18f62;
}
#allmaincontents h3.home_soudan{
--h3-accent-color:#999966;
margin:0;
font-size:clamp(1.6rem, calc(0.24vw + 1.51rem), 1.8rem);
}


@media screen and (max-width:767px){
.mainttl{
--icon-size:50px;
--icon-inner-size:32px;
--ttl-gap:0.8rem;
margin-bottom:1.8rem;
padding-top:0.55rem;
padding-bottom:0.65rem;
font-size:1.8rem;
letter-spacing:0.05em;
}
}

/* TEXT */
.red{
color:var(--color-red);
}

/* LINK */
.link01 a{
display:flex;
justify-content:center;
align-items:center;
width:250px;
margin:0 0 0 auto;
padding:.4rem 1.4rem;
border-radius:30px;
background-color:rgba(255,255,255,.4);
border:1px solid var(--color-olive);
color:var(--color-olive);
font-size:1em;
text-decoration:none;
font-family:"Shippori Mincho", serif;
}
.link01.longl a{
width:320px;
padding:.8rem 1.4rem;
}
.link01 a::after{
transform:rotate(45deg);
width:7px;
height:7px;
margin-left:10px;
border-top:1px solid var(--color-olive);
border-right:1px solid var(--color-olive);
content:'';
}
.link01 a:hover{
background-color:var(--color-olive);
color:var(--color-white);
}
.link01 a:hover::after{
border-color:var(--color-white);
}

.link03 a{
display:flex;
justify-content:center;
align-items:center;
width:250px;
margin:0 0 0 auto;
padding:.4rem 1.4rem;
border-radius:30px;
background-color:var(--color-olive);
border:1px solid var(--color-olive);
color:var(--color-white);
font-size:1em;
text-decoration:none;
font-family:"Shippori Mincho", serif;
}
.link03 a::after{
transform:rotate(45deg);
width:7px;
height:7px;
margin-left:10px;
border-top:1px solid var(--color-white);
border-right:1px solid var(--color-white);
content:'';
}
.link03 a:hover{
border-color:var(--color-olive);
color:var(--color-olive);
background:rgba(90,104,48,.1);
}
.link03 a:hover::after{
border-color:var(--color-olive);
}

.link04 a{
display:flex;
justify-content:center;
align-items:center;
width:250px;
margin:0 auto;
padding:.6rem 1.4rem;
border-radius:30px;
background-color:rgba(58,70,53,.8);
border:1px solid var(--color-olive);
color:var(--color-white);
font-size:1.8rem;
text-decoration:none;
font-family:"Shippori Mincho", serif;
}
.link04 a::after{
transform:rotate(45deg);
width:8px;
height:8px;
margin-left:10px;
border-top:1px solid var(--color-white);
border-right:1px solid var(--color-white);
content:'';
}
.link04 a:hover{
border-color:var(--color-olive);
color:var(--color-olive);
background:rgba(90,104,48,.1);
}
.link04 a:hover::after{
border-color:var(--color-olive);
}
.link05 a{
background:var(--color-main_green);
color:var(--color-white);
border:1px solid var(--color-main_green);
border-radius:0;
padding:.6rem 2rem;
font-weight:normal;
margin-top:2rem;
transition:all 1s ease;
font-family:"Shippori Mincho", serif;
}
.link05 a:hover{
background:rgba(55,61,15,.2);
color:var(--color-main_green);
}

/* HOME */
.home01 .card{
border:none;
background:transparent;
}
.home01 .card .cardimg{
position:relative;
display:inline-block;
background-color:var(--color-white);
margin-bottom:4.2rem;
}
.home01 .card .overlay-img{
position:absolute;
bottom:-3rem;
right:4rem;
width:60px;
height:60px;
border:1px solid #ede5cf;
border-radius:50%;
}
.home01 .card .base-img{
opacity:.8;
display:block;
}
.home01 .card p{
font-size:1.4rem;
padding:1.8rem 0;
}
.card-footer{
background:transparent;
border:none;
text-align:right;
margin-top:-1rem;
}
body.home #content.container-fluid{
padding-left:0;
padding-right:0;
max-width:none;
}
.home-news{
margin-top:7rem !important;
}

.introbox{
background:rgba(255, 255, 255, .2);
border:1px solid rgba(95, 100, 60, 0.2);
padding:1.4rem;
}
.introbox h2.subttl{
margin-bottom:2.6rem !important;
}
.introbox p{
padding-bottom:0;
}
.home_intro{
margin-bottom:8rem !important;
}


/* HOME EVENT INFO */
.top-event-bar{
background:#f5f5f5;
mix-blend-mode:multiply;
margin-top:-1em;
margin-bottom:5rem;
padding:1.6rem;
box-shadow:0 3px 3px -2px rgba(0, 0, 0, .2); 
position:relative;
}
.event-badge{
color:var(--color-red);
}
.btn-outline-secondary{
font-size:1.4rem;
border-radius:0;
transition:all .8s ease;
padding:.4rem 1.2rem .4rem 1.4rem;
}

/* HOME NEWS */
.top-news{
margin-top:10rem !important;
}
.top-news-list{
background:rgba(255,255,255,.24);
border:1px solid rgba(95, 100, 60, 0.2);
margin:0 auto;
}
.top-news-list li{
border-bottom:1px solid rgba(95, 100, 60, 0.2);
padding:1rem 1.4rem;
}
.top-news-list li:last-child{
border:none;
}
.top-news-list .top-news-item{
display:flex;
justify-content:space-between;
align-items:center; 
padding:1.4rem 0;
text-decoration:none;
color:var(--color-dark_green);
}
.top-news-list .top-news-item:hover{
background:rgba(65,76,47,.08);
}
.top-news-content{
flex:1;
min-width:0;
display:flex;
flex-direction:column;
gap:0.8rem;
}
.top-news-meta{
display:flex;
align-items:center;
gap:1.5rem;
}
.top-news-title{
display:block;
color:var(--color-dark_green);
line-height:1.4;
}
.top-news-arrow{
position:relative;
flex:0 0 1.6rem;
width:1.6rem;
height:1.6rem;
margin-left:1.5rem;
}
.top-news-arrow::after{
content:"";
position:absolute;
top:50%;
right:0.4rem;
width:0.8rem;
height:0.8rem;
border-top:1.5px solid var(--color-dark_green);
border-right:1.5px solid var(--color-dark_green);
transform:translateY(-50%) rotate(45deg);
transition:right 0.3s ease;
}
.top-news .link01{
margin-top:-3rem;
}

/* HOME BANNER */
.top-news-banner{
position:relative;
min-height:33rem;
background:
linear-gradient(
to right,
rgba(251,250,247,.9) 0%,
rgba(251,250,247,.75) 25%,
rgba(251,250,247,.3) 45%,
rgba(251,250,247,0) 65%
),
url("../img/topbanner.webp") no-repeat center center / cover;
border:1px solid rgba(95,100,60,.2);
padding:2rem;
display:flex;
flex-direction:column;
}
.banner-lead{
font-size:2rem;
color:var(--color-dark_green);
margin-bottom:1.5rem;
font-weight:bold;
}
.top-news-banner p{
font-size:1.4rem;
color:var(--color-dark_green);
line-height:1.6;
}
.banner-btn,
.banner-btn02{
margin-top:auto;
}
.banner-link{
display:inline-flex;
align-items:center;
gap:1rem;
padding:.8rem 2rem;
border:1px solid var(--color-dark_green);
color:var(--color-dark_green);
font-size:1.4rem;
letter-spacing:.05em;
text-decoration:none;
transition:.3s;
font-family:"Shippori Mincho", serif;
}
.banner-link::after{
content:"→";
font-family:sans-serif;
transition:transform .3s;
}
.banner-link:hover{
background:rgba(65,76,47,.1);
border-color:var(--color-mid_green);
color:var(--color-mid_green);
}

.banner-link:hover::after{
transform:translateX(4px);
}

@media (max-width:767.98px){
.top-news-banner{
min-height:26rem;
padding:3rem 2rem;
}
}

/* HOME CONSULT */
.consult-head h2{
margin-bottom:3rem;
text-align:center;
font-size:clamp(2.8rem, 4vw, 4.2rem);
letter-spacing:.12em;
line-height:1.4;
}
.consult-head h2 span{
display:block;
margin-bottom:.6rem;
letter-spacing:1rem;
font-size:clamp(1.2rem, 1.2vw, 1.5rem);
}

.home-consult{
width:100%;
background:rgba(117, 137 ,82, .05);
border-top:1px solid rgba(95, 100, 60, 0.1);
border-bottom:1px solid rgba(95, 100, 60, 0.1);
}
.home-consult .container{
padding:5rem 1.6rem 0;
}
.home-consult .consult-link{
position:relative;
display:flex;
align-items:center;
gap:1.5rem;
min-height:11rem;
padding:2rem 4.2rem 2rem 2rem;
background:rgba(255,255,255,.45);
border:1px solid rgba(65,76,47,.45);
color:var(--color-dark_green);
text-decoration:none;
transition:all .8s ease;
}
.home-consult .consult-link:hover{
background:rgba(65,76,47,.08);
border-color:var(--color-dark_green);
}
.home-consult .consult-icon{
position:relative;
display:block;
flex:0 0 5.4rem;
width:5.4rem;
height:5.4rem;
border:1px solid var(--color-dark_green);
border-radius:50%;
background:transparent;
}
.home-consult .consult-icon::before{
content:"";
position:absolute;
inset:1.15rem;
background:url("../img/icon_leaf.svg") no-repeat center center / contain;
}
.home-consult .consult-link > span:not(.consult-icon){
display:block;
min-width:0;
color:var(--color-dark_green);
font-size:1.8rem;
font-weight:500;
line-height:1.5;
letter-spacing:.04em;
}
.home-consult .consult-link em{
display:block;
margin-top:.5rem;
color:#5f5848;
font-size:1.2rem;
font-style:normal;
font-weight:700;
line-height:1.7;
letter-spacing:.02em;
font-family:"Shippori Mincho", serif;
}
.home-consult .consult-link::after{
content:"";
position:absolute;
right:2rem;
top:50%;
width:.8rem;
height:.8rem;
border-top:1px solid var(--color-dark_green);
border-right:1px solid var(--color-dark_green);
transform:translateY(-50%) rotate(45deg);
transition:all .8s ease;
}
.home-consult .consult-link:hover::after{
right:1.6rem;
}

@media (max-width:767.98px){
.home-consult .consult-link{
gap:1.2rem;
min-height:auto;
padding:1.6rem 3.6rem 1.6rem 1.4rem;
}
.home-consult .consult-icon{
flex:0 0 4.6rem;
width:4.6rem;
height:4.6rem;
}
.home-consult .consult-icon::before{
inset:1rem;
}
.home-consult .consult-link > span:not(.consult-icon){
font-size:1.6rem;
line-height:1.4;
}
.home-consult .consult-link em{
margin-top:.3rem;
font-size:1.3rem;
line-height:1.6;
}
.home-consult .consult-link::after{
right:1.5rem;
}
.home-consult .consult-link:hover::after{
right:1.2rem;
}
}

/* RECCOMEND ITEM */
.taishitsu-products{
padding:3rem 1.6rem 1.6rem !important;
background:rgba(117, 137 ,82, .1);
border:1px solid rgba(95, 100, 60, 0.22);
}
.taishitsu-products-title{
margin:1.6rem;
}
.taishitsu-product-card{
text-align:center;
padding:1.4rem;
display:flex;
flex-direction:column
}
.caticons{
margin-top:auto;
}

.recobox{
padding:1.4rem;
background:rgba(255,255,255,.4);
}
.recobox img{
width:100%;
aspect-ratio:8 / 3;
object-fit:contain;
opacity:.8;
margin:1.4rem 0 0;
}
.recobox h3{
font-size:clamp(1.8rem, 1.6rem + .5vw, 2rem);
margin-bottom:1.6rem;
color:#d04333;
}

.taishitsu-product-name{
font-size:clamp(1.4rem, 1.2rem + 0.5vw, 1.6rem);
display:block;
text-align:center;
margin:0.4rem 0 0.25rem;
line-height:1.4;
white-space:nowrap;
}
.taishitsu-product-name span{
display:block;
font-size:80%;
}
.product-type-icon{
display:inline-block;
padding:2px 8px;
color:var(--color-white);
font-size:1.2rem;
margin-top:1rem;
font-family:"Sawarabi Gothic", sans-serif;
}
.product-type-icon--medicine{
background:#1a4742;
}
.product-type-icon--supplement{
background:#c64333;
}
.product-type-icon--quasi_drug{
background:#afb49d;
}
.product-type-icon--medicine3{
background:#4e7874;
}


/* PRODUCTS */
.taishitsu-product-card{
background:rgba(117, 137 ,82, .1);
border:1px solid rgba(95, 100, 60, 0.22);
}

body.post-type-archive-products .taishitsu-product-card, body.post-type-archive-other-products .taishitsu-product-card{
border:1px solid #ddd;
}
body.post-type-archive-products .taishitsu-product-name, body.post-type-archive-other-products .taishitsu-product-name{
font-size:clamp(1.4rem, 1.2rem + 0.5vw, 1.8rem);
margin-bottom:2rem;
border-bottom:1px dashed #ccc !important;
padding-bottom:.6rem;
}
body.post-type-archive-products .taishitsu-product-card p, body.post-type-archive-other-products .taishitsu-product-card p{
text-align:left;
}


/* SYMPTON */
.itemlist_mainsec{
margin-top:4rem !important;
}
.itementry-title a{
display:inline-block;
position:relative;
background:rgba(255, 255, 255, 0.2);
border:1px solid #c7c2a5;
padding:1.6rem;
font-family:"Shippori Mincho", serif;
max-width:100%;
width:100%;
}
.itementry-title a::after{
content:"\F285";
font-family:"bootstrap-icons";
position:absolute;
right:1.4rem;
top:50%;
transform:translateY(-50%);
color:#5a5f39;
line-height:1;
}
.itementry-title a:hover{
background:rgba(255, 255, 255, 0.8);
color:#5a5f39;
}
.typelinks img{
border:1px solid #c7c2a5;
opacity:.8;
}
.symptom-yojyo .yojyo-list{
row-gap:2.4rem;
}
.symptom-yojyo .recyo{
padding:2.2rem 2.4rem;
background:rgba(255, 255, 255, 0.2);
border:1px solid #c7c2a5;
}
.symptom-yojyo .recyo h3{
color:var(--color-red);
font-size:1.9rem;
font-weight:500;
line-height:1.5;
margin-bottom:1.6rem;
}
.symptom-yojyo .recyo p{
padding:0;
}
.olimg img{
border:1px solid #c7c2a5;
opacity:.8;
}

.listbox01{
padding:2.4rem 2.8rem;
background:rgba(255,255,255,.18);
border-top:1px solid rgba(95,100,60,.28);
border-bottom:1px solid rgba(95,100,60,.28);
}
.listbox01 li{
position:relative;
padding:1rem 0 1rem 1.8rem;
border-bottom:1px solid rgba(95,100,60,.14);
line-height:1.8;
}
.listbox01 li:last-child{
border-bottom:0;
}
.listbox01 li::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:.55rem;
height:.55rem;
background:var(--color-mid_green);
}

.consult-column{
margin-bottom:14rem !important;
background:rgba(255,153,153,.05);
border-left:5px solid rgba(255,153,153,.15);
}
.consult-column .col-md-12{
padding:2rem 2rem 0 3rem;
}
.consult-column h2{
font-size:clamp(2rem, calc(0.97vw + 1.64rem), 2.8rem) !important;
color:rgba(255,153,153,1);
margin:2rem 0 3rem;
}
.consult-column h2 span{
display:inline-block;
font-size:clamp(1.4rem, 1.2rem + 0.5vw, 1.6rem);
color:var(--color-white);
background:rgba(255,153,153,.7);
margin-right:1.6rem;
padding:.4rem .8rem;
text-align:center;
border-radius:3px;
}
.consult-column-text{
max-width:92rem;
}
.consult-column p{
line-height:2.1;
font-family:'Zen Maru Gothic', sans-serif;
}

.checklist{
margin:1.8rem 0 0 ;
padding:0;
}
.checklist br{
display:none;
}
.checklist li{
display:flex;
align-items:center;
gap:0 5px;
margin:0;
padding:0;
line-height:1.7;
}
.checklist li::before{
display:inline-block;
width:10px;
height:5px;
border-bottom:2px solid rgba(255,153,153,1);
border-left:2px solid rgba(255,153,153,1);
transform:rotate(-45deg) translateY(-1.5px);
content:'';
}

.symptomdetsec .row.yomimono{
margin-bottom:-4rem !important;
}

.tsubosec img{
width:100%;
aspect-ratio:4 / 3;
object-fit:cover;
opacity:.5;
}
.tsubosec h3{
text-align:center;
}

@media (max-width:767px){
.consult-column{
margin:5rem 0;
border-left:3px;
}

.consult-column-text p{
line-height:2;
}
}


/* FAQ */
.faq-accordion{
margin:0 auto;
}
.faq-accordion .accordion-item{
border:0;
overflow:hidden;
background:rgba(255,255,255,.2);
box-shadow:none;
}
.accordion-item{
margin-bottom:3rem;
}
.faq-accordion .accordion-item + .accordion-item{
margin-top:2rem;
}
.faq-accordion .accordion-header{
margin:0;
}
.faq-accordion .accordion-button{
position:relative;
padding:1.35rem 3.5rem 1.35rem 4rem;
background:rgba(255,255,255,.1);
color:#3f3a34;
font-family:"Shippori Mincho", serif;
font-size:clamp(1.4rem, calc(0.36vw + 1.26rem), 1.7rem);
line-height:1.7;
box-shadow:none;
border:1px solid #5f6f52;
}
.faq-accordion .accordion-button::before{
content:"Q";
position:absolute;
left:1.4rem;
top:50%;
transform:translateY(-50%);
width:2rem;
height:2rem;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#5f6f52;
color:var(--color-white);
font-family:"Kaisei Opti", serif;
font-size:1rem;
}
.faq-accordion .accordion-button::after{
width:.75rem;
height:.75rem;
margin-left:auto;
border-right:1.5px solid #5f6f52;
border-bottom:1.5px solid #5f6f52;
transform:rotate(45deg);
background:none;
}
.faq-accordion .accordion-button:not(.collapsed){
background:rgba(134,133,101,.2);
color:#3f3a34;
}
.faq-accordion .accordion-button:not(.collapsed)::after{
transform:rotate(-135deg);
}
.faq-accordion .accordion-body{
position:relative;
padding:2rem 2rem 1.6rem 4rem;
color:#4f463f;
line-height:2;
background:#fbfaf7;
}
.faq-accordion .accordion-body::before{
content:"A";
position:absolute;
left:1.4rem;
top:2.4rem;
width:2rem;
height:2rem;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:var(--color-vermillion);
color:var(--color-white);
font-family:"Kaisei Opti", serif;
font-size:1rem;
}

@media screen and (max-width:767px){
.faq-accordion .accordion-button{
padding:1.1rem 3rem 1.1rem 3.3rem;
}
.faq-accordion .accordion-button::before,
.faq-accordion .accordion-body::before{
left:1rem;
width:1.8rem;
height:1.8rem;
font-size:.9rem;
}
.faq-accordion .accordion-body{
padding:1.6rem 1.2rem 1.4rem 3.3rem;
}
}

/* BODY TYPE */
.typelist .col-md-4{
padding-bottom:1.8rem;
}
.bbox{
height:100%;
display:flex;
flex-direction:column;
background:rgba(255,255,255,.2);
border:1px solid rgba(95,100,60,.22);
}
.bbox h3{
padding-bottom:.7rem;
font-size:clamp(1.8rem, 1.6rem + .5vw, 2rem);
line-height:1.45;
letter-spacing:.08em;
color:var(--color-dark_olive);
border-bottom:1px solid rgba(95,100,60,.18);
}
.bbox img{
width:100%;
opacity:.8;
}
.bbox .textsec{
flex:1;
display:flex;
flex-direction:column;
padding:1.4rem;
position:relative;
}
.bbox .textsec p{
margin:1.2rem 0;
}
.bbox .link02{
margin-top:auto;
text-align:right;
margin-bottom:1rem;
}
.link02 a{
border:1px solid rgba(95,100,60,.5);
color:var(--color-dark_olive);
background:rgba(250,250,250,.2);
padding:.8rem 1rem;
font-family:"Shippori Mincho", serif;
}
.link02 a:hover{
background:rgba(95,100,60,.9);
border-color:rgba(95,100,60,.9);
color:var(--color-white);
}

/* TYPE CHECK */
#shindan-app{
padding:3rem 3.4rem;
background:rgba(255,255,255,.2);
border:1px solid rgba(38, 53, 39, 0.35);
}
.shindan-progress-bar{
height:3px;
background:rgba(95,100,60,.18);
margin-bottom:1.2rem;
}
.shindan-progress-fill{
height:2px;
background:#d04333;
transition:width .3s ease;
}
.shindan-step-label{
color:#7a765f;
margin:0 0 1.2rem;
font-family:"Kaisei Opti", serif;
font-size:1.6rem;
line-height:1.4;
}
.shindan-step-title{
margin:0 0 2rem;
font-family:"Kaisei Opti", serif;
font-size:clamp(1.8rem, 1.6rem + .5vw, 2rem);
line-height:1.6;
color:var(--color-dark_olive);
}
.shindan-check-item{
display:flex;
align-items:flex-start;
gap:1rem;
padding:1.1rem 0;
border-bottom:1px solid rgba(95,100,60,.14);
}
.shindan-check-item:last-of-type{
border-bottom:none;
}
.shindan-check-item label{
line-height:1.8;
cursor:pointer;
color:#333;
}
.shindan-check-item input[type="checkbox"]{
appearance:none;
-webkit-appearance:none;
margin-top:.65rem;
flex-shrink:0;
cursor:pointer;
width:1.6rem;
height:1.6rem;
border:1px solid rgba(95,100,60,.45);
background:transparent;
position:relative;
}
.shindan-check-item input[type="checkbox"]:checked{
background:var(--color-mid_green);
border-color:var(--color-mid_green);
}
.shindan-check-item input[type="checkbox"]:checked::after{
content:"";
position:absolute;
width:.45rem;
height:.8rem;
border-right:2px solid var(--color-white);
border-bottom:2px solid var(--color-white);
transform:rotate(45deg);
top:.2rem;
left:.5rem;
}
.shindan-btn-row{
display:flex;
gap:1.2rem;
margin:2.4rem 0 0;
}
.shindan-btn{
flex:1;
padding:1rem 1.4rem;
border:1px solid rgba(95,100,60,.35);
background:rgba(255,255,255,.12);
color:var(--color-dark_olive);
cursor:pointer;
font-family:"Shippori Mincho", serif;
font-size:1.5rem;
transition:all .4s ease;
}
.shindan-btn:hover{
background:rgba(95,100,60,.12);
}
.shindan-btn-primary{
background:var(--color-mid_green);
border-color:var(--color-mid_green);
color:var(--color-white);
}
.shindan-btn-primary:hover{
background:var(--color-main_green);
border-color:var(--color-main_green);
color:var(--color-white);
}
.shindan-result-title{
margin:0;
padding:0;
font-family:"Kaisei Opti", serif;
font-size:clamp(2rem, 1.7rem + .8vw, 2.4rem);
color:var(--color-dark_olive);
}
.shindan-result-card{
border:1px solid rgba(95,100,60,.22);
background:rgba(255,255,255,.18);
padding:2rem 2.4rem;
margin:1.6rem 0;
}
.shindan-result-main{
border-color:rgba(162,41,36,.45);
background:rgba(255,255,255,.28);
}
.shindan-result-label{
color:#7a765f;
margin:0 0 .4rem;
font-size:1.3rem;
}
.shindan-result-name{
margin:0 0 .4rem;
font-family:"Kaisei Opti", serif;
font-size:clamp(1.9rem, 1.6rem + .6vw, 2.2rem);
color:var(--color-dark_olive);
}
.shindan-result-count{
color:var(--color-vermillion);
margin:0 0 1.2rem;
}
.shindan-result-card .shindan-checked-items{
margin:1.2rem 0 0;
padding:1rem 0 0;
list-style:none;
border-top:1px solid rgba(95,100,60,.16);
}
.shindan-checked-items li{
color:#555;
padding:.4rem 0;
display:flex;
align-items:flex-start;
gap:.8rem;
line-height:1.6;
}
.shindan-checked-items li::before{
content:"";
display:block;
flex-shrink:0;
width:.35rem;
height:.65rem;
border-right:1px solid var(--color-vermillion);
border-bottom:1px solid var(--color-vermillion);
transform:rotate(45deg);
margin-top:.7rem !important;
}
p.shindan-no-result{
padding:2rem 0 3rem;
}
.shindan-type-link{
display:inline-flex;
align-items:center;
justify-content:space-between;
gap:1.6rem;
min-width:18rem;
padding:1rem 1.2rem;
border:1px solid rgba(95,100,60,.5);
background:rgba(250,250,250,.2);
color:var(--color-dark_olive);
font-family:"Shippori Mincho", serif;
font-size:1.4rem;
text-decoration:none;
}
.shindan-type-link:hover{
background:rgba(95,100,60,.9);
border-color:rgba(95,100,60,.9);
color:var(--color-white);
}
.shindan-result-card .shindan-type-link{
margin:1.6rem 0 0 auto;
display:flex;
width:max-content;
}
#shindan-app .shindan-type-links h3{
padding-bottom:0;
margin:1.6rem 0 -1rem;
}
.btypelinks a{
display:block;
padding:1.2rem;
border:1px solid rgba(95,100,60,.22);
background:rgba(255,255,255,.16);
font-family:"Shippori Mincho", serif;
text-align:center;
}
.btypelinks a:hover{
background:rgba(162,41,36,1);
color:var(--color-white);
}

@media screen and (max-width:767px){
#shindan-app{
padding:2.2rem 1.6rem;
}
.shindan-step-label{
font-size:1.4rem;
}
.shindan-check-item{
gap:.8rem;
padding:1rem 0;
}
.shindan-check-item input[type="checkbox"]{
width:1.8rem;
height:1.8rem;
margin-top:.55rem;
}
.shindan-check-item input[type="checkbox"]:checked::after{
top:.25rem;
left:.55rem;
}
.shindan-btn-row{
display:block;
}
.shindan-btn{
width:100%;
margin-bottom:1rem;
}
.shindan-result-card{
padding:1.6rem;
}
.shindan-checked-items li{
gap:.7rem;
}
}

/* FLOW */
.soudanflow{
margin-top:6rem !important;
}
.flow-item{
margin-bottom:2.5rem;
}
.flow-box{
position:relative;
background:rgba(255,255,255,.4);
padding:2.5rem 1.8rem 0;
font-family:'Zen Maru Gothic', sans-serif;
}
.flow-box::after{
content:"";
position:absolute;
right:0;
bottom:0;
width:6rem;
height:6rem;
border-right:1px solid rgba(162,41,36,.3);
border-bottom:1px solid rgba(162,41,36,.3);
pointer-events:none;
}
.flow-num{
position:absolute;
top:-2.2rem;
left:2rem;
width:5.5rem;
height:5.5rem;
margin:0;
display:flex;
align-items:center;
justify-content:center;
background:var(--color-vermillion);
border:2px solid var(--color-cream);
border-radius:50%;
z-index:2;
margin-bottom:.3rem;
font-size:1.35rem;
letter-spacing:.08em;
color:var(--color-vermillion);
font-family:"Kaisei Opti", serif;
}
.flow-num span{
display:block;
color:var(--color-white);
font-size:4rem;
line-height:1;
transform:translateY(.6rem);
}
.flow-img img{
width:100%;
aspect-ratio:4/3;
object-fit:cover;
opacity:.8;
}
.flow-box h3{
margin-bottom:1.8rem;
font-size:clamp(1.8rem, calc(0.48vw + 1.62rem), 2.2rem);
color:var(--color-vermillion);
}
@media (max-width:767px){
.flow-box{
margin-bottom:1.8rem;
padding:1.1rem;
}
.flow-item{
margin-bottom:1.8rem;
}
.flow-num{
width:4.6rem;
height:4.6rem;
}
.flow-num span{
font-size:2.8rem;
transform:translateY(.8rem);
}
}

/* ACCESS */
.access-map iframe{
width:100%;
height:38rem;
display:block;
border:0;
filter:saturate(20%);
}
.adressbox, .forfirst{
border:1px solid rgba(211,200,184,.6);
background:rgba(211,200,184,.14);
padding:1.4rem;
}
.adressbox h3{
color:var(--color-main_green);
font-size:clamp(1.8rem, calc(0.24vw + 1.71rem), 2rem);
letter-spacing:4px;
margin-bottom:1rem;
}
.adressbox p{
padding:0 0 .3rem 3.8rem;
}
.adressbox li{
padding:1.4rem 0;
border-bottom:1px solid rgba(211,200,184,.6);
}
.adressbox li:last-child{
border:none;
}
.adressbox a{
font-size:clamp(2rem, calc(0.73vw + 1.73rem), 2.6rem);
color:#8b5a3c;
}
.adressbox a:hover{
color:#6f8033;
}
.forfirst{

}
.access-gallery{
margin-top:4rem;
}

.access-gallery-item{
margin:0;
overflow:hidden;
}

.access-gallery-item img{
width:100%;
/*aspect-ratio:4 / 3;*/
object-fit:cover;
display:block;
}

/* NEWS */
.news-archive{
padding:6rem 0;
background:var(--color-cream);
}
.news-archive .page-header{
margin:0 0 2rem;
text-align:center;
}
.news-archive .page-title{
margin:0;
color:var(--color-brown);
font-size:clamp(2.4rem, 3vw, 3.2rem);
font-weight:500;
line-height:1.5;
letter-spacing:.08em;
}
.leadtext{
margin:0 0 3.5rem;
color:var(--color-brown);
font-size:1.6rem;
line-height:1.9;
text-align:center;
}
.news-list{
background:rgba(255,255,255,.35);
}
.news-list article{
margin:0;
}
.news-list article a{
display:grid;
grid-template-columns:11rem 8rem 1fr 2rem;
align-items:center;
gap:2rem;
padding:2.2rem 3rem;
color:var(--color-brown);
text-decoration:none;
border-bottom:1px solid rgba(95,100,60,.18);
transition:all .8s ease;
}
.news-list article:first-child a{
border-top:1px solid rgba(95,100,60,.18);
}
.news-list article a::after{
content:"";
width:.8rem;
height:.8rem;
border-top:1px solid var(--color-mid_green);
border-right:1px solid var(--color-mid_green);
transform:rotate(45deg);
}
.news-list time{
color:#5f5848;
font-size:1.5rem;
letter-spacing:.05em;
white-space:nowrap;
}
.news-list .cat, .top-news-meta span{
display:inline-flex;
align-items:center;
justify-content:center;
width:7.2rem;
padding:.45rem 1rem;
background:#4f673f;
color:var(--color-white);
font-size:1.2rem;
line-height:1;
}
.news-list .cat.events, .top-news-meta .cat-events{
background:var(--color-red);
}
.news-list h2{
margin:0;
color:var(--color-brown);
font-size:clamp(1.7rem, 2vw, 2rem);
font-weight:500;
line-height:1.6;
letter-spacing:.04em;
}
.pager{
margin-top:3rem;
text-align:center;
}
.pager .page-numbers{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:3.2rem;
height:3.2rem;
margin:0 .4rem;
padding:0 .8rem;
color:var(--color-brown);
font-size:1.4rem;
text-decoration:none;
}
.pager .page-numbers.current{
background:var(--color-mid_green);
color:var(--color-white);
}
.news-list article a:hover{
background:rgba(95,100,60,.2);
}
.news-list article a:hover h2{
color:var(--color-brown);
}

header.bloghead time{
display:block;
text-align:right;
margin-bottom:2rem;
}
.blogbox{
background:rgba(255,255,255,.4);
padding:1.6rem;
border:1px solid rgba(139,90,60, 0.35);
}

@media (max-width:767.98px){
.news-archive{
padding:4rem 0;
}
.news-archive .page-header{
text-align:left;
}
.leadtext{
margin-bottom:2.5rem;
text-align:left;
}

.news-list article a{
position:relative;
grid-template-columns:1fr auto;
gap:1rem;
padding:1.8rem 4rem 1.8rem 1.2rem;
}
.news-list time{
grid-column:1 / 2;
font-size:1.4rem;
}
.news-list .cat{
grid-column:2 / 3;
width:6.8rem;
font-size:1.1rem;
}
.news-list h2{
grid-column:1 / 3;
font-size:1.6rem;
line-height:1.6;
}
.news-list article a::after{
position:absolute;
right:1.2rem;
top:50%;
transform:translateY(-50%) rotate(45deg);
}
}

/* ABOUT */
.staffinfo .col-md-10{
background:rgba(2255,255,255,.4);
border:1px solid rgba(139,90,60, 0.15);
padding:2rem 2rem 0;
}
.staffinfo h3{
font-size:clamp(2rem, calc(0.97vw + 1.64rem), 2.8rem);
}
.staff-licenses{
margin-bottom:1.8rem;
background:rgba(104,50,40,.1);
padding:1.2rem;
}

/* STUDY */
.chui-feature-item{
background:rgba(117, 137, 82, .05);
padding:1.4rem;
}
.study-feature img{
opacity:.8;
}
.chui-feature-text h2{
margin:0 0 1.2rem;
color:var(--color-brown);
font-size:clamp(1.9rem, 1.6rem + 0.8vw, 2.4rem);
font-weight:500;
line-height:1.5;
letter-spacing:.06em;
}
.chui-feature-text{
position:relative;
margin:1.8rem 0;
padding:0 0 0 6.8rem;
text-align:left;
}

.chui-feature-text::before{
content:"";
position:absolute;
left:0;
top:.2rem;
width:4.8rem;
height:4.8rem;
border-radius:50%;
background-color:var(--color-mid_green);
background-repeat:no-repeat;
background-position:center center;
background-size:3rem auto;
}
.chui-feature-item-1 .chui-feature-text::before{
background-image:url("../img/icon_leaf2.svg");
}
.chui-feature-item-2 .chui-feature-text::before{
background-image:url("../img/icon_book.svg");
}
.chui-feature-item-3 .chui-feature-text::before{
background-image:url("../img/icon_tea.svg");
}

.chui-feature-text h3{
margin:0 0 .8rem;
color:var(--color-brown);
font-size:clamp(1.6rem, calc(0.24vw + 1.51rem), 1.8rem);
font-weight:500;
line-height:1.5;
letter-spacing:.06em;
text-align:left;
}
.chui-feature-text h3 span{
font-size:clamp(1.2rem, calc(0.24vw + 1.11rem), 1.4rem);
}
.chui-feature-text h3 span.fi_key{
display:block;
}

.study-other img{
mix-blend-mode:multiply;
opacity:.8;
}

@media screen and (max-width:767px){
.chui-feature{
padding:4.5rem 0;
}
.chui-feature-text{
margin:-2.8rem auto 0;
padding:4.8rem 1rem 0;
}
.chui-feature-text::before{
width:5.6rem;
height:5.6rem;
background-size:3rem auto;
}
.chui-feature-text h2{
font-size:1.9rem;
}
.chui-feature-text h3{
margin-top:2.4rem;
}
}

/* YOJYO */
.yojyo-link .row{
align-items:stretch;
}
.yojyo-link .col-md-4{
display:flex;
flex-direction:column;
}
.yojyo-link .link01{
margin-top:auto;
}
.yojyo-link img{
opacity:.8;
}

.life03 h3, .food02 h3, .mental02 h3{
color:var(--color-red);
}

.resultbox{
position:relative;
background:rgba(65,76,47,.08);
padding:3.5rem 4rem;
overflow:hidden;
}

.resultbox::after{
content:"";
position:absolute;
right:-10rem;
bottom:0;
width:60rem;
height:36rem;
background:url(../img/resultimg.svg) no-repeat center/contain;
opacity:.34;
pointer-events:none;
}

.resultbox p{
position:relative;
z-index:1;
margin:0;
}

.magicalbox{
padding:1.8rem 1.8rem 0;
}

@media(max-width:767px){
.resultbox{
padding:2.5rem 2rem;
}

.resultbox::after{
right:1rem;
bottom:1rem;
width:9rem;
height:9rem;
}
}

/* FORM */
.smf-form--business .smf-item__col--label{
background:rgba(117, 137 ,82, .1);
}
.wp-block-snow-monkey-forms-item.smf-item{
background:rgba(255,255,255,.2);
}

.form-flex .smf-item__controls{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:0.5rem 1rem;
}
.form-flex .smf-item__controls > .wp-block-preformatted{
flex-basis:100%;
margin:1rem 0 0;
white-space:normal;
}
.form-flex .smf-item__controls > .wp-block-preformatted:first-child{
margin-top:0;
}
.form-flex .smf-item__controls > .wp-block-columns{
flex:0 0 auto;
width:auto;
}
.form-flex .smf-item__controls > .wp-block-columns .wp-block-column{
flex-basis:auto !important;
width:auto;
}
[data-screen="confirm"] .hide-on-confirm{
display:none;
}
.smf-item:has([data-validations*="required"]) .smf-item__label::before{
content:"必須";
display:inline-flex;
align-items:center;
justify-content:center;
padding:5px;
background:var(--color-main_green);
color:var(--color-white);
font-weight:700;
line-height:1;
letter-spacing:.4em;
text-indent:.4em;
flex:0 0 auto;
font-size:1rem;
margin-right:.6rem;
}

.smf-form{
--_form-control-border-color-hover:var(--color-main_green);
--_form-control-border-color-focus:var(--color-main_green);
--_global--border-radius:0;
}

.smf-form .smf-text-control__control:focus-within,
.smf-form .smf-textarea-control__control:focus-within,
.smf-form .smf-select-control__control:focus-within{
box-shadow:0 0 0 .15rem rgba(55, 61, 15, .2);
}

.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control,
.smf-form .smf-select-control__control{
padding:1.4rem;
}
.smf-form .smf-select-control__control{
padding:1.1rem 3rem 1.1rem 1.4rem !important;
}
.smf-form .smf-text-control__control:focus-within,
.smf-form .smf-textarea-control__control:focus-within{
background-color:rgba(55, 61, 15, .02);
}

/* ヘッダー（月・年の切り替え部分）を濃い緑に */
.ui-datepicker .ui-datepicker-header{
background:var(--color-main_green);
}

/* 曜日ヘッダーの「日」を赤に（7列目＝一番右） */
.ui-datepicker .ui-datepicker-calendar thead th:nth-child(7){
color:var(--color-red);
}

/* 日付セルの日曜日を赤に（7列目＝一番右） */
.ui-datepicker .ui-datepicker-calendar tbody td:nth-child(7) a.ui-state-default{
color:var(--color-red);
}

/* 選択された日の背景をヘッダーと同じ濃い緑に／青いborderを消す */
.ui-datepicker .ui-datepicker-calendar td a.ui-state-active{
background:var(--color-main_green);
color:var(--color-white);
border-color:var(--color-main_green);
}

/* ヘッダーの矢印アイコンを白に */
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon{
filter:brightness(0) invert(1);
}
/* カレンダー全体の背景（詳細度を上げて確実に効かせる） */
.ui-datepicker.ui-widget-content{
background:#f1f3ee;
}

/* カレンダーのテーブル自体の背景も透明にして、親の色を透かす */
.ui-datepicker .ui-datepicker-calendar{
background:transparent;
}

/* 日付枠のデフォルト背景を白に／日付のフォントをゴシック体に */
.ui-datepicker .ui-datepicker-calendar td a.ui-state-default{
background:var(--color-white);
font-family:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", sans-serif;
}

/* 送信・確認ボタン（進む系）：濃い緑の塗りつぶし */
.smf-action .smf-button-control__control[data-action="confirm"],
.smf-action .smf-button-control__control[data-action="complete"]{
background:var(--color-main_green);
color:var(--color-white);
border:1px solid var(--color-main_green);
border-radius:0;
padding:1rem 2rem;
font-weight:normal;
transition:opacity .2s;
}

.smf-action .smf-button-control__control[data-action="confirm"]:hover,
.smf-action .smf-button-control__control[data-action="complete"]:hover{
opacity:.8;
}

/* 戻るボタン：控えめなアウトライン */
.smf-action .smf-button-control__control[data-action="back"]{
background:var(--color-white);
color:var(--color-main_green);
border:1px solid var(--color-main_green);
border-radius:0;
padding:1rem 2rem;
transition:background-color .2s;
}

.smf-action .smf-button-control__control[data-action="back"]:hover{
background:rgba(55, 61, 15, .08);
}

.snow-monkey-forms-turnstile{
width:fit-content;
margin:0 auto;
}


/*　LINE SECTION */
.line-icon{
display:inline-block;
max-width:20px;
}