@charset "utf-8";

body {
font: normal 18px/1.7 'Noto Sans JP', sans-serif;
color:#222;
text-align: justify;
overflow-x: hidden;
background-color: #eeeeee;
letter-spacing: 0.1em;
} .v-mincho {
font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
} .v-cormorant {
font-family: 'Cormorant Garamond', serif;
font-weight: 600;
letter-spacing: 0.03em;
} .v-montserrat {
font-family: 'Montserrat', sans-serif;
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.fl_left {
float: left;
}
.fl_right {
float: right;
}
.ov_hd {
overflow: hidden;
}
.bg_none {
background-image: none!important;
}
a.rollover:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
.rollover:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
.center {
text-align: center;
}
.right {
text-align:right;
}
.line_0 {
line-height: 0;
}
.zindex {
z-index: 200;
}
input[type=radio] {
width: 15px;
height: 15px;
vertical-align: middle;
}
input[type=image]:hover{
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
} em {
text-decoration: underline;
font-style: normal;
}
.ul{
text-decoration: underline;
}
.bd_red {
border-bottom: 1px solid #FF0004;
padding-bottom: 2px;
}
.bd_red02 {
border-bottom: 3px solid #FF0004;
padding-bottom: 0px;
}
.pink{
color: #e64369;
}
.brown {
color: #B6905B;
font-weight: bold;
}
.white {
color: #fff;
font-weight: bold;
}
.green {
color: #039ca2;
font-weight: bold;
}
.gray {
color:#6e6e6e;
}
.bold {
font-weight: bold;
}
strong {
font-weight: bold;
}
.strike {
text-decoration: line-through;
}
.ac {
text-align: center !important;
}
.ar {
text-align: right !important;
}
.al {
text-align: left !important;
}
.bold {
font-weight: bold !important;
color: #00479d;
}
.font10 {
font-size: 10px !important;
}
.font11 {
font-size: 11px !important;
}
.font12 {
font-size: 12px !important;
}
.font13 {
font-size: 13px !important;
}
.font14 {
font-size: 14px !important;
}
.font15 {
font-size: 15px !important;
}
.font16 {
font-size: 16px !important;
}
.font17 {
font-size: 17px !important;
line-height:150%;
}
.font18 {
font-size: 18px !important;
}
.font19 {
font-size: 19px !important;
}
.font20 {
font-size: 20px !important;
}
.font21 {
font-size: 21px !important;
}
.font22 {
font-size: 22px !important;
}
.font23 {
font-size: 23px !important;
}
.font24 {
font-size: 24px !important;
}
.font25 {
font-size: 25px !important;
}
.font26 {
font-size: 26px !important;
}
.font27 {
font-size: 27px !important;
}
.font28 {
font-size: 28px !important;
}
.font29 {
font-size: 29px !important;
}
.font30 {
font-size: 30px !important;
}
.font42 {
font-size: 42px !important;
}
.font70 {
font-size: 70px !important;
}
.weight{
font-weight: 700;
}
.sp-only{
display: none;
}
.pc-only{
display: block;
}
@media (max-width: 950px){
.sp-only {
display:block;
}
.pc-only {
display: none;
}
} .fr {
float: right !important;
}
.fl {
float: left !important;
}
.clear {
clear: both;
}
img {
line-height: 0;
padding: 0;
margin: 0;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}
.clearfix {
min-height: 1px;
}
* html .clearfix {
height: 1px; /*/*/}
html, body {
width: 100%;
overflow-x: hidden;
}
hr {
height: 0;
margin: 0;
padding: 0;
border: 0;
}/**/* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.main{
max-width: 2700px;
margin: 0 auto;
}
.wrap{
width: 1000px;
margin: 0 auto;
}
@media (max-width: 950px){
.wrap{
width: 92vw; 
max-width: none; 
}
}
.sec img{
width: 100%;
margin: 0 auto;
} :root {
--header-h: 80px;
--menu-gap: 30px;
--bg: #eeeeee;
--ink: #2a2a2a;
--ink-dim: #555;
--border: #d0d0d0;
}
* { box-sizing: border-box; }
.container {
max-width: 1500px;
margin: 0 auto;
padding: 0 20px;
} .site-header {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
background: var(--bg);
backdrop-filter: saturate(180%) blur(6px);
}
.site-header__inner {
display: flex;
align-items: center;
height: var(--header-h);
} .site-header__logo img {
display: block;
height: auto;
margin-right: 40px; 
} .primary-nav__list {
display: flex;
gap:20px;
list-style: none;
margin: 0;
padding: 0;
}
.primary-nav__link {
display: inline-flex;
align-items: center;
height: var(--header-h);
color: var(--ink);
text-decoration: none;
font-weight: 500;
font-size: 13px;
letter-spacing: .02em;
border: none;
background: none;
cursor: pointer;
padding: 0;
transition: color .2s ease;
}
.primary-nav__link:hover,
.primary-nav__link:focus {
color: var(--ink-dim);
}
.submenu {
position: absolute;
top: 100%;
left: 0;
min-width: 260px;
background: #eeeeee;
box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
padding: 8px 0;
margin: 0;
list-style: none;
opacity: 0;
visibility: hidden;
transform: translateY(6px);
transition: .18s ease;
border: none;
white-space: nowrap; } .has-submenu[aria-expanded="true"] .submenu,
.has-submenu.open .submenu {
opacity: 1;
visibility: visible;
transform: translateY(0);
} .header-spacer {
height: var(--header-h);
} .dropdown-icon {
display: inline-block;
margin-left: 6px;
width: 6px;
height: 6px;
border-right: 1px solid var(--ink);
border-bottom: 1px solid var(--ink);
transform: rotate(45deg); 
transition: border-color 0.2s ease;
position: relative;
top: -1px;
} .has-submenu:hover .dropdown-icon {
border-color: var(--ink-dim); } .has-submenu{position:relative}
.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu{
opacity:1;visibility:visible;transform:translateY(0);
} .submenu a{
display:block;padding:12px 16px;
color:var(--ink);text-decoration:none;font-weight:500;font-size:12px;
line-height:1.6;
transition:background .16s ease, color .16s ease;
border-radius:4px; margin:0 6px; }
.submenu a:hover,.submenu a:focus{background:#f7f7f7} @media (prefers-reduced-motion: reduce){
.submenu{transition:none;transform:none}
.dropdown-icon{transition:none}
} .header-cta {
display: flex;
align-items: center;
gap: 0px;
margin-left: auto;
} .header-cta .cta-btn {
display: flex;
align-items: center; justify-content: center; gap: 10px; width: 160px; height: var(--header-h); text-decoration: none;
font-family: 'Noto Sans JP', sans-serif;
font-size: 13px;
font-weight: 500; 
line-height: 1.4;
text-align: left;
transition: background-color 0.25s ease, color 0.25s ease; } .header-cta .cta-btn img {
width: 16px;
height: 16px;
object-fit: contain;
flex-shrink: 0;
display: block;
} .cta-btn.gray { 
background: #b8b8b8; color: #fff;
;
}
.cta-btn.gold {
background: #b89a65;
color: #fff;
} .cta-btn.gray:hover {
background: #cdcccc; }
.cta-btn.gold:hover {
background: #a88a58; } .header-search {
position: relative; height: 34px;                
background: #fff;
border: 1px solid #ccc;
border-radius: 4px;
display: flex;
align-items: center;
padding: 0 36px 0 10px; margin-left: 20px;
} .header-search input {
flex: 1;
border: none;
outline: none;
font-size: 12px;
font-family: 'Noto Sans JP', sans-serif;
background: #fff;
height: 100%;
padding: 0;
line-height: 1;
} .header-search button {
position: absolute;
right: 10px;          
top: 50%;
transform: translateY(-50%); background: none;
border: none;
padding: 0;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.header-search img {
width: 16px;
height: 16px;
object-fit: contain;
opacity: 0.7;
transition: opacity 0.2s ease;
} .header-search button:hover img {
opacity: 1;
} .header-store {
display: flex;
align-items: center;
justify-content: center;
width: 80px; height: var(--header-h);
}
.header-store a {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-decoration: none;
color: #222;
}
.header-store img {
width: 20px;
height: 20px;
object-fit: contain;
margin-bottom: 4px;
}
.header-store span {
font-family: 'Montserrat', sans-serif;
font-size: 10px;
font-weight: 600;
letter-spacing: 0.05em;
line-height: 1;
} .header-store a:hover {
opacity: 0.8;
} :root{
--sp-header-h: 56px; } .site-header {
position: fixed; top:0; left:0; right:0; z-index:1000;
background: var(--bg);
backdrop-filter: saturate(180%) blur(6px);
} .sp-nav-extra,
.mobile-actions{
display:none;
} @media (max-width: 950px){
:root{
--sp-header-h: 64px; } .header-cta,
.header-search,
.header-store {
display: none !important;
}
.container {
margin: 0 0 0 10px;
padding: 0 0px;
}
.site-header__inner {
height: auto !important;
}
.header-spacer {
height: auto !important;
} .mobile-actions{
margin-left: auto;
display: flex;
align-items: center;
gap: 10px;
margin: right 0,!important;
}
.ma-link{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-decoration:none;
color:#222;
}
.ma-link img{
width:22px;
height:22px;
object-fit:contain;
}
.ma-link span{
margin-top:8px;
font-family:'Montserrat',sans-serif;
font-size:8px;
font-weight:600;
letter-spacing:.05em;
line-height:1;
} .nav-toggle{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
width: 60px;
gap: 4px;
height: 54px;
padding: 8px 5px;
border-radius: 5px 0 0 5px;
background:#222;
color:#fff;
border:none;
cursor:pointer;
margin-left: auto;
}
.nav-toggle .bars{
position:relative;
width:22px;
height:14px;
display:block;
}
.nav-toggle .bars::before,
.nav-toggle .bars::after,
.nav-toggle .bars span{
content:"";
position:absolute;
left:0;
right:0;
height:2px;
background:#fff;
border-radius:2px;
transition: transform .25s ease, opacity .25s ease;
}
.nav-toggle .bars::before{ top:0; }
.nav-toggle .bars span{ top:50%; transform:translateY(-50%); }
.nav-toggle .bars::after{ bottom:0; } .nav-toggle .label{
display:block;
font-family:'Montserrat',sans-serif;
font-size:10px;
font-weight:600;
letter-spacing:.08em;
line-height:1;
color:#fff;
position:relative;
}
.nav-toggle .label::after{
content:"MENU";
}
.nav-toggle.is-open .label::after{
content:"CLOSE";
} .nav-toggle.is-open .bars::before{
transform: translateY(6px) rotate(45deg);
}
.nav-toggle.is-open .bars::after{
transform: translateY(-6px) rotate(-45deg);
}
.nav-toggle.is-open .bars span{
opacity:0;
}  #primary-nav.nav-init-hide {
display: none;
}
#primary-nav{
position: fixed;
top: var(--sp-header-h); left: 0;
right: 0;
bottom: auto; z-index: 90;
background: rgba(240,240,240, 0.95) !important;
backdrop-filter: blur(3px);
transform: translateX(100%);
transition: transform .35s ease;
padding: 20px 16px 24px; max-height: calc(100vh - var(--sp-header-h) - 24px);
overflow-y: auto;
}
#primary-nav.open{
transform: translateX(0);
} .primary-nav__list{
list-style:none;
margin:0 0 5px;
padding:0;
border-top:1px solid #e5e5e5;
display:flex;
flex-direction:column;
} .primary-nav__item{
display:flex;
align-items:center; justify-content:space-between;
border-bottom:1px solid #c7c7c7;
width:100%;
padding:0 0 20px 0; min-height:50px; } .primary-nav__link{
font-size:15px;
line-height:1.4;
padding:0;
height:auto;
display:flex;
align-items:center; } .dropdown-icon{
margin-left:8px;
position: relative;
top: 1px; } .has-submenu > .primary-nav__link{
min-height:50px; 
padding-top: 25px } .submenu{
position:static;
background:transparent;
padding:8px 0 12px;
margin: 0;
padding: 8px 0 8px;
display:none;
opacity:1;
visibility:visible;
transform:none;
box-shadow:none;
}
.has-submenu.open > .submenu{ display:block; }
.submenu a{
display:block;
padding:10px 4px;
font-size:13px;
border-bottom:1px dashed #e5e5e5;
color:#333;
text-decoration:none;
} .sp-nav-extra{
display:block;
max-width:480px;
margin:0 auto;
}
.sp-nav-search{
display:flex;
align-items:center;
border:1px solid #ccc;
padding:0 10px;
margin:8px 0 20px;
background:#fff;
height:54px;
border-radius:6px;
}
.sp-nav-search input{
flex:1;
border:none;
padding:14px 8px;
font-size:16px;
outline:none;
}
.sp-nav-search button{
border:none;
background:none;
padding:10px 6px;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
}
.sp-nav-search__icon-img{
width:20px;
height:20px;
object-fit:contain;
}
.sp-nav-actions{
display:flex;
margin-bottom:20px;
}
.sp-nav-btn{
flex:1;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
padding:12px 6px;
text-decoration:none;
font-size:13px;
line-height:1.4;
}
.sp-nav-btn--gray{
background:#9a9a9a;
color:#fff;
}
.sp-nav-btn--gold{
background:#b89a65;
color:#fff;
}
.sp-nav-btn__icon-img{
width:22px;
height:22px;
margin-bottom:6px;
object-fit:contain;
display:block;
}
.sp-nav-close{
display:flex;
align-items:center;
justify-content:center;
gap:6px;
border:none;
background:none;
font-size:15px;
margin:20px auto 0;
cursor:pointer;
}
} .sp-nav-search input[type="search"] {
-webkit-appearance: none !important;
appearance: none !important;
box-shadow: 0 0 0px 1000px #fff inset !important; background-color: #fff !important; border: none;
} .sp-nav-search input[type="search"]::-webkit-search-decoration,
.sp-nav-search input[type="search"]::-webkit-search-cancel-button {
display: none !important;
} :root{
--notice-h: 36px;
--notice-bg: #e4d8b0;
--notice-ink: #2a2a2a; }
.notice-bar{
height: var(--notice-h);
background: var(--notice-bg);
display:flex;
align-items:center;
justify-content:center;
border-bottom:1px solid rgba(0,0,0,.05);
padding: 0 12px; }
.notice-bar p{
margin:0;
font: 13px/1.4 'Noto Sans JP', sans-serif;
letter-spacing:.02em;
color: var(--notice-ink);
text-align:center;
} @media (max-width: 950px){
.notice-bar {
height: var(--notice-h); padding: 0 12px;
}
.notice-bar p {
white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
} .fv {
width: 100%;
aspect-ratio: 1000 / 400; position: relative;
overflow: hidden;
} .fv-slider {
position: absolute;
inset: 0;
} .fv-slider .slide {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 1.5s ease-in-out;
}
.fv-slider .slide.active { opacity: 1; } .fv-slider picture,
.fv-slider img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
user-select: none;
pointer-events: none;
} @supports not (aspect-ratio: 1) {
.fv {
position: relative;
}
.fv::before {
content: "";
display: block;
padding-top: 40%; }
.fv-slider {
position: absolute;
inset: 0;
}
}
@media (max-width: 950px){ .fv {
aspect-ratio: auto;
height: auto;
} .fv-slider {
position: relative;
} .fv-slider .slide {
position: relative;
inset: auto;
opacity: 0;
display: none;
transition: opacity 0.6s ease-in-out;
}
.fv-slider .slide.active {
opacity: 1;
display: block;
} .fv-slider picture,
.fv-slider img {
width: 100%;
height: auto;
object-fit: contain; 
} .scroll-indicator{
right: 10px;
top: 80%;
}
}  .scroll-indicator{
position: absolute;
right: 40px; top: 85%;
transform: translateY(-50%);
display: flex;
align-items: center;
flex-direction: column; gap: 10px;
z-index: 2; pointer-events: none; } .scroll-label{
font-family: 'Montserrat', sans-serif;
font-size: 12px;
font-weight: 600;
letter-spacing: 0.2em;
color: rgba(255,255,255,.9);
writing-mode: vertical-rl; text-shadow: 0 1px 2px rgba(0,0,0,.25); } .scroll-line{
position: relative;
width: 1px;
height: 120px; background: rgba(255,255,255,.35);
overflow: hidden; } .scroll-line::after{
content:"";
position: absolute; left: 0; top: -40px; width: 100%;
height: 40px; background: linear-gradient(
to bottom,
rgba(255,255,255,0) 0%,
rgba(255,255,255,.9) 50%,
rgba(255,255,255,0) 100%
);
animation: lineFlow 1.8s linear infinite;
} @keyframes lineFlow{
0%   { transform: translateY(0); }
100% { transform: translateY(160px); }
} @media (prefers-reduced-motion: reduce){
.scroll-line::after{ animation: none; }
} .scroll-lines {
display: flex;
justify-content: center;
align-items: center;
gap: 20px;
margin: 20px 0;
}
.scroll-lines .line {
width: 80px;
height: 2px;
background: #e6e6e6; transition: background-color 0.4s ease;
}
.scroll-lines .line.active {
background: #b89a65; }
@media (max-width: 950px){ .scroll-lines{
position: relative; left: 50%;
transform: translateX(-50%); width: 300px; max-width: 80vw;
margin-top: 12px;
display: flex; gap: 10px;
justify-content: space-between;
}
.scroll-indicator{
right:10px;
top:80%;
}
.scroll-line{ 
height:80px; 
}
}  .follow-fixed {
position: fixed;
right: 30px;
top: 50%;
transform: translateY(-50%);
opacity: 0;
visibility: hidden;
transition: opacity 0.6s ease, visibility 0.6s ease;
z-index: 1000;
} .follow-fixed.active {
opacity: 1;
visibility: visible;
} .follow-link {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
gap: 10px;
} .follow-label {
font-family: 'Cinzel', serif;
font-size: 16px;
letter-spacing: 0.1em;
writing-mode: vertical-rl;
text-orientation: mixed;
color: #222;
text-shadow: 0 0 4px rgba(255,255,255,0.4);
transition: opacity 0.3s ease;
} .follow-line {
display: block;
width: 1px;
height: 60px;
background: #222;
opacity: 0.6;
} .follow-link img {
width: 22px;
height: 26px;
transition: opacity 0.3s ease;
} .follow-link:hover img,
.follow-link:hover .follow-label {
opacity: 0.6;
}
.follow-ig:hover{ transform: scale(1.06); opacity: .9; }
@media (max-width: 950px){
.follow-fixed{ display:none; }
}  .reveal{
opacity: 0;
transform: translate(20px, 24px); transition:
opacity 1.2s ease-out,
transform 1.2s cubic-bezier(.22,.61,.36,1); will-change: opacity, transform;
} .reveal.is-visible{
opacity: 1;
transform: translate(0,0);
} .reveal[data-reveal]{
transition-delay: calc(0.08s * var(--rv, 0)); } @media (prefers-reduced-motion: reduce){
.reveal{ opacity:1; transform:none; transition:none; }
}  :root{
--news-ink:#222;
--news-dim:#9a9a9a;
--news-rule:#9a9a9a;
--accent:#b89a65; --badge:#e4d8b0; }
.news-sec .wrap{
max-width: 750px;
width: min(92vw, 750px);
margin: 0 auto;
} .news-title{
font-size: 17px;
letter-spacing: .02em;
display: -webkit-box;
-webkit-line-clamp: 2; -webkit-box-orient: vertical;
overflow: hidden;
}
.news-sec{ padding: 150px 0 0; color:var(--news-ink); }
.news-sec__heading{
text-align:center;
font-size:28px;
letter-spacing:.03em;
margin-bottom:28px;
} .news-list{ list-style:none; margin:0; padding:0; }
.news-item{ border-bottom:1px solid var(--news-rule); }
.news-item:first-child{ border-top:1px solid var(--news-rule); }
.news-link{
display:block;
padding:20px 0;
color:inherit;
text-decoration:none;
}
.news-link:hover .news-title{ text-decoration:underline; } .news-meta{
display:flex;
align-items:center;
justify-content:flex-start; gap:10px; margin-bottom:8px;
}
.badge {
display: inline-block;
font-size: 12px;
line-height: 1;
padding: 8px 14px;
border-radius: 999px;
background: #e4d8b0; color: #222; }
.badge {
display: inline-block;
font-size: 12px;
line-height: 1;
padding: 8px 14px;
border-radius: 999px;
background: #e4d8b0; white-space: nowrap; }
.news-date {
font-size: 12px;
color: #9a9a9a; white-space: nowrap;
} .news-title{
font-size:17px;
letter-spacing:.02em;
} .news-more {
display: flex;
justify-content: center;
margin-top: 28px;
}
@media (max-width: 950px){
.news-sec{ padding: 30px 0 0; }
.news-sec__heading{
font-size: 28px;
margin-bottom: 25px;
}
.news-sec .wrap{
width: 100%;
padding: 0 16px; }
.news-link{
padding: 14px 0; }
.news-meta{
gap: 8px;
margin-bottom: 6px;
flex-wrap: wrap; }
.badge{
font-size: 11px;
padding: 6px 10px;
}
.news-date{
font-size: 11px;
color: var(--news-dim);
}
.news-title{
font-size: 15px;
-webkit-line-clamp: 2; }
.news-item{ border-bottom-width: 1px; }
.news-more{
margin-top: 50px;
}
} @media (min-width: 769px) and (max-width: 1024px){
.news-sec .wrap{ width: 90%; }
.news-title{ font-size: 16px; }
.badge{ font-size: 11px; }
} .btn_all {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 230px;
height: 50px;
padding: 0 20px 0 20px;
border-radius: 999px;
border: 1px solid #b89a65;
background: #b89a65;
color: #fff;
font-size: 15px;
letter-spacing: .05em;
text-decoration: none;
transition: all .25s ease;
} .btn_all::after {
content: "›";
position: absolute;
right: 18px;
top: 45%;
transform: translateY(-50%);
font-size: 20px;
color: currentColor;
transition: right .25s ease, color .25s ease;
} .btn_all:hover {
background: #a88a58;
color: #fff;
}
.btn_all:hover::after {
right: 12px;
}
@media (max-width: 950px) {
.btn_all {
width: 250px;
height: 60px;
}
} .btn_all--gold {
background: #b89a65;
border-color: #b89a65;
color: #fff;
}
.btn_all--gold:hover {
background: #a8854f;
} .btn_all--gray {
background: #b8b8b8;
border-color: #b8b8b8;
color: #fff;
}
.btn_all--gray:hover {
background: #a0a0a0;
} .btn_all--light {
background: #E4D8B0;
border-color: #e2d5aa;
color: #222;
}
.btn_all--light:hover {
background: #dbcd9d;
color: #222;
} .philosophy-sec {
position: relative;
padding: 150px 0 0;
overflow: hidden;
} .philosophy-title {
display: flex;
flex-direction: column;
gap: 8px;
} .philosophy-title .en {
font-family: 'Cormorant Garamond', serif;
font-size: 60px;
line-height: 1.1;
letter-spacing: 0.05em;
} .philosophy-title .ja {
font-size: 20px;
font-weight: 600;
letter-spacing: .18em;
}
.philosophy-sec .wrap {
margin: 0 auto 40px;
text-align: left;
}  .photo-scroll{
overflow: hidden;
width: 100%;
position: relative;
touch-action: pan-y; }
.photo-track{
display: flex;
gap: 8px;
width: max-content;
will-change: transform;
animation: photo-marquee 40s linear infinite; } .photo-track img{
height: clamp(160px, 28vw, 250px);
width: auto;
flex: 0 0 auto;
object-fit: cover;
pointer-events: none;
user-select: none;
} @keyframes photo-marquee{
0%   { transform: translateX(0); }
100% { transform: translateX(-50%); }
} @media (prefers-reduced-motion: reduce){
.photo-track{ animation-duration: 999s; } }
.philosophy-content{
background:#eeeeee;
padding: 70px 0 72px;
} .philosophy-content .wrap{
display:grid;
grid-template-columns: 1fr 1.25fr;
gap: 48px;
align-items: start;
} .ph-lead{
font-size: clamp(26px, 3.2vw, 36px);
line-height: 1.6;
letter-spacing: .18em;
} .ph-text p{
font-size: 15px;
line-height: 2.2;
} .ph-cta{
display:flex;
justify-content:center;
margin-top: 40px;
}
.ph-cta .btn-more.small{
min-width: 220px;  
}
@media (max-width: 950px){
.philosophy-content .wrap{ 
grid-template-columns: 1fr; 
gap: 28px; 
}
.ph-lead{ 
text-align: left; }
.philosophy-sec {
padding: 100px 0 0;
}
.philosophy-title .en {
font-family: 'Cormorant Garamond', serif;
font-size: 50px;
line-height: 1.1;
letter-spacing: 0.05em;
}
.philosophy-content{
background:#eeeeee;
padding: 30px 0 72px;
}
} .brandlist-sec {
position: relative;
padding: 80px 0;
overflow: hidden;
} .brandlist-title {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom:24px;
} .brandlist-title .en {
font-family: 'Cormorant Garamond', serif;
font-size: 60px;
line-height: 1.1;
letter-spacing: 0.05em;
} .brandlist-title .ja {
font-size: 20px;
font-weight: 600;
letter-spacing: .18em;
} .brandlist-list{
list-style:none;
margin:0;
padding:0;
display:grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 44px 36px;
} .brandlist-card{
position: relative;
} .brandlist-figure{
margin:0;
line-height:0;
overflow:hidden;
}
.brandlist-figure img{
width:100%;
height:auto;
display:block;
aspect-ratio: 1000 / 600; object-fit: cover;
} .brandlist-body{
position: relative;
z-index: 1;
background:#fff;
padding: 18px 20px 22px;
box-shadow: 0 12px 28px rgba(0,0,0,.08);
margin: -24px 0 0 25px;
} .brandlist-ttl{
font-family:'Noto Sans JP', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.8;
color:#222;
margin: 0 0 10px;
}
.brandlist-txt{
font-size: 14px;
line-height: 1.9;
color:#333;
} .brandlist-cta{
display:flex;
justify-content:center;
margin-top: 20px;
}
.brandlist-cta .btn-more.small{
min-width: 220px;  
} .brandlist-card.reveal{
opacity:0;
transform: translate(16px, 20px);
transition: opacity .7s ease-out, transform .7s cubic-bezier(.22,.61,.36,1);
}
.brandlist-card.reveal.is-visible{
opacity:1;
transform: none;
}
@media (max-width: 950px){
.brandlist-sec {
padding: 40px 0 50px;
}
.brandlist-body{
position: relative;
z-index: 1;
background:#fff;
padding: 20px 20px 22px;
box-shadow: 0 12px 28px rgba(0,0,0,.08);
margin: -15px 0 0 10px;
}
.brandlist-list{ 
grid-template-columns: 1fr; 
gap: 36px; 
} .brandlist-card{
position: relative;
} .brandlist-figure{
margin:0;
line-height:0;
overflow:hidden;
}
.brandlist-figure img{
width:100%;
height:auto;
display:block;
aspect-ratio: 1000 / 600; object-fit: cover;
} .brandlist-body{
position: relative;
z-index: 1;
background:#fff;
padding: 18px 20px 22px;
box-shadow: 0 12px 28px rgba(0,0,0,.08);
margin: -24px 0 0 25px;
} .brandlist-ttl{
font-family:'Noto Sans JP', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.8;
color:#222;
margin: 0 0 10px;
}
.brandlist-txt{
font-size: 14px;
line-height: 1.9;
color:#333;
} .brandlist-cta{
display:flex;
justify-content:center;
margin-top: 20px;
}
.brandlist-cta .btn-more.small{
min-width: 220px;  
}
} .jisseki-sec {
position: relative;
padding: 80px 0 0;
overflow: hidden;
} .jisseki-title {
display: flex;
flex-direction: column;
gap: 8px;
} .jisseki-title .en {
font-family: 'Cormorant Garamond', serif;
font-size: 60px;
line-height: 1.1;
letter-spacing: 0.05em;
} .jisseki-title .ja {
font-size: 20px;
font-weight: 600;
letter-spacing: .18em;
} .jisseki-logos{
list-style:none; 
margin:40px 0 28px; 
padding:0;
display:grid;
grid-template-columns: repeat(7, minmax(0,1fr));
gap:16px;
}
.jisseki-logos img{
width:100%; 
height:52px; 
object-fit:contain; 
display:block;
background:#fff; 
box-shadow:0 2px 8px rgba(0,0,0,.05); 
padding:8px; 
} @media (min-width: 951px){
.jisseki-logos{
animation: none !important;
transform: none !important;
}
}
@media (max-width: 950px){
.logos-scroll{
position:relative;
overflow:hidden;
padding:10px 0;
width:100%;
} .logos-scroll.is-marquee .jisseki-logos{
display:flex; align-items:center;
gap:20px;
margin:0;
padding:0;
list-style:none;
width:max-content;
animation: logos-marquee 18s linear infinite;
will-change: transform;
}
.logos-scroll.is-marquee .jisseki-logos li{
flex:0 0 auto;
}
.logos-scroll.is-marquee .jisseki-logos img{
height:56px; width:auto;
padding:6px 10px;
}
} @keyframes logos-marquee{
from { transform: translateX(0); }
to   { transform: translateX(-50%); }
}
@media (max-width: 950px){
.logos-scroll{
position: relative;
overflow: hidden;
padding: 10px 0;
width: 100%;
touch-action: pan-y;
}
.logos-scroll.is-marquee .jisseki-logos{
display: flex !important; align-items: center;
gap: 20px;
margin: 20px 0;
padding: 0;
list-style: none;
will-change: transform; }
.logos-scroll.is-marquee .jisseki-logos li{
flex: 0 0 auto;
}
.logos-scroll.is-marquee .jisseki-logos img{
height: 56px;
width: auto;
padding: 6px 10px;
background: #fff;
box-shadow: 0 2px 8px rgba(0,0,0,.05);
display: block;
}
.jisseki-swiper{
padding-right: 24px; }
} .jisseki-slider-wrap{ position:relative; padding-bottom:64px; } .jisseki-swiper { overflow:hidden; }
.jisseki-swiper .swiper-wrapper { }
.jisseki-swiper .swiper-slide  { width:auto; }  .j-card{ 
background:#fff;
overflow:hidden;
box-shadow:0 10px 24px rgba(0,0,0,.08); }
.j-figure{ line-height:0; }
.j-figure img{ width:100%; height:220px; object-fit:cover; display:block; }
.j-body{ padding:14px 16px 18px; }
.j-ttl{ font-size:13px; font-weight:700; margin:0 0 8px; color:#222; }
.j-txt{ font-size:12px; line-height:1.8; color:#333; margin:0; } .jisseki-prev, .jisseki-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 30px;
border-radius: 50%;
background: #b89a65;
box-shadow: 0 6px 16px rgba(0,0,0,.15);
z-index: 5;
cursor: pointer;
outline: none;
border: none;
}
.jisseki-prev { left: -20px; }
.jisseki-next { right: -20px; } .jisseki-prev::after,
.jisseki-next::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 8px;
height: 8px;
border-right: 2px solid #fff;
border-bottom: 2px solid #fff;
transform: translate(-40%, -40%) rotate(135deg); transform-origin: center;
} .jisseki-next::after {
transform: translate(-50%, -50%) rotate(-45deg);
} .jisseki-prev.swiper-button-disabled,
.jisseki-next.swiper-button-disabled {
opacity: .35;
pointer-events: none;
} .jisseki-pagination{
position:absolute !important;
left:50% !important; 
transform:translateX(-50%);
bottom:130px !important;
width:auto !important;
text-align:center;
}
.jisseki-pagination .swiper-pagination-bullet{
width:6px; 
height:6px; 
border-radius:50%; 
background:#c8c8c8; 
opacity:1;
margin:0 4px !important;
}
.jisseki-pagination .swiper-pagination-bullet-active{ 
background:#b89a65; } .jisseki-more{ display:flex; justify-content:center; margin-top:60px; }
.jisseki-prev,
.jisseki-next {
outline: none; border: none; box-shadow: 0 6px 16px rgba(0,0,0,.15); }
.jisseki-prev:focus,
.jisseki-next:focus {
outline: none;
}
@media (max-width: 950px){ .jisseki-prev{
left: -3px ;
top: 190px;
}
.jisseki-next{
right: -3px ;
top: 190px;
} .jisseki-prev, 
.jisseki-next{
width: 22px;
height: 22px ;
} .jisseki-prev::after,
.jisseki-next::after{
width: 6px ; height: 6px ;
border-width: 2px ;
} .jisseki-pagination{
bottom: 150px !important;
}
} .torikumi-sec {
position: relative;
padding: 80px 0 100px;
overflow: visible;
} .torikumi-title {
display: flex;
flex-direction: column;
gap: 8px;
} .torikumi-title .en {
font-family: 'Cormorant Garamond', serif;
font-size: 60px;
line-height: 1.1;
letter-spacing: 0.05em;
} .torikumi-title .ja {
font-size: 20px;
font-weight: 600;
letter-spacing: .18em;
margin-bottom: 30px;
} .torikumi-lead{
font-size: 17px;
font-weight: 700;
}
.torikumi-text p{
margin: 0 0 14px;
line-height: 1.95;
font-size: 14px;
} .torikumi-cta{ margin-top: 24px; }
.torikumi-grid {
display: flex;
align-items: flex-start;
gap: 60px;
} .torikumi-copy {
flex: 0 0 46%; max-width: 580px;
order: 1;
} .torikumi-title {
margin: 0 0 20px;
line-height: 1.1;
}
.torikumi-title .en {
display: inline-block;
white-space: nowrap; font-family: 'Cormorant Garamond', serif;
font-size: 60px;
line-height: 1.1;
letter-spacing: 0.05em;
}
.torikumi-title .ja {
display: block;
margin-top: 14px;
font-size: 20px;
font-weight: 600;
letter-spacing: 0.18em;
margin-bottom: 30px;
} .torikumi-lead {
font-size: 20px;
font-weight: 700;
margin: 24px 0 18px;
}
.torikumi-text p {
margin: 0 0 14px;
line-height: 1.95;
font-size: 14px;
color: #222;
} .torikumi-cta {
margin-top: 32px;
text-align: center; } .torikumi-visual {
flex: 1 1 auto;
order: 2;
position: relative;
}
.torikumi-visual img {
display: block;
width: 85%;
height: auto;
margin-left: auto;
margin-top: -200px;
z-index: 1;
overflow: visible; 
position: relative; 
}
.tk-main {
transform: translateY(-120px); will-change: transform;
}
.tk-thumb {
position: absolute;
left: -60px;
bottom: -0px;
width: 240px;
overflow: visible; 
}
@media (max-width: 950px){ .torikumi-title .en {
display: inline-block;
white-space: nowrap; font-family: 'Cormorant Garamond', serif;
font-size: 50px;
line-height: 1.1;
letter-spacing: 0.05em;
}
.torikumi-grid{
display: flex;
flex-direction: column;
gap: 32px;
}
.torikumi-visual{
order: 1;
position: relative;
width: 100%;
margin-bottom: 40px;
} .tk-main{
width: 85%;
margin: 340px 0 0 auto;
}
.tk-main img{
width: 100%;
aspect-ratio: 1 / 1; object-fit: cover;
display: block;
}
.tk-thumb{
width: 50%;
position: absolute;
left: 0;
bottom: -20px;
}
.tk-thumb img{
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
box-shadow: 0 6px 20px rgba(0,0,0,0.12);
} .torikumi-copy{
order: 2;
margin-top: -70px;
} .torikumi-title{
margin-bottom: 0 !important;
}
} .char {
display: inline-block;
opacity: 0;
transform: translateY(0.6em);
animation: charIn 0.9s cubic-bezier(.22,.61,.36,1) var(--d, 0s) forwards;
will-change: transform, opacity;
} .char.br { display: inline; } @keyframes charIn {
to {
opacity: 1;
transform: translateY(0);
}
} .torikumi-lead .char { animation-duration: .6s; } .js-linefade {
opacity: 0;
transform: translateY(20px);
transition: opacity 1s ease, transform 1s ease;
}
.js-linefade.is-visible {
opacity: 1;
transform: translateY(0);
} .contact-sec {
position: relative;
background: url(//myunistory.com/wp-content/themes/images/contact_bg.jpg) center center / cover no-repeat;
padding: 80px 0px;
color: #fff;
text-align: center;
margin-bottom: -1px;
} .contact-inner {
position: relative;
z-index: 1;
max-width: 960px;
margin: 0 auto;
} .contact-title {
display: flex;
flex-direction: column;
}
.contact-title .en {
font-size: 50px;
letter-spacing: 0.04em;
}
.contact-title .ja {
font-size: 20px;
letter-spacing: 0.18em;
} .contact-lead {
font-size: 16px;
line-height: 1.9;
margin-bottom: 40px;
}
.contact-btn {
display: inline-flex;
align-items: center;
justify-content: center;
} .contact-btn.light {
background: #f3e7c1;
color: #222;
border: 1px solid #e2d5aa;
width: 280px;
}
.contact-btn.light:hover {
background: #e8dbad;
} .contact-btn.gold {
background: #b89a65;
color: #fff;
border: 1px solid #b89a65;
width: 280px;
}
.contact-btn.gold:hover {
background: #a8854f;
} .contact-cta{
display:flex;
justify-content:center;
align-items:center;
gap: 30px;        
flex-wrap: wrap; } .btn_all--light::after {
color: #333 !important;
}
.c-form input[type="date"] {
color: #222; text-align: left; padding: 20px 15px; line-height: 1.2;
} @supports (-webkit-touch-callout: none) {
.c-form input[type="date"] {
min-height: 55px; padding-top: 14px;      
padding-bottom: 14px;
text-align: left; }
}
@media (max-width: 950px){
.contact-sec {
padding: 30px 0px 50px;
}
.contact-cta{
flex-direction: column;
gap: 10px;            
}
.contact-btn.light,
.contact-btn.gold {
width: 300px;
height: 70px;
}
.contact-lead {
font-size: 16px;
line-height: 1.9;
margin-top: 30px;
}
} .fv-sub {
position: relative;
width: 100%;
height: 400px;
overflow: hidden;
}
.fv-sub__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
} .fv-sub__title {
position: absolute;
left: 50%;
bottom: 40%;
transform: translateX(-50%);
color: #fff;
font-size: 32px;
letter-spacing: 0.04em;
font-weight: 1000;
}
@media (max-width: 950px) {
.fv-sub {
height: 200px;
margin-top: 50px;
}
.fv-sub__title {
font-size: 20px;
bottom:35%;
text-align: center;
}
} .next-cta{
padding-bottom: 100px;
display: flex;
padding-bottom: 100px;
} .btn_all--gray {
background: #b8b8b8;
border-color: #b8b8b8;
color: #fff;
display: inline-flex;      
align-items: center;        
justify-content: center;   
margin: 0 auto;
width: 270px;
} .btn_all--gray:hover {
background: #a0a0a0;
border-color: #a0a0a0;
} .btn_all--gray::after {
color: #fff;
}
.news-sec .next-cta {
margin-top: 40px;
}
@media (max-width: 950px){
.btn_all--gray {      
width: 280px;  
height: 60px; 
}
}  .ht-hero {
padding: 120px 0 80px;
text-align: center;
}
.ht-hero__inner {
max-width: 900px;
margin: 0 auto 24px;
}
.ht-hero__logo img {
display: block;
margin: 0 auto 24px;
max-width: 420px;
height: auto;
}
.ht-hero__title {
font-size: 26px;
font-weight: 600;
margin: 0;
letter-spacing: .06em;
}
.ht-hero__title-img {
margin: 40px 0;
}
.ht-hero__title-img img {
display: block;
width: 100%;    
height: auto;
} .ht-hero__text {
font-size: 15px;
line-height: 1.9;
max-width: 1000px;
margin:50px auto 0;
}
.ht-hero__text p {
margin: 0 0 14px;
}
@media (max-width: 950px) {
.ht-hero {
padding: 50px 0 0px;
}
.ht-hero__logo img {
max-width: 100vw;
}
.ht-hero__title {
font-size: 25px;
margin-bottom: 16px;
}
.ht-hero__text {
font-size: 14px;
line-height: 1.8;
padding: 0 0;
}
} .kodawari-free {
position: relative;
padding: 0px 0 400px;
}
.kodawari-free__inner {
position: relative;
width: 100%;
max-width: 1200px;
margin: 0 auto;
} .kf-photo {
position: absolute;
display: block;
}
.kf-photo img {
width: 100%;
height: auto;
display: block;
} .kf-photo--01 {
top: -30px;
left: 20%;
width: 28%;
z-index: 1;
} .kf-photo--02 {
top: 120px;
left: 50%;
width: 33%;
z-index: 2; 
} .kf-photo--03 {
top: 160px;
left: 8%;
width: 15%;
z-index: 3;
}
@media (max-width: 950px) {
.kodawari-free {
padding: 10px 0 550px;
}
.kodawari-free__inner {
position: static;
}
.kf-photo {
position: absolute;
width: 80%;
max-width: 420px;
margin: 0 auto 20px;
}
.kf-photo--01 {
top: 30px;
right: 0;
width: 60%;
z-index: 1;
}
.kf-photo--02 {
left: 0;
top: 190px;
z-index: 2;
}
.kf-photo--03 {
right: -160px;
top: 380px;
width: 35%;
z-index: 3;
}
} .ht-story {
padding: 80px 0 110px;
}
.ht-story__inner {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
column-gap: 60px;
align-items: center;
} .ht-story__photos {
position: relative;
min-height: 320px; } .ht-story__photo {
position: absolute;
margin: 0;
}
.ht-story__photo img {
display: block;
width: 100%;
height: auto;
} .ht-story__photo--main {
width: 360px; top: 0;
left: 120px;
} .ht-story__photo--sub {
width: 210px; bottom: -40px; left: 10px; } .ht-story__text p {
font-size: 15px;
line-height: 1.9;
margin: 0 0 14px;
}
@media (max-width: 950px) {
.ht-story {
padding: 0px 0;
}
.ht-story__inner {
display: block;
}
.ht-story__photos {
min-height: auto;
margin: 45px 0;
} .ht-story__photo {
position: static;
}
.ht-story__photo--main {
width: 80%;
margin-bottom: 12px;
margin-left: 60px;
}
.ht-story__photo--sub {
width: 60%;
}
.ht-story__text p {
font-size: 14px;
text-align: center;
}
} .ht-product {
padding: 80px 0;
background: #faf6ec;
}
.ht-product__inner {
display: grid;
grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
gap: 60px;
align-items: flex-start;
} .ht-product__slider .ht-product-swiper {
width: 100%;
overflow: hidden;
background: #000;
}
.ht-product-swiper .swiper-slide img {
display: block;
width: 100%;
height: auto;
object-fit: cover;
}
:root {
--swiper-navigation-size: 22px;
}
.ht-product-swiper .swiper-button-prev,
.ht-product-swiper .swiper-button-next {
width: 32px !important;
height: 32px !important;
color: #fff;
}
.ht-product-swiper .swiper-pagination-bullet {
background: rgba(255,255,255,.7);
}
.ht-product-swiper .swiper-pagination-bullet-active {
background: #fff;
} .ht-product__content {
font-size: 15px;
line-height: 1.9;
}
.ht-product__title {
font-size: 19px;
line-height: 1.7;
margin: 0 0 26px;
letter-spacing: .12em;
font-weight: 600;
}
.ht-product__text p {
margin: 0 0 16px;
}
.ht-product__cta {
margin: 26px auto;
display: flex;
gap: 16px;}
@media (max-width: 950px) {
.ht-product {
padding: 40px 0 50px;
}
.ht-product__inner {
display: block;
}
.ht-product__title{
font-size: 20px;
line-height: 1.7;
margin: 0 0 16px;
text-align: center;
}
.ht-product__title .sm{
font-size: 15px; 
}
.ht-product__title .sm2{
font-size: 18px; 
}
.ht-product__slider {
max-width: 500px;
margin: 0 auto 24px;
}
.ht-product__content {
font-size: 14px;
line-height: 1.8;
padding: 0 16px;
}
.ht-product__text p {
margin-bottom: 14px;
}
.ht-product__cta {
display: flex;
flex-direction: column;
gap: 15px;
align-items: center;
margin: 30px auto 0;
}
.ht-product__cta .btn_all {
width: 100%;
max-width: 360px;
height: 64px;
}
} .page-btn:hover {
background: #B89A65;
color: #fff;
border: none;
}
.page-nav-buttons {
display: flex;
gap: 20px;
justify-content: center;
margin: 80px 0;
}
.kodawari .page-btn{
position: relative;
display: flex;               
align-items: center;         
padding: 0 36px 0 20px;     
height: 70px;
width: 250px;
color: #b89a65;
font-size: 15px;
font-weight: 600;
letter-spacing: .04em;
text-decoration: none;
border: 1px solid #b89a65;
transition: all .25s ease;
} .page-btn::after {
content: "›";
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%);
font-size: 20px;
font-weight: 500;
color: #b89a65;
transition: all .25s ease;
}
.page-btn:hover {
background: #B89A65;
color: #fff;
}
.page-btn:hover::after {
color: #fff;
right: 10px;
}
#feeling,#gallery,#box,#onlyone
{
scroll-margin-top:  180px ;
}
@media (max-width: 768px) {
.page-nav-buttons {
display: grid;
grid-template-columns: repeat(2, 1fr); gap: 12px 16px; margin: 50px 10px 50px;
}
.page-btn {
width: 100% !important;
padding: 5px 0;
font-size: 14px;
}
} .feeling-block {
padding: 100px 0 220px;
background: url(//myunistory.com/wp-content/themes/images/kodawari_bg.jpg) center center / cover no-repeat;
}
.feeling-block__inner {
display: grid;
grid-template-columns: 1.2fr 1.3fr; align-items: start;
gap: 30px;
} .feeling-copy__text {
font-family: 'Noto Serif JP', serif;
font-size: 26px;
line-height: 2.6;
writing-mode: vertical-rl;
letter-spacing: .15em;
white-space: nowrap;
margin-left:120px;
}
.feeling-copy__text .feeling-indent {
display: inline-block;
margin-top: 120px; 
} .feeling-text p {
font-size: 15px;
line-height: 1.9;
margin: 0 0 14px;
}
.feeling-text p:last-child {
margin-bottom: 0;
}
@media (max-width: 950px) {
.feeling-block {
padding: 20px 0 80px;
}
.feeling-block__inner {
display: block;
} .feeling-copy__text {
font-size: 23px;
line-height: 2.3;
margin-bottom: 24px;
text-align: center;
}
.feeling-text p {
font-size: 14px;
line-height: 2;
text-align: center;
}
} .feeling-gallery{
padding: 120px 0;
}
.feeling-gallery__inner {
position: relative;
min-height: 620px;
}
.fg-row {
display: flex;
justify-content: center;
align-items: flex-start;
gap: 40px;
} .fg-item {
position: absolute;     
}
.fg-item img {
display: block;
width: 100%;
height: auto;
box-shadow: 0 8px 20px rgba(0,0,0,.12);
} .fg-img--left {
width: 320px;   
} .fg-img--right {
width: 620px;    
} .fg-item--01 {
top: 0;
left: 4%;
width: 42%;
} .fg-item--02 {
top: 14%;
right: 8%;
width: 30%;
} .fg-item--03 {
top: 55%;
left: 10%;
width: 45%;
z-index: 2;
} .fg-item--04 {
bottom: -140px;         
left: -90px;
width: 22%;
z-index: 1;
}
.kodawari-block__inner{
display: grid;
grid-template-columns: 1.1fr 1.1fr;  
column-gap: 60px;
align-items: flex-start;
margin-top: -150px;
} .kb-left{
position: relative;
} .kb-photo-main img{
display: block;
width: 100%;
height: auto;
object-fit: cover;
} .kb-photo-sub{
position: absolute;
left: -160px;   
bottom: -90px;
width: 220px;    
}
.kb-photo-sub img{
width: 100%;
height: auto;
display: block;
object-fit: cover;
} .kb-right{
position: relative;
} .kb-photo-top{
max-width: 420px;   
margin-left: auto;  
margin-bottom: 24px;
}
.kb-photo-top img{
width: 100%;
height: auto;
display: block;
object-fit: cover;
} .kb-text{
max-width: 480px;    
}
.kb-heading{
font-size: 23px;
margin: 0 0 16px;
letter-spacing: .12em;
font-weight: 600;
}
.kb-lead p{
font-size: 15px;
margin: 0 0 18px;
line-height: 1.9;
}
.kodawari-triple {
margin-bottom: 80px;
}
.kodawari-triple__inner {
display: flex;
justify-content: flex-end; 
margin-top: -50px;
}
.kb-photo-triple {
display: flex;
gap: 5px;                
}
.kb-photo-item {
width: 260px;            
}
.kb-photo-item img {
display: block;
width: 100%;
height: auto;
object-fit: cover;
}
@media (max-width: 950px) {
.feeling-gallery{
padding: 50px 0;
margin-bottom: 40px;
}
.feeling-gallery__inner {
position: static;
min-height: auto;
}
.fg-row {
flex-direction: column;
gap: 24px;
}
.fg-img--left,
.fg-img--right {
width: 90%;
margin: 0 auto;
}
.fg-item {
position: static;     
width: 100%;
max-width: 420px;
margin: 0 auto 20px;   
}
.fg-item:last-child {
margin-bottom: 0;
} .fg-item--01 {
width: 100%;
padding-bottom: 35px;
}
.fg-item--02 {
width: 100%;
padding-top: 35px;
margin-bottom: 50px;
}
.fg-item--03 {
width: 100%;
padding-top: 45px;
}
.kodawari-block__inner{
display: block;
padding: 60px 0 0px;
}
.kb-left{
margin-bottom: 40px;
} .kb-photo-main img{
width: 80%;
margin-left: 20px;
}
.kb-photo-sub{
position: absolute;
left: -20px;  
bottom: -80px;
width: 50%;
}
.kb-text{
max-width: 100%;
}
.kb-heading{
font-size: 26px;
margin: 120px 0 16px;
letter-spacing: .12em;
font-weight: 600;
text-align: right;
}
.kb-lead{
margin-top: 100px;
}
.kodawari-triple__inner {
justify-content: center; 
}
.kb-photo-triple {
flex-direction: column;
gap: 20px;
}
.kb-photo-item {
width: 100%;           
}
} .kodawari-box {
position: relative;
padding: 80px 0 ;
margin-top: -1px;
}
.kodawari-box__bg {
position: absolute;
inset: 0;
background: 
linear-gradient(rgba(255,255,255,0.45), rgba(255,255,255,0.45)),
url(//myunistory.com/wp-content/themes/images/kodawari_bg_02.jpg) center center / cover no-repeat;
z-index: 0;
}
.kodawari-box__inner {
position: relative;
z-index: 2;
} .kb-box-title {
text-align: center;
margin-bottom: 30px;
}
.kb-box-title__line {
font-size: 23px;
font-weight: 600;
} .kodawari-box__inner {
position: relative;
} .kb-box-photo--01 {
position: absolute;
top:150px;
left: 130px;
width: 260px;
}
.kb-box-photo--02 {
position: absolute;
top: 180px;
left: 40%;
width: 260px;
}
.kb-box-photo--03 {
position: absolute;
top: 210px;
right: 70px;
width: 260px;
}
.kb-box-photo img {
display: block;
width: 100%;
height: auto;
object-fit: cover;
} .kb-box-text {
max-width: 650px;
margin: 530px auto 0;
text-align: center;
}
.kb-box-text p {
font-size: 15px;
line-height: 1.9;
margin: 0 0 14px;
}
.kb-box-text p :last-child{
margin: 0 0 0px;
}
@media (max-width: 950px) {
.kb-box-title__line {
font-size: 22px;
font-weight: 600;
}
.kodawari-box {
padding: 60px 0 60px;
}
.kb-box-photo--main,
.kb-box-photo--01,
.kb-box-photo--02,
.kb-box-photo--03 {
position: static;
width: 100%;
margin-bottom: 20px;
}
.kb-box-text {
margin-top: 40px;
font-size: 14px;
text-align: center;
}
} .kodawari-only {
padding: 80px 0;
background: #fff;
}
.kodawari-only__inner {
display: grid;
grid-template-columns: 1.1fr 1.1fr;
align-items: center;
} .kodawari-only__left {
padding-right: 40px;
}
.kodawari-only__en {
font-size: 60px;
letter-spacing: 0.05em;
color: #d4d4d4;
margin: 0 0 18px;
}
.kodawari-only__ja {
font-size: 23px;
line-height: 1.8;
margin: 0 0 28px;
letter-spacing: .14em;
font-weight: 600;
}
.kodawari-only__text p {
font-size: 15px;
line-height: 2.0;
margin: 0 0 14px;
} .kodawari-only__right {
position: relative;
}
.kodawari-only__circle {
position: relative;
width: 530px;
height: 520px;
overflow: hidden;
margin-left: auto;
margin-right: -140px; }
.kodawari-only__circle img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
@media (max-width: 950px) {
.kodawari-only {
padding: 40px 0;
}
.kodawari-only__inner {
display: block; }
.kodawari-only__left {
padding-right: 0;
margin-bottom: 20px;
}
.kodawari-only__en {
margin: 0 0;
}
.kodawari-only__ja {
font-size: 23px;
} .kodawari-only__right {
margin-top: 10px;
}
.kodawari-only__circle {
width: 380px; height: auto;
margin: 0; }
.kodawari-only__text {
text-align: left;
margin-top: 30px;
}
} .ht-serial {
padding: 80px 0;
background-color: #fff;
}
.ht-serial__inner {
display: grid;
grid-template-columns: 1.1fr 1.1fr; column-gap: 70px;
align-items: center;
} .ht-serial__visual {
position: relative;
min-height: 360px;    
} .ht-serial__img {
position: absolute;
overflow: hidden;
}
.ht-serial__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
} .ht-serial__img--main {
width: 350px;
height: 350px;
top: -50px;
left: 140px;
}
.ht-serial__img--sub1 {
width: 210px;
height: 210px;
top: 210px;
left: 10px;
}
.ht-serial__img--sub2 {
width: 190px;
height: 190px;
top: 260px;
left: 210px;
} .ht-serial__body {
text-align: left;
}
.ht-serial__en {
font-size: 60px;
line-height: 1.1;
letter-spacing: 0.05em;
color: #d3d3d3;
margin: 0 0 18px;
}
.ht-serial__ja {
font-size: 20px;
line-height: 2;
letter-spacing: .16em;
margin: 0 0 24px;
font-weight: 600;
}
.ht-serial__text p {
font-size: 15px;
line-height: 2;
margin: 0 0 14px;
}
.ht-serial__text p:last-child{
margin: 0 0 0px;
}
.c-form__privacy a {
color: #B89A65; text-decoration: underline;
}
.c-form__privacy a:hover {
opacity: 0.7;
}
@media (max-width: 950px) {
.ht-serial {
padding: 0px 0 40px;
}
.ht-serial__inner {
display: flex;
flex-direction: column;
}
.ht-serial__visual {
min-height: auto;
height: auto;
margin-bottom: 30px;
}
.ht-serial__img {
position: static;
width: 100%;
height: auto;
margin-bottom: 14px;
}
.ht-serial__ja {
font-size: 20px;
}
.ht-serial__text p {
font-size: 14px;
}
.ht-serial__body {
order: 1;
}
.ht-serial__visual {
order: 2;
}
.ht-serial__text {
order: 3;
}
} .form_attention {
background-color: #fff;
padding: 30px ;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
text-align: center;   
max-width: 930px;   
margin: 0 auto;     
} .form-sec .form_attention p {
font-size: 13px;
line-height: 1.7;
margin: 0 0 8px;
}
.form-sec .form_attention p:last-child {
margin-bottom: 0;
}
.form-sec p {
font-size: 15px;
line-height: 1.9;
}
.c-form {
max-width: 750px;
margin: 60px auto;
font-size: 15px;
} .c-form__row {
margin-bottom: 50px;
}
.c-form__row--textarea {
margin-bottom: 20px !important;
} .c-form__label-wrap {
margin-bottom: 6px;
} .c-form .c-form__label {
display: inline-flex !important; align-items: center;
gap: 6px;
font-weight: 600;
} .c-form .c-form__badge {
display: inline-block !important;
padding: 2px 8px;
font-size: 11px;
background: #B89A65;
color: #fff;
line-height: 1;
border-radius: 2px;
white-space: nowrap;
} .c-form input[type="text"],
.c-form input[type="email"],
.c-form input[type="tel"],
.c-form textarea {
width: 100%;
border: 1px solid #999999;
padding: 20px;
font-size: 15px;
border-radius: 0;
box-sizing: border-box;
} .c-form textarea {
min-height: 160px;
resize: vertical;
margin-bottom: 0px !important;
}
.c-form__privacy input[type="checkbox"] {
margin-right: 6px;
} .c-form__submit {
text-align: center;
}
.c-form__submit input[type="submit"] {
display: block;        
margin: 60px auto 0;       
padding: 13px 100px;
border-radius: 50px;
background: #dbcd9d;
font-size: 15px;
cursor: pointer;
transition: 0.2s;
border: none;
}
.c-form__submit input[type="submit"]:hover {
background: #B89A65;
color: #fff;
} .c-form input[type="checkbox"] {
width: 18px;
height: 18px;
transform: scale(1.4); margin-right: 8px;
cursor: pointer;
} .c-form label {
display: flex;
align-items: center;
gap: 8px;
cursor: pointer;
} .c-form__radios label {
display: inline-flex;
align-items: center;
gap: 6px;
margin-right: 20px;
margin-bottom: 6px;
cursor: pointer;
}
.c-form__radios input[type="radio"] {
width: 18px;
height: 18px;
transform: scale(1.2);
} .c-form select,
.c-form .c-form__select {
width: 100%;
padding: 20px;      
font-size: 15px;          
border: 1px solid #999999;
border-radius: 0px;        
background-color: #fff;
box-sizing: border-box;
margin-top: 10px;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
background-image: url('data:image/svg+xml;utf8,<svg fill="%23B89A65" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><polygon points="0,0 20,0 10,12"/></svg>');
background-repeat: no-repeat;
background-position: right 12px center; background-size: 14px;
}
.c-form input[type="date"] {
width: 100%;
border: 1px solid #999999;
padding: 20px;
font-size: 14px;
border-radius: 0;
box-sizing: border-box;
background-color: #fff;
appearance: auto !important;
-webkit-appearance: auto !important;
}
.c-form__field .c-form__date,
.c-form__field .c-form__select {
display: block;
width: 100%;
} .c-form__field .c-form__select {
margin-top: 10px;
} .c-form__field--meeting label {
display: inline-flex;
align-items: center;
gap: 6px;
margin-right: 20px;
margin-bottom: 6px;
cursor: pointer;
}
.c-form__field--meeting input[type="radio"] {
width: 18px;
height: 18px;
transform: scale(1.2);
}
.c-form__note {
font-size: 12px;
color: #777;
margin: 6px 0 0;
} .c-form__privacy {
margin: 0 -30px 0 0 !important;
padding: 0 !important;
} .c-form__privacy .wpcf7-form-control-wrap {
margin: 0 !important;
padding: 0 !important;
display: inline-flex !important;
align-items: center;
} .c-form__privacy-label {
margin: 0 !important;
padding: 0 !important;
} .c-form__privacy-link {
margin-left: 48px !important; margin-top: -10px;
margin-bottom: 30px;
display: block;
font-size: 14px;
}
.c-form__privacy * {
line-height: 1.2 !important;
} .c-form input[type="date"],
.c-form select,
.c-form .c-form__select {
color: #333 !important;
} .c-form input[type="date"] {
width: 100%;
border: 1px solid #999999;
padding: 18px 15px;
font-size: 15px;
border-radius: 0;
box-sizing: border-box;
background-color: #fff;
} @supports (-webkit-touch-callout: none) {
.c-form input[type="date"] {
min-height: 55px;
padding-top: 14px;
padding-bottom: 14px;
text-align: left;
}
}
@media (max-width: 950px) {
.form_attention {
padding: 20px 5px;
text-align: left;   
}
.c-form {
padding: 0 10px;
}
.c-form__privacy {
font-size: 18px;
}
.c-form .c-form__label {
font-size: 17px;
}
.c-form__submit input[type="submit"] {
padding: 26px 150px;
background-color: #dbcd9d;
color: #222;
}
.c-form input[type="date"] {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
appearance: auto !important;
-webkit-appearance: auto !important;
height: 52px !important; padding: 27px !important;
font-size: 16px !important;
box-sizing: border-box;
background-color: #fff !important;
border: 1px solid #999999 !important;
} .c-form__field {
display: block !important;
width: 100% !important;
max-width: 100% !important;
}
.c-form__note {
font-size: 13px;
}
} .footer {
background:#9e9e9e;
color:#fff;
font-size:14px;
line-height:1.8;
padding:60px 0 20px;
} .footer-inner{
display:flex;
align-items:flex-start;
gap:40px; flex-wrap:nowrap; min-width:0; } .footer-info{
flex: 1 1 380px; min-width: 200px;
} .footer-nav{
flex: 1 1 0; min-width: 580px;
} .footer-logo{ font-size:18px;  margin-bottom:12px; }
.footer-address{ margin-bottom:12px; } .footer-contactlist{
list-style:none; margin:0 0 16px; padding:0;
display:flex; flex-direction:column; gap:8px;
}
.footer-contactlist li{
display:flex; align-items:center; gap:10px;
opacity:.95;
}
.footer-contactlist img{
width:18px; height:18px; flex:0 0 18px; display:block; filter:brightness(0) invert(1);
} .footer-sns{ display:flex; gap:14px; margin:0; padding:0; list-style:none; }
.footer-sns a img{ width:24px; height:24px; opacity:.85; transition:opacity .2s; }
.footer-sns a:hover img{ opacity:1; } .footer-nav ul{
list-style:none; margin:0; padding:0;
column-count:2; column-gap:20px;
}
.footer-nav li{
margin-bottom: 15px;
}
.footer-nav a{
color:#fff; text-decoration:none; transition:opacity .2s;
}
.footer-nav a:hover{ opacity:.8; } .footer-bottom{
margin-top:40px; 
text-align:center; 
font-size:12px; 
opacity:.9;
} @media (max-width: 950px){
.footer {
padding:40px 0 15px;
}
.footer-inner{ flex-wrap:wrap; }
.footer-info, .footer-nav{ flex: 1 1 100%; min-width:0; }
.footer-nav ul{ column-count:1; }
.footer-bottom{
font-size:12px;
}
} .pagetop-btn {
position: fixed;
right: 16px;
bottom: 24px;
width: 52px;
height: 52px;
border-radius: 50%;
background: #b89a65;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
border: none;
opacity: 0;
visibility: hidden;
transform: translateY(20px);
transition: opacity .4s ease, transform .4s ease, visibility .4s;
z-index: 999;
} .pagetop-btn .arrow {
position: relative;
display: block;
width: 10px;
height: 10px;
border-right: 2px solid #fff;
border-bottom: 2px solid #fff;
transform: rotate(-135deg); top:3px;
} .pagetop-btn.active {
opacity: 1;
visibility: visible;
transform: translateY(0);
} @media (max-width: 950px) {
.pagetop-btn {
width: 44px;
height: 44px;
right: 12px;
bottom: 18px;
}
} .plivacypolicy {
font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
color: #222;
line-height: 1.8;
padding: 60px 20px;
background: #fafafa;
}
.plivacypolicy .article {
max-width: 880px;
margin: 0 auto;
background: #fff;
padding: 40px 28px;
border-radius: 6px;
box-shadow: 0 4px 14px rgba(0,0,0,0.05);
} .plivacypolicy h1 {
font-size: 2rem;
text-align: center;
margin-bottom: 2em;
font-weight: 700;
letter-spacing: 0.08em;
color: #6F4B26;
}
.plivacypolicy h2 {
font-size: 1.1rem;
font-weight: 500;
margin: 1.8em 0;
line-height: 1.9;
}
.plivacypolicy h3 {
font-size: 1.15rem;
font-weight: 600;
margin: 2em 0 0.6em;
color: #333;
border-left: 4px solid #B6905B;
padding-left: 0.6em;
} .plivacypolicy p {
margin: 0 0 1.5em;
font-size: 0.95rem;
color: #333;
} .plivacypolicy a {
display: inline-block;
margin-top: 40px;
padding: 12px 28px;
background: #B6905B;
color: #fff;
text-decoration: none;
font-size: 0.95rem;
border-radius: 4px;
transition: background 0.3s;
}
.plivacypolicy a:hover {
background: #6F4B26;
} @media (max-width: 950px) {
.plivacypolicy {
padding: 40px 14px;
}
.plivacypolicy .article {
padding: 28px 18px;
}
.plivacypolicy h1 {
font-size: 1.6rem;
}
.plivacypolicy h2 {
font-size: 1rem;
}
.plivacypolicy h3 {
font-size: 1.05rem;
}
}  .tokushohobg {
background: #FAF7F0;
min-height: 100vh; display: flex;
justify-content: center;
align-items: center;
padding: 40px 16px;
} .tokushoho {
width: 100%;
max-width: 900px;
background: #fff;
border-radius: 12px;
padding: 40px 32px;
box-shadow: 0 8px 24px rgba(0,0,0,0.08);
animation: fadeIn 0.6s ease;
} .tokushoho > h1 {
font-size: 26px;
text-align: center;
margin-bottom: 28px;
padding-bottom: 10px;
border-bottom: 2px solid #eee;
color: #333;
letter-spacing: 1px;
} .tokushoho-list .row {
display: grid;
grid-template-columns: 200px 1fr;
gap: 12px 16px;
padding: 14px 0;
border-bottom: 1px dashed #e0e0e0;
}
.tokushoho-list dt {
font-weight: bold;
color: #555;
}
.tokushoho-list dd {
margin: 0;
color: #333;
line-height: 1.7;
} .backlink {
text-align: center;
margin-top: 32px;
}
.backlink a {
display: inline-block;
padding: 10px 20px;
background: #f8f8f8;
border-radius: 8px;
color: #444;
text-decoration: none;
border: 1px solid #ddd;
transition: 0.2s;
}
.backlink a:hover {
background: #eee;
border-color: #ccc;
} @keyframes fadeIn {
from {opacity: 0; transform: translateY(20px);}
to {opacity: 1; transform: translateY(0);}
} @media (max-width: 950px) {
.tokushoho {
padding: 24px 16px;
}
.tokushoho > h1 {
font-size: 20px;
}
.tokushoho-list .row {
grid-template-columns: 1fr;
gap: 6px;
padding: 12px 0;
}
} .thanks{
background:#ccc;        
padding: clamp(60px, 10vw, 120px) 0;
text-align: center;
}
.thanks .wrap{
width: min(92vw, 800px);
margin: 0 auto;
background:#fff;
border:1px solid #e8f2f3;
border-radius:14px;
box-shadow:0 6px 24px rgba(0,0,0,.06);
padding: clamp(30px, 5vw, 60px) 20px;
} .thanks h1{
font-size: clamp(26px, 4.6vw, 40px);
font-weight: 800;
color:#222;
margin: 0 0 .4em;
position: relative;
display:inline-block;
padding-bottom: .4em;
}
.thanks h1::after{
content:"";
display:block;
position:absolute;
left:50%;
bottom:0;
transform:translateX(-50%);
width:140px;
height:3px;
background:#ccc;
border-radius:3px;
} .thanks h2{
font-size: clamp(18px, 3vw, 24px);
font-weight: 600;
color:#222;
margin: .8em 0 1em;
} .thanks p{
font-size: clamp(15px, 2.2vw, 18px);
line-height:1.8;
color:#222;
margin: .4em 0;
}
@media (max-width:768px){
.thanks{
padding: 40px 0;
}
.thanks .wrap{
padding: 24px 16px;
border-radius: 12px;
}
.thanks h1::after{ width:100px; }
} .thanks{
background:#EEEEEE;        
padding: clamp(60px, 10vw, 120px) 0;
text-align: center;
}
.thanks .wrap{
width: min(92vw, 800px);
margin: 0 auto;
background:#fff;
border:1px solid #e8f2f3;
border-radius:14px;
box-shadow:0 6px 24px rgba(0,0,0,.06);
padding: clamp(30px, 5vw, 60px) 20px;
} .thanks h1{
font-size: clamp(26px, 4.6vw, 40px);
font-weight: 800;
color:#222;
margin: 0 0 .4em;
position: relative;
display:inline-block;
padding-bottom: .4em;
}
.thanks h1::after{
content:"";
display:block;
position:absolute;
left:50%;
bottom:0;
transform:translateX(-50%);
width:140px;
height:3px;
background:#EEEEEE;
border-radius:3px;
} .thanks h2{
font-size: clamp(18px, 3vw, 24px);
font-weight: 600;
color:#222;
margin: .8em 0 1em;
} .thanks p{
font-size: clamp(15px, 2.2vw, 18px);
line-height:1.8;
color:#222;
margin: .4em 0;
} @media (max-width:768px){
.thanks{
padding: 40px 0;
}
.thanks .wrap{
padding: 24px 16px;
border-radius: 12px;
}
.thanks h1::after{ width:100px; }
}