@charset "utf-8";

/* font */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

/* var */
:root {
  --c_black: #000000;
  --c_white: #ffffff;
  --c_gray: #efefef;
  --c_accent: #f0ff73;
  --f_ja: "dnp-shuei-gothic-gin-std", "Noto Sans JP", sans-serif;
}

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: 200; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: 200; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }

/* iOS reset */
input[type=text] { border:none; -webkit-border-radius:0; -webkit-appearance:none; -webkit-tap-highlight-color:rgba(0,0,0,0); }
input[type="submit"],
input[type="button"] { border-radius:0; -webkit-box-sizing:content-box; -webkit-appearance:button; appearance:button; border:none; box-sizing:border-box; cursor:pointer; }
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration { display:none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset:-0.15em; }
select { -webkit-appearance:none; -moz-appearance:none; appearance:none; border:none; outline:none; background:transparent; }
button,input[type="submit"] { -webkit-appearance:none; -moz-appearance:none; appearance:none; padding:0; border:none; outline:none; background:transparent; }
input[type="radio"] { display:none; }

/* wpcf7 */
.wpcf7 form .wpcf7-response-output { border: 2px solid #f0ff73 !important; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #f0ff73 !important; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output { border-color: #dc4444 !important; }
.wpcf7 form.spam .wpcf7-response-output { border-color: #dc4444 !important; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { border-color: #f0ff73 !important; }
.wpcf7-not-valid-tip { color: #dc4444 !important; }
.use-floating-validation-tip .wpcf7-not-valid-tip { border: 1px solid #dc4444 !important; background: #ffffff !important; }
.wpcf7-spinner { background-color: #23282d !important;  }
.wpcf7-spinner::before { background-color: #efefef !important; }

/* base */
html { position:relative; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  animation:fadeIn 2s ease 0s 1 normal; -webkit-animation:fadeIn 2s ease 0s 1 normal;
  position:relative; -webkit-font-smoothing:auto; -webkit-font-feature-settings:'palt'; font-feature-settings:'palt';
  word-wrap:break-word; overflow-wrap:break-word; font-kerning:normal; -webkit-font-kerning:normal;
  font-family:helvetica-neue-lt-pro, "Inter", var(--f_ja), sans-serif;
  line-height:1.5em; letter-spacing:0; font-weight:400; box-sizing:border-box; background-color:var(--c_white); color:var(--c_black); padding:0; margin:0;
  -webkit-text-size-adjust:none; -webkit-font-smoothing:antialiased; }
img { vertical-align:bottom; height:auto; width:100%; }
::selection { background:var(--c_black); color:var(--c_white); }
::-moz-selection { background:var(--c_black); }

/* fadein */
.fadein { opacity:0; transform:translateY(0); transition:all 0.6s; }
@keyframes fadeIn { 0% { opacity:0 } 100% { opacity:1 } }
@-webkit-keyframes fadeIn { 0% { opacity:0 } 100% { opacity:1 } }

/* link */
.cWrap a { text-decoration:none; display:inline; background:linear-gradient(var(--c_accent), var(--c_accent)) no-repeat left bottom / 0% 100%; transition:background-size 0.3s ease; }
.cWrap a:hover { background-size:100% 100%; }
.cWrap a:link,.cWrap a:hover,.cWrap a:active,.cWrap a:visited { color:var(--c_black); }
.cWrap h1 a,
.cWrap .cMain__products__list a,
.cWrap .cFooter__instagram a,
.cWrap .miyoshi__logo a { background:none; transition:none; }
.cWrap a[href^="tel:"] { pointer-events:none; }

/* options */
.pc { display:inline; }
.sp { display:none; }
.br__pc { display:block; }
.br__sp { display:none; }
.rl { -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; font-feature-settings:"pkna"; }

/* flex */
.flex { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-between; align-items:center; }
.fill { object-fit:cover; font-family:'object-fit: cover;'; }

/* cSample */
.cSample { position:absolute; top:0; left:0; width:100%; z-index:999; opacity:0.2; pointer-events:none; user-select:none; }
.cSample { display:none; }

/* cWrap */
.cWrap { position:relative; min-width:768px; }

/* cHeader common */
.cHeader .cHeader__nav { position:absolute; top:2.4rem; right:2.75rem; }
.cHeader .cHeader__nav ul { display:flex; gap:0 1.85em; }
.cHeader .cHeader__nav li a { font-size:1.2rem; line-height:1; }

/* cHeader home */
.home .cHeader h1 { position:absolute; top:0; left:0; width:100%; height:100vh; display:flex; align-items:center; justify-content:center; z-index:10; }
.home .cHeader h1 img { width:12.5rem; }
.home .cHeader .cHeader__nav { z-index:10; }
.home .cHeader .cHeader__nav li a { color:var(--c_white); transition:background-size 0.3s ease, color 0.3s ease; }
.home .cHeader .cHeader__nav li a:hover { color:var(--c_black); }

/* cMain__top */
.cMain__top { position:relative; overflow:hidden; width:100%; height:100vh; }
.cMain__top img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1s ease; }
.cMain__top img.active { opacity:1; }

/* cHeader sub */
.sub .cHeader { padding:1.6rem 2rem; }
.sub .cHeader h1 img { width:4rem; }
.sub .cHeader .cHeader__nav li a { color:var(--c_black); }

/* cMain */
.cMain__inner { width:91.5%; margin:0 auto; }

.cMain__text { margin:0.5rem 0 5rem 0; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:stretch; }
.cMain__text .cMain__text--en { width:48%; font-size:1.45rem; line-height:1.45; }
.cMain__text .cMain__text--ja { font-family:var(--f_ja); letter-spacing:0.1em; width:48%; font-size:1.3rem; line-height:1.7; font-weight:500;text-align: justify; }

.cMain__photo { display:flex; flex-direction:column; gap:2.75rem; margin:7rem 0; }
.cMain__photo--column { display:flex; flex-wrap:wrap; justify-content:space-between; margin:7rem 0; }
.cMain__photo--column img { width:49.2%; }

/* products list */
.cMain__products__list { width:100%; margin:12rem auto 13.3rem auto; }
.cMain__products__list ul { display:flex; justify-content:space-between; gap:3.5rem 2rem; flex-wrap:wrap; }
.cMain__products__list ul li { width:calc(50% - 2rem); }
.cMain__products__list.cMain__products__list--3colmn { margin:0 auto; }
.cMain__products__list.cMain__products__list--3colmn ul { gap:3.5rem 1.35rem; }
.cMain__products__list.cMain__products__list--3colmn ul li { width:calc(33.333% - 1.35rem); }
.cMain__products__list ul li img { aspect-ratio:3/2; object-fit:cover; transition:opacity 0.5s ease; margin:0 0 1em 0; }
.cMain__products__list ul li a:hover img { opacity:0.85; }
.cMain__products__list ul li h4 { font-size:2.1rem; display:inline; background:linear-gradient(var(--c_accent), var(--c_accent)) no-repeat left bottom / 0% 100%; transition:background-size 0.3s ease; }
.cMain__products__list ul li a:hover h4 { background-size:100% 100%; }

/* product */
.product .cMain__photo--top img { height: 900px; object-fit: cover; }
.product .cMain__text h2 { width:100%; font-size:7rem; font-weight:300; line-height:1; margin:0.4em 0 0.4em 0; white-space:nowrap; }

/* detail */
.cMain__detail { margin:10rem 0; display:flex; flex-wrap:wrap; justify-content:space-between; }
.cMain__detail .cMain__detail__photo { width:56%; }
.cMain__detail .cMain__detail__photo .cMain__detail__photo__slider { position:relative; overflow:hidden; }
.cMain__detail .cMain__detail__photo ul { display:flex; transition:transform 0.4s ease; }
.cMain__detail .cMain__detail__photo ul li { min-width:100%; }
.cMain__detail .cMain__detail__photo ul li img { width:100%; aspect-ratio:1/1; object-fit:cover; }

/* detail slider controls */
.cMain__detail__photo__ctrl { display:flex; align-items:center; justify-content:center; gap:0.6rem; margin-top:1.2rem; }
.cMain__detail__photo__ctrl .cMain__detail__photo__arrow { cursor:pointer; width:1.2rem; height:1.2rem; display:flex; align-items:center; justify-content:center; }
.cMain__detail__photo__ctrl .cMain__detail__photo__arrow::before { content:''; display:block; width:0.5rem; height:0.5rem; border-top:solid 1.5px var(--c_black); border-right:solid 1.5px var(--c_black); }
.cMain__detail__photo__ctrl .cMain__detail__photo__arrow--prev::before { transform:rotate(-135deg); }
.cMain__detail__photo__ctrl .cMain__detail__photo__arrow--next::before { transform:rotate(45deg); }
.cMain__detail__photo__nav { display:flex; gap:0.45rem; }
.cMain__detail__photo__nav span { width:0.7rem; height:0.7rem; border-radius:50%; border:solid 1.5px var(--c_black); background:transparent; cursor:pointer; transition:background 0.2s; }
.cMain__detail__photo__nav span.active { background:var(--c_accent); }

/* detail spec */
.cMain__detail .cMain__detail__spec { width:40.5%; }
.cMain__detail .cMain__detail__spec h4 { font-size:2.5rem; line-height:1.45; margin:0 0 0.4em 0; }
.cMain__detail .cMain__detail__spec dl { display:flex; flex-wrap:wrap; border-bottom:solid 1px var(--c_black); margin:0 0 1em 0; }
.cMain__detail .cMain__detail__spec dl dt,
.cMain__detail .cMain__detail__spec dl dd { border-top:solid 1px var(--c_black); font-size:1.2rem; line-height:1.5; font-weight:500; padding:0.5rem 0; }
.cMain__detail .cMain__detail__spec dl dt { width:23.5%; }
.cMain__detail .cMain__detail__spec dl dd { width:76.5%; }
.cMain__detail .cMain__detail__spec p { font-size:1.2rem; line-height:1.5; font-weight:500; }
.cMain__detail .cMain__detail__spec p.cMain__detail__made { margin:0 0 2em 0; }
.cMain__detail .cMain__detail__spec p.cMain__detail__att--en,
.cMain__detail .cMain__detail__spec p.cMain__detail__att--ja { font-size:0.9rem; font-weight:500; margin:0.5em 0; }
.cMain__detail .cMain__detail__spec p.cMain__detail__att--en { line-height:1.4; }
.cMain__detail .cMain__detail__spec p.cMain__detail__att--ja { line-height:1.5; }
.cMain__detail .cMain__detail__spec p.cMain__detail__available { margin:1.35em 0 0.5em 0; }
.cMain__detail .cMain__detail__spec p.cMain__detail__available span { font-size:1.7rem; line-height:1.5; font-weight:400; background-color:var(--c_accent); }

/* about */
.about .cMain__photo--top { margin-bottom: 7rem; }
.about .cMain__text h2,
.about .cMain__text h3 { width:100%; line-height:1; margin:0 0 0.75em 0; white-space:nowrap; }
.about .cMain__text h2 { font-size:3.2rem; }
.about .cMain__text h3 { font-size:2.7rem; }
.about .cMain__text .cMain__text--ja h2 { font-size:2.9rem; }
.about .cMain__text .cMain__text--ja h3 { font-size:2.2rem; line-height:1.3; }
.about .cMain__text--wide { width:70%; }
.about .cMain__text--wide .cMain__text--en h3,
.about .cMain__text--wide .cMain__text--ja h3 { width:100%; line-height:1; margin:1.35em 0 0.75em 0; white-space:nowrap; }
.about .cMain__text--wide .cMain__text--en h3 { font-size:2.75rem; }
.about .cMain__text--wide .cMain__text--ja h3 { font-size:2.5rem; }
.about .cMain__text--wide .cMain__text--en ul li { font-size:1.4rem; line-height:1.4; text-indent:-0.5em; padding-left:0.5em; }
.about .cMain__text--wide .cMain__text--ja ul li { font-size:1.3rem; line-height:1.7; letter-spacing:0.1em; }
.about .cMain__text .miyoshi__url { margin-top:3rem; }
.about .cMain__text .cMain__text--ja { position:relative; }
.about .cMain__text .miyoshi__logo { width:19rem; position:absolute; bottom:0; right:0; }

/* news */
.news .cMain__news { width:60%; margin:0 auto 7rem auto; text-align:left; }
.news .cMain__news h2 { font-size:3.3rem; line-height:1; margin:1.35em 0 1.5em 0; text-align:center; }
.news .cMain__news .cMain__news--date { font-size:1.2rem; line-height:1; text-align:right; margin:0 0 0.8em 0; }
.news .cMain__news img { width:100%; margin:0 0 4rem 0; }
.news .cMain__news .en h3 { font-size:2.6rem; line-height:1.3; margin:1em 0 0.25em 0; }
.news .cMain__news .en p { font-size:1.4rem; line-height:1.5; margin:0 0 0.5em 0; }
.news .cMain__news .ja { font-family:var(--f_ja); font-weight:500; }
.news .cMain__news .ja h3 { font-size:2.4rem; line-height:1.3; margin:1em 0 0.25em 0; }
.news .cMain__news .ja p { font-size:1.2rem; line-height:1.7; letter-spacing:0.1em; text-align: justify; }

/* privacy */
.privacy .cMain__text h2 { width:100%; font-size:3.3rem; line-height:1; margin:1.35em 0 0.75em 0; white-space:nowrap; }
.privacy .cMain__text p { margin:0 0 1em 0; }

/* contact */
.contact .cMain__inner h2 { font-size:3.3rem; line-height:1; margin:1.35em 0 1.5em 0; text-align:center; }
.contact form { width:60%; margin:0 auto 7rem auto; }
.contact form dl { display:flex; flex-wrap:wrap; justify-content:space-between; }
.contact form dl dt { width:20%; display:flex; align-items:center; justify-content:flex-end; padding:0.8rem 0; }
.contact form dl dt .form_title { font-size:1.3rem; font-weight:500; }
.contact form dl dd { width:76%; padding:0.8rem 0; }
.contact form dl dd input[type="text"],
.contact form dl dd input[type="email"],
.contact form dl dd input[type="tel"],
.contact form dl dd textarea { width:100%; font-size:1.2rem; padding:1em; background:var(--c_gray); border:none; }
.contact form dl dd textarea { resize:vertical; }
.contact form dl dd input:focus,
.contact form dl dd textarea:focus { outline:none; }
.contact form .form_poricy { width:100%; margin:2.5rem 0; }
.contact form .form_poricy label { display:flex; align-items:center; justify-content:center; width:100%; font-size:1.4rem; font-weight:500; background-color:var(--c_accent); padding:1em; cursor:pointer; }
.contact form .form_poricy input[type="checkbox"] { -webkit-appearance:none; -moz-appearance:none; appearance:none; position:relative; width:1.1em; height:1.1em; border:1.5px solid var(--c_black); background:transparent; margin:0 0.7em 0 0; cursor:pointer; flex-shrink:0; overflow:hidden; }
.contact form .form_poricy input[type="checkbox"]:checked::before,
.contact form .form_poricy input[type="checkbox"]:checked::after { content:''; position:absolute; top:50%; left:50%; width:160%; height:1.5px; background-color:var(--c_black); }
.contact form .form_poricy input[type="checkbox"]:checked::before { transform:translate(-50%,-50%) rotate(45deg); }
.contact form .form_poricy input[type="checkbox"]:checked::after { transform:translate(-50%,-50%) rotate(-45deg); }
.contact form .form_submit button,
.contact form .form_submit input[type="submit"] { display:block; width:100%; font-size:1.4rem; font-weight:500; background-color:var(--c_black); color:var(--c_white); padding:1em; cursor:pointer; text-align:center; }

/* cFooter */
.cFooter { margin-top:13.3rem; }
.cFooter__inner { width:91.5%; margin:0 auto; padding:0; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; }
.cFooter h1 { width:5.5rem; }
.cFooter h1 img { width:calc(100% + 1rem); margin-left:-1rem; margin-top:0.5rem; }
.cFooter .cFooter__nav { width:46%; display:flex; gap:0 6.5rem; font-weight: 500; }
.cFooter .cFooter__nav ul li { margin:0 0 0.9rem 0; }
.cFooter .cFooter__nav ul:first-child li:not(:first-child) a::before { content:"_ "; }
.cFooter .cFooter__nav ul li a { font-size:1.3rem; line-height:1; }
.cFooter__bottom { display:flex; justify-content:space-between; align-items:flex-end; width:95%; margin:2.5rem auto 3rem auto; font-weight: 500; }
.cFooter__copyright { display:flex; gap:0 2.75rem; }
.cFooter__copyright p { font-size:0.9rem; }
.cFooter__instagram { width:1.7rem; }
.cFooter__instagram img { width:100%; }

/* sp */
@media screen and (max-width: 600px) {
  .pc { display:none; }
  .sp { display:inline; }
  .br__pc { display:none; }
  .br__sp { display:block; }

  /* link */
  .cWrap a { transition:none; }

  /* cWrap */
  .cWrap { min-width:100%; }

  /* cHeader sp */
  .cHeader .cHeader__nav { top:1rem; right:1rem; }
  .cHeader .cHeader__nav ul { gap:0 1.5em; }
  .cHeader .cHeader__nav li a { font-size:1rem; }

  /* cHeader home */
  .home .cHeader h1 { height: 560px; }
  .home .cHeader h1 img { width:7rem; }

  /* cHeader sub sp */
  .sub .cHeader { padding:1.2rem 1.6rem; }
  .sub .cHeader h1 img { width:2.8rem; }

  /* cMain__top sp */
  .cMain__top { height:80dvh; }

  /* cMain sp */
  .cMain__inner { width:92%; }

  /* cMain__text sp */
  .cMain__text { flex-direction:column; row-gap: 2rem; margin:0.5rem 1rem 3rem 1rem; }
  .cMain__text .cMain__text--en { width:100%; font-size:1.2rem; line-height:1.45; }
  .cMain__text .cMain__text--ja { width:100%; font-size:1.1rem; margin-top:1.5rem; }

  /* cMain__photo sp */
  .cMain__photo { width: 100vw; gap:1.5rem; margin:4rem calc(50% - 50vw); }
  .cMain__photo--column { flex-direction:column; gap:1.5rem; margin:4rem 0; }
  .cMain__photo--column img { width:100%; }

  /* product sp */
  .product .cMain__photo--top img { height: 65dvh; }
  .product .cMain__text { row-gap: 0; }
  .product .cMain__text h2 { font-size:4rem; white-space:normal; line-height: 1.2; }

  /* detail sp */
  .cMain__detail { flex-direction:column; margin:5rem 0; }
  .cMain__detail .cMain__detail__photo { width:100vw; margin:0 calc(50% - 50vw); }
  .cMain__detail .cMain__detail__spec { width:90%; margin:2rem auto 0 auto; }
  .cMain__detail .cMain__detail__spec h4 { font-size:2rem; }

  /* products list sp - 1 column */
  .cMain__products__list { width: 88%; margin:6rem auto 7rem auto; }
  .cMain__products__list ul { flex-direction:column; gap:3rem 0; }
  .cMain__products__list ul li { width:100%; }
  .cMain__products__list ul li h4 { font-size:1.6rem; margin:0.5em 0 0 0; transition:none; }
  /* 3 column variant also 1 column on sp */
  .cMain__products__list.cMain__products__list--3colmn ul { gap:3rem 0; }
  .cMain__products__list.cMain__products__list--3colmn ul li { width:100%; }

  /* about sp */
  .about .cMain__photo--top { margin-bottom: 4rem; }
  .about .cMain__text h2 { font-size:2.4rem; }
  .about .cMain__text h3 { font-size:2rem; white-space: normal; }
  .about .cMain__text .cMain__text--ja h2 { font-size:2.2rem; }
  .about .cMain__text .cMain__text--ja h3 { font-size:1.8rem; }
  .about .cMain__text--wide { width:auto; margin: 0.5rem 1rem 3rem 1rem; }
  .about .cMain__text--wide .cMain__text--en h3 { font-size:2rem; white-space: normal; }
  .about .cMain__text--wide .cMain__text--ja h3 { font-size:1.8rem; }
  .about .cMain__text--wide .cMain__text--en ul li { font-size:1.2rem; }
  .about .cMain__text--wide .cMain__text--ja ul li { font-size:1.1rem; }
  .about .cMain__text .miyoshi__url { margin-top:2rem; }
  .about .cMain__text .miyoshi__logo { width:12rem; position:relative; margin-top:2rem; }
  .about .cMain__text .cMain__text--ja { padding-bottom:0; }

  /* news sp */
  .news .cMain__news { width:88%; }
  .news .cMain__news h2 { font-size:2.4rem; }
  .news .cMain__news .en h3 { font-size:2rem; }
  .news .cMain__news .en p { font-size:1.2rem; }
  .news .cMain__news .ja h3 { font-size:1.8rem; }

  /* privacy sp */
  .privacy .cMain__text h2 { font-size:2.4rem; }

  /* contact sp */
  .contact .cMain__inner h2 { font-size:2.4rem; }
  .contact form { width:100%; }
  .contact form dl { flex-direction:column; }
  .contact form dl dt { width:100%; justify-content:flex-start; padding:0.5rem 0 0.2rem 0; }
  .contact form dl dd { width:100%; padding:0.2rem 0 0.5rem 0; }

  /* cFooter sp */
  .cFooter { margin-top:8rem; }
  .cFooter__inner { width:84%; gap:1.5rem 0; }
  .cFooter h1 { width:3rem; }
  .cFooter .cFooter__nav { width:calc(100% - 6rem); display:flex; justify-content: space-between; gap:0 1rem; }
  .cFooter .cFooter__nav ul li { margin:0 0 0.1rem 0; }
  .cFooter .cFooter__nav ul li a { font-size:0.9rem; }
  .cFooter__bottom { width:94%; margin:4rem auto 1.5rem auto; }
  .cFooter__copyright { gap:0 2rem; }
  .cFooter__copyright p { font-size:0.7rem; }
  .cFooter__instagram { width:1.4rem; }
}

/* size */
html { font-size:clamp(8px, 1.1vw, 18px); }

@media screen and (max-width: 600px) {
  html { font-size:clamp(0px, 3.3vw, 100px); }
}
