@charset "UTF-8";
/* Reset Style */
html {
  overflow-y: scroll; }

body {
  line-height: 1;
  color: #000; }

/* html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 700; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul, ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* YUI 3.4.1 (build 4118) Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License. http://yuilibrary.com/license/ */
select, input, button, textarea {
  font: 99% arial,helvetica,clean,sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

pre, code, kbd, samp, tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%; }

.web_font, .list_style li dl dd > div .day, .ttl_style .ttl .en, #header #nav .login_area .ttl, #header #nav .nav_area li span.en, #header #nav_member .nav_area .ttl, #footer .box2 ul li .btn_pp {
  font-family: 'Marcellus', serif;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0; }

.ls {
  letter-spacing: 0.28rem; }

@media screen and (max-width: 736px) {
  .ls {
    letter-spacing: 0.24rem; } }
.btn_hover, #header #nav_member .btn_logout, #footer a {
  transition: all 0.3s 0s cubic-bezier(0, 0.49, 0.08, 1);
  opacity: 1; }
  .btn_hover:hover, #header #nav_member .btn_logout:hover, #footer a:hover {
    opacity: 0.5; }

.deco_star_left {
  position: relative; }
  .deco_star_left:after {
    display: block;
    content: '';
    width: 2.7415143603vw;
    height: 3.0678851175vw;
    background: url("../common/images/deco_star.png") left top no-repeat;
    background-size: 2.7415143603vw 3.0678851175vw;
    position: absolute;
    bottom: 0;
    opacity: 0;
    left: 15.6657963446vw;
    margin-bottom: -1.501305483vw;
    transition: all 0.6s 0s cubic-bezier(0, 0.49, 0.08, 1);
    transform: rotate(180deg); }
  .deco_star_left.is-scroll:after {
    left: 2.6109660574vw;
    opacity: 1;
    transform: rotate(0); }

@media screen and (max-width: 736px) {
  .deco_star_left:after {
    width: 5.6vw;
    height: 6.2666666667vw;
    background: url("../common/images/deco_star.png") left top no-repeat;
    background-size: 5.6vw 6.2666666667vw;
    left: 32vw;
    margin-bottom: -3.0666666667vw; }
  .deco_star_left.is-scroll:after {
    left: 4.6666666667vw;
    opacity: 1;
    transform: rotate(0); } }
.deco_star_right {
  position: relative; }
  .deco_star_right:after {
    display: block;
    content: '';
    width: 2.7415143603vw;
    height: 3.0678851175vw;
    background: url("../common/images/deco_star.png") left top no-repeat;
    background-size: 2.7415143603vw 3.0678851175vw;
    position: absolute;
    top: 0;
    opacity: 0;
    right: 16.9712793734vw;
    margin-top: -1.501305483vw;
    transition: all 0.6s 0s cubic-bezier(0, 0.49, 0.08, 1);
    transform: rotate(-180deg); }
  .deco_star_right.is-scroll:after {
    right: 3.9164490862vw;
    opacity: 1;
    transform: rotate(0); }

@media screen and (max-width: 736px) {
  .deco_star_right:after {
    width: 5.6vw;
    height: 6.2666666667vw;
    background: url("../common/images/deco_star.png") left top no-repeat;
    background-size: 5.6vw 6.2666666667vw;
    right: 34.6666666667vw;
    margin-top: -3.0666666667vw; }
  .deco_star_right.is-scroll:after {
    right: 4.6666666667vw;
    opacity: 1;
    transform: rotate(0); } }
.list_style {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .list_style::after {
    content: "";
    width: 18%; }
  .list_style::before {
    order: 1;
    content: "";
    width: 17.3148148148%; }
  .list_style .flex__item-empty {
    display: block;
    width: 17.3148148148%; }
  .list_style li {
    width: 17.3148148148%;
    position: relative; }
    .list_style li:hover {
      cursor: pointer; }
      .list_style li:hover dl dt img {
        transform: scale(1.05) rotate(2deg); }
      .list_style li:hover dl dd {
        opacity: 0.5; }
    .list_style li a {
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      z-index: 10;
      cursor: pointer; }
    .list_style li dl {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      height: 100%; }
      .list_style li dl dt {
        border-radius: 1.1422976501vw;
        overflow: hidden;
        transition: all 0.6s 0s cubic-bezier(0, 0.49, 0.08, 1);
        margin-bottom: 0.9791122715vw;
        width: 100%;
        aspect-ratio: 187/150; }
        .list_style li dl dt img {
          width: 100%;
          transition: all 0.6s 0s cubic-bezier(0, 0.49, 0.08, 1);
          height: 100%;
          object-fit: cover; }
      .list_style li dl dd {
        width: 100%;
        display: flex;
        flex-direction: column;
        height: auto;
        flex: 1;
        flex-wrap: wrap;
        transition: all 0.6s 0s cubic-bezier(0, 0.49, 0.08, 1); }
        .list_style li dl dd .ttl {
          font-size: 1.125rem;
          line-height: 1.33;
          font-weight: 700;
          margin-bottom: 0.625rem;
          flex: 1;
          width: 100%; }
        .list_style li dl dd .txt {
          width: 100%;
          font-size: 0.875rem;
          line-height: 1.5;
          flex: 1; }
        .list_style li dl dd > div {
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center;
          line-height: 0;
          position: relative;
          padding-top: 0.9791122715vw;
          margin-top: 1.9582245431vw;
          box-sizing: border-box; }
          .list_style li dl dd > div:before {
            display: block;
            content: '';
            width: 100%;
            height: 1px;
            background: #525049;
            position: absolute;
            top: 0;
            left: 0; }
          .list_style li dl dd > div .day {
            font-size: 0.925rem; }
          .list_style li dl dd > div .btn {
            width: 5.75rem; }
            .list_style li dl dd > div .btn img {
              width: 100%;
              height: auto; }
  .list_style.type2:after {
    content: "";
    display: block;
    width: 29.9074074074%; }
  .list_style.type2::before {
    display: none; }
  .list_style.type2 li {
    width: 29.9074074074%; }
    .list_style.type2 li dl dt {
      border-radius: 1.1749347258vw;
      margin-bottom: 1.3054830287vw;
      aspect-ratio: 323/212; }
    .list_style.type2 li dl dd .ttl {
      font-size: 1.25rem;
      line-height: 1.2; }
    .list_style.type2 li dl dd > div {
      padding-top: 0.9791122715vw;
      margin-top: 0.6527415144vw; }

@media screen and (max-width: 736px) {
  .list_style li {
    width: 43.0666666667vw;
    margin-bottom: 6.6666666667vw; }
    .list_style li dl dt {
      border-radius: 3.7333333333vw;
      margin-bottom: 2.6666666667vw;
      aspect-ratio: 323/241; }
    .list_style li dl dd .ttl {
      font-size: 3.2vw;
      line-height: 1.29;
      margin-bottom: 2.6666666667vw; }
    .list_style li dl dd .txt {
      font-size: 2.4vw;
      line-height: 1.44; }
    .list_style li dl dd > div {
      padding-top: 2.6666666667vw;
      margin-top: 2.6666666667vw; }
      .list_style li dl dd > div .day {
        font-size: 2.4vw; }
      .list_style li dl dd > div .btn {
        width: 15.0666666667vw; }
  .list_style.type2:after {
    display: none; }
  .list_style.type2 li {
    width: 43.0666666667vw; }
    .list_style.type2 li dl dt {
      border-radius: 3.7333333333vw;
      margin-bottom: 2.6666666667vw;
      aspect-ratio: 323/241; }
    .list_style.type2 li dl dd .ttl {
      font-size: 3.2vw;
      line-height: 1.29; }
    .list_style.type2 li dl dd > div {
      padding-top: 0.9791122715vw;
      margin-top: 0.6527415144vw; } }
.ttl_style {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-bottom: 0.8485639687vw;
  margin-bottom: 2.9373368146vw; }
  .ttl_style:before {
    display: block;
    content: '';
    width: 100%;
    height: 1px;
    background: #525049;
    position: absolute;
    bottom: 0;
    left: 0; }
  .ttl_style .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .ttl_style .ttl {
    display: flex;
    align-items: flex-end; }
    .ttl_style .ttl .en {
      font-size: 2.5rem;
      display: block; }
    .ttl_style .ttl .jp {
      font-size: 1.375rem;
      margin-left: 1.875rem;
      padding-top: 0.25rem;
      display: block; }
  .ttl_style .btn {
    width: 13.1875rem;
    padding-bottom: 0.625rem; }
    .ttl_style .btn img {
      width: 100%;
      height: auto; }

@media screen and (max-width: 736px) {
  .ttl_style {
    padding-bottom: 5.3333333333vw;
    margin-bottom: 6vw; }
    .ttl_style .wrap {
      align-items: flex-end; }
    .ttl_style .ttl {
      display: block; }
      .ttl_style .ttl .en {
        font-size: 7.3333333333vw; }
      .ttl_style .ttl .jp {
        font-size: 3.7333333333vw;
        margin-left: 0;
        padding-top: 1.3333333333vw; }
    .ttl_style .btn {
      width: 28.2666666667vw;
      padding-bottom: 0.625rem; } }
/*------------------------------------------------------------
共通
------------------------------------------------------------*/
* .none {
  display: none; }

html {
  font-size: calc(16 / 1532 * 100vw); }

@media screen and (min-width: 1532px) {
  html {
    font-size: 16px; } }
@media screen and (max-width: 960px) {
  html {
    font-size: 62.5%; } }
body {
  -webkit-text-size-adjust: 100%;
  font-family: Roboto, "Noto Sans JP", sans-serif, "Droid Sans", "游ゴシック体", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.75;
  color: #525049;
  font-feature-settings: "palt";
  letter-spacing: 0.1rem;
  background: #f4f0ed; }

img {
  vertical-align: bottom;
  border: none; }

a {
  color: #525049;
  text-decoration: none; }
  a:hover {
    text-decoration: none;
    color: #2494bc; }

li {
  list-style: none; }

@media screen and (max-width: 736px) {
  body {
    font-size: 3.2vw;
    line-height: 2;
    letter-spacing: 0.12rem; } }
/*------------------------------------------------------------
共通クラス
------------------------------------------------------------*/
.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 736px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
.inner {
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  padding: 0 6.5274151436vw 0 9.0078328982vw; }

.inner2 {
  width: 100%;
  max-width: 1260px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative; }

@media screen and (max-width: 736px) {
  .inner, .inner2 {
    max-width: none;
    width: 100%;
    padding: 0 4.6666666667vw; } }
/*------------------------------------------------------------
ラッパー
------------------------------------------------------------*/
#wrapper {
  position: relative;
  overflow: hidden;
  margin: 0 auto; }

@media screen and (max-width: 960px) {
  #wrapper {
    width: 100%; } }
/*------------------------------------------------------------
#header
------------------------------------------------------------*/
#header {
  position: fixed;
  height: 100%;
  width: max(14vw, 180px);
  z-index: 100;
  background: #803c27;
  top: 0;
  right: 0;
  color: #f4f0ed;
  border-radius: 5.2219321149vw 0 0 0;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none; }
  #header::-webkit-scrollbar {
    display: none; }
  #header .sp_head {
    display: none; }
  #header a {
    color: #f4f0ed; }
  #header #nav {
    line-height: 1; }
    #header #nav .logo {
      text-align: center;
      padding: 3.590078329vw 0 4.2428198433vw; }
      #header #nav .logo img {
        width: 7.637075718vw;
        height: auto; }
    #header #nav .login_area {
      padding: 0 1.1749347258vw;
      margin-bottom: 3.590078329vw; }
      #header #nav .login_area .ttl {
        text-align: center;
        margin-bottom: 1.4375rem; }
      #header #nav .login_area .sub_ttl {
        margin-bottom: 0.5rem;
        font-size: 1rem;
        text-align: center; }
      #header #nav .login_area .input_wrap {
        height: 30px;
        margin-bottom: 0.6527415144vw; }
        #header #nav .login_area .input_wrap input {
          border-color: #f4f0ed;
          font-size: 1rem;
          color: #f4f0ed; }
      #header #nav .login_area .error {
        text-align: center;
        font-size: 1rem;
        line-height: 1.375;
        margin-bottom: 0.9375rem; }
      #header #nav .login_area .btn_wrap {
        display: flex;
        justify-content: center;
        margin-top: -0.1875rem; }
        #header #nav .login_area .btn_wrap img {
          width: 5.5625rem;
          height: auto; }
    #header #nav .nav_area {
      padding: 0 1.125rem 1.875rem;
      text-align: center;
      line-height: 1; }
      #header #nav .nav_area li {
        border-top: 1px solid #f4f0ed;
        white-space: nowrap; }
        #header #nav .nav_area li:last-child {
          border-bottom: 1px solid #f4f0ed; }
        #header #nav .nav_area li:hover span.jp {
          opacity: 1; }
        #header #nav .nav_area li:hover span.en {
          opacity: 0; }
        #header #nav .nav_area li a {
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 1.25rem 0 1.125rem; }
        #header #nav .nav_area li span.jp {
          opacity: 0;
          font-size: 1.125rem;
          position: absolute; }
  #header #nav_member {
    line-height: 1; }
    #header #nav_member .logo {
      text-align: center;
      padding: 3.2637075718vw 0 3.2637075718vw; }
      #header #nav_member .logo img {
        width: 9.7911227154vw;
        height: auto; }
    #header #nav_member .nav_area {
      padding: 0 1.1749347258vw 1.9582245431vw; }
      #header #nav_member .nav_area .ttl {
        text-align: center;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #f4f0ed; }
      #header #nav_member .nav_area .bnr {
        margin-bottom: 1.125rem; }
        #header #nav_member .nav_area .bnr:not(.no_border) {
          border: 1px solid #f4f0ed;
          border-radius: 0.3263707572vw;
          box-sizing: border-box;
          margin-bottom: 1.75rem;
          line-height: 1;
          position: relative; }
          #header #nav_member .nav_area .bnr:not(.no_border).last {
            margin-bottom: 1.125rem; }
        #header #nav_member .nav_area .bnr.mini ul li {
          padding: 0.5rem 0 0.375rem; }
          #header #nav_member .nav_area .bnr.mini ul li:first-child {
            padding: 1rem 0 0.8125rem; }
        #header #nav_member .nav_area .bnr .nav_ttl {
          background: #803c27;
          border-radius: 0.25rem;
          border: 1px solid #f4f0ed;
          font-size: 0.875rem;
          text-align: center;
          width: 5.9375rem;
          height: 1.5625rem;
          position: absolute;
          top: -0.78125rem;
          left: 50%;
          transform: translate3d(-50%, 0, 0);
          display: flex;
          align-items: center;
          justify-content: center; }
        #header #nav_member .nav_area .bnr ul li {
          white-space: nowrap;
          position: relative;
          padding: 1rem 0 0.8125rem; }
          #header #nav_member .nav_area .bnr ul li:first-child {
            padding: 1.625rem 0 0.8125rem; }
          #header #nav_member .nav_area .bnr ul li:nth-of-type(2) {
            position: relative; }
            #header #nav_member .nav_area .bnr ul li:nth-of-type(2):before {
              display: block;
              content: '';
              width: calc(100% - 1.875rem);
              height: 1px;
              background: #f4f0ed;
              position: absolute;
              top: 0;
              left: 0.9375rem;
              opacity: 0.3; }
          #header #nav_member .nav_area .bnr ul li:hover dl {
            opacity: 0.5; }
          #header #nav_member .nav_area .bnr ul li > a {
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
            z-index: 10; }
          #header #nav_member .nav_area .bnr ul li dl {
            display: flex;
            align-items: center; }
            #header #nav_member .nav_area .bnr ul li dl dt {
              width: 3.125rem;
              margin-left: 0.5221932115vw; }
              #header #nav_member .nav_area .bnr ul li dl dt img {
                width: 100%;
                height: auto; }
            #header #nav_member .nav_area .bnr ul li dl dd {
              width: calc(100% - 3.125rem);
              text-align: center;
              font-size: 0.875rem;
              line-height: 1.57; }
    #header #nav_member .btn_logout {
      text-align: center;
      width: 7.25rem;
      margin: 0 auto; }
      #header #nav_member .btn_logout img {
        width: 100%;
        height: auto; }
  #header .bg {
    display: none; }

@media screen and (max-width: 960px) {
  #header {
    width: 100%;
    background: none;
    height: 6.6666666667vw;
    position: relative; }
    #header.open .sp_head .btn {
      width: 14.1333333333vw; }
      #header.open .sp_head .btn .open {
        display: none; }
      #header.open .sp_head .btn .close {
        display: block; }
    #header.open #nav, #header.open #nav_member {
      right: 0;
      opacity: 1; }
    #header.open .bg {
      display: block; }
    #header .sp_head {
      position: fixed;
      width: 100%;
      background: #803c27;
      height: 8vw;
      display: flex;
      align-items: center;
      justify-content: space-between;
      line-height: 1; }
      #header .sp_head .logo {
        width: 14.9333333333vw;
        padding-left: 4vw; }
        #header .sp_head .logo img {
          width: 100%;
          height: auto; }
      #header .sp_head .btn {
        padding-right: 4.6666666667vw;
        width: 7.8666666667vw; }
        #header .sp_head .btn .open {
          width: 7.8666666667vw; }
        #header .sp_head .btn .close {
          width: 14.1333333333vw;
          display: none; }
        #header .sp_head .btn img {
          width: 100%;
          height: auto; }
    #header #nav {
      background: #803c27;
      height: auto;
      min-height: 90vh;
      width: 50vw;
      position: fixed;
      top: 8vw;
      right: -50vw;
      border-radius: 0 0 0 10.6666666667vw;
      z-index: 110;
      transition: all 0.4s 0s cubic-bezier(0, 0.49, 0.08, 1);
      opacity: 0; }
      #header #nav .logo {
        padding: 3.3333333333vw 0 8.6666666667vw; }
        #header #nav .logo img {
          width: 23.6vw;
          height: auto; }
      #header #nav .login_area {
        padding: 0 6vw;
        margin-bottom: 9.3333333333vw; }
        #header #nav .login_area .ttl {
          display: none; }
        #header #nav .login_area .sub_ttl {
          margin-bottom: 2.4vw;
          font-size: 3.2vw; }
        #header #nav .login_area .input_wrap {
          height: 4.6666666667vw;
          margin-bottom: 2.6666666667vw; }
          #header #nav .login_area .input_wrap input {
            font-size: 2.5333333333vw; }
        #header #nav .login_area .error {
          font-size: 2.5333333333vw;
          line-height: 1.375;
          margin-bottom: 3.3333333333vw; }
        #header #nav .login_area .btn_wrap {
          margin-top: -1.3333333333vw; }
          #header #nav .login_area .btn_wrap img {
            width: 14.1333333333vw; }
      #header #nav .nav_area {
        padding: 0 9.3333333333vw 4vw; }
        #header #nav .nav_area li a {
          padding: 2.6666666667vw 0 2.4vw;
          flex-direction: column; }
        #header #nav .nav_area li span {
          display: block; }
          #header #nav .nav_area li span.en {
            font-size: 3.2vw;
            margin-bottom: 2vw; }
          #header #nav .nav_area li span.jp {
            opacity: 1;
            font-size: 2.4vw;
            position: relative; }
    #header #nav_member {
      background: #803c27;
      height: auto;
      min-height: 90vh;
      width: 50vw;
      position: fixed;
      top: 0;
      right: -50vw;
      border-radius: 0 0 0 10.6666666667vw;
      z-index: 110;
      transition: all 0.4s 0s cubic-bezier(0, 0.49, 0.08, 1);
      opacity: 0; }
      #header #nav_member .logo {
        padding: 8.9333333333vw 0 9.3333333333vw; }
        #header #nav_member .logo img {
          width: 28.2666666667vw; }
      #header #nav_member .nav_area {
        padding: 0 9.3333333333vw 4vw; }
        #header #nav_member .nav_area .ttl {
          margin-bottom: 0.8vw; }
        #header #nav_member .nav_area .bnr {
          margin-bottom: 2.4vw; }
          #header #nav_member .nav_area .bnr:not(.no_border) {
            border-radius: 1.0666666667vw;
            margin-bottom: 5.0666666667vw; }
            #header #nav_member .nav_area .bnr:not(.no_border).last {
              margin-bottom: 2.4vw; }
          #header #nav_member .nav_area .bnr.mini ul li {
            padding: 1.0666666667vw 0 0.8vw; }
          #header #nav_member .nav_area .bnr ul li {
            padding: 2.5333333333vw 0 2vw; }
            #header #nav_member .nav_area .bnr ul li:nth-of-type(2):before {
              width: calc(100% - 4vw);
              left: 2vw; }
            #header #nav_member .nav_area .bnr ul li dl dt {
              width: 8vw;
              margin-left: 1.0666666667vw; }
            #header #nav_member .nav_area .bnr ul li dl dd {
              width: calc(100% - 6.6666666667vw);
              font-size: 2.4vw;
              line-height: 1.22; }
        #header #nav_member .nav_area .btn_logout {
          width: 21.3333333333vw;
          display: flex;
          margin: 0 auto; }
          #header #nav_member .nav_area .btn_logout img {
            width: 100%;
            height: auto; }
      #header #nav_member .bg {
        display: none;
        width: 100%;
        height: 100%;
        background: #f4f0ed;
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0.2;
        opacity: 0;
        z-index: 105; } }
/*------------------------------------------------------------
#Contents
------------------------------------------------------------*/
#Contents {
  width: min(calc(100% - 180px), 86vw); }

@media screen and (max-width: 960px) {
  #Contents {
    width: 100vw; } }
/*------------------------------------------------------------
#footer
------------------------------------------------------------*/
#footer {
  background: #803c27;
  color: #f4f0ed;
  padding: 4.5691906005vw 0 3.9164490862vw; }
  #footer a {
    color: #f4f0ed; }
  #footer img {
    width: 100%;
    height: auto; }
  #footer .wrap {
    display: flex;
    position: relative; }
  #footer .logo {
    margin-right: 7.180156658vw;
    width: 10.9007832898vw; }
  #footer .box1 {
    margin-right: 4.8955613577vw;
    display: flex; }
    #footer .box1 > div.logo_area {
      width: 8.1592689295vw;
      margin-right: 35px; }
    #footer .box1 > div.txt_area {
      width: 16.318537859vw; }
    #footer .box1 .txt {
      font-size: 0.875rem;
      line-height: 1.85;
      margin-bottom: 1.9582245431vw;
      letter-spacing: 0.05em; }
    #footer .box1 .btn_top {
      width: 9.3994778068vw;
      line-height: 1; }
  #footer .box2 {
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    #footer .box2 ul {
      position: relative;
      margin-bottom: 2.6109660574vw; }
      #footer .box2 ul li .btn_contact {
        width: 10.182767624vw; }
      #footer .box2 ul li .flex {
        display: flex;
        align-items: center; }
      #footer .box2 ul li .btn_kanden {
        width: 8.8772845953vw; }
      #footer .box2 ul li .btn_pp {
        font-size: 1.1096605744vw;
        margin-left: 2.2845953003vw;
        white-space: nowrap; }
      #footer .box2 ul li.erimane {
        font-size: 0.9138381201vw;
        padding-top: 1.9582245431vw; }
  #footer small {
    display: block;
    font-size: 0.625rem;
    font-weight: 400;
    letter-spacing: 0.05em; }

@media screen and (max-width: 736px) {
  #footer {
    padding: 8vw 0 4.6666666667vw; }
    #footer .wrap {
      display: block;
      padding: 0 10.6666666667vw; }
    #footer .logo {
      width: 42.8vw;
      display: flex;
      margin: 0 auto 9.3333333333vw; }
    #footer .box1 {
      margin-right: 0;
      justify-content: center;
      flex-wrap: wrap;
      margin-bottom: 4vw; }
      #footer .box1 > div.logo_area {
        width: 26.4vw;
        margin: 0 auto 5.3333333333vw; }
      #footer .box1 > div.txt_area {
        width: auto; }
      #footer .box1 .txt {
        font-size: 3.2vw;
        line-height: 1.66; }
      #footer .box1 .btn_top {
        display: none; }
    #footer .box2 ul {
      margin-bottom: 24vw;
      display: flex;
      flex-direction: column; }
      #footer .box2 ul li .btn_contact {
        width: 29.3333333333vw; }
      #footer .box2 ul li .flex {
        margin: 4vw auto 9.3333333333vw; }
      #footer .box2 ul li .btn_kanden {
        width: 27.0666666667vw;
        margin: 0 auto; }
      #footer .box2 ul li .btn_pp {
        font-size: 4vw;
        margin-left: 6vw;
        white-space: nowrap; }
      #footer .box2 ul li.erimane {
        font-size: 3.2vw;
        padding-top: 2.6666666667vw;
        text-align: center;
        margin-bottom: -9.3333333333vw; }
    #footer small {
      font-size: 2.1333333333vw;
      text-align: center; } }
