/*

  全体レイアウト

================================================================
*/
#wrapper {
  position: relative;
  max-width: 2000px;
  min-width: 1300px;
  margin: 0 auto;}
.inner {
  position: relative;
  width: 1200px;
  height: 100%;
  margin: 0 auto;}
#container {
  position: relative;}
.pcn {
  display: none;}
.spn {
  display: inline-block;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#wrapper {
  max-width: 100%;
  min-width: 100%;}
.inner {
  width: 100%;}
.pcn {
  display: inline-block;}
.spn {
  display: none;}}

/*

  ヘッダー構成

================================================================
*/
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1300px;
  height: 90px;
  z-index: 10;}
#header .flex {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 100%;
  padding: 0 30px 0;}
#header .flex .logo {
  position: relative;
  top: 10px;}
#header .flex .btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 290px;
  height: 62px;
  border-radius: 4px;
  background: linear-gradient(to right, #896F3D, #AF9E67);
  color: #fff;
  letter-spacing: .2em;}
#header .flex .btn a span {
  position: relative;
  display: inline-block;}
#header .flex .btn a span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;}
#header .flex .btn a:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background: #7A602C;
  z-index: -1;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#header {
  position: absolute;
  min-width: 100%;
  height: 20vw;}
#header .flex {
  align-items: center;
  padding: 0 5vw 0;}
#header .flex .logo {
  position: static;
  top: 0;}
#header .flex .logo img {
  width: auto;
  height: 12vw;}
#header .flex .btn {
  position: fixed;
  bottom: 5vw;}
#header .flex .btn a {
  width: 90vw;
  height: 13vw;
  font-size: 3.6vw;}
#header .flex .btn a span:after {
  bottom: -2vw;}
#header .flex .btn a:after {
  top: 1vw;}
}

/*

  フッター構成

================================================================
*/
#footer {
  position: relative;
  background-color: #F3EFE8;}
#footer .inner {
  padding: 0 0 80px 0;}
#footer .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;}
#footer .left {
  display: flex;
  align-items: center;}
#footer .left img {
  width: 90px;
  height: auto;}
#footer .left a {
  display: inline-block;
  margin-left: 30px;
  text-decoration: underline;
  font-weight: 600;
  font-size: 14px;
  color: #4B3F23;}
#footer .right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;}
#footer .right a {
  display: inline-block;
  margin-left: 30px;
  text-decoration: underline;
  font-weight: 600;
  font-size: 14px;
  color: #4B3F23;}
#footer .right small {
  margin-top: 20px;
  font-size: 12px;
  font-weight: 600;
  color: #4B3F23;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#footer {
  padding: 0 7vw;}
#footer .inner {
  padding: 0 0 25vw 0;}
#footer .flex {
  flex-direction: column;}
#footer .left {
  flex-direction: column;}
#footer .left img {
  width: auto;
  height: 14vw;}
#footer .left a {
  margin-left: 0;
  margin-top: 5vw;
  font-size: 3.4vw;}
#footer .right {
  width: 100%;
  margin-top: 10vw;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;}
#footer .right a {
  margin-left: 0;
  font-size: 14px;}
#footer .right small {
  margin-top: 0;
  font-size: 2.8vw;}
}