/*
Template: IT-STUDIO
Theme Name: IT-STUDIO_child
Description: New Material Design Theme
Version: 9.0.1
Author:	IT-STUDIO
Theme URI: https://it-studio.jp/
Domain Path: /languages
*/


@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx){
    html {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
    }


html { scroll-behavior: smooth;}

.white,.white h1,.white h2,.white h3,.white h4,.white h5,.white h6,.white p{
    color:#fff;
}
.margin0,.margin0 p,.margin0 h1,.margin0 h2,.margin0 h3,.margin0 h4,.margin0 h5,.margin0 h6 {
    margin-bottom: 0 !important;
}

::selection {
    color: silver;
    background:#E3F2FD;
}
::-moz-selection {
    color: silver;
    background:#E3F2FD;
}

.keep h1,.keep h2,.keep h3,.keep h4,.keep h5,.keep h6,.keep p{
    word-break: keep-all !important;
}
.shadow h1,.shadow h2,.shadow h3,.shadow h4,.shadow h5,.shadow h6,.shadow p,.shadow{
    text-shadow: 1px 1px 5px #333;
}
.relative{
    position: relative;
}

span.small{
    font-size: 0.9rem;
}

@media (max-width: 767px){
.padding0 .wpb_column.vc_column_container {
    margin-bottom: 0 !important;
}
}
@media (min-width: 600px){
br.br-sp {
    display: none; 
}
}
@media (max-width: 600px){
br.br-pc {
    display: none;
}
}

/*Zephyr*/
.w-image {overflow: hidden}
.w-image img {-webkit-transition: .3s ease-in-out;transition: .3s ease-in-out}
.w-image.zoom img:hover {transform: scale(1.05)}
main#page-content {overflow: hidden}


:root{
  --accent:#4e3b4e;
  /* Neutrals */
  --ink:#3a3532;
  --ink-soft:#6f6862;
  --ink-faint:#9a938c;
  --bg:#fafafa; 
  --bg-warm:#f5f3f1;
  --greige:#c9c2b8;
  --line:color-mix(in srgb, var(--accent) 14%, transparent);
  --line-soft:color-mix(in srgb, var(--accent) 8%, transparent);
  --veil:color-mix(in srgb, var(--accent) 6%, transparent);

  --serif-en:"Cinzel",serif;
  --serif-jp:"Noto Serif JP",serif;
  --gutter:clamp(1.5rem,6vw,6rem);
  --section-y:clamp(5.5rem,14vw,11rem);
  --measure:34em;
  --max:1180px;

  --ease:cubic-bezier(.22,.61,.36,1);

  --bleed:calc((100vw - min(100vw, var(--max))) / 2 + var(--gutter));
}
@keyframes hlda-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.wrap {
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.center {
  text-align: center;
}
.measure {
  max-width: var(--measure);
  margin:0 auto;
}
.center .measure {
  margin-inline: auto;
}
/* 和文の改行位置を制御（句や括弧の途中で折り返さない） */
.nb{display:inline-block}




/*Header
/* blur用の層（ページの背後を暈す） */
.l-header.id_10:not(.bg_transparent)::before,
.l-header.id_10.sticky::before{
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 0;
  visibility: visible !important;
}
.l-header.id_10:not(.bg_transparent)::after,
.l-header.id_10.sticky::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(/wp-content/uploads/2026/07/glass-back2.webp);
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  z-index: 0;
}
.l-header.id_10 > * {
  position: relative;
  z-index: 1;
}
ul#w-nav-sublist-39 {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.w-socials.style_outlined .w-socials-item-link{
    box-shadow: unset;
}
@media (max-width: 1023px){
ul.w-nav-list.level_1 {
    background: #fff !important;
}
}

/*3D Flip Book*/
.fb3d-default-page {
    margin-top: 6rem;
}

/*breadcrumbs*/
p#breadcrumbs {
    font-size: 0.82rem;
    line-height: 2;
	position: absolute;
    right: -2rem;
	z-index: 99;
}
p#breadcrumbs span {
    margin: 0 3px 0 3px;
}


/*General*/
.list-one ul {
    list-style: none;
    margin-left: 1.5rem;
	position: relative;
	
}
.list-one li {
    margin-bottom: 2rem;
}
.list-one li:before {
    content: '―';
    opacity: 0.7;
    margin-right: 5px;
	position: absolute;
    left: -1.5rem;
}
/*Check-list*/
.ic-pain__list{margin-top:clamp(2.6rem,7vw,3.4rem);margin-left: 0;}
.ic-pain__list li{
  padding:1.35em 0 1.35em 1.7em;
  border-bottom:1px solid var(--line-soft);
  font-size:.9rem;line-height:2.05;letter-spacing:.07em;color:var(--ink);
  position:relative;text-align:left;list-style: none;
}
.ic-pain__list li:first-child{border-top:1px solid var(--line-soft)}
.ic-pain__list li::before{
  content:"";position:absolute;left:.3em;top:1.35em;
  transform:translateY(.95em);
  width:.42em;height:.42em;border:1px solid var(--accent);border-radius:50%;
}
.ic-pain__out{margin-top:clamp(2.8rem,7vw,3.6rem);text-align:left}



/*BLOG LIST*/
.blog-cate a:not(:first-child) {
  display: none;
}
.blog-list h3.post_title {
    font-size: 1.05rem;
    font-weight: normal;
}
.blog-list {
    padding: 20px 5px;
}
.blog-section article.w-grid-item:last-child {
    border-bottom: 1px solid var(--line);
}
.blog-section article.w-grid-item {
    border-top: 1px solid var(--line);
}
.blog-list time.w-post-elm.post_date {
    font-size: 0.9rem;
    color: #8a8474;
    margin-right: 15px;
    margin-bottom: 0;
    line-height: 1.4;
}
.blog-list .w-post-elm.post_taxonomy {
    margin-left: auto;
    min-width: 100px;
}
.blog-list .w-post-elm.post_taxonomy a {
    font-size: 13px;
    font-family: 'lato';
    background: var(--accent);
    color: #fff;
    padding: 5px 10px;
}
.blog-list .w-post-elm.post_taxonomy a.term-17 {
    color: #2b2820;
    background: #E5DDCC;
}
.blog-list .w-post-elm.post_taxonomy a.term-16 {
    color: #fff;
    background: var(--navy);
}
@media (max-width: 600px){
.blog-list .post_taxonomy.blog-cate {
    display: flex;
}
.blog-list .w-post-elm.post_taxonomy a {
    margin-left: auto !important;
	padding: 0 5px;
    margin-top: 10px;
}
}




/*Heading*/
h2 br,h3 br {
    display: none;
}
span.service-en-title {
    font-size: 1.4rem;
}

span.service-ja-title {
    font-size: 0.9rem;
    display: block;
    margin-top: 5px;
    color: var(--color-content-faded);
}
.h-sec {
  font-family: var(--serif-jp);
  font-weight: 300;
  font-size: clamp(1.2rem,3.4vw,1.6rem);
  line-height: 2.1;
  letter-spacing: .13em;
  color: var(--accent);
}
/* 日英併記の見出し（SEO：英語表記と和文を併記） */
.h2-du__en{
  display:block;
  font-family:var(--serif-en);font-weight:400;
  font-size:clamp(1.4rem,4.6vw,2rem);
  line-height:1.45;letter-spacing:.08em;color:var(--accent);
}
.h2-du__jp{
  display:block;margin-top:.9rem;
  font-family:var(--serif-jp);font-weight:300;
  font-size:clamp(1.02rem,3.2vw,1.28rem);
  line-height:2;letter-spacing:.14em;color:var(--accent);
}

.rule {
  width: 1px;
  height: clamp(3rem,8vw,5.5rem);
  background: var(--line);
  margin-inline: auto;
}
.reveal{opacity:0;transform:translateY(14px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease)}
.reveal.is-in{opacity:1;transform:none; animation: hlda-rise 1.15s cubic-bezier(.22, .61, .36, 1) forwards}
.no-motion .reveal { opacity: 1; animation: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; animation: none; } }
.txt {
  font-size: .94rem;
  line-height: 2.3;
}
.eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 0 clamp(36px, 5vw, 64px);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .42em;
    text-transform: uppercase;
    color: var(--color-content-secondary);
}
.eyebrow::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--line);
}

.howto p {border-bottom: 1px solid var(--color-content-border);padding: 20px 5px;margin-bottom: 0}
.howto span {width: 320px;display: inline-block}
.ac-why__grid{display:grid;gap:clamp(2.8rem,8vw,3.6rem)}
.ac-why__media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.ac-why__h3{
  margin-top:clamp(2.2rem,6vw,2.8rem);
  font-family:var(--serif-jp);font-weight:300;
  font-size:clamp(1.06rem,3.2vw,1.26rem);
  line-height:2.1;letter-spacing:.12em;color:var(--accent);
}
.ac-why__out {
  margin-top: clamp(2.6rem,7vw,3.4rem);
  padding-top: clamp(1.8rem,5vw,2.2rem);
  border-top: 1px solid var(--line);
  font-family: var(--serif-jp);
  font-weight: 300;
  font-size: clamp(1rem,3vw,1.16rem);
  line-height: 2.2;
  letter-spacing: .12em;
  color: var(--accent);
}
@media (max-width: 900px){
.howto a {
    display: block;
}
}

.pg__meta {
  margin-top: 1.7rem;
  border-top: 1px solid var(--line-soft);
}
.pg__meta p {
  padding: .95em 0;
  border-bottom: 1px solid var(--line-soft);
  font-size: .82rem;
  line-height: 1.95;
  letter-spacing: .06em;
  margin-bottom: 0;
}
.pg__k {
  margin-right: .9em;
  white-space: nowrap;
  color: var(--ink-faint);
}


/*Profile*/
p.keiko {
    font-size: 1.3rem;
}
.creds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.cred { background: var(--color-content-bg); padding: clamp(28px, 3.4vw, 44px); }
.cred__num { display: block; margin-bottom: 16px; font-size: 10px; letter-spacing: .4em; color: var(--accent-soft); }
.cred__text { margin: 0; font-size: 15px; line-height: 2; letter-spacing: .05em; }
.cred__note { display: block; margin-top: 12px; font-size: 12.5px; line-height: 1.95; color: var(--ink-faded); }
.cred--full { grid-column: 1 / -1; }
.creds-head { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: end; margin-bottom: clamp(36px, 4vw, 56px); }
.creds-head .ph { aspect-ratio: 4 / 5; }
.creds-head__name { margin: 0; font-size: clamp(19px, 2vw, 24px); font-weight: 400; letter-spacing: .12em; color: var(--accent); }
.creds-head__role { margin: 14px 0 0; font-size: 13px; line-height: 2.1; color: var(--ink); letter-spacing: .08em; }
@media (max-width: 900px) {
  .creds { grid-template-columns: minmax(0, 1fr); }
  .creds-head .ph { max-width: 260px; }
}
/*Four Approaches*/
.four .w-text {font-size: 0.9rem;letter-spacing: 0.1em;margin:10px 0}
.four br {display: none}
.four span.service-en-title {display: block;text-align: center;font-size: 1.2rem}
.four span.service-ja-title {text-align: center;color: var(--content-primary)}


/*   1. 扉（ファーストビュー） */
.ac-open{padding-block:clamp(3.5rem,11vw,7rem) clamp(4rem,11vw,7rem)}
.ac-open__title{
  font-family:var(--serif-jp);font-weight:200;
  font-size:clamp(1.4rem,5vw,2.05rem);
  line-height:2.05;letter-spacing:.12em;color:var(--accent);
  margin-top:clamp(2.2rem,6vw,3rem);
}
.ac-open__title {
  font-family: var(--serif-jp);
  font-weight: 200;
  font-size: clamp(1.4rem,5vw,2.05rem);
  line-height: 2.05;
  letter-spacing: .12em;
  color: var(--accent);
  margin-top: clamp(2.2rem,6vw,3rem);
}
.ac-open__title .sub{
  display:block;margin-top:1.5rem;
  font-size:clamp(.94rem,3.1vw,1.14rem);
  line-height:2.1;letter-spacing:.14em;
}
.ac-open__lead{margin-top:clamp(2.8rem,8vw,4rem);text-align:left}

/* 全幅の静かな帯 */
.ac-band{overflow:hidden}
.ac-band img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center}
@media (min-width:640px){
  .ac-band img{aspect-ratio:2/1}
}

.fm-spec{margin-top:clamp(1.8rem,5vw,2.4rem);border-top:1px solid var(--line-soft)}
.fm-spec p{
  padding:1em 0;border-bottom:1px solid var(--line-soft);
  font-size:.86rem;line-height:1.95;letter-spacing:.07em;color:var(--ink);margin-bottom: 0;
}
.fm-spec .k{color:var(--ink-faint);margin-right:.6em}
@media (min-width:900px){
  .fm-spec{margin-top:0;border-top:1px solid var(--line)}
}
