@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  font-size: 100%; /* 1 */
  overflow-y: scroll; /* 2 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 3 */
  -webkit-text-size-adjust: 100%; /* 4 */
  -ms-text-size-adjust: 100%; /* 4 */
}

body {
  margin: 0;
}

body,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

nav ul,
nav ol {
  /*list-style: none;*/
}

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0; /* 1 */
  *margin-left: -7px; /* 2 */
}

button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

button,
input {
  line-height: normal; /* 1 */
  *overflow: visible; /* 2 */
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer; /* 1 */
  -webkit-appearance: button; /* 2 */
}

input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: normal;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
*/
html, body {
  width: 100%;
  height: 100%;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Noto Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  text-align: left;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px;
  color: #000;
  font-size: 16px;
  line-height: 1.8em;
  letter-spacing: 0.02em;
}

hr {
  display: none;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
}

p, li, dt, dd, th, td, figcaption, time, address {
  margin: 0px;
  padding: 0px;
  font-size: 14px;
  line-height: 1.8em;
  color: #000;
}

th p, td p {
  font-size: 100%;
}

p {
  margin-bottom: 2em;
}

a {
  color: #000;
  text-decoration: underline;
  outline: none;
}

a.outline:focus {
  outline: 1px dotted;
}

a:focus {
  outline: none;
}

a:hover {
  text-decoration: none;
}

a img {
  margin: 0px;
  padding: 0px;
  border: none;
}

ol li p,
ul li p,
ol li table tr th,
ol li table tr td,
table tr td p,
table tr td ol li,
table tr td ul li,
table tr td ol li p,
table tr td ul li p {
  font-size: 100%;
}

ol.lmnone,
ul.lmnone {
  margin: 0;
  padding: 0;
  list-style: none;
}

ol.fllist li,
ul.fllist li {
  float: left;
  list-style: none;
}

/* dl table */
dl.table1 dt,
dl.table2 dt {
  margin: 0;
  margin-right: -110px;
  float: left;
  clear: both;
  display: inline;
  width: 110px;
}

dl.table1 dd {
  margin-left: 110px;
}

dl.table1 {
  /*\*/
  min-height: 1px;
  _height: 1%;
  /* */
  /*\*/ /*/
overflow: hidden;
/**/
}

dl.table1::after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

dl.table2 dt {
  width: 120px;
  margin-right: -120px;
}

dl.table2 dd {
  margin-left: 120px;
}

form {
  margin: 0;
  padding: 0;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

#layout {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.dwrap {
  position: relative;
  clear: both;
}

.dleft {
  float: left;
}

.dright {
  float: right;
}

/* スペースの調整用 */
.pt-15 {
  padding-top: -15px;
}

.pt0 {
  padding-top: 0;
}

.pt1em {
  padding-top: 1em;
}

.pt2em {
  padding-top: 2em;
}

.pt3em {
  padding-top: 3em;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt124 {
  padding-top: 124px;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1em {
  padding-bottom: 1em;
}

.pb2em {
  padding-bottom: 2em;
}

.pb3em {
  padding-bottom: 3em;
}

.pb4em {
  padding-bottom: 4em;
}

.pb5em {
  padding-bottom: 5em;
}

.pb6em {
  padding-bottom: 6em;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb120 {
  padding-bottom: 120px;
}

.mt0 {
  margin-top: 0;
}

.mt1em {
  margin-top: 1em;
}

.mt2em {
  margin-top: 2em;
}

.mt3em {
  margin-top: 3em;
}

.mt4em {
  margin-top: 4em;
}

.mt5em {
  margin-top: 5em;
}

.mt6em {
  margin-top: 6em;
}

.mt7em {
  margin-top: 7em;
}

.mt8em {
  margin-top: 8em;
}

.mt9em {
  margin-top: 9em;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt120 {
  margin-top: 120px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mb5em {
  margin-bottom: 5em;
}

.mb6em {
  margin-bottom: 6em;
}

.mb7em {
  margin-bottom: 7em;
}

.mb8em {
  margin-bottom: 8em;
}

.mb9em {
  margin-bottom: 9em;
}

.mb7 {
  margin-bottom: 7px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb120 {
  margin-bottom: 120px;
}

.pl1em {
  padding-left: 1em;
}

.ml1em {
  margin-left: 1em;
}

.rp0 {
  padding-right: 0;
}

.rm0 {
  margin-right: 0;
}

.pr10 {
  padding-right: 10px;
}

.pr20 {
  padding-right: 20px;
}

.pr35 {
  padding-right: 35px;
}

.pr50 {
  padding-right: 50px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl340 {
  padding-left: 340px;
}

.bb5 {
  border-bottom: 5px solid #78BE00;
}

.bt5 {
  border-top: 5px solid #78BE00;
  padding-top: 70px;
}

.f11 {
  font-size: 11px !important;
}

.f12 {
  font-size: 12px !important;
}

.red {
  color: red;
}

.text-right {
  text-align: right;
}

.text-rightb {
  font-weight: bold;
  text-align: right;
}

.tcenter {
  text-align: center;
}

body {
  _zoom: 0.7;
}

.pcv {
  display: block;
}
@media screen and (max-width: 750px) {
  .pcv {
    display: none;
  }
}

.pcv1160 {
  display: block;
}
@media screen and (max-width: 1160px) {
  .pcv1160 {
    display: none;
  }
}

.pcvin {
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .pcvin {
    display: none;
  }
}

.spv {
  display: none;
}
@media screen and (max-width: 750px) {
  .spv {
    display: block;
  }
}

.detail img {
  max-width: 100%;
  height: auto;
}

img {
  max-width: 100%;
  height: auto;
}

.inview.fade,
.inview.fade1 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inview.fade.show,
.inview.fade1.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.inview.fade2 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.fade2.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.left {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.left.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.right.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d1.show {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d2.show {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.inview.d3.show {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.inview.top::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  /* background-color: transparent; */
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after, .inview.top.show::before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.image.inview.top.show::after, .image.inview.top.show::before {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

body.fadeout::after {
  opacity: 1;
}

/*
.overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #CCC;
    z-index: 9999;
    -webkit-transition: opacity .3s ease;
    -ms-transition: opacity .3s ease;
    -moz-transition: opacity .3s ease;
    transition: opacity .3s ease;
}
.fadeout{
    .overlay{
        -webkit-transition: opacity .3s ease;
        -ms-transition: opacity .3s ease;
        -moz-transition: opacity .3s ease;
        transition: opacity .3s ease;
        opacity: 1;
    }
}
*/
header,
.contents,
footer {
  position: relative;
  clear: both;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

header {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 38px 20px 40px 40px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header .logo_wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header .logo_wrap h1 {
  width: 345px;
  line-height: 0;
  font-size: 0;
  margin: 0 29px 0 0;
}
header .logo_wrap h2 {
  width: 151px;
  line-height: 0;
  font-size: 0;
}
header nav ul {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header nav ul li {
  font-size: 20px;
  line-height: 1.2em;
  font-weight: bold;
  border-right: 1px solid #333;
}
header nav ul li:last-child {
  border-right: none;
}
header nav ul li:last-child a {
  padding-right: 0;
}
header nav ul li a {
  padding: 0 1em;
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 1600px) {
  header {
    padding: 2.375vw 20px 2.5vw 40px;
  }
  header .logo_wrap h1 {
    width: 21.5vw;
    margin: 0 1.8vw 0 0;
  }
  header .logo_wrap h2 {
    width: 9.4vw;
  }
  header nav ul li {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 756px) {
  header {
    padding: 2.375vw 0 2.5vw 5vw;
  }
  header .logo_wrap h1 {
    width: 35vw;
    margin: 0 3vw 0 0;
  }
  header .logo_wrap h2 {
    width: 15vw;
  }
  header nav {
    display: none;
  }
}

.header_contact {
  position: fixed;
  right: 0;
  top: 0;
  text-align: center;
  z-index: 40;
}
.header_contact a {
  display: block;
  background: #936551;
  color: #FFF;
  width: 300px;
  font-size: 18px;
  font-weight: bold;
  padding: 0.5em 0;
  text-decoration: none;
  border-bottom: 1px solid #936551;
  border-right: 1px solid #936551;
  border-left: 1px solid #936551;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.header_contact a span {
  position: relative;
  display: inline-block;
  padding-right: 1.2em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.header_contact a span::before {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  position: absolute;
  display: block;
  right: 0;
  top: calc(50% - 5px);
  content: "";
  border-left: 8px solid #FFF;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  height: 0;
  width: 0;
}
.header_contact a:hover {
  background: #FFF;
  color: #936551;
}
.header_contact a:hover span::before {
  border-left: 8px solid #936551;
}
@media screen and (max-width: 1600px) {
  .header_contact a {
    width: 18.75vw;
    font-size: 1.125vw;
  }
}
@media screen and (max-width: 756px) {
  .header_contact a {
    width: 32vw;
    padding: 0.3em 0;
    font-size: 2.8vw;
  }
}

/* sp menu */
#menu {
  position: fixed;
  width: 68px;
  height: 25px;
  right: 320px;
  top: 15px;
  cursor: pointer;
  margin: 0px;
  z-index: 40;
}
#menu::before, #menu::after,
#menu .icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 68px;
  height: 1px;
  background-color: #936551;
  text-indent: -9999px;
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#menu::after {
  content: "";
  top: 12px;
  background: #936551;
}
#menu::before {
  content: "";
  top: 25px;
  background: #936551;
}
#menu .open {
  display: block;
}
#menu .close {
  display: none;
}
#menu.on::before {
  -webkit-transform: translateY(0) rotate(-45deg);
  transform: translateY(-12px) rotate(-45deg);
  background-color: #936551;
}
#menu.on::after {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
#menu.on .icon {
  -webkit-transform: translateY(0) rotate(45deg);
  transform: translateY(12px) rotate(45deg);
  background-color: #936551;
}
#menu.on .open {
  display: none;
}
#menu.on .close {
  display: block;
}
#menu p {
  display: none;
}
@media screen and (max-width: 1600px) {
  #menu {
    width: 4.25vw;
    right: 20vw;
    top: 1vw;
  }
  #menu::before, #menu::after,
  #menu .icon {
    width: 4.25vw;
  }
  #menu.on::before {
    -webkit-transform: translateY(-12px) rotate(-45deg);
            transform: translateY(-12px) rotate(-45deg);
  }
  #menu.on .icon {
    -webkit-transform: translateY(12px) rotate(45deg);
            transform: translateY(12px) rotate(45deg);
  }
}
@media screen and (max-width: 750px) {
  #menu {
    width: 9vw;
    height: 3.3vw;
    right: 3vw;
    top: 10vw;
  }
  #menu::before, #menu::after,
  #menu .icon {
    width: 9vw;
  }
  #menu::after {
    top: 1.6vw;
  }
  #menu::before {
    top: 3.33vw;
  }
  #menu.on::before {
    -webkit-transform: translateY(-1.6vw) rotate(-45deg);
            transform: translateY(-1.6vw) rotate(-45deg);
  }
  #menu.on .icon {
    -webkit-transform: translateY(1.6vw) rotate(45deg);
            transform: translateY(1.6vw) rotate(45deg);
  }
}

#spnav {
  position: fixed;
  display: block;
  top: 0;
  right: -300px;
  width: 300px;
  height: 100vh;
  opacity: 1;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  background: rgba(255, 255, 255, 0.9);
  z-index: 38;
}
#spnav .spnav_inner {
  padding: 20vw 0 0 0;
  width: 76%;
  margin: 0 auto;
}
#spnav .spnav_inner ul {
  list-style: none;
  display: block;
  border-bottom: solid 1px rgba(62, 102, 128, 0.5);
}
#spnav .spnav_inner ul li {
  font-size: 18px;
  border-top: solid 1px rgba(62, 102, 128, 0.5);
}
#spnav .spnav_inner ul li a {
  position: relative;
  display: block;
  color: #3E6680;
  text-decoration: none;
  padding: 25px 0 25px 60px;
  line-height: 1.2em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
#spnav .spnav_inner ul li a:hover {
  opacity: 0.5;
}
#spnav .spnav_inner ul li a::after {
  content: "";
  position: absolute;
  left: 20px;
  top: calc(50% - 10px);
  display: block;
  width: 14px;
  height: 14px;
  border-top: solid 2px #3e6680;
  border-right: solid 2px #3e6680;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#spnav h2 {
  width: 75%;
  margin: 0 auto 20px auto;
}
#spnav.view {
  opacity: 1;
  -webkit-transform: translateX(-300px);
  transform: translateX(-300px);
}
@media screen and (max-width: 750px) {
  #spnav {
    width: 100vw;
    right: -105vw;
  }
  #spnav .spnav_inner ul li {
    font-size: 3.7vw;
  }
  #spnav h2 {
    width: 50%;
    margin: 0 auto 3vw auto;
  }
  #spnav.view {
    opacity: 1;
    -webkit-transform: translateX(-105vw);
    transform: translateX(-105vw);
  }
}

footer {
  background: #3A332F;
  padding: 50px 0;
}
@media screen and (max-width: 1200px) {
  footer {
    padding: 4.17vw 0;
  }
}
@media screen and (max-width: 750px) {
  footer {
    padding: 8vw 0;
  }
}

.footer_base {
  position: relative;
  width: 1100px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 1200px) {
  .footer_base {
    width: 90%;
  }
}
@media screen and (max-width: 750px) {
  .footer_base {
    width: 84vw;
  }
}

.footer_logo {
  width: 400px;
}
.footer_logo h2 {
  width: 365px;
  margin: 0 0 35px 0;
  line-height: 0;
  font-size: 0;
}
.footer_logo h3 {
  font-size: 14px;
  color: #FFF;
}
.footer_logo p,
.footer_logo address {
  font-size: 14px;
  color: #FFF;
  font-style: normal;
}
@media screen and (max-width: 1200px) {
  .footer_logo {
    width: 33.3vw;
  }
  .footer_logo h2 {
    width: 30vw;
    margin: 0 0 2.9vw 0;
  }
  .footer_logo h3 {
    font-size: 1.2vw;
  }
  .footer_logo p,
  .footer_logo address {
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_logo {
    width: 100%;
  }
  .footer_logo h2 {
    width: 48vw;
    margin: 0 auto 7vw auto;
  }
  .footer_logo h3 {
    font-size: 3.2vw;
  }
  .footer_logo p,
  .footer_logo address {
    font-size: 3.2vw;
  }
}

.footer_nav ul {
  list-style: none;
  margin: 0 0 45px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.footer_nav ul li {
  font-size: 16px;
  line-height: 1.3em;
  border-right: 1px solid #FFF;
}
.footer_nav ul li:last-child {
  border-right: none;
}
.footer_nav ul li:last-child a {
  padding-right: 0;
}
.footer_nav ul li a {
  text-decoration: none;
  color: #FFF;
  padding: 0 1em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_nav ul li a:hover {
  opacity: 0.5;
}
.footer_nav p {
  text-align: right;
}
.footer_nav p a {
  display: inline-block;
  width: 300px;
  font-size: 18px;
  background: #FFF;
  border: 1px solid #FFF;
  color: #3A332F;
  padding: 0.5em;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_nav p a span {
  position: relative;
  display: inline-block;
  padding-right: 1.2em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_nav p a span::before {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  position: absolute;
  display: block;
  right: 0;
  top: calc(50% - 5px);
  content: "";
  border-left: 8px solid #3A332F;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  height: 0;
  width: 0;
}
.footer_nav p a:hover {
  background: #3A332F;
  color: #FFF;
}
.footer_nav p a:hover span::before {
  border-left: 8px solid #FFF;
}
@media screen and (max-width: 1200px) {
  .footer_nav ul {
    margin: 0 0 3.75vw 0;
  }
  .footer_nav ul li {
    font-size: 1.33vw;
  }
  .footer_nav p a {
    width: 25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_nav {
    width: 100%;
  }
  .footer_nav ul {
    margin: 0 0 4vw 0;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .footer_nav ul li {
    width: 100%;
    font-size: 3.7vw;
    border-right: none;
    border-top: 1px solid #CCC;
    padding: 0;
  }
  .footer_nav ul li a {
    display: block;
    font-weight: bold;
    padding: 1.2em 0;
    text-align: center;
  }
  .footer_nav p {
    margin: 0;
  }
  .footer_nav p a {
    width: 100%;
    font-size: 5.6vw;
    padding: 0.5em;
    margin: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .footer_nav p a span {
    position: relative;
    display: inline-block;
    padding-right: 1.2em;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .footer_nav p a span::before {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    position: absolute;
    display: block;
    right: 0;
    top: calc(50% - 5px);
    content: "";
    border-left: 8px solid #3A332F;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    height: 0;
    width: 0;
  }
  .footer_nav p a:hover {
    background: #3A332F;
    color: #FFF;
  }
  .footer_nav p a:hover span::before {
    border-left: 8px solid #FFF;
  }
}

.copyright {
  color: #000;
  text-align: center;
  font-size: 12px;
  margin: 0;
  padding: 20px 0 30px 0;
}
@media screen and (max-width: 750px) {
  .copyright {
    font-size: 2.8vw;
    text-align: center;
  }
}

main {
  overflow: hidden;
}

.dwrap {
  position: relative;
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .dwrap {
    width: 90%;
  }
}
@media screen and (max-width: 750px) {
  .dwrap {
    width: 84%;
  }
}

.main_image article {
  position: relative;
}
.main_image article figure img {
  width: 100%;
}
.main_image article h3 {
  font-size: 36px;
  color: #FFF;
  position: absolute;
  top: 50px;
  left: 100px;
}
@media screen and (max-width: 750px) {
  .main_image article figure img {
    width: 100vw;
    height: 100vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .main_image article h3 {
    font-size: 5.2vw;
    top: 5vw;
    left: 5vw;
  }
}

.home_linetitle {
  text-align: center;
  font-size: 45px;
  line-height: 1.2em;
  margin: 0 0 60px 0;
}
.home_linetitle small {
  font-size: 38px;
}
.home_linetitle span {
  position: relative;
  display: inline-block;
}
.home_linetitle span::after, .home_linetitle span::before {
  position: absolute;
  content: "";
  display: block;
  right: -210px;
  top: 50%;
  width: 185px;
  height: 1px;
  border-top: 1px solid #000;
}
.home_linetitle span::before {
  left: -210px;
  right: auto;
}
@media screen and (max-width: 1600px) {
  .home_linetitle {
    font-size: 2.8vw;
    margin: 0 0 3.75vw 0;
  }
  .home_linetitle small {
    font-size: 2.3vw;
  }
  .home_linetitle span::after, .home_linetitle span::before {
    right: -13vw;
    width: 11.5vw;
  }
  .home_linetitle span::before {
    left: -13.1vw;
  }
}
@media screen and (max-width: 750px) {
  .home_linetitle {
    font-size: 6.7vw;
    margin: 0 0 5vw 0;
    line-height: 1.2em;
  }
  .home_linetitle small {
    font-size: 4.2vw;
  }
  .home_linetitle span::after, .home_linetitle span::before {
    right: -22vw;
    width: 20vw;
  }
  .home_linetitle span::before {
    left: -22vw;
  }
}

.home_intro {
  position: relative;
  padding: 100px 0 120px 0;
  text-align: center;
}
.home_intro h3 {
  font-size: 21px;
  line-height: 2.3em;
  font-weight: bold;
}
@media screen and (max-width: 1600px) {
  .home_intro {
    padding: 6.25vw 0 7.5vw 0;
    text-align: center;
  }
  .home_intro h3 {
    font-size: 1.3vw;
  }
}
@media screen and (max-width: 750px) {
  .home_intro {
    padding: 16.7vw 0;
    text-align: left;
    width: 84%;
    margin: 0 auto;
  }
  .home_intro h3 {
    font-size: 4vw;
    line-height: 2em;
  }
}

.home_title {
  position: relative;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 50px;
}
.home_title::after {
  position: absolute;
  left: calc(50% - 62px);
  bottom: 0;
  content: "";
  width: 124px;
  height: 1px;
  border-top: 2px solid #000;
}
.home_title .home_title_back {
  width: 287px;
  margin: 0 auto;
  background: url(/common/images/home/midashi_back.svg) no-repeat top left -10px;
  background-size: 273px;
  padding: 120px 0 0 0;
}
.home_title p {
  position: relative;
  margin: -22px 0 0.5em 0;
  font-size: 20px;
  line-height: 1.2em;
  letter-spacing: 0.1em;
  color: #4A332A;
}
.home_title h2 {
  font-size: 36px;
  color: #4A332A;
  line-height: 1.2em;
}
@media screen and (max-width: 1600px) {
  .home_title {
    padding-bottom: 1.25vw;
    margin-bottom: 3.125vw;
  }
  .home_title::after {
    left: calc(50% - 3.8vw);
    width: 7.75vw;
  }
  .home_title .home_title_back {
    width: 17.9vw;
    background-size: 17vw;
    padding: 7.5vw 0 0 0;
  }
  .home_title p {
    margin: -1.37vw 0 0.5em 0;
    font-size: 1.3vw;
  }
  .home_title h2 {
    font-size: 2.2vw;
  }
}
@media screen and (max-width: 750px) {
  .home_title {
    padding-bottom: 4vw;
    margin-bottom: 8vw;
  }
  .home_title::after {
    left: calc(50% - 8vw);
    width: 16vw;
  }
  .home_title .home_title_back {
    width: 45vw;
    background: url(/common/images/home/midashi_back.svg) no-repeat top left -3vw;
    background-size: 44.5vw;
    padding: 20vw 0 0 0;
  }
  .home_title p {
    margin: -4.4vw 0 0.5em 0;
    font-size: 4.2vw;
  }
  .home_title h2 {
    font-size: 6vw;
  }
}

.problem_wrap {
  width: 100%;
  background: #EFE8E5;
  padding: 80px 0;
  margin-bottom: 100px;
}
.problem_wrap .problem_wrap_wrap article {
  position: relative;
  margin: 0 0 55px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.problem_wrap .problem_wrap_wrap article .pa_contents {
  width: 50%;
}
.problem_wrap .problem_wrap_wrap article figure {
  width: 32%;
  line-height: 0;
  font-size: 0;
}
.problem_wrap .problem_wrap_wrap article:nth-child(1) figure {
  padding-left: 85px;
}
.problem_wrap .problem_wrap_wrap article:nth-child(2) .pa_contents {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  padding-left: 55px;
}
.problem_wrap .problem_wrap_wrap article:nth-child(2) figure {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 50%;
  text-align: right;
}
.problem_wrap .problem_wrap_wrap article:nth-child(2) figure img {
  margin-right: 52px;
  width: 288px;
}
.problem_wrap .problem_wrap_wrap .problem_title {
  margin: 0 0 30px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.problem_wrap .problem_wrap_wrap .problem_title p {
  font-size: 80px;
  margin: 0 0.3em 0 0;
  color: #4A332A;
  line-height: 1em;
}
.problem_wrap .problem_wrap_wrap .problem_title h3 {
  font-size: 24px;
  line-height: 1.4em;
  color: #4A332A;
}
.problem_wrap .problem_wrap_wrap .problem_text {
  width: 485px;
}
.problem_wrap .problem_wrap_wrap .problem_text p {
  font-size: 18px;
  line-height: 2em;
  margin: 0;
}
@media screen and (max-width: 1200px) {
  .problem_wrap {
    padding: 6.7vw 0;
    margin-bottom: 8.3vw;
  }
  .problem_wrap .problem_wrap_wrap article {
    margin: 0 0 4.5vw 0;
  }
  .problem_wrap .problem_wrap_wrap article .pa_contents {
    padding-left: 4vw;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(1) figure {
    padding-left: 7vw;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(2) .pa_contents {
    padding-left: 4.5vw;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(2) figure img {
    margin-right: 4.3vw;
    width: 24vw;
  }
  .problem_wrap .problem_wrap_wrap .problem_title {
    margin: 0 0 2.5vw 0;
  }
  .problem_wrap .problem_wrap_wrap .problem_title p {
    font-size: 6.7vw;
  }
  .problem_wrap .problem_wrap_wrap .problem_title h3 {
    font-size: 2vw;
  }
  .problem_wrap .problem_wrap_wrap .problem_text {
    width: 40vw;
  }
  .problem_wrap .problem_wrap_wrap .problem_text p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .problem_wrap {
    padding: 12vw 0;
    margin-bottom: 25vw;
  }
  .problem_wrap .problem_wrap_wrap article {
    margin: 0 0 10vw 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .problem_wrap .problem_wrap_wrap article .pa_contents {
    padding-left: 0;
    width: 100%;
  }
  .problem_wrap .problem_wrap_wrap article figure {
    width: 30%;
    margin: 0 auto;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(1) figure {
    padding: 0;
    position: absolute;
    right: -5vw;
    top: -10vw;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(2) .problem_text {
    width: 78%;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(2) .pa_contents {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding: 0;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(2) figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: left;
    position: absolute;
    right: -3vw;
    top: calc(50% - 2vw);
    width: 17vw;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(2) figure img {
    margin: 0;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(3) .problem_text {
    width: 70%;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(3) figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: left;
    position: absolute;
    right: -2vw;
    top: 50%;
    width: 23vw;
  }
  .problem_wrap .problem_wrap_wrap article:nth-child(3) figure img {
    margin: 0;
  }
  .problem_wrap .problem_wrap_wrap .problem_title {
    margin: 0 0 6vw 0;
  }
  .problem_wrap .problem_wrap_wrap .problem_title p {
    font-size: 20vw;
  }
  .problem_wrap .problem_wrap_wrap .problem_title h3 {
    font-size: 4.7vw;
  }
  .problem_wrap .problem_wrap_wrap .problem_text {
    width: 100%;
  }
  .problem_wrap .problem_wrap_wrap .problem_text p {
    font-size: 3.2vw;
  }
}

.problem_omakase {
  background: url(/common/images/home/problem_try.svg) no-repeat center top #F9F8F6;
  background-size: 174px;
  padding: 95px 0 55px 0;
}
@media screen and (max-width: 1200px) {
  .problem_omakase {
    background-size: 14.5vw;
    padding: 7.9vw 0 4.5vw 0;
  }
}
@media screen and (max-width: 750px) {
  .problem_omakase {
    background-size: 25vw;
    padding: 15vw 0 8vw 0;
  }
}

.omakase_title {
  font-size: 28px;
  line-height: 1.2em;
  margin-bottom: 15px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .omakase_title {
    font-size: 2.3vw;
    margin-bottom: 1.25vw;
  }
}
@media screen and (max-width: 750px) {
  .omakase_title {
    font-size: 4vw;
    margin-bottom: 3vw;
  }
}

.omakase_contents {
  position: relative;
  width: 1100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  padding: 35px 0;
  background: #FFF;
  border: 5px solid #4A332A;
}
.omakase_contents h2 {
  font-size: 40px;
  line-height: 1em;
  margin: 0 0 25px 0;
  color: #4A332A;
  text-align: center;
}
.omakase_contents ul {
  list-style: none;
}
.omakase_contents ul li {
  font-weight: bold;
  font-size: 26px;
  line-height: 2.1em;
  padding: 0 40px;
}
.omakase_contents ul li:nth-child(odd) {
  background: #F9F8F6;
}
@media screen and (max-width: 1200px) {
  .omakase_contents {
    width: 90vw;
    padding: 2.9vw 0;
  }
  .omakase_contents h2 {
    font-size: 3vw;
    margin: 0 0 2.1vw 0;
  }
  .omakase_contents ul li {
    font-size: 2.17vw;
    padding: 0 3.3vw;
  }
}
@media screen and (max-width: 750px) {
  .omakase_contents {
    width: 90%;
    padding: 6vw 0;
  }
  .omakase_contents h2 {
    font-size: 5.2vw;
    margin: 0 0 3.5vw 0;
  }
  .omakase_contents ul li {
    font-size: 3.7vw;
    padding: 5vw 5vw;
    line-height: 1.5em;
    padding-left: 3em;
    text-indent: -1em;
    padding-right: 2em;
  }
  .omakase_contents ul li:last-child {
    padding-bottom: 0;
  }
}

.solutions_wrap {
  position: relative;
  width: 1300px;
  margin: 0 auto 210px auto;
}
.solutions_wrap article {
  position: relative;
  margin: 0 0 15px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.solutions_wrap article:nth-child(2n) .solu_text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  padding: 60px 60px 0 0;
  background: url(/common/images/home/solu_en2.svg) no-repeat right top;
  background-size: 107px;
  text-align: right;
}
.solutions_wrap article:nth-child(2n) .solu_text p {
  text-align: left;
}
.solutions_wrap article:nth-child(2n) figure {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.solutions_wrap article .solu_text {
  width: 45%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 60px 0 0 60px;
  background: url(/common/images/home/solu_en.svg) no-repeat left top;
  background-size: 107px;
}
.solutions_wrap article .solu_text h3 {
  font-size: 36px;
  line-height: 1.33em;
  margin: 0 0 40px 0;
}
.solutions_wrap article .solu_text p {
  font-size: 16px;
  line-height: 2em;
}
.solutions_wrap article figure {
  width: 52%;
}
@media screen and (max-width: 1400px) {
  .solutions_wrap {
    width: 94%;
    margin: 0 auto 15vw auto;
  }
  .solutions_wrap article {
    margin: 0 0 1.1vw 0;
  }
  .solutions_wrap article:nth-child(2n) .solu_text {
    padding: 4.2vw 4.2vw 0 0;
    background-size: 7.6vw;
  }
  .solutions_wrap article:nth-child(2n) .solu_text p {
    font-size: 1.3vw;
  }
  .solutions_wrap article .solu_text {
    padding: 4.2vw 0 0 4.2vw;
    background-size: 7.6vw;
  }
  .solutions_wrap article .solu_text h3 {
    font-size: 2.5vw;
    margin: 0 0 2.8vw 0;
  }
  .solutions_wrap article .solu_text p {
    font-size: 1.3vw;
  }
}
@media screen and (max-width: 750px) {
  .solutions_wrap {
    width: 92%;
    margin: 0 auto 25vw auto;
  }
  .solutions_wrap article {
    margin: 0 0 10vw 0;
  }
  .solutions_wrap article:nth-child(2n) .solu_text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding: 10vw 10vw 0 10vw;
    background: url(/common/images/home/solu_en2.svg) no-repeat right top;
    background-size: 18vw;
    text-align: right;
  }
  .solutions_wrap article:nth-child(2n) .solu_text p {
    text-align: left;
    font-size: 3.2vw;
  }
  .solutions_wrap article:nth-child(2n) figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    right: auto;
    top: -14vw;
    left: -18vw;
  }
  .solutions_wrap article .solu_text {
    width: 100%;
    padding: 10vw 10vw 0 10vw;
    background: url(/common/images/home/solu_en.svg) no-repeat left top;
    background-size: 18vw;
  }
  .solutions_wrap article .solu_text h3 {
    font-size: 5.2vw;
    line-height: 1.33em;
    margin: 0 0 3vw 0;
  }
  .solutions_wrap article .solu_text p {
    font-size: 3.2vw;
  }
  .solutions_wrap article figure {
    position: absolute;
    width: 46.7vw;
    margin: 0 auto;
    right: -12vw;
    top: -7vw;
  }
  .solutions_wrap article:nth-child(3) figure {
    top: -15vw;
    right: -9vw;
  }
}

.home_image_wrap {
  position: relative;
  width: 100%;
  margin: 0 auto 115px auto;
  line-height: 0;
  font-size: 0;
}
.home_image_wrap img {
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .home_image_wrap {
    margin: 0 auto 9.5vw auto;
  }
}
@media screen and (max-width: 750px) {
  .home_image_wrap {
    margin: 0 auto 9.5vw auto;
  }
  .home_image_wrap img {
    width: 100vw;
    height: 60vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.procedure_wrap {
  position: relative;
  width: 900px;
  margin: 140px auto 175px auto;
}
.procedure_wrap article {
  position: relative;
  background: #FFF6F2;
  border-radius: 30px;
  margin: 0 0 140px 0;
  padding: 90px 44px 45px 44px;
}
.procedure_wrap article::before {
  position: absolute;
  display: block;
  left: calc(50% - 13px);
  bottom: -60px;
  content: "";
  border-left: 25px solid #4A332A;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  height: 0;
  width: 0;
}
.procedure_wrap article:last-child {
  margin-bottom: 0;
}
.procedure_wrap article:last-child::before {
  display: none;
}
.procedure_wrap article h3 {
  position: absolute;
  top: -60px;
  left: calc(50% - 62px);
  margin: 0;
  text-align: center;
}
.procedure_wrap article h4 {
  font-size: 30px;
  margin: 0 0 30px 0;
  color: #4A332A;
  text-align: center;
}
.procedure_wrap article p {
  font-size: 18px;
  color: #4A332A;
}
.procedure_wrap article p:last-child {
  margin: 0;
}
@media screen and (max-width: 1200px) {
  .procedure_wrap {
    width: 75vw;
    margin: 11.6vw auto 14.5vw auto;
  }
  .procedure_wrap article {
    border-radius: 2.5vw;
    margin: 0 0 11.6vw 0;
    padding: 7.5vw 3.6vw 3.75vw 3.6vw;
  }
  .procedure_wrap article::before {
    left: calc(50% - 1vw);
    bottom: -5vw;
    content: "";
    border-left: 2.1vw solid #4A332A;
    border-top: 1.4vw solid transparent;
    border-bottom: 1.4vw solid transparent;
  }
  .procedure_wrap article h3 {
    width: 10.3vw;
    top: -5vw;
    left: calc(50% - 5.16vw);
  }
  .procedure_wrap article h4 {
    font-size: 2.5vw;
    margin: 0 0 2.5vw 0;
  }
  .procedure_wrap article p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .procedure_wrap {
    width: 84%;
    margin: 0 auto 25vw auto;
  }
  .procedure_wrap article {
    border-radius: 4vw;
    margin: 0 0 30vw 0;
    padding: 18vw 8vw 8vw 8vw;
  }
  .procedure_wrap article::before {
    left: calc(50% - 3vw);
    bottom: -14vw;
    content: "";
    border-left: 6.3vw solid #4A332A;
    border-top: 4.2vw solid transparent;
    border-bottom: 4.2vw solid transparent;
  }
  .procedure_wrap article h3 {
    width: 25vw;
    top: -12.5vw;
    left: calc(50% - 12.5vw);
  }
  .procedure_wrap article h4 {
    font-size: 5.2vw;
    margin: 0 0 4vw 0;
  }
  .procedure_wrap article p {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 750px) {
  .home_title_procedure {
    margin-bottom: 19vw;
  }
}

.works_list {
  position: relative;
}
.works_list article {
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.works_list article .works_list_text {
  width: 50%;
  text-align: left;
}
.works_list article figure {
  width: 50%;
  line-height: 0;
  font-size: 0;
}
.works_list article:nth-child(2n) .works_list_text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.works_list article:nth-child(2n) figure {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.works_list article:nth-child(2n) .works_ltext_contents {
  margin: 0 auto 0 105px;
  padding: 0 0 0 0;
}
@media screen and (max-width: 1200px) {
  .works_list article:nth-child(2) .works_ltext_contents {
    margin: 0 auto 0 8.75vw;
  }
}
@media screen and (max-width: 750px) {
  .works_list {
    width: 84%;
    margin: 0 auto 10vw auto;
  }
  .works_list article .works_list_text {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .works_list article figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 8vw;
  }
  .works_list article:nth-child(2) .works_list_text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .works_list article:nth-child(2) figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .works_list article:nth-child(2) .works_ltext_contents {
    margin: 0;
    padding: 0;
  }
}

.works_ltext_contents {
  width: 450px;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1200px) {
  .works_ltext_contents {
    width: 37.5vw;
  }
}
@media screen and (max-width: 750px) {
  .works_ltext_contents {
    width: 100%;
    margin: 0;
  }
}

.home_works .title_sub {
  text-align: center;
  font-size: 18px;
  margin-bottom: 115px;
}
.home_works .link_btn {
  margin-top: 100px;
}
@media screen and (max-width: 1200px) {
  .home_works .title_sub {
    font-size: 1.5vw;
    margin-bottom: 9.5vw;
  }
  .home_works .link_btn {
    margin-top: 8.3vw;
  }
}
@media screen and (max-width: 750px) {
  .home_works .title_sub {
    font-size: 3.7vw;
    margin-bottom: 10vw;
  }
  .home_works .link_btn {
    margin-top: 4vw;
  }
}

.works_ltext_contents {
  position: relative;
  width: 445px;
  margin: 0 0 0 auto;
  padding-right: 105px;
}
.works_ltext_contents::before {
  position: absolute;
  left: -60px;
  top: -60px;
  z-index: 1;
  display: block;
  content: "";
  width: 120px;
  height: 120px;
  background: #EFE8E5;
}
.works_ltext_contents h3 {
  position: relative;
  font-size: 36px;
  line-height: 1.4em;
  z-index: 2;
}
.works_ltext_contents h3 a {
  text-decoration: none;
}
.works_ltext_contents p {
  position: relative;
  font-size: 16px;
  z-index: 2;
}
.works_ltext_contents p:last-child {
  margin: 0;
}
.works_ltext_contents .item_cat {
  font-size: 18px;
  margin: 0 0 40px 0;
}
.works_ltext_contents .works_detail_btn {
  font-size: 24px;
  font-weight: bold;
}
.works_ltext_contents .works_detail_btn a {
  position: relative;
  padding-right: 6em;
  display: inline-block;
  text-decoration: none;
  border-bottom: 2px solid #4A332A;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.works_ltext_contents .works_detail_btn a::after {
  position: absolute;
  right: 8px;
  bottom: -4px;
  content: "";
  display: block;
  width: 1px;
  height: 22px;
  border-right: 2px solid #4A332A;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.works_ltext_contents .works_detail_btn a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1200px) {
  .works_ltext_contents {
    width: 37vw;
    padding-right: 8.75vw;
  }
  .works_ltext_contents::before {
    left: -5vw;
    top: -5vw;
    width: 10vw;
    height: 10vw;
  }
  .works_ltext_contents h3 {
    font-size: 3vw;
  }
  .works_ltext_contents p {
    font-size: 1.3vw;
  }
  .works_ltext_contents .item_cat {
    font-size: 1.5vw;
    margin: 0 0 3.33vw 0;
  }
  .works_ltext_contents .works_detail_btn {
    font-size: 2vw;
  }
  .works_ltext_contents .works_detail_btn a::after {
    right: 0.7vw;
    bottom: -0.35vw;
    height: 1.83vw;
  }
}
@media screen and (max-width: 750px) {
  .works_ltext_contents {
    width: 100%;
    margin: 0 0 10vw 0;
    padding-right: 0;
  }
  .works_ltext_contents::before {
    left: -4vw;
    top: -4vw;
    width: 15vw;
    height: 15vw;
  }
  .works_ltext_contents h3 {
    font-size: 6vw;
  }
  .works_ltext_contents p {
    font-size: 3.2vw;
  }
  .works_ltext_contents .item_cat {
    font-size: 3.2vw;
    margin: 0 0 4vw 0;
  }
  .works_ltext_contents .works_detail_btn {
    font-size: 4.2vw;
  }
  .works_ltext_contents .works_detail_btn a::after {
    right: 2vw;
    bottom: -1vw;
    content: "";
    display: block;
    height: 5.7vw;
  }
}

.link_btn {
  position: relative;
  text-align: center;
  font-size: 28px;
  line-height: 1.2em;
  font-weight: bold;
  margin: 0 0 135px 0;
}
.link_btn a {
  position: relative;
  display: inline-block;
  background: #4A332A;
  color: #FFF;
  padding: 20px 4em;
  text-decoration: none;
  border: 2px solid #4A332A;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_btn a::before {
  position: absolute;
  display: block;
  right: 5%;
  top: calc(50% - 10px);
  content: "";
  border-left: 17px solid #FFF;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  height: 0;
  width: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_btn a:hover {
  position: relative;
  display: inline-block;
  background: #FFF;
  color: #4A332A;
}
.link_btn a:hover::before {
  border-left: 17px solid #4A332A;
}
@media screen and (max-width: 1200px) {
  .link_btn {
    font-size: 2.33vw;
    margin: 0 0 11.25vw 0;
  }
  .link_btn a {
    padding: 1.7vw 4em;
  }
  .link_btn a::before {
    top: calc(50% - 0.83vw);
    border-left: 1.4vw solid #FFF;
    border-top: 0.83vw solid transparent;
    border-bottom: 0.83vw solid transparent;
  }
  .link_btn a:hover::before {
    border-left: 1.4vw solid #4A332A;
  }
}
@media screen and (max-width: 750px) {
  .link_btn {
    font-size: 4.2vw;
    margin: 0 0 15vw 0;
  }
  .link_btn a {
    padding: 2.5vw 4em;
  }
  .link_btn a::before {
    top: calc(50% - 1.6vw);
    border-left: 2.8vw solid #FFF;
    border-top: 1.6vw solid transparent;
    border-bottom: 1.6vw solid transparent;
  }
  .link_btn a:hover::before {
    border-left: 1.4vw solid #4A332A;
  }
}

.home_price {
  position: relative;
  padding: 145px 0 150px 0;
  background: #FFF6F2;
}
@media screen and (max-width: 1200px) {
  .home_price {
    padding: 12vw 0 12.5vw 0;
  }
}
@media screen and (max-width: 750px) {
  .home_price {
    padding: 20vw 0 25vw 0;
  }
}

.price_contents {
  position: relative;
  margin: 0 auto;
  width: 1280px;
}
.price_contents article {
  position: relative;
  background: #FFF;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.price_contents article:nth-child(2n) {
  background: none;
}
.price_contents article h3 {
  width: 28.6%;
  padding-left: 30px;
  font-size: 28px;
  line-height: 1.3em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.price_contents article figure {
  width: 19.5%;
  line-height: 0;
  font-size: 0;
}
.price_contents article .price_text1 {
  width: 30.5%;
  padding: 0 0 0 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.price_contents article .price_text1 p {
  font-size: 18px;
  line-height: 1.7em;
}
.price_contents article .price_text2 {
  width: 21.4%;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.price_contents article .price_text2 p {
  margin: 0;
  font-size: 16px;
  font-weight: bold;
}
.price_contents article .price_text2 h4 {
  font-size: 24px;
}
.price_contents article .price_text3 {
  width: 71.4%;
  padding: 40px 0;
}
.price_contents article .price_text3 p {
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 1em;
}
.price_contents article .price_text3 p:last-child {
  margin: 0;
}
.price_contents .pitem {
  position: relative;
  padding: 45px 0;
  background: none;
  border-top: 10px solid #DFDFDF;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.price_contents .pitem .text_wrap {
  width: 36.3%;
}
.price_contents .pitem .text_wrap h4 {
  font-size: 30px;
  margin-bottom: 0.5em;
}
.price_contents .pitem .text_wrap .pitem_comment {
  font-size: 18px;
  margin: 0 0 1em 0;
}
.price_contents .pitem .text_wrap .price_text {
  font-size: 16px;
  margin: 0;
}
.price_contents .pitem .text_wrap .price_text strong {
  font-size: 24px;
}
.price_contents .pitem figure {
  width: 59%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.price_contents .pitem figure img {
  width: 33%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #D6D6D6;
}
@media screen and (max-width: 1400px) {
  .price_contents {
    width: 90%;
  }
  .price_contents article h3 {
    padding-left: 2.1vw;
    font-size: 2vw;
  }
  .price_contents article .price_text1 {
    padding: 0 0 0 4.2vw;
  }
  .price_contents article .price_text1 p {
    font-size: 1.3vw;
  }
  .price_contents article .price_text2 p {
    font-size: 1.2vw;
  }
  .price_contents article .price_text2 h4 {
    font-size: 2vw;
  }
  .price_contents article .price_text3 {
    padding: 2.85vw 0;
  }
  .price_contents article .price_text3 p {
    font-size: 1.5vw;
  }
  .price_contents .pitem {
    padding: 3.2vw 0;
  }
  .price_contents .pitem .text_wrap h4 {
    font-size: 2.1vw;
  }
  .price_contents .pitem .text_wrap .pitem_comment {
    font-size: 1.3vw;
  }
  .price_contents .pitem .text_wrap .price_text {
    font-size: 1.2vw;
  }
  .price_contents .pitem .text_wrap .price_text strong {
    font-size: 1.7vw;
  }
  .price_contents .pitem figure {
    width: 58.9%;
  }
}
@media screen and (max-width: 750px) {
  .price_contents {
    width: 84%;
  }
  .price_contents article {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 10vw 0 0 0;
    margin-bottom: 10vw;
  }
  .price_contents article h3 {
    width: 100%;
    padding-left: 0;
    margin: 0 0 3vw 0;
    font-size: 5.2vw;
    text-align: center;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .price_contents article figure {
    width: 100%;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .price_contents article figure img {
    width: 100%;
  }
  .price_contents article .price_text1 {
    width: 100%;
    padding: 0 0 0 4.2vw;
    margin: 0 0 3vw 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .price_contents article .price_text1 p {
    font-size: 3.2vw;
    text-align: center;
  }
  .price_contents article .price_text1 p:last-child {
    margin: 0;
  }
  .price_contents article .price_text2 {
    width: 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin: 0 0 3vw 0;
  }
  .price_contents article .price_text2 p {
    font-size: 3.2vw;
  }
  .price_contents article .price_text2 h4 {
    font-size: 4.7vw;
  }
  .price_contents article .price_text3 {
    width: 100%;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    padding: 0 6vw;
    margin: 0 0 8vw 0;
  }
  .price_contents article .price_text3 p {
    font-size: 3.7vw;
  }
  .price_contents .pitem {
    padding: 8vw 0;
    margin: 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .price_contents .pitem .text_wrap {
    width: 100%;
    margin-bottom: 4vw;
  }
  .price_contents .pitem .text_wrap h4 {
    font-size: 5.7vw;
    line-height: 1.4em;
    margin-bottom: 2vw;
  }
  .price_contents .pitem .text_wrap .pitem_comment {
    font-size: 3.7vw;
    margin-bottom: 2vw;
  }
  .price_contents .pitem .text_wrap .price_text {
    font-size: 3.2vw;
  }
  .price_contents .pitem .text_wrap .price_text strong {
    font-size: 4.7vw;
  }
  .price_contents .pitem figure {
    width: 100%;
  }
}

.home_cameraman {
  position: relative;
  padding: 110px 0;
}
.home_cameraman .home_linetitle {
  margin-bottom: 100px;
}
@media screen and (max-width: 1200px) {
  .home_cameraman {
    padding: 9.1vw 0;
  }
  .home_cameraman .home_linetitle {
    margin-bottom: 8.3vw;
  }
}
@media screen and (max-width: 750px) {
  .home_cameraman {
    padding: 12vw 0;
  }
  .home_cameraman .home_linetitle {
    margin-bottom: 15vw;
  }
}

.cameraman_inner {
  position: relative;
  margin-bottom: 80px;
}
.cameraman_inner article {
  position: relative;
  width: 1280px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.cameraman_inner article:nth-child(2n) .cameraman_text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.cameraman_inner article:nth-child(2n) figure {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.cameraman_inner article .cameraman_text {
  width: 50%;
  padding: 0 5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.cameraman_inner article .cameraman_text h3 {
  font-size: 48px;
  line-height: 1em;
  margin: 0 0 18px 0;
  letter-spacing: 0.1em;
}
.cameraman_inner article .cameraman_text h4 {
  font-size: 36px;
  margin-bottom: 35px;
  line-height: 1.1em;
  letter-spacing: 0.1em;
}
.cameraman_inner article .cameraman_text p {
  font-size: 18px;
  line-height: 1.7em;
}
.cameraman_inner article .cameraman_text p:last-child {
  margin: 0;
}
.cameraman_inner article figure {
  width: 50%;
  line-height: 0;
  font-size: 0;
}
@media screen and (max-width: 1400px) {
  .cameraman_inner {
    margin-bottom: 5.7vw;
  }
  .cameraman_inner article {
    width: 100%;
  }
  .cameraman_inner article .cameraman_text h3 {
    font-size: 3.4vw;
    margin: 0 0 1.3vw 0;
  }
  .cameraman_inner article .cameraman_text h4 {
    font-size: 2.5vw;
    margin-bottom: 2.5vw;
  }
  .cameraman_inner article .cameraman_text p {
    font-size: 1.3vw;
  }
}
@media screen and (max-width: 750px) {
  .cameraman_inner article {
    width: 84%;
    margin-bottom: 15vw;
  }
  .cameraman_inner article:nth-child(2n) .cameraman_text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .cameraman_inner article:nth-child(2n) figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .cameraman_inner article .cameraman_text {
    width: 100%;
    padding: 0;
    margin-bottom: 4vw;
  }
  .cameraman_inner article .cameraman_text h3 {
    font-size: 6vw;
    margin: 0 0 3vw 0;
  }
  .cameraman_inner article .cameraman_text h4 {
    font-size: 4.7vw;
    margin-bottom: 2vw;
  }
  .cameraman_inner article .cameraman_text p {
    font-size: 3.2vw;
  }
  .cameraman_inner article figure {
    width: 100%;
  }
}

.cameraman_all {
  width: 1280px;
  margin: 0 auto;
  line-height: 0;
  font-size: 0;
}
@media screen and (max-width: 1400px) {
  .cameraman_all {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .cameraman_all {
    width: 84%;
  }
}

.contents_contact {
  position: relative;
  padding: 130px 0 140px 0;
}
@media screen and (max-width: 1200px) {
  .contents_contact {
    padding: 10.7vw 0 11.6vw 0;
  }
}
@media screen and (max-width: 750px) {
  .contents_contact {
    padding: 15vw 0 25vw 0;
  }
}

.contact_form {
  width: 610px;
  margin: 0 auto;
}
.contact_form p {
  margin-bottom: 2em;
}
.contact_form p textarea,
.contact_form p input[type=text],
.contact_form p input[type=email] {
  padding: 0.8em;
  width: 100%;
  border: 1px solid #AAA;
  border-radius: 5px;
}
.contact_form .form_title {
  font-size: 16px;
  margin: 0 0 0.2em 0;
}
.contact_form .sbm_form {
  padding-top: 3em;
  text-align: center;
}
.contact_form .sbm_form input[type=submit] {
  color: #FFF;
  font-size: 18px;
  padding: 0.6em 3em;
  font-weight: bold;
  background: #000;
  border: 1px solid #000;
  border-radius: 5px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.contact_form .sbm_form input[type=submit]:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1200px) {
  .contact_form {
    width: 75vw;
    margin: 0 auto;
  }
  .contact_form p {
    font-size: 1.3vw;
  }
  .contact_form p textarea,
  .contact_form p input[type=text],
  .contact_form p input[type=email] {
    font-size: 1.3vw;
  }
  .contact_form .form_title {
    font-size: 1.3vw;
  }
  .contact_form .sbm_form input[type=submit] {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 750px) {
  .contact_form {
    width: 84%;
  }
  .contact_form p {
    font-size: 4.2vw;
  }
  .contact_form p textarea,
  .contact_form p input[type=text],
  .contact_form p input[type=email] {
    font-size: 4.2vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .contact_form .form_title {
    font-size: 4.2vw;
  }
  .contact_form .sbm_form input[type=submit] {
    font-size: 4.7vw;
  }
}

#works .home_works {
  padding: 150px 0 0 0;
}
#works .main_image {
  position: relative;
}
#works .main_image h1,
#works .main_image h2 {
  position: absolute;
  font-size: 60px;
  color: #FFF;
  letter-spacing: 0.1em;
  line-height: 1em;
  text-align: center;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1200px) {
  #works .home_works {
    padding: 12vw 0 0 0;
  }
  #works .main_image h1,
  #works .main_image h2 {
    font-size: 5vw;
  }
}
@media screen and (max-width: 750px) {
  #works .home_works {
    padding: 8vw 0 0 0;
  }
  #works .main_image h1,
  #works .main_image h2 {
    font-size: 6.7vw;
  }
  #works .main_image img {
    height: 50vw;
  }
}

.works_detail {
  position: relative;
  padding: 155px 0 0 0;
}
@media screen and (max-width: 1200px) {
  .works_detail {
    padding: 12.9vw 0 0 0;
  }
}
@media screen and (max-width: 750px) {
  .works_detail {
    padding: 12vw 0 0 0;
  }
}

.works_title_image {
  position: relative;
  width: 1280px;
  margin: 0 auto;
  text-align: center;
}
.works_title_image h1 {
  font-size: 28px;
  line-height: 1.7em;
  margin: 0 0 12px 0;
}
.works_title_image p {
  font-size: 18px;
  margin: 0 0 60px 0;
  line-height: 1.2em;
}
.works_title_image figure {
  line-height: 0;
  font-size: 0;
  margin: 0 0 60px 0;
}
.works_title_image figure img {
  width: 100%;
}
.works_title_image h3 {
  font-size: 18px;
  margin: 0 0 95px 0;
  color: #4A332A;
  line-height: 2.2em;
}
@media screen and (max-width: 1400px) {
  .works_title_image {
    width: 100%;
  }
  .works_title_image h1 {
    font-size: 2vw;
    margin: 0 0 0.85vw 0;
  }
  .works_title_image p {
    font-size: 1.4vw;
    margin: 0 0 4.2vw 0;
  }
  .works_title_image figure {
    margin: 0 0 4.2vw 0;
  }
  .works_title_image h3 {
    font-size: 1.4vw;
    margin: 0 0 6.7vw 0;
  }
}
@media screen and (max-width: 750px) {
  .works_title_image h1 {
    font-size: 6.7vw;
    margin: 0 0 2vw 0;
  }
  .works_title_image p {
    font-size: 4.7vw;
    margin: 0 0 6vw 0;
  }
  .works_title_image figure {
    margin: 0 0 6vw 0;
  }
  .works_title_image h3 {
    font-size: 3.2vw;
    margin: 0 auto 12vw auto;
    width: 84%;
    text-align: left;
  }
}

.works_sub_image {
  position: relative;
  width: 1100px;
  margin: 0 auto 145px auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.works_sub_image .works_sub_text {
  width: 400px;
  padding: 0 0 0 115px;
}
.works_sub_image .works_sub_text p {
  font-size: 18px;
  color: #4A332A;
}
.works_sub_image .works_sub_text p:last-child {
  margin: 0;
}
.works_sub_image figure {
  width: 50%;
  line-height: 0;
  font-size: 0;
}
@media screen and (max-width: 1200px) {
  .works_sub_image {
    width: 90%;
    margin: 0 auto 12vw auto;
  }
  .works_sub_image .works_sub_text {
    width: 33vw;
    padding: 0 0 0 9.5vw;
  }
  .works_sub_image .works_sub_text p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .works_sub_image {
    width: 84%;
  }
  .works_sub_image .works_sub_text {
    width: 100%;
    padding: 0;
    margin-bottom: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .works_sub_image .works_sub_text p {
    font-size: 3.2vw;
    margin-bottom: 0;
  }
  .works_sub_image figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 4vw;
  }
}

.works_detail_list {
  position: relative;
  width: 1100px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.works_detail_list::after {
  content: "";
  display: block;
  width: 30.8%;
}
.works_detail_list article {
  width: 30.8%;
  margin: 0 0 40px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #CCC;
}
.works_detail_list article figure {
  line-height: 0;
  font-size: 0;
}
@media screen and (max-width: 1200px) {
  .works_detail_list {
    width: 90%;
  }
  .works_detail_list article {
    margin: 0 0 3.3vw 0;
  }
}
@media screen and (max-width: 750px) {
  .works_detail_list {
    width: 84%;
  }
  .works_detail_list article {
    margin: 0 0 3.3vw 0;
  }
}

.detail_nav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.detail_nav li {
  list-style: none;
  width: 10em;
  margin: 0 0.5em;
}
.detail_nav li a {
  display: block;
  text-align: center;
  color: #FFF;
  background: #4A332A;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6em;
  border-radius: 4px;
  font-size: 18px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.detail_nav li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1200px) {
  .detail_nav li a {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .detail_nav li a {
    font-size: 4.2vw;
  }
}

.min {
  font-family: "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "メイリオ", "Meiryo", sans-serif;
}

.goth {
  font-family: "Helvetica Neue", Helvetica, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Noto Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}