@charset "utf-8";
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/NotoSansCJKjp-Regular.eot");
  src: url("./fonts/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("./fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("./fonts/NotoSansCJKjp-Regular.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/NotoSansCJKjp-Bold.eot");
  src: url("./fonts/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("./fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("./fonts/NotoSansCJKjp-Bold.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 900;
  src: url("./fonts/NotoSansCJKjp-Black.eot");
  src: url("./fonts/NotoSansCJKjp-Black.eot?#iefix") format("embedded-opentype"), url("./fonts/NotoSansCJKjp-Black.woff") format("woff"), url("./fonts/NotoSansCJKjp-Black.otf") format("opentype");
}
/*------------------------------------------------------------------------------------------
 *
 *
 setting.css
 *
 *
 ------------------------------------------------------------------------------------------ */
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/*HTML5display-roleresetforolderbrowsers*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body {
  font-family: dnp-shuei-mincho-pr6n, "YuKyokasho Yoko", "Yu Mincho", "游明朝", serif;
  color: #24352d;
  font-size: 18px;
  font-style: normal;
  background-color: #d6d9d3;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  position: relative;
  z-index: 1;
}
body.is_pc {
  overflow-y: scroll !important;
}
body, html {
  width: 100%;
  height: 100%;
}
a, li, p, div, button {
  outline: none !important;
}
a {
  color: #24352d;
  text-decoration: none;
}
a, p, div, li, dd, dt {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
img, svg {
  height: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
* {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.disabled {
  cursor: default !important;
}
.disabled a {
  cursor: default !important;
}
.is_pc .device_sp {
  display: none !important;
}
.is_sp .device_pc {
  display: none !important;
}
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;
  outline: none;
  border: none;
  -moz-outline-style: none;
}
:focus {
  outline: none;
}
::-moz-focus-inner {
  border: 0;
}
input::-moz-focus-inner, button::-moz-focus-inner {
  border: 0;
}
input[type=radio], input[type=checkbox] {
  display: none;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}
select::-ms-expand {
  display: none;
}
strong {
  font-weight: bold;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
}
/* -------------------- font-face  --------------------*/
.ff-min {
  font-family: dnp-shuei-mincho-pr6n, "Yu Mincho", "YuMincho", serif;
}
/* ==================================================
 *
 font style
 *
 ================================================== */
.fs_just, .fs_just p, .fs_just li, .fs_just dt, .fs_just dd {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
@media (min-width: 751px) {
  br.sp {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  br.sp {
    display: inherit;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 common_pc.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media (min-width: 751px) {
  /* --------------------------------------------------
   *
   common settings
   *
   -------------------------------------------------- */
  body {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  br.sp {
    display: none;
  }
  img.sp {
    display: none;
  }
  .switch_sp, .switch_sp * {
    display: none;
  }
  #nav_sp {
    display: none;
  }
  #nav_foot {
    display: none;
  }
  main {
    display: block;
    min-height: 100vh;
    position: relative;
  }
}
/* -------------------------------------------------- */
/*------------------------------------------------------------------------------------------
 *
 *
 common_sp.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media screen and (max-width: 750px) {
  /* --------------------------------------------------
   *
   common settings
   *
   -------------------------------------------------- */
  body {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  img.sp {
    display: none;
  }
  .switch_sp, .switch_sp * {
    display: none;
  }
  main {
    display: block;
    padding-bottom: 32vw;
    min-height: 100vh;
    position: relative;
    box-sizing: border-box;
  }
}
/* -------------------------------------------------- */
/*------------------------------------------------------------------------------------------
 *
 *
 index_pc.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media (min-width: 751px) {
  main {
    min-height: 800px;
    max-width: 100vw;
    overflow: hidden;
  }
  h1 {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
    opacity: 0;
    text-align: center;
    background-color: #d6d9d3;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    transition: opacity;
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  h1 img {
    width: 230px;
  }
  .fix h1 {
    opacity: 1;
  }
  section {
    min-height: 100vh;
    padding: 120px 0;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section .inner h2 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  section .inner p {
    font-size: 17px;
    line-height: 1.777em;
    margin-bottom: 2em;
  }
  section .inner p:last-child {
    margin-bottom: 0;
  }
  section .inner p .s {
    margin-top: 10px;
    display: block;
    font-size: 85%;
    line-height: 1.777em;
  }
  section .inner p a {
    border-bottom: 1px solid #24352d;
    transition: border 0.15s ease;
  }
  .is_pc section .inner p a:hover, .is_sp section .inner p a.touch {
    border-bottom: 1px solid transparent;
  }
  section .inner .desc p {
    font-size: 16px;
  }
  section .gmap {
    margin-top: 20px;
  }
  section .gmap iframe {
    width: 285px;
    height: 215px;
  }
  section.s1 h2 {
    margin-bottom: 50px;
  }
  section.s1 h2 img {
    width: 510px;
  }
  section.s4 h2 {
    margin-bottom: 50px;
  }
  section.s4 h2 img {
    width: 439px;
  }
  section.s4 .pic {
    margin-top: 30px;
  }
  section.s4 .pic img {
    width: 200px;
  }
  section.s6 .pic {
    margin-top: 30px;
  }
  section.s6 .pic img {
    width: 236px;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 about.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media (min-width: 751px) {
  #page_about h1 {
    width: calc(36/960*100vh);
    max-width: 36px;
    min-width: calc(36*.7px);
  }
  #page_about h1 img {
    width: 100%;
  }
  #page_about #contents_inner {
    width: 62.5vw !important;
    max-width: 800px !important;
    margin: 0 auto;
    padding: 120px 0;
  }
  #page_about #about_head {
    margin-bottom: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #page_about #about_head h2 {
    letter-spacing: 0.15em;
    margin-bottom: 2em;
    font-weight: 700;
    line-height: 2.4em;
    white-space: nowrap;
    font-size: 23px;
  }
  #page_about #about_head .col {
    width: 50%;
  }
  #page_about #about_head .ph {
    padding-left: 120px;
  }
  #page_about #about_head .ph img {
    width: 100%;
  }
  #page_about #about_desc {
    padding-bottom: 55px;
    border-bottom: 1px solid #fff;
  }
  #page_about #about_desc p {
    line-height: 2.25em;
    font-size: 14px;
    margin-bottom: 2em;
  }
  #page_about #profile {
    padding-top: 60px;
  }
  #page_about #profile h3 {
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.15em;
  }
  #page_about #profile h3 span {
    display: inline-block;
    margin-left: 20px;
    font-size: 16px;
  }
  #page_about #profile .inner {
    display: flex;
    justify-content: space-between;
  }
  #page_about #profile .inner .col {
    width: 50%;
  }
  #page_about #profile .inner .col p {
    margin-bottom: 2em;
    font-size: 13px;
    line-height: 2em;
  }
  #page_about #profile .inner a {
    padding-bottom: 3px;
    border-bottom: 1px solid #aaa;
    transition: border;
    transition-duration: 0.1s;
  }
  .is_pc #page_about #profile .inner a:hover, .is_sp #page_about #profile .inner a.touch {
    border-bottom: 1px solid transparent;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_about #contents_inner {
    padding: 10.71429vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_about #about_head .ph {
    padding-left: 10.71429vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_about #about_head {
    margin-bottom: 6.25vw;
  }
  #page_about #about_head h2 {
    font-size: 2.05357vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_about #about_desc {
    padding-bottom: pc_min(35);
  }
  #page_about #about_desc p {
    font-size: 1.25vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_about #profile {
    padding-top: 5.35714vw;
  }
  #page_about #profile h3 {
    margin-bottom: 2.67857vw;
    font-size: 1.78571vw;
  }
  #page_about #profile h3 span {
    margin-left: 1.78571vw;
    font-size: 1.42857vw;
  }
  #page_about #profile .inner .col p {
    font-size: 1.25vw;
  }
  #page_about #profile .inner .col a {
    padding-bottom: 0.26786vw;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 flow.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media (min-width: 751px) {
  #page_flow strong {
    display: inline-block;
    line-height: 1em;
    margin-bottom: 5px;
    font-size: 90%;
    padding: 5px 10px 5px 10px;
    background-color: #888;
    color: #fff;
  }
  #page_flow h1 {
    width: calc(35/960*100vh);
    max-width: 35px;
    min-width: calc(35*.7px);
  }
  #page_flow h1 img {
    width: 100%;
  }
  #page_flow #sp_slides {
    display: none;
  }
  #page_flow #contents_inner {
    width: 62.5vw !important;
    max-width: 800px !important;
    margin: 0 auto;
    padding: 120px 0;
  }
  #page_flow #flow_desc {
    display: flex;
    justify-content: space-between;
    padding-bottom: 100px;
    border-bottom: 1px solid #fff;
  }
  #page_flow #flow_desc .col {
    width: 50%;
  }
  #page_flow #flow_desc .col.l {
    padding-right: 80px;
    box-sizing: border-box;
  }
  #page_flow #flow_desc .col.l li {
    margin-bottom: 20px;
  }
  #page_flow #flow_desc .col.l li img {
    width: 24.84375vw !important;
    max-width: 318px !important;
    height: 31.5625vw !important;
    max-height: 404px !important;
  }
  #page_flow #flow_desc .col .desc li {
    margin-bottom: 90px;
  }
  #page_flow #flow_desc .col .desc li:last-child {
    margin: 0;
  }
  #page_flow #flow_desc .col .desc h2 {
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.15em;
    position: relative;
  }
  #page_flow #flow_desc .col .desc h2:before {
    content: '';
    width: 6px;
    height: 1px;
    display: block;
    background-color: #333;
    position: absolute;
    top: 50%;
    left: -20px;
  }
  #page_flow #flow_desc .col .desc p {
    margin-bottom: 2em;
    font-size: 14px;
    line-height: 2em;
  }
  #page_flow #flow_desc .col .desc p:last-child {
    margin: 0;
  }
  #page_flow #flow_price {
    padding-top: 60px;
  }
  #page_flow #flow_price h2 {
    font-size: 20px;
    font-weight: 700;
    padding-bottom: 60px;
    letter-spacing: 0.15em;
  }
  #page_flow #flow_price .inner {
    margin-bottom: 40px;
    border: 2px solid #f0f0f0;
    box-sizing: border-box;
  }
  #page_flow #flow_price .inner .col {
    width: 100%;
    padding: 40px;
    display: table;
    box-sizing: border-box;
    font-size: 14px;
    text-align: left;
    background-color: #fff;
    border-bottom: 1px solid #f0f0f0;
  }
  #page_flow #flow_price .inner .col:last-child {
    border-bottom: none;
  }
  #page_flow #flow_price .inner .col h3 {
    min-width: 130px;
    display: table-cell;
    padding-top: 20px;
    font-weight: 700;
    white-space: nowrap;
  }
  #page_flow #flow_price .inner .col table {
    width: 100%;
    line-height: 1.777em;
    display: table-cell;
  }
  #page_flow #flow_price .inner .col th {
    font-size: 12px;
    min-width: 60px;
    border-bottom: 1px solid #eee;
  }
  #page_flow #flow_price .inner .col td {
    width: 100%;
    padding-top: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #eee;
  }
  #page_flow #flow_price .inner .col tr:last-child th, #page_flow #flow_price .inner .col tr:last-child td {
    border: none;
  }
  #page_flow #flow_price .inner .col p {
    margin-bottom: 2em;
  }
  #page_flow #flow_price .inner .col p:last-child {
    margin-bottom: 0;
  }
  #page_flow #flow_price .caution {
    padding: 10px 40px;
    background-color: #fff;
    font-size: 14px;
    line-height: 1.777em;
    border: 2px solid #f0f0f0;
    box-sizing: border-box;
  }
  #page_flow #flow_price .caution p {
    margin-bottom: 2em;
  }
  #page_flow #flow_price .caution strong {
    font-size: inherit;
    color: inherit;
    padding: inherit;
    line-height: inherit;
    background-color: inherit;
    display: inherit;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_flow #contents_inner {
    padding: 10.71429vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_flow #flow_desc {
    padding-bottom: 8.92857vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_flow #flow_desc .col.l {
    padding-right: 7.14286vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_flow #flow_desc .col.l li {
    margin-bottom: 1.78571vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_flow #flow_desc .col .desc li {
    margin-bottom: 8.03571vw;
  }
  #page_flow #flow_desc .col .desc h2 {
    margin-bottom: 2.67857vw;
    font-size: 1.78571vw;
  }
  #page_flow #flow_desc .col .desc h2:before {
    width: 0.53571vw;
    left: -1.78571vw;
  }
  #page_flow #flow_desc .col .desc p {
    font-size: 1.25vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_flow #flow_price {
    padding-top: 5.35714vw;
  }
  #page_flow #flow_price h2 {
    font-size: 1.78571vw;
    padding-bottom: 5.35714vw;
  }
  #page_flow #flow_price .inner {
    margin-bottom: 3.57143vw;
  }
  #page_flow #flow_price .inner .col {
    padding: 3.57143vw;
    font-size: 1.25vw;
  }
  #page_flow #flow_price .inner .col h3 {
    min-width: 11.60714vw;
    margin-bottom: 2.67857vw;
  }
  #page_flow #flow_price .inner .col th {
    font-size: 1.07143vw;
    min-width: 5.35714vw;
  }
  #page_flow #flow_price .caution {
    padding: 0.89286vw 3.57143vw;
    font-size: 1.25vw;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 studio.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media (min-width: 751px) {
  #page_studio h1 {
    width: calc(30/960*100vh);
    max-width: 30px;
    min-width: calc(30*.7px);
  }
  #page_studio h1 img {
    width: 100%;
  }
  #page_studio #contents_inner {
    width: 62.5vw !important;
    max-width: 800px !important;
    margin: 0 auto;
    padding: 120px 0;
  }
  #page_studio #kv .ph {
    text-align: center;
  }
  #page_studio #kv .ph img {
    width: 50vw !important;
    max-width: 640px !important;
  }
  #page_studio #head_desc {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #page_studio #head_desc .inner {
    padding: 40px 40px 70px 40px;
    box-sizing: border-box;
  }
  #page_studio #head_desc p {
    margin-bottom: 2em;
    font-size: 14px;
    line-height: 2em;
  }
  #page_studio #head_desc p:last-child {
    margin-bottom: 0;
  }
  #page_studio #head_desc p a {
    padding-bottom: 3px;
    border-bottom: 1px solid #aaa;
    transition: border;
    transition-duration: 0.1s;
  }
  .is_pc #page_studio #head_desc p a:hover, .is_sp #page_studio #head_desc p a.touch {
    border-bottom: 1px solid transparent;
  }
  #page_studio #desc_list {
    padding-bottom: 20px;
    border-bottom: 1px solid #fff;
  }
  #page_studio #desc_list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #page_studio #desc_list ul li {
    width: 29.6875vw !important;
    max-width: 380px !important;
    margin-bottom: 70px;
  }
  #page_studio #desc_list ul li .ph {
    margin-bottom: 10px;
    box-sizing: border-box;
  }
  #page_studio #desc_list ul li .ph .bg_inner {
    width: 29.6875vw !important;
    max-width: 380px !important;
    height: 19.84375vw !important;
    max-height: 254px !important;
  }
  #page_studio #desc_list ul li .ph img {
    width: 29.6875vw !important;
    max-width: 380px !important;
    height: 19.84375vw !important;
    max-height: 254px !important;
  }
  #page_studio #desc_list ul li .txt {
    padding-right: 20px;
    position: relative;
  }
  #page_studio #desc_list ul li .txt p {
    margin-bottom: 2em;
    font-size: 14px;
    line-height: 1.777em;
  }
  #page_studio #desc_list ul li .txt p:last-child {
    margin-bottom: 0;
  }
  #page_studio #access {
    padding-top: 60px;
  }
  #page_studio #access .head {
    text-align: center;
  }
  #page_studio #access .head h3 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.15em;
  }
  #page_studio #access .head h3 a {
    padding-bottom: 3px;
    border-bottom: 1px solid #aaa;
    transition: border;
    transition-duration: 0.1s;
  }
  .is_pc #page_studio #access .head h3 a:hover, .is_sp #page_studio #access .head h3 a.touch {
    border-bottom: 1px solid transparent;
  }
  #page_studio #access .head .address {
    font-size: 14px;
    margin-bottom: 20px;
  }
  #page_studio #access .gmap iframe {
    width: 62.5vw !important;
    max-width: 800px !important;
    height: 41.64063vw !important;
    max-height: 533px !important;
  }
  #page_studio #access .guide {
    padding: 0 40px;
    padding-top: 10px;
  }
  #page_studio #access .guide p {
    font-size: 14px;
    line-height: 2em;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_studio #contents_inner {
    padding: 10.71429vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_studio #head_desc .inner {
    padding: 3.57143vw 3.57143vw 6.25vw 3.57143vw;
  }
  #page_studio #head_desc p {
    font-size: 1.25vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_studio #desc_list {
    padding-bottom: 1.78571vw;
  }
  #page_studio #desc_list li {
    margin-bottom: 6.25vw;
  }
  #page_studio #desc_list li .ph {
    margin-bottom: 0.89286vw;
  }
  #page_studio #desc_list li .txt {
    padding-right: 1.78571vw;
  }
  #page_studio #desc_list li .txt p {
    font-size: 1.25vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_studio #access {
    padding-top: 5.35714vw;
  }
  #page_studio #access .head h3 {
    margin-bottom: 1.78571vw;
    font-size: 1.78571vw;
  }
  #page_studio #access .head .address {
    font-size: 1.25vw;
    margin-bottom: 1.78571vw;
  }
  #page_studio #access .guide {
    padding: 0 3.57143vw;
    padding-top: 0.89286vw;
  }
  #page_studio #access .guide p {
    font-size: 1.25vw;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 contact.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media (min-width: 751px) {
  #page_contact h1 {
    width: calc(35/960*100vh);
    max-width: 35px;
    min-width: calc(35*.7px);
  }
  #page_contact h1 img {
    width: 100%;
  }
  #page_contact #contents_inner {
    width: 62.5vw !important;
    max-width: 800px !important;
    margin: 0 auto;
    padding: 120px 0;
  }
  #page_contact .head_desc {
    margin-bottom: 50px;
  }
  #page_contact .head_desc p {
    font-size: 14px;
    line-height: 2em;
  }
  #page_contact .contact_table {
    border-top: 1px solid #fff;
  }
  #page_contact .contact_table dl {
    padding: 40px 0;
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #page_contact .contact_table dl.b {
    align-items: flex-start;
  }
  #page_contact .contact_table dl dt {
    width: 25%;
    font-size: 13px;
    white-space: nowrap;
  }
  #page_contact .contact_table dl dd {
    width: 75%;
  }
  #page_contact .contact_table dl input, #page_contact .contact_table dl textarea {
    width: 100%;
    background-color: #fff !important;
    border: 1px solid #e5e5e5 !important;
    padding: 10px 15px;
    font-size: 16px;
    line-height: 1.8em;
  }
  #page_contact .contact_table dl input.e, #page_contact .contact_table dl textarea.e {
    background-color: #f0f0f0 !important;
  }
  #page_contact .contact_table dl textarea {
    height: 23.4375vw !important;
    max-height: 300px !important;
  }
  #page_contact .contact_table .error {
    display: none;
  }
  #page_contact .contact_table input:-webkit-autofill, #page_contact .contact_table input:-webkit-autofill:hover, #page_contact .contact_table input:-webkit-autofill:focus, #page_contact .contact_table textarea:-webkit-autofill, #page_contact .contact_table textarea:-webkit-autofill:hover, #page_contact .contact_table textarea:-webkit-autofill:focus, #page_contact .contact_table select:-webkit-autofill, #page_contact .contact_table select:-webkit-autofill:hover, #page_contact .contact_table select:-webkit-autofill:focus {
    border: inherit;
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
    transition: background-color 0s ease-in-out 0s;
  }
  #page_contact .area_submit {
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #page_contact .area_submit button {
    width: 320px;
    height: 60px;
    margin-bottom: 40px;
    vertical-align: middle;
    text-align: center;
    letter-spacing: 0.15em;
    font-size: 15px;
    color: #fff;
    background-color: #d6c8a8;
    border: none;
    cursor: pointer;
    transition: filter 0.15s ease;
  }
  #page_contact .area_submit button.back {
    background-color: #ccc;
  }
  .is_pc #page_contact .area_submit button:hover, .is_sp #page_contact .area_submit button.touch {
    filter: contrast(1.25);
  }
  #page_contact .confirm dt {
    font-size: 14px;
    line-height: 2em;
  }
  #page_contact .confirm dd {
    font-size: 14px;
    position: relative;
    line-height: 2em;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_contact #contents_inner {
    padding: 10.71429vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_contact .head_desc {
    margin-bottom: 4.46429vw;
  }
  #page_contact .head_desc p {
    font-size: 1.25vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_contact .contact_table {
    border-top: 1px solid #fff;
  }
  #page_contact .contact_table dl {
    padding: 3.57143vw 0;
  }
  #page_contact .contact_table dl dt {
    font-size: 1.16071vw;
  }
  #page_contact .contact_table dl input, #page_contact .contact_table dl textarea {
    padding: 0.89286vw 1.33929vw;
    font-size: 1.42857vw;
  }
}
@media (min-width: 751px) and  (max-width: 1120px) {
  #page_contact .area_submit {
    padding-top: 7.14286vw;
    padding-bottom: 7.14286vw;
    text-align: center;
  }
  #page_contact .area_submit button {
    margin-bottom: 3.57143vw;
    width: 28.57143vw;
    height: 5.35714vw;
    font-size: 1.33929vw;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 index_sp.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media screen and (max-width: 750px) {
  main {
    max-width: 100vw;
  }
  h1 {
    width: 100%;
    padding-top: 2.66667vw;
    padding-bottom: 2.66667vw;
    opacity: 0;
    text-align: center;
    background-color: #d6d9d3;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    transition: opacity;
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  h1 img {
    width: 30.66667vw;
  }
  .fix h1 {
    opacity: 1;
  }
  section {
    min-height: 100vh;
    padding: 8vw 0;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section .inner h2 {
    font-size: 4.53333vw;
    margin-bottom: 3.33333vw;
  }
  section .inner p {
    font-size: 3.46667vw;
    line-height: 1.777em;
    margin-bottom: 2em;
  }
  section .inner p:last-child {
    margin-bottom: 0;
  }
  section .inner p .s {
    margin-top: 1.33333vw;
    display: block;
    font-size: 90%;
    line-height: 1.777em;
  }
  section .inner p a {
    border-bottom: 1px solid #24352d;
    transition: border 0.15s ease;
  }
  .is_pc section .inner p a:hover, .is_sp section .inner p a.touch {
    border-bottom: 1px solid transparent;
  }
  section .inner .desc p {
    font-size: 3.46667vw;
  }
  section .gmap {
    margin-top: 2.66667vw;
  }
  section .gmap iframe {
    width: 53.2vw;
    height: 51.33333vw;
  }
  section.s1 h2 {
    margin-bottom: 6.66667vw;
  }
  section.s1 h2 img {
    width: 68vw;
  }
  section.s4 h2 {
    margin-bottom: 6.66667vw;
  }
  section.s4 h2 img {
    width: 61.33333vw;
  }
  section.s4 .pic {
    margin-top: 4vw;
  }
  section.s4 .pic img {
    width: 34.66667vw;
  }
  section.s6 .pic {
    margin-top: 4vw;
  }
  section.s6 .pic img {
    width: 39.86667vw;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 about.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media screen and (max-width: 750px) {
  #page_about {
    padding-top: 24vw;
  }
  #page_about h1 {
    display: none;
  }
  #page_about #contents_inner {
    margin: 0 auto;
  }
  #page_about #about_head {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin-bottom: 5.33333vw;
  }
  #page_about #about_head h2 {
    font-weight: 700;
    line-height: 2.4em;
    white-space: nowrap;
    font-size: 5.33333vw;
    letter-spacing: 0.15em;
  }
  #page_about #about_head .ph {
    padding: 0 21.33333vw;
    margin-bottom: 2.66667vw;
  }
  #page_about #about_head .ph img {
    width: 100%;
    max-width: 320px;
  }
  #page_about #about_desc {
    padding: 0 10.66667vw;
    padding-bottom: 2.66667vw;
    border-bottom: 1px solid #fff;
  }
  #page_about #about_desc p {
    line-height: 2em;
    font-size: 3.73333vw;
    margin-bottom: 2em;
  }
  #page_about #profile {
    padding: 0 10.66667vw;
    padding-top: 10.66667vw;
    margin-bottom: 10.66667vw;
  }
  #page_about #profile h3 {
    text-align: center;
    margin-bottom: 10.66667vw;
    font-size: 5.33333vw;
    font-weight: 700;
    letter-spacing: 0.15em;
  }
  #page_about #profile h3 span {
    margin-top: 1.33333vw;
    display: block;
    font-size: 3.46667vw;
  }
  #page_about #profile .inner {
    display: flex;
    flex-direction: column-reverse;
  }
  #page_about #profile .inner .col p {
    margin-bottom: 2em;
    font-size: 3.73333vw;
    line-height: 2em;
  }
  #page_about #profile .inner a {
    padding-bottom: 3px;
    border-bottom: 1px solid #aaa;
    transition: border;
    transition-duration: 0.1s;
  }
  .is_pc #page_about #profile .inner a:hover, .is_sp #page_about #profile .inner a.touch {
    border-bottom: 1px solid transparent;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 flow.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media screen and (max-width: 750px) {
  #page_flow strong {
    display: inline-block;
    line-height: 1em;
    margin-bottom: 1.33333vw;
    font-size: 90%;
    padding: 1.33333vw 2.13333vw 1.33333vw 2.13333vw;
    background-color: #888;
    color: #fff;
  }
  #page_flow h1 {
    display: none;
  }
  #page_flow #contents_inner {
    padding-top: 13.33333vw;
  }
  #page_flow #sp_slides {
    width: 100vw;
    margin-bottom: 10.66667vw;
    position: relative;
  }
  #page_flow #sp_slides .img_slider {
    opacity: 1;
    display: flex;
  }
  #page_flow #sp_slides .img_slider div {
    display: none;
  }
  #page_flow #sp_slides .img_slider div:nth-child(1) {
    display: block;
  }
  #page_flow #sp_slides .img_slider div:nth-child(2) {
    display: block;
  }
  #page_flow #sp_slides .img_slider div:nth-child(3) {
    display: block;
  }
  #page_flow #sp_slides .img_slider div:nth-child(4) {
    display: block;
  }
  #page_flow #sp_slides img {
    width: 100vw;
    height: 66.66667vw;
  }
  #page_flow #flow_desc {
    border-bottom: 1px solid #fff;
    padding: 0 10.66667vw;
    padding-bottom: 10.66667vw;
  }
  #page_flow #flow_desc .col.l {
    display: none !important;
  }
  #page_flow #flow_desc .col .desc li {
    margin-bottom: 16vw;
  }
  #page_flow #flow_desc .col .desc li:last-child {
    margin: 0;
  }
  #page_flow #flow_desc .col .desc h2 {
    margin-bottom: 5.33333vw;
    font-size: 5.33333vw;
    font-weight: 700;
    position: relative;
    letter-spacing: 0.15em;
  }
  #page_flow #flow_desc .col .desc h2:before {
    content: '';
    width: 6px;
    height: 1px;
    display: block;
    background-color: #333;
    position: absolute;
    top: 50%;
    left: -5.33333vw;
  }
  #page_flow #flow_desc .col .desc p {
    margin-bottom: 2em;
    font-size: 3.73333vw;
    line-height: 2em;
  }
  #page_flow #flow_desc .col .desc p:last-child {
    margin: 0;
  }
  #page_flow #flow_price {
    padding-top: 10.66667vw;
  }
  #page_flow #flow_price h2 {
    font-size: 5.33333vw;
    font-weight: 700;
    padding-bottom: 8vw;
    text-align: center;
    letter-spacing: 0.15em;
  }
  #page_flow #flow_price .inner {
    margin-bottom: 10.66667vw;
    padding: 0 5.33333vw;
  }
  #page_flow #flow_price .inner .col {
    width: 100%;
    display: block;
    padding-bottom: 8vw;
    box-sizing: border-box;
    font-size: 3.73333vw;
    text-align: left;
    background-color: #fff;
    margin-bottom: 10.66667vw;
    border: 1px solid #f0f0f0;
    box-sizing: border-box;
  }
  #page_flow #flow_price .inner .col h3 {
    display: block;
    font-size: 3.73333vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
    margin-bottom: 5.33333vw;
    background-color: #f0f0f0;
    font-weight: 700;
    white-space: nowrap;
    text-align: center;
  }
  #page_flow #flow_price .inner .col table {
    width: 100%;
    line-height: 1.777em;
    display: block;
  }
  #page_flow #flow_price .inner .col th {
    font-size: 3.2vw;
    min-width: 16vw;
    border-bottom: 1px solid #eee;
    padding-left: 5.33333vw;
  }
  #page_flow #flow_price .inner .col td {
    width: 100%;
    padding-right: 5.33333vw;
    padding-top: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #eee;
    font-size: 3.73333vw;
  }
  #page_flow #flow_price .inner .col tr:last-child th, #page_flow #flow_price .inner .col tr:last-child td {
    border: none;
  }
  #page_flow #flow_price .inner .col p {
    margin-bottom: 2em;
  }
  #page_flow #flow_price .inner .col p:last-child {
    margin-bottom: 0;
  }
  #page_flow #flow_price .caution {
    margin: 0 5.33333vw;
    padding: 2.66667vw 5.33333vw;
    margin-bottom: 16vw;
    background-color: #fff;
    font-size: 3.73333vw;
    line-height: 1.777em;
    border: 1px solid #f0f0f0;
    box-sizing: border-box;
  }
  #page_flow #flow_price .caution p {
    margin-bottom: 2em;
  }
  #page_flow #flow_price .caution strong {
    font-size: inherit;
    color: inherit;
    padding: inherit;
    line-height: inherit;
    background-color: inherit;
    display: inherit;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 studio.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media screen and (max-width: 750px) {
  #page_studio h1 {
    display: none;
  }
  #page_studio #contents_inner {
    padding-top: 13.33333vw;
  }
  #page_studio #kv {
    padding-top: 10.66667vw;
  }
  #page_studio #kv .ph {
    text-align: center;
  }
  #page_studio #kv .ph img {
    width: 80vw;
  }
  #page_studio #head_desc {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #page_studio #head_desc .inner {
    padding: 10.66667vw;
    padding-top: 8vw;
    padding-bottom: 0;
    box-sizing: border-box;
  }
  #page_studio #head_desc p {
    margin-bottom: 2em;
    font-size: 3.73333vw;
    line-height: 2em;
  }
  #page_studio #head_desc p:last-child {
    margin-bottom: 0;
  }
  #page_studio #head_desc p a {
    padding-bottom: 3px;
    border-bottom: 1px solid #aaa;
    transition: border;
    transition-duration: 0.1s;
  }
  .is_pc #page_studio #head_desc p a:hover, .is_sp #page_studio #head_desc p a.touch {
    border-bottom: 1px solid transparent;
  }
  #page_studio #desc_list {
    padding-bottom: 10.66667vw;
    border-bottom: 1px solid #fff;
  }
  #page_studio #desc_list li {
    margin-bottom: 13.33333vw;
  }
  #page_studio #desc_list li:last-child {
    margin-bottom: 0;
  }
  #page_studio #desc_list li .ph {
    margin: 0 auto;
    margin-bottom: 4vw;
  }
  #page_studio #desc_list li .ph .set_bg {
    width: 89.33333vw;
    height: 59.6vw;
    margin: 0 auto;
  }
  #page_studio #desc_list li .txt {
    position: relative;
    padding: 0 10.66667vw;
  }
  #page_studio #desc_list li .txt p {
    margin-bottom: 2em;
    font-size: 3.73333vw;
    line-height: 1.777em;
  }
  #page_studio #desc_list li .txt p:last-child {
    margin-bottom: 0;
  }
  #page_studio #access {
    padding-top: 10.66667vw;
    padding-bottom: 16vw;
  }
  #page_studio #access .head {
    text-align: center;
  }
  #page_studio #access .head h3 {
    margin-bottom: 5.33333vw;
    font-size: 5.33333vw;
    font-weight: 700;
    letter-spacing: 0.15em;
  }
  #page_studio #access .head h3 a {
    padding-bottom: 3px;
    border-bottom: 1px solid #aaa;
    transition: border;
    transition-duration: 0.1s;
  }
  .is_pc #page_studio #access .head h3 a:hover, .is_sp #page_studio #access .head h3 a.touch {
    border-bottom: 1px solid transparent;
  }
  #page_studio #access .head .address {
    font-size: 3.73333vw;
    margin-bottom: 8vw;
  }
  #page_studio #access .gmap iframe {
    width: 100vw;
    height: 66.66667vw;
  }
  #page_studio #access .guide {
    padding: 0 10.66667vw;
    padding-top: 2.66667vw;
  }
  #page_studio #access .guide p {
    font-size: 3.73333vw;
    line-height: 2em;
  }
}
/*------------------------------------------------------------------------------------------
 *
 *
 contact.css
 *
 *
 ------------------------------------------------------------------------------------------ */
@media screen and (max-width: 750px) {
  #page_contact h1 {
    display: none;
  }
  #page_contact #contents_inner {
    padding-top: 13.33333vw;
  }
  #page_contact .head_desc {
    padding: 0 10.66667vw;
    padding-top: 16vw;
    margin-bottom: 13.33333vw;
  }
  #page_contact .head_desc p {
    font-size: 3.73333vw;
    line-height: 2em;
  }
  #page_contact .contact_table {
    padding: 0 10.66667vw;
    border-top: 1px solid #fff;
  }
  #page_contact .contact_table dl {
    padding: 10.66667vw 0;
    border-bottom: 1px solid #fff;
  }
  #page_contact .contact_table dl dt {
    font-size: 3.73333vw;
    white-space: nowrap;
    margin-bottom: 4vw;
  }
  #page_contact .contact_table dl input, #page_contact .contact_table dl textarea {
    width: 100%;
    background-color: #fff !important;
    border: 1px solid #e5e5e5 !important;
    padding: 2.66667vw 4vw;
    font-size: 16px;
    line-height: 1.8em;
    box-sizing: border-box;
  }
  #page_contact .contact_table dl input.e, #page_contact .contact_table dl textarea.e {
    background-color: #f0f0f0 !important;
  }
  #page_contact .contact_table dl textarea {
    height: 80vw;
  }
  #page_contact .contact_table .error {
    display: none;
  }
  #page_contact .contact_table input:-webkit-autofill, #page_contact .contact_table input:-webkit-autofill:hover, #page_contact .contact_table input:-webkit-autofill:focus, #page_contact .contact_table textarea:-webkit-autofill, #page_contact .contact_table textarea:-webkit-autofill:hover, #page_contact .contact_table textarea:-webkit-autofill:focus, #page_contact .contact_table select:-webkit-autofill, #page_contact .contact_table select:-webkit-autofill:hover, #page_contact .contact_table select:-webkit-autofill:focus {
    border: inherit;
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 66.66667vw #fff inset;
    transition: background-color 0s ease-in-out 0s;
  }
  #page_contact .area_submit {
    padding-top: 10.66667vw;
    padding-bottom: 16vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #page_contact .area_submit button {
    width: 85.33333vw;
    height: 16vw;
    margin-bottom: 8vw;
    vertical-align: middle;
    text-align: center;
    letter-spacing: 0.15em;
    font-size: 4.26667vw;
    color: #fff;
    background-color: #d6c8a8;
    border: none;
    cursor: pointer;
    transition: filter 0.15s ease;
  }
  #page_contact .area_submit button.back {
    background-color: #ccc;
  }
  .is_pc #page_contact .area_submit button:hover, .is_sp #page_contact .area_submit button.touch {
    filter: contrast(1.25);
  }
  #page_contact .confirm dd {
    position: relative;
    line-height: 2em;
    font-size: 3.73333vw;
  }
  #page_contact .thanks .head_desc {
    white-space: nowrap;
  }
}
