@charset "utf-8";

/* font */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200&family=Noto+Serif+JP:wght@700&display=swap');

/* 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: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
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: -2px; }
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; }
input[type="radio"]:checked + label { background: #ff0000; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body {
  animation: openPage 1s ease 0s 1 normal; -webkit-animation: openPage 1s ease 0s 1 normal;
  -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: 'Montserrat','Noto Serif JP',YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", serif;
  font-size: 15px; text-align: center; letter-spacing: 0; font-weight: 900;
  box-sizing: border-box; background-color: #dcd4bb; color: #000; padding: 0; margin: 0;
  -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: #dcd4bb; color: #000; }
::-moz-selection { background: #dcd4bb; }

/* iOS */
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: -2px; }
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; }
input[type="radio"]:checked + label { background: #ff0000; }

/* link */
a:link, a:visited, a:active { color: #000; text-decoration: none; word-break: break-all !important; transition: 0.2s linear; }
a:hover { color: #000; text-decoration: none; }
a[href^="tel:"] { pointer-events: none; }

/* clear */
.clear { clear: both; }
.cbox { zoom: 100%; }
.cbox:after { content: ""; clear: both; height: 0; display: block; visibility: hidden; }

/* options */
.r { border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; overflow: hidden; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
.pc { display:block; }
.sp { display:none; }
.pcbr { display:block; }
.spbr { display:inline; }
.pc_inline { display:inline; }
.sp_inline { display:none; }

.en .pcbr { display:block; }
.en .spbr { display:inline; }
.en .pc_inline { display:inline; }
.en .sp_inline { display:none; }

.sp_menu { display:none; }

/* 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;'; }

/* openPage */
.openPage { opacity : 0; transition: opacity 2s; }
@keyframes openPage { 0% { opacity: 0 } 100% { opacity: 1 } }
@-webkit-keyframes openPage { 0% { opacity: 0 } 100% { opacity: 1 } }

/* youtube */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* cWrap */
.cWrap { min-width:1024px; min-height: 100vh; min-height: 100dvh; width:100%; }

/* cHeader */
.cHeader { height: 100vh; height: 100svh; width:100%; position: relative; }
.cHeader h1 { display: flex; height: 100vh; height: 100svh; justify-content: center; align-items: center; }
.cHeader h1 img { height: 55vh; height: 55svh; margin:auto; }
.cHeader h2 { position: absolute; top: 2em; left: 2em; font-size: 1.8em; }
.cHeader .instagram { display: inline-block; font-size: 1.8em; width: 1.4em; text-align: left; position: absolute; bottom: 2em; left: 2em; }
.cHeader .instagram a { display: block; }


/* cMain */
.jp { font-family: 'Noto Serif JP',serif; letter-spacing: 0.05em; }
.en { font-family: 'Montserrat',sans-serif; letter-spacing: 0.02em; }
.jp span { display: inline-block; }
.en span { display: inline-block; }

.cMain .cMain__contents { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.cMain .cMain__contents .cMain__cntents_pic_rect { width: 60%; }
.cMain .cMain__contents .cMain__cntents_pic_sq { width: 40%; }

.cMain .cMain__contents_txt { display: inline-block; margin: 10em auto; }
.cMain .cMain__contents_txt .jp { font-size: 2.2em; line-height: 2em; text-align: left; margin: auto; white-space: nowrap; }
.cMain .cMain__contents_txt .en { font-size: 1.4em; line-height: 2em; text-align: left; margin: 5em auto 0 auto; }

.cMain .cMain__contents__info_inner { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; margin: 5.5em 10% 3em 10%; }
.cMain .cMain__contents__info_txt { width: 46%; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.cMain .cMain__contents__info_txt h3.jp { font-size: 1.4em; margin-bottom: 1.5em; }
.cMain .cMain__contents__info_txt h3.en { font-size: 1.3em; margin-bottom: 1.5em; }
.cMain .cMain__contents__info_txt .jp { font-size: 1.4em; line-height: 1.8em; text-align: left; margin-bottom: 2em; }
.cMain .cMain__contents__info_txt .en { font-size: 1.3em; line-height: 1.8em; text-align: left; margin-bottom: 1.5em; }
.cMain .cMain__contents__info_txt .tel { font-size: 1.8rem; line-height: 1em; }

/* cFooter */
.cFooter { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; margin: 3em 10%; }
.cFooter .cFooter__address { width: 46%; }
.cFooter .cFooter__address .jp { font-size: 1.4em; line-height: 1.8em; text-align: left; }
.cFooter .cFooter__address .en { font-size: 1.2em; line-height: 1.8em; text-align: left; }
.cFooter .cFooter__address .name { font-size: 1.6em; margin-bottom: 0.5em; }


/* tb */
@media screen and (max-width: 1023px) {

/* options */
.en .pcbr { display:inline; }
.en .spbr { display:block; }
.en .pc_inline { display:none; }
.en .sp_inline { display:inline; }

/* cWrap */
.cWrap { min-width:601px; }

/* cHeader */
.cHeader h1 img { height: 40vh; height: 40svh; margin:auto; }

/* cMain */
.cMain .cMain__contents_txt { display: inline-block; margin: 8em auto; }
.cMain .cMain__contents_txt .jp { font-size: 2.2em; line-height: 2em; text-align: left; margin: auto; white-space: nowrap; }
.cMain .cMain__contents_txt .en { font-size: 1.4em; line-height: 2em; text-align: left; margin: 4em auto 0 auto; }
}

.cMain .cMain__contents__info_txt .tel { font-size: 1.5rem; line-height: 1em; }

/* sp */
@media screen and (max-width: 600px) {
body { font-size: 12px; }

/* options */
.pc { display:none; }
.sp { display:block; }
.pcbr { display:inline; }
.spbr { display:block; }
.pc_inline { display:none; }
.sp_inline { display:inline; }

.en .pcbr { display:inline; }
.en .spbr { display:block; }
.en .pc_inline { display:none; }
.en .sp_inline { display:inline; }
a[href^="tel:"] { pointer-events: auto; }

/* cWrap */
.cWrap { min-width:0; }

/* cHeader */
.cHeader h1 img { height: 40vh; height: 40svh; margin:auto; }
.cHeader h2 { position: absolute; top: 1em; left: 1em; font-size: 1.8em; }
.cHeader .instagram { display: inline-block; font-size: 1.8em; width: 1.4em; text-align: left; position: absolute; bottom: 1em; left: 1em; }

/* cMain */
.en { font-family: 'Montserrat',sans-serif; letter-spacing: 0.01em; }

.cMain .cMain__contents { display: flex; flex-direction: column-reverse; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.cMain .cMain__contents .cMain__cntents_pic_rect { width: 100%; }
.cMain .cMain__contents .cMain__cntents_pic_sq { width: 100%; }

.cMain .cMain__contents_txt { display: inline-block; margin: 5em 7%; }
.cMain .cMain__contents_txt .jp { font-size: 2em; line-height: 2em; text-align: left; margin: auto; white-space: nowrap; }
.cMain .cMain__contents_txt .en { font-size: 1.1em; line-height: 2em; text-align: left; margin: 2.5em auto 0 auto; }

.cMain .cMain__contents__info_inner { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; margin: 3em 7% 1em 7%; }
.cMain .cMain__contents__info_txt { width: 100%; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; margin-bottom: 2em; }
.cMain .cMain__contents__info_txt h3.jp { font-size: 1.4em; margin-bottom: 0.8em; }
.cMain .cMain__contents__info_txt h3.en { font-size: 1.1em; margin-bottom: 0.8em; }
.cMain .cMain__contents__info_txt .jp { font-size: 1.4em; line-height: 1.6em; text-align: left; margin-bottom: 0.8em; }
.cMain .cMain__contents__info_txt .en { font-size: 1.1em; line-height: 1.6em; text-align: left; margin-bottom: 0.8em; }
.cMain .cMain__contents__info_txt .tel { font-size: 1.4rem; line-height: 1em; }

/* cFooter */
.cFooter { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; margin: 3em 7%; }
.cFooter .cFooter__address { width: 100%; }
.cFooter .cFooter__address .jp { font-size: 1.4em; line-height: 1.8em; text-align: left; margin-bottom: 2em; }
.cFooter .cFooter__address .en { font-size: 1.1em; line-height: 1.8em; text-align: left; }
.cFooter .cFooter__address .name { font-size: 1.6em; margin-bottom: 0.5em; }

}

@media screen and (max-width: 374px) {
body { font-size: 11px; }
}
@media screen and (min-width: 601px) and (max-width: 1280px) {
body { font-size: 12px; }
}
@media screen and (min-width: 1281px) and (max-width: 1300px) {
body { font-size: 12.18px; }
}
@media screen and (min-width: 1301px) and (max-width: 1325px) {
body { font-size: 12.36px; }
}
@media screen and (min-width: 1326px) and (max-width: 1350px) {
body { font-size: 12.54px; }
}
@media screen and (min-width: 1351px) and (max-width: 1375px) {
body { font-size: 12.72px; }
}
@media screen and (min-width: 1376px) and (max-width: 1400px) {
body { font-size: 12.9px; }
}
@media screen and (min-width: 1401px) and (max-width: 1425px) {
body { font-size: 13.08px; }
}
@media screen and (min-width: 1426px) and (max-width: 1450px) {
body { font-size: 13.26px; }
}
@media screen and (min-width: 1451px) and (max-width: 1475px) {
body { font-size: 13.44px; }
}
@media screen and (min-width: 1476px) and (max-width: 1500px) {
body { font-size: 13.62px; }
}
@media screen and (min-width: 1501px) and (max-width: 1525px) {
body { font-size: 13.8px; }
}
@media screen and (min-width: 1526px) and (max-width: 1550px) {
body { font-size: 13.98px; }
}
@media screen and (min-width: 1551px) and (max-width: 1575px) {
body { font-size: 14.16px; }
}
@media screen and (min-width: 1576px) and (max-width: 1600px) {
body { font-size: 14.34px; }
}
@media screen and (min-width: 1601px) and (max-width: 1625px) {
body { font-size: 14.52px; }
}
@media screen and (min-width: 1626px) and (max-width: 1650px) {
body { font-size: 14.7px; }
}
@media screen and (min-width: 1651px) and (max-width: 1675px) {
body { font-size: 14.88px; }
}
@media screen and (min-width: 1676px) and (max-width: 1700px) {
body { font-size: 15px; }
}
