@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/*
Theme Name: 花真珠 
Description: 花真珠
Version: 1.0
Author: 花真珠
*/

*,*::before,*::after{box-sizing:border-box}
html,body{
    height:100%; 
    overflow-x:hidden; 
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height:1.75; 
    background:#EBDDDD;
}

img{
    max-width:100%; 
    height:auto; 
    display:block
}

a{
    color:inherit; 
    text-decoration:none
}

* {
    margin: 0;
    padding: 0;
    color: #2f140f;
}
  

/* ヘッダー */
.topbar {
    width: 100%;
    height: auto;
    background-color: #EBDDDD;
}

.topbar-inner {
    width: 100%;
    height: 100px;
    background-color: #d19493;
    max-width: var(--max);   
    padding: .6rem .9rem;
    margin: 0 auto;
    display: flex; 
    align-items: center; 
    justify-content: space-between;
    position: relative;
}

.hamburger{
	position: relative;
	cursor: pointer;
    width: 50px;
    height:50px;
    background: transparent;       
    border: none; 
	z-index: 1100;
}

.hamburger__line{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
	background: #fff;  
  	width: 45%;
  }

.hamburger__line:nth-of-type(1) {
	top:15px;	
}

.hamburger__line:nth-of-type(2) {
	top:23px;
}

.hamburger__line:nth-of-type(3) {
	top:31px;
}

.hamburger.active .hamburger__line:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.hamburger.active .hamburger__line:nth-of-type(2) {
	opacity: 0;
}

.hamburger.active .hamburger__line:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

#nav-menu {
    position: fixed;
    top: 10%;
    left: 0;
    width: 300px;
    height: 90vh;
    background-color: #d19493;
    box-shadow: 2px 0 4px rgba(0,0,0,.1);
    transform: translateX(-100%);
    transition: transform .4s;
    z-index: 90;
}
  
#nav-menu.active {
    transform: translateX(0);
}
  
#nav-menu .nav__list {
    margin: 0;
    padding: 60px 0 0;
    list-style: none;
}
  
#nav-menu .nav__item {
    padding: 0 20px;
}
  
#nav-menu .nav__link {
    display: block;
    padding: 10px 0;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #eee;
}

#nav-menu .nav__item a{
    color: #fff;
    text-decoration: none;
    opacity: .95;
}

#nav-menu .nav__item a:hover{
    opacity: 1;
    color: #2f140f;
} 

.brand {
    width: 10%;
    height: 40%;
    margin: 0 auto;
    transform: translate(50%,-40%);   
}

.brand img {
    width: 100%;
    height: auto;
}

.brand small {
    font-family: BrandonGrotesque Light;
    margin: 0 auto;
    font-weight: normal;
    font-style: normal;
    display: block;    
    margin-top: .15rem;
    letter-spacing: .12em;
    font-size: .65rem;
    text-align: center;
    color: #fff;
}

.utility-nav {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    position: relative;  
    top: -5px;   
    transform: translate(30px, -5px);
}

.cart,.contact span{
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9rem;
    padding: 0.35rem 0.6rem;
    color: #fff;
}

.cart img {
    width: 30%;
    height: 30%;
}

.notice{
    color:#6a3e45; 
    font-size:.75rem; 
}

.notice-inner{
    max-width:var(--max);  
    margin:auto;
    padding:.35rem .9rem;  
    text-align:center; 
    white-space:nowrap; 
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}

.bar { 
    display: inline; 
}

.br-sm { 
    display: none; 
}

/* ヒーロー */
.hero{
    width: 100vw;
    height: auto;
    height:52vh; 
    overflow:hidden;
    height: 100vh;
}

.hero img {     
    width: 100%;
    height: 100%;          
    object-fit: cover;     
    object-position: 20% 100%;    
}

/* セクション共通 */
section{
    scroll-margin-top:70px
}

/* 2カラムセクション */
.about{
    width: 100%;
    margin: 0 auto;
    padding: 40px 16px;
    display: flex;
}

.about-inner-1{
    padding:1rem 0;    
    width:50%; 
    display:flex; 
    flex-direction: column;
}

.about-inner-2{
    padding:1rem 0; 
    width:50%; 
    display:flex; 
    align-items:left;
    flex-direction: column;
    margin-top: 120px;
}

.txt-1 {
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items:end;
}

.txt-2 {
    width: auto;
    height: auto;
    display: flex;
    align-items: start;
    flex-direction: column;
    padding-left: 30px;
}

.about .txt-1 h2 {
    padding-right: 6rem;
}

.about .txt-1 h2, .txt-2 h2 { 
    margin:0 0 1.5rem; 
    line-height:1.6; 
    white-space: nowrap;
	font-size: 24px;
}

.about .txt-1 h2,.txt-1 p {
    white-space: nowrap;
}

.about .txt-1 p, .txt-2 p { 
    margin:.5rem 0; 
    line-height:1.8; 
    white-space: nowrap;
}

.about .pic-1 {
    width: 20%;
	height: auto;
    margin-left: 45%;
}

.about .pic-1 img { 
    width: 40%;
	height: auto;
    display: block;
}

.about .pic-2 {
    width: 38%;
    margin-left: 33%;
}
.about .pic-2 img { 
    width: 80%;
    display: block;
}

/* 3カラム画像 */
.gallery{
    width: min(100%, var(--max));
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
  
.card.align-left,
.card.align-center,
.card.align-right {
    position: relative;
    overflow: hidden; 
    height: 90vh;
    width: 100%;
}

.card.align-left img { 
	width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
	object-position: 65% 5%;
    transform: scale(1.0); 
}

.card.align-center img {
	width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
	transform: scale(1.1); 	
}
  
.card.align-right img {
	width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform-origin: 75% 5%;
	transform: scale(1.1); 
}
  
.caption{
    position: absolute;
    top: 9%;
    left: 50%; 
    transform: translateX(-50%); 
    line-height: 1.8;
    color: var(--ink);
    text-align: center; 
    max-width: 260px;
}

.caption .lead{ 
    margin: 0 0 .4rem; 
    font-size: clamp(.95rem, 1.6vw, 1.05rem);
    white-space: nowrap;  
}

.caption h3{ 
    margin: 0 0 .6rem; 
    font-weight: 700; 
    font-size: clamp(1rem, 1.8vw, 1.15rem); 
    color: #d86c6c;
    white-space: nowrap;
}

.caption h3 span{ 
    color: var(--brand); 
}
  
.btn{
    display:inline-block;
    font-size: .82rem;
    padding: .35rem .6rem;
    border: 1px solid #323333;
    text-decoration: none;
    color: var(--ink);
}
  
/*カテゴリー*/
.categories{
    width: min(100%, var(--max));
    margin: 0 auto;
    padding: 56px 0 0 0;
}
  
.cat-title{
    text-align: center;
    margin: 0 0 30px;
    line-height: 1.4;
    color: var(--ink);
}

.cat-title span{ 
    font-size: clamp(1.1rem, 2.2vw, 1.6rem); 
    letter-spacing:.12em; 
}

.cat-title small{ 
    display:block; 
    font-size:.85rem; 
    opacity:.8; 
}
  
.cat-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0; 
}
  
.cat-card.zoom1,
.cat-card.zoom2,
.cat-card.zoom3,
.cat-card.zoom4 {
    position: relative;
    display: block;
    aspect-ratio: 16 / 6;          
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.cat-card.zoom1  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: scale(1.6);
    object-position: 30% 100%;
}
  
.cat-card.zoom2  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: scale(1.8);
    object-position: 40% 75%;
}
  
.cat-card.zoom3 .img-wrap {
    width: auto;
    height: auto;
    overflow: hidden;      
    position: relative;
}
  
.cat-card.zoom3 .img-wrap img {
    width: 130%;            
    height: 130%;
    object-fit: cover;
    transform: rotate(35deg) scale(1.1) translateX(-30%) translateY(-25%);
    transform-origin:center;
}

.cat-card.zoom4  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: scale(1.4);
    object-position: 30% 90%;
}

.cat-card .label{
    position: absolute;
    inset: 0;
    display: grid;
    text-align: center;
    pointer-events: none;
    left: 50%; 
    transform: translateX(-50%); 
}

.cat-card .label h2 {
    display:block;
    font-size: clamp(1.4rem, 3.2vw, 2.2rem);
    letter-spacing: .18em;
    transform: translateY(60%);
    white-space: nowrap; 
}

.cat-card .label em{
    display:block;
    font-style: normal;
    font-size: clamp(.8rem, 1.6vw, 1rem);
    letter-spacing: .26em;
    transform: translateY(-2%);
}

/* ===== INFORMATION ===== */
.info{            
    padding: 56px 0 24px 0;
}

.info__wrap{
    width: min(100%, var(--max));
    margin: 0 auto;
}
  
.info__title{
    text-align: center;
    color: var(--ink);
    margin: 0 0 18px;
    line-height: 1.4;
}

.info__title > span{
    display:block;
    letter-spacing:.14em;
    font-size: clamp(1.1rem, 2.2vw, 1.6rem);
}

.info__title > small{
    display:block;
    font-size: .85rem;
    opacity:.85;
}

.p-postList__body {
	display: flex;
	gap:12px;
	align-items: center;
    justify-content: center; 
	table-layout: fixed;  
}

.c-postTimes__posted icon-posted {
	flex:0 0 120px;
	padding: 8px 35px;
    width: 30%; 
    text-align: left;
    font-weight: normal;
    line-height: 2.2;              
    white-space: nowrap;
}
			
.c-postTimes__posted.icon-posted::before {
	display: none;
}

.p-postList__cat.u-thin.icon-folder {
	display: none;
}

.p-postList__title {
	width: 35%;
	display: block;
    order:2;
    min-width: 0;                   
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	padding: 8px 0 8px 40px;
    margin-right: 0;  
    vertical-align: top; 
}

/*  
.info__list{
    list-style: none;
    margin: 0 auto; 
    padding: 0;
    border-top: 1px solid rgba(0,0,0,.06);
    border-bottom: 1px solid rgba(0,0,0,.06);
}
  
:root{
    --date-col: 1ch;                 
    --title-col: min(62ch, 86vw);     
    --gap: 24px;
}


.info__row{
    width: auto;
    display: flex;
    gap: clamp(12px, 2.5vw, 24px);
    padding: 14px 0;
    border-top: 1px solid rgba(0,0,0,.06);
    align-items: center;
    justify-content: center;
}

.info__row:first-child{ 
    border-top: none; 
}
  
.info__row > *{
    transform: none; 
}

.info__date{
    color: rgba(0,0,0,.65);
    font-variant-numeric: tabular-nums;  
    white-space: nowrap;
    
    justify-self: start; 
    text-align: left;  
}
  
.info__link{
    width: auto; 
    color: var(--ink);
    text-decoration: none;
    display: inline-block;
    line-height: 1.7;
}
*/

/* ===== Instagram ===== */
.ig{ 
    padding: 48px 140px 56px; 
}

.ig__wrap{ 
    width: min(100%, var(--max)); 
    margin: 0 auto; 
}

.ig__title{
  text-align: center;
  color: var(--ink);
  margin: 0 0 18px;
  line-height: 1.4;
}

.ig__title > span{
  display:block;
  letter-spacing:.14em;
  font-size: clamp(1.1rem, 2.2vw, 1.6rem);
}

.ig__title > small{
  display:block;
  font-size: .85rem;
  opacity:.85;
}
/*
.ig__grid{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(12px, 2vw, 24px);
  grid-template-columns: repeat(5, 1fr);
}

.ig__grid .ig__item:nth-child(n+6){
    display: none;
}


.ig__item{
    position: relative;
    aspect-ratio: 1 / 1;      
    background: #f6f6f6;
    overflow: hidden;
}

.ig__item::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 150%;               
    height: 2px;               
    background: rgba(0,0,0,.12);
    transform-origin: left top;
    transform: rotate(45deg);  
    z-index: 0;               
}
  
.ig__item:has(img)::before{
    opacity: 0;
}


.ig__link{ 
    position: absolute; 
    inset: 0; 
    display: block; 
    z-index:1; 
}

.ig__link img{
    width: 100%; 
    height: 100%;
    object-fit: cover; 
    object-position: 50% 50%;
    display: block;
}
  
.ig__overlay{
    position: absolute; 
    inset: 0;
    display: grid; 
    place-items: center;
    background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,0));
    opacity: 0; 
    transition: opacity .25s ease;
    z-index:2;
}

.ig__overlay svg{ 
    width: 28px; 
    height: 28px; 
    fill: #fff; 
    opacity:.9; 
}

.ig__link:hover .ig__overlay{ 
    opacity: 1; 
}
*/
/* ===== Footer ===== */
.footer{
    --footer-bg: #c88e8e;                
    --footer-ink: #fff;                 
    background: var(--footer-bg);
    color: var(--footer-ink);
}
  
.ft__wrap{
    width: min(100%, var(--max));
    margin: 0 auto;
    padding: clamp(28px, 4vw, 48px) clamp(16px, 3vw, 24px) 40px;
}
  
.ft__body{
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(240px, .9fr);
    gap: clamp(16px, 3vw, 64px);
    align-items: start;
    min-height: clamp(260px, 24vw, 360px); 
}

.ft__left{
    align-self: end; 
    display: grid;
    grid-template-columns: max-content 1fr; 
    column-gap: clamp(16px, 2vw, 32px);
    row-gap: 12px;
    align-items: center;    
}

.ft__notice{
    margin: 0 0 clamp(14px, 2vw, 18px);
    opacity: .92;
    font-size: clamp(.9rem, 1.6vw, 1rem);
    color: #fff;
    grid-column: 1 / -1; 
}
  
.ft__logo{ 
    margin: 0 0 10px; 
    line-height: 1; 
    grid-column: 1; 
    grid-row: 2; 
    align-self: center; 
    flex: 0 0 var(--ft-logo-w);    
    width: auto;  
    display: block;
	text-align: center;
}

.ft__logo-jp{
    display: block;
}

.ft__logo-en{
    display: inline-block;
    margin-top: .35rem;
    padding: .15rem .4rem;
    font-size: clamp(.85rem, 1.4vw, 1rem);
    font-family: BrandonGrotesque Light;
    font-weight: normal;
    font-style: normal;
    letter-spacing: .12em;
    text-align: center;
    color: #fff;
}
  
.ft__addr{
    margin: .6rem 0 1rem;
    font-style: normal;
    line-height: 1.9;
    opacity: .95;
    flex: 1 1 var(--ft-addr-w); 
    width: auto; 
    color: #fff;
    display: block;
}
  
.ft__hours{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    line-height: 1.8;
    color: #fff;
    grid-column: 1 / -1; 
    font-size: clamp(1rem, 1rem + 0.4vw, 1.25rem);
}

.ft__sns{
    display: inline-grid;
    place-items: center;
    width: 32px; 
    height: 32px;
    margin-left: .35rem;
    opacity: .95;
    transition: opacity .2s ease, transform .2s ease;
    color: #fff;
}

.ft__sns:hover{ 
    opacity: 1; 
    transform: scale(1.05); 
}
  
.ft__hours svg {
    fill:#fff;
}

.ft__nav{ 
    text-align: right; 
}

.ft__links{
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    row-gap: .55rem;
}

.ft__links a{
    color: #fff;
    text-decoration: none;
    opacity: .95;
}

.ft__links a:hover{
    opacity: 1;
    color: #2f140f;
} 

.ft__bar{
    min-height: 56px;
    background:#EBDDDD;
    display: grid;
    place-items: center;         
    padding: 8px 12px;           
    text-align: center;
}
  
.ft__copy{
    opacity: .95;
    font-size: clamp(.85rem, 1.1vw, .95rem);
    letter-spacing: .02em;
}

/* ===== スマホ表示 ===== */
@media screen and  (max-width: 768px) {

    /* ===== ヘッダー帯 ===== */
    .topbar{ 
        background:#EBDDDD; 
    }

    .topbar-inner{
        height: 64px;                      
        padding: 0 10px;
        display: grid;
        grid-template-columns: 48px 1fr 48px; 
        align-items: center;
        max-width: none;
    }

    .hamburger{
        width: 44px; 
        height: 44px;
        justify-self: start;
    }

    .hamburger__line{ 
        left: 11px; 
        width: 50%; 
    }

    .hamburger__line:nth-of-type(1){ 
        top: 14px; 
    }

    .hamburger__line:nth-of-type(2){ 
        top: 22px; 
    }

    .hamburger__line:nth-of-type(3){ 
        top: 30px; 
    }

    .brand{
        width: auto;
        height: auto;
        margin: 0 auto;
        justify-self: center;
        display: flex;                 
        flex-direction: column;
        align-items: center;
        text-align: center;
        transform: translateX(10px); 
    }

    .brand img{
        width: 90px;   
        height: auto;
        display: block;
        margin: 0 auto;
    }

    .brand small{
        font-size: .5rem;
        letter-spacing: .12em;
        margin-top: .2rem;
        color: #fff;
    }

    .utility-nav{
        justify-self: end;
        display: flex;
        align-items: center;
        gap: 0;
        position: static;   
        top: auto;
        transform: none;
    }

    .contact span{ 
      display: none; 
    }     

    .contact{ 
      display: none; 
    }  

    .cart{
        padding: 0;
        line-height: 0;         
        flex: 0 0 auto;
    }

    .cart img {
      width: 30%;
      height: 30%;
    }

    .notice{
      font-size: .72rem;
      border-bottom: 1px solid #f1c9d0;
    }
    
    .notice-inner{
      padding: .35rem .6rem;
      white-space: nowrap;
      overflow: auto;                 
      -webkit-overflow-scrolling: touch;
    }

    .bar { 
      display: none; 
    }

    .br-sm {
      display: inline;
    }

    .br-sm::after {
      content: "\A";     
      white-space: pre; 
    }

    .hero{
        width: 100%;
        height: 60vh;        
    }

    .hero img {     
        width: 100%;
        height: 100%;             
        object-position: 65% 90%;  
        transform: scale(1.1);
    }

    /* ===== 2カラムセクション ===== */
  .about{
        width: 100%;
        height: 750px;
        margin: 0 auto;
        padding: 28px 20px;
        display: grid;
        grid-template-columns: 1fr;    
    }
    
    .about-inner-1{
        width: 100%;
        max-width: none;
        padding: 0;
        margin-top: 0;
        align-items: start;
    }

    .about-inner-2{
        width: 100%;
        padding: 0;
        margin-top: 0;
        align-items: start;
        transform: translateY(-23%);
    }

    .txt-1 {
        grid-column: 1;
        padding-left: 0;
        align-items: flex-start; 
    }
    
    .txt-2{ 
        grid-column: 1;
        padding-left: 0;
    }

    .about .txt-1 h2 {
        padding-right: 4.5rem;
		margin: 3rem 0 1.5rem;
        white-space: normal;                 
        line-height: 1.45;
        letter-spacing: .02em;
		font-size: 20px;
    }
    
    .about .txt-1 h2,.txt-1 p {
        padding-inline-start: 0;
    }

    .about.txt-1 p {
        justify-content: flex-start;
    }

    .about .txt-1 p,.txt-2 p{
        margin: 0 0 2rem 0;
        white-space: normal;                 
        line-height: 1.95;
		font-size: 14px;
    }
    
    .about .txt-2 h2 {
        margin: 0 2.5rem 3rem 0;
        white-space: normal;                 
        line-height: 1.45;
        letter-spacing: .02em;
		font-size: 20px;
    }

    .pic-1{
        width:30%;
        height: auto;
        align-self:end;   
        margin-right:0; 
        margin-left:auto;
        transform: translate(-30%,-30%);
    }

    .pic-2{ 
        margin-left: 0;
        transform: translate(85%,90%);
    }

    .about .pic-1 img{
        width: 85%;
        height: 85%;
        display: block;
        margin: 0;
    }

    .about .pic-2 img{    
        width: 88%; 
        height: auto;
        display: block;
        margin: 0;
    }

    /* ===== 3カラム ===== */
    .gallery {
        grid-template-columns: 1fr;
        margin-top: 50px; 
    }

    .card.align-left,
    .card.align-center,
    .card.align-right {
        aspect-ratio: 4 / 5;                    
        min-height: clamp(360px, 92vw, 520px);                         
        overflow: hidden;
    }

    figure.card.align-left img {
		transform: scale(1.1);
        object-position: 80% 50%; 
    }
	
	figure.card.align-center img {
		object-position: 50% 75%; 
        transform: scale(1.0);   
	}
	
	figure.card.align-right img {
		object-position: 70% 55%;
        transform: scale(1.05);
	}

    .caption{ 
        top: 10%; 
        left: 50%;
        transform: translateX(-50%);
        max-width: min(84%, 320px);
    }

    .caption .lead{ 
        font-size: clamp(1.1rem, 2.0vw, 1.35rem); 
    }

    .caption h3{ 
        font-size: clamp(1.2rem, 2.2vw, 1.6rem); 
		line-height: 1.3; 
    }

    .caption .btn{
        font-size: clamp(.9rem, 1.4vw, 1.1rem);
        padding: .5rem 1rem;      
        border-width: 1.5px;
    }

    /* ===== カテゴリー ===== */
    .categories{
        padding: 36px 0 0;
    }

    .cat-title{
        margin-bottom: 18px;
    }

    .cat-title span{ 
        font-size: clamp(1.2rem, 5.3vw, 1.6rem); 
    }

    .cat-title small{ 
        font-size: .85rem; 
    }

    .cat-grid{ 
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .cat-card.zoom1,
    .cat-card.zoom2,
    .cat-card.zoom3,
    .cat-card.zoom4{
      aspect-ratio: 1 / 1.4;
    }
  
    .cat-card .label{
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;      
        justify-content: flex-start;
        padding-top: 25%;          
        text-align: center;
        left: 0;
        transform: none;
        gap: .25rem;
    }

    .cat-card .label h2{
        margin: 0;
        font-size: clamp(1rem, 5.4vw, 1.25rem);
        letter-spacing: .12em;
        line-height: 1.25;
        transform: none;
    }

    .cat-card .label em{
        margin: 0;
        font-size: clamp(.72rem, 3.6vw, .9rem);
        letter-spacing: .18em;
        line-height: 1.2;
        transform: none;
    }

    .cat-card.zoom1 img{
      transform: scale(1.0);
      object-position: 78% 50%;
    }

    .cat-card.zoom2 img{
        transform: scale(1.35);
        object-position: 30% 55%;
    }

    .cat-card.zoom3 .img-wrap{
        width: 100%; 
        height: 100%; 
        overflow: hidden; 
        position: relative;
    }

    .cat-card.zoom3 .img-wrap img{
        width: 122%; 
        height: 122%; 
        object-fit: cover;
        transform: rotate(39deg) scale(1.7) translateX(1%) translateY(-2%);
        transform-origin: center;
    }

    .cat-card.zoom4 img{
      transform: scale(1.2);
      object-position: 75% 58%;
    }
	/* ===== INFORMATION ===== */
	/*
    .info__list{ 
        width: min(94%, 640px); 
    }

    .info__row{ 
        grid-template-columns: 110px 1fr; 
        gap: 24px; 
    }

    :root{ --date-col: 9ch; --gap: 16px; --title-col: min(58ch, 92vw); }
	*/
	
	.p-postList__title {
	    width: 60%;
	}

    /* INSTAGRAM */
    
    .ig{ 
        padding: 32px 0 44px; 
    }

    .ig__wrap{
        width: 100%;
        max-width: none;
        margin: 0 auto;
        padding-inline: 12px;             
    }

    .ig__title{ 
        margin: 0 0 12px; 
    }

    .ig__title > span{ 
        font-size: clamp(1rem, 3.6vw, 1.35rem); 
        letter-spacing: .12em; 
    }

    .ig__title > small{ 
        font-size: .8rem; 
        opacity: .85; 
    }
	/*

    .ig__grid{
        grid-template-columns: repeat(3, 1fr) ; 
        gap: 8px;
    }
    
    .ig__grid .ig__item:nth-child(n+6){
        display: block !important;
    }

    .ig__grid .ig__item:nth-child(n+7){ 
        display: none; 
    }

    .ig__item{
      aspect-ratio: 1 / 1;
      border: 1px solid rgba(0,0,0,.08);
      border-radius: 3px;
      overflow: hidden;
      position: relative;
    }

    .ig__link{ 
      position: absolute; 
      inset: 0; 
      display: block; 
    }

    .ig__link img{
      width: 100%; 
      height: 100%;
      object-fit: cover; 
      object-position: 50% 50%;
      display: block; 
      transform: none;
    }

    .ig__item:not(:has(img))::before{
      content:""; 
      position:absolute; 
      inset:0;
      background-image:
        linear-gradient(135deg, rgba(0,0,0,.09) 1px, transparent 1px),
        linear-gradient(315deg, rgba(0,0,0,.09) 1px, transparent 1px);
      background-size: 100% 100%, 100% 100%;
    }*/
    
    /* フッター */
   .ft__wrap{
      width: 100%;
      margin: 0 auto;
    }

    .ft__body{
      display: grid;
      grid-template-areas:
        "notice"   
        "nav"      
        "logo"     
        "addr"     
        "hours";   
      grid-template-columns: 1fr;
      gap: 16px;
      min-height: auto;               
    }

    .ft__left{
      display: contents;                
    }

    .ft__notice{
      margin:  12px 0;
      padding: 0;
      background: none;
      border: 0;
      text-align: center;
      font-size: clamp(.95rem, 3.4vw, 1.08rem);
      line-height: 1.8;
    }

    .ft__nav{ 
      width: 100%;
      grid-area: nav; 
      text-align: center; 
    }

    .ft__links{
      row-gap: 0;
      padding: 0;
      margin: 0;
    }

    .ft__links li{
      border-bottom: 1px solid rgba(255,255,255,.35);
    }

    .ft__links li:first-child{
      border-top: 1px solid rgba(255,255,255,.35);
    }

    .ft__links a{
      display: block;
      padding: .85rem 1rem;
      text-decoration: none;
    }

    .ft__logo{
      margin: 5rem 1rem 1rem;
      display: flex;      
      flex-direction: column;      
      align-items: flex-start;
      gap: 6px;
      grid-area: logo;   
      position: relative;
    }

    .ft__logo-jp img{
      display: block;
      max-width: 170px;              
      height: auto;
    }

    .ft__logo-en{
      margin: 0;                       
      padding: .12rem .42rem;
      font-size: .95rem;
      letter-spacing: .12em;
      transform: translateX(25%);
    }

    .ft__sns{
      position: absolute;
      right: 14px;                     
      top: -250px;
      width: 80px;
      height: 80px;
    }

    .ft__hours{
      margin: 0 1rem;
      line-height: 1.8;
      font-size: clamp(1rem, 3.5vw, 1.15rem);  
      grid-area: hours;
      font-size: 20px;
      position: relative;
    }

    .ft__bar{
      min-height: 48px;                
      padding: 10px 12px;
    }

    .ft__copy{
      font-size: clamp(.82rem, 3.2vw, .95rem);
    }
}

/* ===== タブレット表示 ===== */
@media screen and (min-width: 769px) and (max-width: 1024px){
    .hero{
        width: 100vw;
        height: 55vh;           
        overflow: hidden;
    }

    .hero img{
        width: 100%;
        height: auto;
        object-fit: cover;
        object-position: 80% 70%; 
        transform: scale(1.3);           
    }

    .about{
        height: auto;                
        padding: 36px 16px;           
        display: flex;               
        gap: 16px;                   
    }
    
    .about-inner-1,
    .about-inner-2{
        width: 50%;
        padding: 1rem 0;
        margin-top: 0;
        min-width: 0; 
    }
    
    .about-inner-2{ 
        margin-top: 98px;
    }

    .about .txt-1 h2{ 
        padding-right: 4.5rem;      
    }

    .about .txt-2 {
        transform: translateY(20%);
    }

    .about .txt-1 p,.txt-2 p{
        margin: 0 0 2rem 0;                 
        line-height: 1.95;
		font-size: 15px;
    }

    .about .txt-2 p {
        white-space: normal;

    }
    
    .about .pic-1{
        width: 28%;
        margin-left: 16%;            
    }
    
    .about .pic-2{
        width: 40%;
        margin-left: 34%;             
        transform: translatey(30%);
    }
    
    .about .pic-1 img,
    .about .pic-2 img{
        width: 100%;
        height: auto;
        display: block;
    }
	
	/* ===== 3カラム ===== */
    .gallery {
        height: 50vh;
        margin: 50px 0; 
    }
	
	.card.align-left,
    .card.align-center,
    .card.align-right {
        height: 100%;
    }

    figure.card.align-left img {
		transform: scale(1.0);
        object-position: 70% 50%; 
    }
	
	figure.card.align-center img {
		object-position: 50% 75%; 
        transform: scale(1.2);   
	}
	
	figure.card.align-right img {
		object-position: 70% 55%;
        transform: scale(1.15);
	}
    /* カテゴリー */
	.categories{
       padding: 0;
    }
	
	/* フッター */

    .ft__wrap{ 
        padding: 28px 16px 32px; 
    }

    .ft__body{ 
        grid-template-columns: minmax(0,1.4fr) minmax(240px,.9fr); 
        gap: 32px; 
    }
    .ft__left{ 
        column-gap: 20px; 
        row-gap: 10px; 
    }
    .ft__logo-jp img{ 
        max-width: 190px; 
    }
    .ft__logo-en{ 
        ransform: translateX(22%);
    }
    .ft__hours{ 
        font-size: 1.05rem; 
    }
}


/* page-guide.php */

.container-ship {
    width: 70%;
    margin: 100px auto;
}

.how-to-payment,
.how-to-shipping,
.delivery-time  {
    width: 100%;
    margin-bottom: 50px;
}

.how-to-payment h2,
.how-to-shipping h2,
.delivery-time h2,
.how-to-return h2  {
    display: block;
    border-bottom: 3px solid #d19493;
}

.how-to-payment p,
.how-to-shipping p,
.delivery-time p,
.how-to-return p {
    padding-top: 1rem;
	font-size: 15px;
}

.how-to-return,
.tokuteishou {
    width: 100%;
    margin-bottom: 100px;
}

.tokuteishou h2 {
    display: block;
    border-bottom: 3px solid #d19493;
}

.law {
    width: 100%;
    border-spacing: 0;     
}

.law tr {
    width: 100%;
}

.law th {
  padding: 14px 45px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  width: 20%;
  text-align-last: justify;
  letter-spacing: .04em;
  font-weight: normal;
  line-height: 2.2;              
  white-space: nowrap;
}

.law th.law_full {
    border-bottom: none;
    letter-spacing: 0;
}

.law td{
    padding: 14px 0 14px 40px;
    border-bottom: 1px solid rgba(0,0,0,.08);
    margin-right: 0;
    text-align: left;
    padding-left: 20px;
}

@media (max-width: 768px){
    .container-ship {
        width: 90%;
        margin: 60px auto;
    }

    .law{
      width: 100%;
      table-layout: fixed;   
      border-spacing: 0;
    }
  
    .law th,
    .law td{
      vertical-align: top;   
      line-height: 1.9;
      font-size: 15px;
    }
  
    .law th{
      width: 25%;                
      text-align: left;
      text-align-last: auto;  
      padding: 12px  0;      
      white-space: nowrap;          
      letter-spacing: .03em;
      border-bottom: 1px solid rgba(0,0,0,.08);
    }
  
    .law td{
      margin-left: 20px;           
      word-break: break-word;
      overflow-wrap: anywhere;      
      border-bottom: 1px solid rgba(0,0,0,.08);
    }
}


/* category.php */

.category {
    background-color: #fff;
}

.item-hero {
    position:relative; 
    min-height:52vh; 
    display:block;  
    overflow:hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 78%;
    min-height: clamp(52vh, 60vw, 70vh);
}

.item-hero  img{
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: scale(1.4);
    object-position: 30% 90%;
}

.item-hero .item-label{
    position: absolute;
    inset: 0;
    display: grid;
    text-align: center;
    pointer-events: none;
    left: 50%; 
    transform: translateX(-50%); 
}

.item-hero .item-label h2 {
    display:block;
    font-size: 36px;
    letter-spacing: .18em;
    transform: translateY(85%);
    white-space: nowrap; 
}

.item-hero .item-label em{
    display:block;
    font-style: normal;
    font-size: 20px;
    letter-spacing: .26em;
    transform: translateY(-2%);
}

.products {
    width: 75%;
    margin: 50px auto 80px ;
}

.product {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between; 
    margin: 50px 0;
    padding: 0;
}
  
.product_figure {
    color: inherit;
    text-decoration: none;
    
    width: 200px;
    height: 260px;
    margin: 10px;
}

.product_figure img {
    width: 200px;
    height: 200px;
    background-color: #a5a4a4;
}

.product_name,
.product_price {
    display: block;
}

.pickupitem {
    width: 100%;
    height: 100px;
    text-align: center;
}

.pickupitem h2 {
    display: block;
    text-align: center;
}

.pickupitem small{ 
    display:block; 
    font-size:.85rem; 
    opacity:.8; 
}

.item-shop {
    width: 100%;
    background:#EBDDDD;
    padding: 50px 0;
}

.shop-list {
    width: 70%;
    margin: 50px auto;
}

.shop-list-content {
    width: 100%;
    margin-bottom: 30px;
}

.shop-list-content h2 {
    display: block;
    border-bottom: 3px solid #d19493;
    margin-bottom: 20px;
}

.available-location {
    width: 100%;
    border-spacing: 0;
    table-layout: fixed; 
}

.available-location tr {
    width: 100%;

}

.available-location th {
  padding: 8px 35px;
  width: 30%; 
  text-align: left;
  font-weight: normal;
  line-height: 2.2;              
  white-space: nowrap;
	border:none;
	background: none;
}

.available-location td {
    padding: 8px 0 8px 40px;
    margin-right: 0;  
    vertical-align: top; 
    width: 35%;
	border:none;
}

.google-map {
    width: 100%;
    height: 500px;  
    margin: 0 auto;
}

/* footer-before.php */

.footer-before {
    width: 100%;
    height: auto;
    background:#EBDDDD;
    display: flex;
}

.category-left {
    width: 34.5%;
    height: auto;
    margin: 7% 1% 0 15%;
}

.how-to-payment-fb,
.how-to-shipping-fb  {
    width: 100%;
    margin-bottom: 50px;
}

.how-to-payment-fb h2,
.how-to-shipping-fb h2,
.how-to-return-fb h2  {
    display: block;
    border-bottom: 3px solid #d19493;
    width: 50%;
	white-space: nowrap;
}

.how-to-payment-fb p,
.how-to-shipping-fb p,
.how-to-return-fb p {
    padding-top: 1rem;
}

.how-to-return-fb {
    width: 100%;
    margin-bottom: 50px;
}

.category-right {
    width: 34.5%;
    height: auto;
    margin: 7% 15% 0 1%;
}

.delivery-time-fb {
    width: 100%;
    margin-bottom: 30px;
}

.calendar-fb {
    width: 100%;
    height: auto; 
	justify-content:center; 
	display:flex;
}

.calendar-calendar {
    width: min(100%, 400px); ;
    height: auto;
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center; 
}

.fc-direction-ltr {
  width: 100%;
  margin-bottom: 50px;
}

.hnsj-calendar .fc { 
  --fc-small-font-size: 12px;
  --fc-page-bg-color: transparent;
}

.hnsj-calendar .fc table,
.hnsj-calendar .fc th,
.hnsj-calendar .fc td {
  border: initial;
}
.hnsj-calendar .fc .fc-col-header-cell-cushion {
  white-space: nowrap !important;   
  padding: 0;
}

.fc .fc-col-header-cell-cushion {
  padding: 0;
  color: #ffffff;
}

.fc-icon-chevron-left::before,
.fc-icon-chevron-right::before {
  color: #ffffff;
}

.hnsj-calendar .fc .fc-toolbar-title {
  font-size: 1.1rem;                 
}

.fc-header-toolbar.fc-toolbar.fc-toolbar-ltr
.hnsj-calendar .fc .fc-button-group {
    padding: .25em .3em;               
    line-height: 1.2;
	background-color: #c88e8e;
}

.fc .fc-toolbar-title {
	width: 100%;
	border-bottom: 3px solid #d19493;
	font-size: 22.4px;
}

.fc .fc-button-primary:disabled  {
	display:none;
}

.fc .fc-button-group > .fc-button,
.fc .fc-button-group > .fc-button.fc-button-active{
	background-color: #c88e8e;
}

.post_content thead td, .post_content thead th {
	background-color: #c88e8e;
}

.hnsj-calendar .fc .fc-daygrid-day-top {
  padding: .15rem .3rem;
}
.hnsj-calendar .fc .fc-daygrid-day-number {
  font-size: .9rem;
}

.hnsj-calendar .fc .fc-daygrid-event {
  padding: 1px 2px;
  font-size: 12px;
  line-height: 1.2;
}
.hnsj-calendar .fc .fc-daygrid-day-frame {
  padding: 2px;
}

.hnsj-calendar .fc .fc-scrollgrid-section-header th {
  background: var(--fc-neutral-bg-color);
  color: inherit;
}

.post_content th {
	padding: 0.3rem;
}

.hnsj-calendar .fc .hnsj-weekend {
  background: #ff838b;  /* お好みで #FCE8EF など*/
}

/* 祝日は「背景イベント」なので、重ね順を少し下げて自然に見せる */
.hnsj-calendar .fc .fc-bg-event {
  opacity: .8;           
}

/* todayのハイライトが消えないように */
.hnsj-calendar .fc .fc-day-today {
  box-shadow: inset 0 0 0 2px rgba(184,116,116,.6);
  background: #fff6f8;    /* 今日の色(任意) */
}
/*
.calendar-calendar h1 {
    height: 80px;
    line-height: 80px;
    text-align: center;
    font-size: 24px;
    margin: 0;
	white-space: nowrap;
}

.calendar {
  padding: 0 30px 30px 30px;
}

table .calendar {
    width: auto;
}

table .calendar th, td {
    text-align: center;
    padding: 10px;
}

table .calendar th {
    font-weight: normal;
    font-size: 14px;
}

table .calendar td {
    font-weight: bold;
}

.day *:first-child {
  color: #ff838b;
}

.day *:last-child {
  color: #6fb5ff;
}
*/
.contact-fb {
    width: 100%;
    height: auto;
	margin-bottom: 15%;
	margin-top: 30px;
}

.delivery-time-fb h2,
.calendar-fb h2,
.contact-fb h2 {
    display: block;
    border-bottom: 3px solid #d19493;
    width: 50%;
	white-space: nowrap;
}

.delivery-time-fb p,
.contact-fb p {
    padding-top: 1rem;
} 

.contact_actions {
    display:flex;
    gap: 10px;             
    align-items:center;
    flex-wrap: wrap;        
    margin: 10px 0 18px;
    justify-content:center;
}

.btn-fb {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 12px 30px;
    min-height: 44px;
    min-width: 160px;       
    border-radius: 6px;
    background-color: #c88e8e;
    color: #fff;
    text-decoration:none;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;   
    transition: transform .15s ease, opacity .15s ease;
}
  
.btn-fb:hover{ 
    opacity: .8; 
}

.btn-fb:active{ 
    transform: translateY(1px); 
}

.contact_hours {
    text-align: center;
    font-size: 20px;
}

/* スマホ表示 */
@media screen and  (max-width: 768px) {
    .products {
        width: 100%;
    }
    
    .product {
        width: 90%;
        margin: 0 auto;
    }
   
    .product_figure {
        width: 300px;
        height: 350px;
        margin: 20px 10px;
        align-items: center;
        justify-items: center;
    }

    .product_figure img {
        width: 300px;
        height: 300px;
    }

    .product_figure figcaption {
        display: inline-block;
        text-align: left;
    }

    /* ========== 商品取扱い店舗 一覧 ========== */

    .shop-list {
        width: 90%;
        margin: 50px auto;
    }

    .br-pc { 
        display: none; 
    }

    .available-location th {
        width: 100%;
        padding-left: 25px;
        display: block;
        text-align: left;
        border-bottom: none;
        letter-spacing: 0;
        text-align-last: auto;
    }

    .available-location td {
        width: 100%;
        padding-left: 25px;
        display: block;
        text-align: left;
        border-bottom: none;
    }

    .available-location td:last-child {
        border-bottom: 1px solid rgba(0,0,0,.08);
    }

    /* ========== footer-before ========== */
    .footer-before{
        flex-direction: column;
		height: auto;
    }

     .category-left {
        width: 90%;
        height: auto;
        margin: 50px auto 0;
    }

    .category-right {
        width: 90%;
        height: auto;
        margin: 0 auto 50px;
    }
	
	.calendar-fb {
        width: 100%;
        height: auto;
    }
	
	.calendar-calendar {
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0 12px 12px;   
		max-width: 100%;
        border-radius: 4px;
        display: flex;
        flex-direction: column;
        align-items: center;   
    }
	
	.contact-fb {
		width: 100%;
		height: auto;
	}

    .contact_actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .btn-fb { 
        width: 100%; min-width: 0; 
    }

}

@media screen and  (min-width: 769px) {}

/* himitsu.php　*/

.secret-hero {   
    position: relative;
    height: 80vh;           
    width: 100%;
    overflow: hidden;
}

.secret-hero  img{
    width: 100%;
    height: 100%;  
    object-fit: cover;
    display: block;
    transform: scale(1.0);
    object-position: 30% 90%;
}

.secret-label{
    position: absolute;
    top: 40%;
    text-align: center;
    pointer-events: none;
    left: 50%; 
    transform: translateX(-50%); 
}

.secret-label h2 {
    display:block;
    font-size: 45px;
    letter-spacing: .18em;
    white-space: nowrap; 
}

.secret-label em{
    display:block;
    font-style: normal;
    font-size: 18px;
    letter-spacing: .20em;
    transform: translateY(-25%);
}

.to-woman {
    width: 70%;
    margin: 0 auto;
    padding: 40px 0;          
}

.to-woman-1 {
    display: flex; 
    padding: 0; 
    width:100%; 
    flex-direction: row;
    margin: 50px 0 20px 0;
}

.woman-txt-1 {
    display: flex; 
    width: 55%;
    height: auto;
    margin-left: 20%;
    flex-direction: column;   
   
}

.woman-txt-1 h2 {
    display: block;
    margin-bottom: 50px;
    white-space: nowrap;
    min-width: 0; 
	font-size: 24px;
	margin-right: 35px;  
}

.woman-txt-1 p {
    display: block;
}

.woman-pic-1 {
    display: flex; 
    width: 45%;
    height: auto;
    flex-direction: column;
    justify-content: flex-end;  
}

.woman-pic-1 img {
    width: 70%;
    height: auto;
    display: block;
}

.to-woman-2 {
    align-items: start;
	margin-left: 20%;
}

.to-woman-2 p {
    display: block;
    min-width: 0;
}

.uwajima-nature {
    display:flex;   
    width: 100%;
    background-color: #d0d6dd;
    flex-direction: column; 
}

.uwakai,
.mother-pearl {
    display: flex;
    width: 100%;
    height: auto;
    padding: 50px 0 30px 0;
}

.mother-pearl {
    justify-content:end;
    display: flex;
}

.uwakai-pic,
.mother-pearl-pic {
    width: 50%;
    height: auto;
    display: flex;
}

.mother-pearl-pic {
    width: 50%;
    height: auto;
}

.uwakai-pic img,
.mother-pearl-pic img {
    width: 100%;
    height: auto;
    display: block;
}

.uwakai-txt,
.mother-pearl-txt {
    width: 50%;
    padding: 20px 40px 0 40px;
    display: grid;
}

.uwakai-txt h2,
.mother-pearl-txt h2 { 
    writing-mode: vertical-rl; 
    display: block;
    padding: 40px 0;
    justify-self: center;
	font-size: 24px;
}

.uwakai-txt p,
.mother-pearl-txt p {
    text-align: left;
    display: block;
	width: 80%;
	margin: 0 auto;
}

.pearl-powder {
    width: 100%;
    background-color: #ebdddd;
}

.pearl-powder h2 {
    display: block;
    text-align: center;
    padding-top: 50px;
	font-size: 24px;
}

.pearl-discription {
    display:flex;   
    flex-direction: row; 
    width: 70%;
    margin: 0 auto;
}

.akoyagai-01,
.akoyagai-02,
.akoyagai-03 {
    width: 33%;
    display:flex;
    flex-direction: column; 
    gap: 8px;
}

.akoyagai-01 img,
.akoyagai-02 img
.akoyagai-03 img {
    width: 100%;
    height: auto;
}

.akoyagai-01 h2,
.akoyagai-02 h2,
.akoyagai-03 h2 {
    color: #d19493;
    font-size: 40px;
    text-align: start;
    padding-top: 0;
}

.akoyagai-01 p,
.akoyagai-02 p,
.akoyagai-03 p {
    text-align: center;
}

.contact-products {
    display:flex;
    flex-direction: column; 
    width: 70%;
    margin: 0 auto;
}

.contact-products p {
    text-align: center;
    padding-bottom: 50px;
}

.pearl-contact_actions {
    display:flex;
    gap: 20px;             
    align-items:center;
    flex-wrap: wrap;        
    margin: 10px 0 50px 0;
    justify-content:center;
}

.btn-fb1 {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 12px 62px;         
    border-radius: 6px;
    background-color: #c88e8e;
    color: #fff;
    text-decoration:none;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;   
    transition: transform .15s ease, opacity .15s ease;
}

.btn-fb2 {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 12px 30px;
    min-height: 44px;
    min-width: 160px;       
    border-radius: 6px;
    background-color: #c88e8e;
    color: #fff;
    text-decoration:none;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;   
    transition: transform .15s ease, opacity .15s ease;
}
  
.btn-fb:hover{ 
    opacity: .8; 
}

.btn-fb:active{ 
    transform: translateY(1px); 
}

/* ===== タブレット表示 ===== */
@media screen and (min-width: 1024px) and (max-width: 1400px) {
	.secret-hero {
        width: 100%;
        height: 50vh;
    }
	
	 .secret-hero  img{
        width: 100%;
        height: 70vh;
        object-fit: cover;
        object-position: center;
        display: block;
        transform: scale(1.0);
        object-position: 60% 100%;
		transform: translateY(-30%);
    }
	
	.to-woman {
        width: 80%;
        margin: 0 auto;
    }

    .to-woman-1{
        display: flex;
        gap: clamp(16px, 3vw, 40px);
        margin: 20px 0;
    }
    
    .woman-txt-1{
        margin-left: 0;
        flex: 1 1 55%; 		
    }

    .woman-txt-1 h2{
        font-size: clamp(18px, 3.2vw, 22px); 
        letter-spacing: .015em;
		margin-bottom: 20px;
    }
    
    .woman-pic-1{
        padding-left: 0;
        min-width: 280px;
        margin-left: 0;
        flex: 0 1 45%; 
    }
    
    .woman-pic-1 img{
        width: 80%;
        height: auto;
        object-fit: cover;
        margin-top: 10%;
    }
	
	.to-woman-2 {
	  margin-left: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px){
	 .secret-hero {
        width: 100%;
        height: 50vh;
    }

    .secret-hero  img{
        width: 100%;
        height: 70vh;
        object-fit: cover;
        object-position: center;
        display: block;
        transform: scale(1.0);
        object-position: 60% 100%;
		transform: translateY(-30%);
    }
	
	.secret-label{
        position: absolute;
        top: 40%;
        text-align: center;
        pointer-events: none;
        left: 50%; 
        transform: translateX(-50%); 
    }

    .secret-label h2 {
        display:block;
        font-size: 45px;
        letter-spacing: .18em;
        white-space: nowrap; 
    }

    .secret-label em{
        display:block;
        font-style: normal;
        font-size: 18px;
        letter-spacing: .20em;
        transform: translateY(-25%);
    }
	
    .to-woman {
        width: 80%;
        margin: 0 auto;
    }

    .to-woman-1{
        display: flex;
        gap: clamp(16px, 3vw, 40px);
        margin: 20px 0;
    }
    
    .woman-txt-1{        
		margin-left: 0;
    }

    .woman-txt-1 h2{
        font-size: clamp(18px, 3.2vw, 22px); 
        letter-spacing: .015em;
		margin: 0 0 20px 0;
    }
    
    .woman-pic-1{
        padding-left: 0;
    }
    
    .woman-pic-1 img{
        width: 90%;
        height: auto;
        object-fit: cover;
        margin-left: auto; 
	
    }
	
	.to-woman-2 {
	  margin-left: 0;
	  
    }
	
	.br-sm {
      display: none;
    }
	
	.br-hidden {
		display: none;
	}
	
	.uwakai {
		padding-bottom: 0;
	}
	
	.uwakai-txt h2,
    .mother-pearl-txt h2 { 
        writing-mode: vertical-rl; 
        display: block;
        padding: 20px 0;
        justify-self: center;
	    font-size: 22px;
    }

    .uwakai-txt p,
    .mother-pearl-txt p {
        text-align: center;
        display: block;
	    font-size: 15px;
    }
}

/* ===== スマホ表示 ===== */
@media screen and  (max-width: 767px) {
    .secret-hero {
        width: 100%;
        height: 70vh;
        background-position: 50% 78%;
    }

    .secret-hero  img{
        width: 100%;
        height: 70vh;
        object-fit: cover;
        object-position: center;
        display: block;
        transform: scale(1.0);
        object-position: 60% 90%;
    }

    .secret-label{
        position: absolute;
        display: flex;          
        align-items: flex-start;  
        left: 0;
        top: 0;
        flex-direction: column;    
        gap: 10rem;                    
        margin: 0;
        transform: none;
        height: 100%;
        padding-left: 30px;
    }

    .secret-label h2 {
        writing-mode: vertical-rl; 
        position: relative;
        transform: none;  
        margin: 0;
        position: relative; 
        top: 100px;
        font-size: 35px;
    }

    .secret-label em {
        writing-mode: horizontal-tb;  
        display: block;
        margin: 0;
    }

    .to-woman {
        width: 100%;
		height: auto;
        margin: 0 auto;
        padding: 28px 15px;    
		display: grid;
        grid-template-columns: 1fr; 
    }

    .to-woman-1 {
        width: 90%;
        display:flex;
        flex-direction: column; 
        margin: 0 auto;
		margin-top: 30px;
		min-width: 0;
    }

    .woman-txt-1 {
        display: flex;
        width: 100%;
        height: auto;
        align-items: start; 
        grid-column: 1;
		padding-left: 0;
		margin: 0 auto;
		min-width: 0;
    }

    .woman-txt-1 h2 {
        padding-left: 0;
		margin: 0 0 20px 0;
		font-size: 20px;
    }

    .woman-txt-1 p {
        font-size: 15px;
        padding-left: 0;
		white-space: normal; 
    }

    .woman-pic-1 {
        width: 70%;
		transform: translate(90%,30%);
    }
	
	.woman-pic-1 img {
		width: 60%;
	}
	
    .to-woman-2 {
		display: flex;
        width: 90%; 
		height: auto;
        padding: 0;
        margin: 0 auto;
        transform: translate(0%,-20%);
		align-items: start; 
    }

    .to-woman-2 p {
        font-size: 15px;
		padding-inline-start: 0;
    }
	
	.br-sm {
      display: inline;
    }

    .uwajima-nature {
        width: 100%;
    }

    .uwakai,
    .mother-pearl {
        display:flex;              
        flex-direction: column;    
        width: 100%;
        height: auto;
        padding: 50px 0 0 0;
        margin: 0 auto;
    }

    .mother-pearl {
        justify-content:end;
        display: flex;
    }
    
    .uwakai-pic,
    .mother-pearl-pic {
        width: 100%;
        height: auto;
        display: flex;
    }

    .uwakai-pic img,
    .mother-pearl-pic img {
        width: 100%;
        height: auto;
        object-fit: cover; 
    } 

    .uwakai-txt {
        width: 100%;
        order: -1;
    }

    .uwakai-txt p,
    .mother-pearl-txt p {
        padding-bottom: 30px;
		font-size: 15px;
    }

    .mother-pearl-txt {
        width: 100%;
    }
	
	.pearl-powder {
		width: 90%;
		margin: 0 auto;
	}

    .pearl-powder h2 {
        display: block; 
        padding-top: 80px;
    }

    .pearl-discription {  
        flex-direction: column; 
        width: 100%; 
    }

    .akoyagai-01,
    .akoyagai-02,
    .akoyagai-03 {
        width: 100%;
        align-items:center;
        display:flex;
        justify-content: center;
        margin: 0 auto;
    }

    .akoyagai-02 img {
        order: -1;
    }

    .akoyagai-01 h2,
    .akoyagai-02 h2,
    .akoyagai-03 h2 {
        width: 100%;
        padding-top: 0;
        text-align: start;
        padding: 20px 0 0 40px;
        font-size: 50px;
    }
	
	.akoyagai-01 h2 {
		padding-top: 20px;
	}

    .akoyagai-01 p,
    .akoyagai-02 p,
    .akoyagai-03 p {
        width: 100%;
		
    }

    .akoyagai-01 h2,
    .akoyagai-02 h2,
    .akoyagai-03 h2 {
        transform: translateY(-80%);
    }

    .akoyagai-01 p {
        transform: translateY(-90%);
    }

    .akoyagai-02 p {
        transform: translateY(-60%);
    }
	
	 .akoyagai-03 p  {
        transform: translateY(-90%);
    }

    .br-hidden {
        display: none; 
    }

    .pearl-contact_actions {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }
}

/* pearl-esthe.php　*/

.salon-hero {
    position: relative;
    height: 80vh;           
    width: 100%;
    overflow: hidden;
}

.salon-hero img {
    width: 100%;
    height: auto;
    display: block;
    opacity: 0.5;
    object-fit: cover;    
	transform: scale(1.0) translateY(-20%);
	
}

.salon-label {
    position: absolute;
    top: 40%;
    text-align: center;
    pointer-events: none;
    left: 50%; 
    transform: translateX(-50%); 
}

.salon-label h2 {
    display:block;
    font-size: 45px;
    letter-spacing: .18em;
    white-space: nowrap; 
}

.salon-label em{
    display:block;
    font-style: normal;
    font-size: 18px;
    letter-spacing: .20em;
    transform: translateY(-25%);
}

.to-salon {
    width: 65%;
    margin: 0 auto;
    padding: 40px 0;          
}

.to-salon-1 {
    display: flex; 
    padding: 0; 
    width:100%; 
    flex-direction: row;
    margin: 50px 0 50px 80px;
}

.salon-txt-1 {
    display: flex; 
    width: auto;
    height: auto;
    align-items: start;
    flex-direction: column; 
}

.salon-txt-1 h2 {
    display: block;
    margin-bottom: 50px;
	font-size: 24px;
}

.salon-txt-1 p {
    display: block;
}

.hand-pic-1 {
    display: flex; 
    width: 45%;
    height: auto;
    flex-direction: column;
    justify-content: flex-end;
    padding-left: 50px;
}

.hand-pic-1 img {
    width: 100%;
    height: auto;
}

.to-salon-2 {
    align-items: start;
	margin: 50px 0 50px 80px;
}

.salon-discription {
    display:flex;   
    width: 100%;
    background-color: #d0d6dd;
    flex-direction: column; 
}

.salon-disc-1,
.salon-disc-2 {
    display: flex;
    width: 100%;
    height: auto;
    padding: 50px 0 30px 0;
}

.salon-disc-2 {
    justify-content:end;
    display: flex;
}

.esthe-pic,
.pearl-shell-pic {
    width: 50%;
    height: auto;
    display: flex;
    overflow: hidden; 
}

.esthe-pic img {
    width: 100%;
    height: auto;
    display: block; 
    object-fit: cover;
    transform: scale(2.0); 
    transform-origin: 35% 95%;
}

.pearl-shell-pic img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.salon-txt-2-1,
.salon-txt-2-2 {
    width: 50%;
    padding: 20px 20px 0 20px;
    display: grid;
}

.salon-txt-2-1 h2,
.salon-txt-2-2 h2 { 
    writing-mode: vertical-rl; 
    display: block;
    padding: 40px 0;
    justify-self: center;  
}

.salon-txt-2-1 p,
.salon-txt-2-2 p {
    text-align: left;
    display: block;
	width: 80%;
    margin: 0 auto;
}

.salon-shop {
    width: 100%;
    background:#EBDDDD;
    padding: 50px 0;
}

.salonshop-list {
    width: 70%;
    margin: 50px auto;
}

.salonshop-list-content {
    width: 100%;
    margin-bottom: 30px;
}

.salonshop-list-content h2 {
    display: block;
    border-bottom: 3px solid #d19493;
    margin-bottom: 20px;
}

.available-salon {
    width: 100%;
    border-spacing: 0;
    table-layout: fixed;        
}

.available-salon tr {
    width: 100%;
}

.available-salon th {
  padding: 8px 35px;
  width: 30%; 
  text-align: left;
  font-weight: normal;
  line-height: 2.2;              
  white-space: nowrap;
}

.available-salon td {
    padding: 8px 0 8px 40px;
    margin-right: 0;  
    vertical-align: top; 
    width: 35%;
}

/* ===== タブレット表示 ===== */
@media screen and (min-width: 1024px) and (max-width: 1400px) {
	.salon-hero {
        width: 100%;
        height: 40vh;
    }
	
	 .salon-hero  img{
        width: 100%;
        height: 40vh;
        transform: scale(1.2);
        object-position: 60% 80%;
    }
	
	.to-salon {
        width: 80%;
        margin: 0 auto;
    }
	
	.to-salon-1 {
		margin-left: 0;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	
	.salon-txt-1 {
		width: 55%;
		display: flex;
        gap: clamp(16px, 3vw, 40px);
        margin: 0;
	}
	
	.hand-pic-1 {
		padding-left: 20px;
		width: 40%;
	}
	
	 .hand-pic-1 img{
		 margin-left: 10%; 
		 width: 90%;
	}
	
	.to-salon-2 {
		margin: 0;
	}
	
	.salon-txt-1 h2 {
		margin-bottom: 20px;
	}
	
	.br-hidden {
		display: none;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px){
	.salon-hero {
        width: 100%;
        height: 40vh;
    }
	
	 .salon-hero  img{
        width: 100%;
        height: 40vh;
        transform: scale(1.2);
        object-position: 60% 80%;
    }
	
    .to-salon {
        width: 80%;
        margin: 0 auto;
    }

    .to-salon-1{
        display: flex;
        gap: clamp(16px, 3vw, 40px);
        margin: 20px 0;
    }
    
    .salon-txt-1{  
        width: 50%;
    }

    .salon-txt-1 h2{
        font-size: clamp(18px, 3.2vw, 22px); 
        letter-spacing: .015em;
		margin: 0 0 20px 0;
		 white-space: nowrap;
    }
    
    .hand-pic-1{
		width: 50%;
        padding-left: 0;
        min-width: 280px;
        margin-left: 0;
        flex: 0 1 45%; 
		justify-content: flex-end;  
    }
    
    .hand-pic-1 img{
        width: 80%;
        height: auto;
        object-fit: cover;
		transform: translateX(-20%);
		margin-left: 0; 
    }
	
	.to-salon-2 {
		margin-left: 0;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	
	.br-hidden {
		display: none;
	}
	
}

/* スマホ表示 */
@media screen and  (max-width: 767px) {
    .salon-hero {
        width: 100%;
        height: auto;
        background-position: 50% 78%;
    }

    .salon-hero  img{
        width: 100%;
        height: 70vh;
        object-fit: cover;
        object-position: center;
        display: block;
        transform: scale(1.2);
        object-position: 60% 90%;
    }

    .salon-label{
        position: absolute;
        display: flex;          
        align-items: flex-start;  
        left: 0;
        top: 0;
        flex-direction: column;    
        gap: 10rem;                    
        margin: 0;
        transform: none;
        height: 100%;
        padding-left: 30px;
    }

    .salon-label h2 {
        writing-mode: vertical-rl; 
        position: relative;
        transform: none;  
        margin: 0;
        position: relative; 
        top: 80px;
        font-size: 35px;
    }

    .salon-label em {
        writing-mode: horizontal-tb;  
        display: block;
        margin: 0;
    }

    .to-salon {
        width: 100%;
		height: 700px;
        margin: 0 auto;
        padding: 40px 20px; 
    }

    .to-salon-1 {
        width: 100%;
        display:flex;
        flex-direction: column;
        margin: 0;
    }
    
    .salon-txt-1 {
        display: grid;
        width: auto;
        height: auto;
        align-items: start;
        flex-direction: low;   
        grid-column: 1;
        align-items: 0; 
		
    }

    .salon-txt-1 h2 {
        font-size: 24px;
        padding-left: 0;
		margin-bottom: 50px;
    }

    .salon-txt-1 p {
        font-size: 15px;
        padding-left: 0;
    }

    .hand-pic-1 {
        width: 70%;
        transform: translate(70%,-1%);
    }

    .hand-pic-1 img {
        width: 80%;
        height: auto;
    }

    .to-salon-2 {
        width: 100%;    
        padding: 0;
        margin: 0;
        transform: translateY(-30%);
    }

    .to-salon-2 p {
        font-size: 15px;
        
		
    }

    .salon-discription {
        width: 100%;
    }

    .salon-disc-1,
    .salon-disc-2 {
        display:flex;              
        flex-direction: column;    
        width: 100%;
        height: auto;
        padding: 50px 0 0 0;
        margin: 0 auto;
    }

    .salon-disc-2 {
        justify-content:end;
        display: flex;
    }
    
    .esthe-pic,
    .pearl-shell-pic {
        width: 100%;
        height: auto;
        display: flex;
    }

    .esthe-pic img {
        width: 100%;
        height: auto;
    }

    .pearl-shell-pic img {
        width: 100%;
        height: auto;  
    } 

    .salon-txt-2-1{
        width: 100%;
        order: -1;
    }
	
	.salon-txt-2-1 h2,
	.salon-txt-2-2 h2 {
		font-size: 24px;
	}

    .salon-txt-2-1 p,
    .salon-txt-2-2 p {
        padding: 50px 0;
    }

    .salon-txt-2-2 {
        width: 100%;
    }

    /* ========== パールエステ 施術店舗 一覧 ========== */

    .salonshop-list {
        width: 90%;
        margin: 50px auto;
    }

    .br-pc { 
        display: none; 
    }

    .available-salon th {
        width: 100%;
        padding-left: 25px;
        display: block;
        text-align: left;
        border-bottom: none;
        letter-spacing: 0;
        text-align-last: auto;
    }

    .available-salon td {
        width: 100%;
        padding-left: 25px;
        display: block;
        text-align: left;
        border-bottom: none;
    }

    .available-salon td:last-child {
        border-bottom: 1px solid rgba(0,0,0,.08);
    }

}

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


article.l-mainContent__inner.news {	
    margin: 0 auto;
	text-align: center;
	text-align: center;
	max-width: 52rem;          
    margin-inline: auto;       
    text-align: left;           
    line-height: 1.9;
    letter-spacing: .02em;
}
.single.p-toc.-double {
	display: none;
}

.single .p-articleHead.c-postTitle {
  max-width: 980px;
  margin-inline: auto;
  padding: 30px 0;
}
.p-articleMetas.-top,
.p-articleMetas.-bottom {
	display: none;
}

.c-postTitle__ttl {
    text-align: left;
    margin-top: 1em;
}

.c-postTitle__date.u-thin {
	display: none;
}

.wp-block-list {
	list-style: none;
}

.woocommerce-order {
	width: 60%;
	text-align: center;
	max-width: 42rem;          
    margin-inline: auto;       
    text-align: left;           
    line-height: 1.9;
    letter-spacing: .02em;
}

.wc-block-components-notices {
	width: 70%;
	left: 50%;
}

/*---terai---*/
.post_content h2 {
	margin:unset;
}
h2.cat-title {
    font-size: 1.2em;
    line-height: 1.4;
    margin: 4em 0 2em;
    position: relative;
    z-index: 1;
}

/*-----レイアウト-----*/
main#main_content {
    margin: 0 auto;
    padding: 0 0 3em;
}
.l-mainContent__inner {
	width:100%;
    margin: 0 auto;
}
.l-article {
	max-width:unset;
}
.post_content {
    padding: 0!important;
}
@media screen and  (max-width: 1000px) {
	main#main_content {
    width:100%;
}
}
/*-----商品一覧ページ-----*/
.woocommerce.columns-4 {
    background-color: #fcfcfc;
}
.woocommerce ul.products {
	width: 100%;
	max-width:1200px;
    margin: 0 auto;
}
.inner-wrap {
    width: 90%;
    max-width: 1200px;
    margin: 3em auto 0;
}
p.woocommerce-result-count {
    display: none;
}
select.orderby {
    display: none;
}
a.button.product_type_simple {
    background-color: #d19493;
    color: #FFF;
	margin: 1em auto 3em;
}

a.button.product_type_simple:hover {
    background-color: #2f140f;
    color: #FFF;
}
.shop-title {
    height: 500px; 
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and  (max-width: 797px) {
a.button.product_type_simple {
	font-size:80%;		
	}	
}
/*-----商品詳細ページ-----*/
@media screen and  (min-width: 798px) {
.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
    float: left;
    width: 60%;
}
.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    float: right;
    width: 36%;
    clear: none;
}
}
.single-product {
    background-color: #fcfcfc;
}
h2.product_title.entry-title {
    margin-bottom: 0.5em;
}
.woocommerce div.product {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 3em 0 0;
}
.woocommerce div.product div.summary {
    margin-bottom: 4em;
}
ul.tabs.wc-tabs {
	display:none;
}
div#tab-description h2{
	display:none;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    background: #ebdddd;
}
button.single_add_to_cart_button.button.alt {
    background-color: #d19493;
    border-radius: 0;
}
button.single_add_to_cart_button.button.alt:hover {
    background-color: #2f140f;
    border-radius: 0;
}
section.related.products {
    width: unset;
}
p.price {
    font-size: 120%;
}
/*-----お買い物かご-----*/
.wc-block-cart__submit-container a {
	background-color:#d19493;
}
.wc-block-cart__submit-container a * {
    color: #FFF;
}
.wc-block-cart__submit-container a:hover {
    background-color:#2f140f;
}
h2.wp-block-heading.has-text-align-center.with-empty-cart-icon.wc-block-cart__empty-cart__title::before {
    display: none;
}
@media screen and  (min-width: 1200px) {
.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large,
.wc-block-components-sidebar-layout.wc-block-checkout.is-large,
nav.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content,
.woocommerce-order{
    padding-top: 2em;
	max-width:1000px;
}
}
@media screen and  (max-width: 1199px) {
.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large,
.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-medium,
.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-small,
.wc-block-components-main.wc-block-checkout__main.wp-block-woocommerce-checkout-fields-block,
.wc-block-components-sidebar-layout.wc-block-checkout.is-large,
.wp-block-woocommerce-checkout-order-summary-block,
nav.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content,
.woocommerce-order{
    padding-top: 2em;
	width:90%;
}
}
.wc-block-components-main.wc-block-checkout__main.wp-block-woocommerce-checkout-fields-block,
.wc-block-components-sidebar-layout.wc-block-checkout.is-large,
.wp-block-woocommerce-checkout-order-summary-block,
nav.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content,
.woocommerce-order{
	margin:0 auto;
}
p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    text-align: center;
    margin: 3em;
    font-weight: 700;
}
.woocommerce-order p {
    margin: 2em;
}
table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details th {
    background-color: #c88e8e;
	color:#FFF;
}
.woocommerce-column.woocommerce-column--1.woocommerce-column--billing-address.col-1 {
    margin-bottom: 2em;
}
/*-----プライバシーポリシー-----*/
.privacy-policy{
	width: 70%;
    margin: 100px auto;
	padding-top: 1rem;
}
.privacy-policy p{
	padding-top: 1rem;
    font-size: 15px;
}
html {
　　scroll-snap-type: y proximity;
　　scroll-padding-top: 100px;
}
/*-----カートアイコン-----*/
.cart {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9rem;
  padding: 0.35rem 0.6rem;
  color: #fff;
}

.cart-icon {
  position: relative;
  display: inline-block;
}

.cart-icon img {
  width: 24px;
  height: auto;
}

.cart-count {
    position: absolute;
    top: -15px;
    right: -15px;
    background: #FFF;
    color: #d19493;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    min-width: 18px;
    padding: 5px;
    border-radius: 100px;
    text-align: center;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
	width: 1.8em;
    height: 1.8em;
}
.utility-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-right: 1.5rem;
}
/*-----コンタクトフォーム-----*/
form.wpcf7-form.init,
.wpcf7-response-output,
.wpcf7-form{
    margin: 0 auto;
    width: 70%;
}
span.wpcf7-form-control-wrap {
    width: 100%;
    display: grid;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner {
    width: 100%;
	background-color:#d19493;
	color:#FFF;
	margin-top:2em;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
	background-color:#FFF;
	color:#d19493;
}
@media screen and  (max-width: 797px) {
	form.wpcf7-form.init,
	.wpcf7-response-output,
	.wpcf7-form{
    width: 90%;
}
}

.post_content td, .post_content th {
    border: none;
}
table.calendar>tbody>tr>th {
    white-space: pre;
}
table.calendar>tbody>tr * {
    background: none;
}