@charset "UTF-8";
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
.red {
  color: #9A4335; }

header {
  position: relative;
  z-index: 9;
  background: #fff;
  width: 100%; }
  @media screen and (max-width: 767px) {
    header {
      min-height: 50px;
      position: fixed;
      top: 0;
      z-index: 100; } }
  header::before {
    content: '';
    display: block;
    width: 100%;
    height: 5px;
    background: #473717;
    position: absolute;
    left: 0;
    top: 0;
    right: 0; }
  header section {
    max-width: 1400px;
    margin: auto;
    padding: 10px 30px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 767px) {
      header section {
        display: block;
        padding: 0;
        text-align: left;
        margin: 0; } }
    header section div {
      flex: 0 0 26%;
      text-align: left; }
      @media screen and (max-width: 767px) {
        header section div {
          padding: 7px 0 0 0; } }
      header section div a img {
        max-width: 340px; }
        @media screen and (max-width: 767px) {
          header section div a img {
            width: auto;
            max-width: none;
            height: 40px;
            margin: 0; } }
    @media screen and (max-width: 767px) {
      header section nav {
        display: none;
        position: absolute;
        top: 50px;
        left: 0;
        right: 0;
        z-index: 10;
        background: #fff; } }
    header section nav ul {
      display: flex;
      justify-content: flex-end; }
      @media screen and (max-width: 767px) {
        header section nav ul {
          display: block;
          border-top: 1px solid #eee; } }
      header section nav ul li {
        font-size: 17px;
        letter-spacing: 0.06em;
        line-height: 1;
        padding: 0 1em; }
        @media screen and (max-width: 1366px) {
          header section nav ul li {
            font-size: 1.245vw; } }
        @media screen and (max-width: 767px) {
          header section nav ul li {
            font-size: 4vw;
            text-align: center;
            border-bottom: 1px solid #eee;
            padding: 0; } }
        header section nav ul li a {
          padding: 0;
          position: relative; }
          @media screen and (max-width: 767px) {
            header section nav ul li a {
              padding: 1.5em;
              display: block;
              color: #fff;
              background: #AE9A5A; } }
          header section nav ul li a::after {
            content: '';
            display: block;
            width: 100%;
            height: 2px;
            background: #AE9A5A;
            position: absolute;
            bottom: 0;
            left: 0;
            transform: scaleX(0);
            transition: 0.3s; }
            @media screen and (max-width: 767px) {
              header section nav ul li a::after {
                display: none; } }
        header section nav ul li a:hover {
          opacity: 1; }
          header section nav ul li a:hover::after {
            transform: scaleX(1); }
      header section nav ul li.current a {
        opacity: 1; }
        @media screen and (max-width: 767px) {
          header section nav ul li.current a {
            opacity: 0.7; } }
        header section nav ul li.current a::after {
          transform: scaleX(1); }
  header div.menuBtn {
    display: none; }
    @media screen and (max-width: 767px) {
      header div.menuBtn {
        display: block;
        position: absolute;
        right: 0;
        top: 5px;
        background-image: url("../img/menu-btn.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        background-color: #AE9A5A;
        width: 50px;
        height: 45px;
        z-index: 10;
        cursor: pointer; } }
    @media screen and (max-width: 767px) {
      header div.menuBtn.active {
        background-image: url("../img/menu-btn-close.svg"); } }

#topcontrol {
  bottom: 0px !important;
  right: 0px !important; }
  #topcontrol #ptop {
    display: block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: #473717;
    color: #AE9A5A;
    text-align: center; }

footer {
  border-top: 1px solid #DFD8CD;
  padding: 0 25px; }
  @media screen and (max-width: 767px) {
    footer {
      padding: 0 20px; } }
  footer section {
    max-width: 1366px;
    margin: auto;
    padding: 30px 0;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 767px) {
      footer section {
        display: block;
        text-align: center; } }
    footer section address {
      color: #AE9A5A;
      font-style: normal; }
      footer section address figure img {
        max-width: 350px; }
        @media screen and (max-width: 767px) {
          footer section address figure img {
            max-width: none;
            width: 70%;
            height: auto; } }
      footer section address p {
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0;
        text-align: center; }
        @media screen and (max-width: 767px) {
          footer section address p {
            font-size: 11px; } }
    footer section ul {
      display: flex;
      justify-content: flex-end; }
      @media screen and (max-width: 767px) {
        footer section ul {
          justify-content: center;
          padding-top: 1em; } }
      footer section ul li {
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          footer section ul li {
            font-size: 11px; } }
        footer section ul li a {
          padding: 0.5em 1em; }
      footer section ul li:last-child {
        border-left: 1px solid #473717; }
  footer .cp {
    background: #473717;
    color: #AE9A5A;
    text-align: center;
    line-height: 50px;
    padding: 0 1.5em;
    font-size: 10px;
    letter-spacing: 0.1em;
    margin: 0 -25px; }
    @media screen and (max-width: 767px) {
      footer .cp {
        font-size: 2.4vw;
        letter-spacing: 0;
        margin: 0 -20px;
        text-align: left; } }

/*============================
#pagettl
============================*/
#pagettl {
  text-align: center;
  padding: 6em 20px;
  background-image: url("../img/pagettl-bg1.jpg");
  background-size: cover;
  background-position: center;
  position: relative; }
  @media screen and (max-width: 767px) {
    #pagettl {
      padding: 5em 20px; } }
  #pagettl::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(72, 55, 23, 0.6);
    position: absolute;
    left: 0;
    top: 0; }
  #pagettl h1 {
    font-size: 3vw;
    line-height: 1.7;
    color: #fff;
    position: relative; }
    @media screen and (max-width: 767px) {
      #pagettl h1 {
        font-size: 7vw;
        line-height: 1.3; } }
    #pagettl h1 small {
      font-size: 1.7vw;
      text-transform: capitalize;
      font-family: arno-pro, serif;
      font-weight: 400;
      font-style: normal;
      display: block; }
      @media screen and (max-width: 767px) {
        #pagettl h1 small {
          font-size: 4vw; } }

/*============================
#for-stay
============================*/
#for-stay div.w960 {
  max-width: 800px; }
#for-stay a {
  display: block;
  background: #eee url("../img/for-stay-bg.jpg") no-repeat center;
  background-size: cover;
  padding: 2em;
  border: 1px solid #ddd;
  margin-bottom: 1em;
  position: relative;
  text-align: center; }
  #for-stay a::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  #for-stay a dl {
    position: relative; }
    #for-stay a dl dt {
      font-size: 160%; }
    #for-stay a dl dd {
      font-size: 120%; }
#for-stay ul.maruList li {
  font-size: 90%; }

.kakunin .kakunin-hide {
  display: none; }

.form #consult, .form #footer-menu, .form #access {
  display: none; }

#main.mailform .table-responsive {
  overflow: hidden;
  overflow-x: hidden; }
#main.mailform .wpcf7-radio .wpcf7-list-item {
  margin: 0 1em 0 0 !important; }
  @media screen and (max-width: 767px) {
    #main.mailform .wpcf7-radio .wpcf7-list-item {
      display: block;
      margin: 0.5em 0 !important; } }

.mailform-tbl {
  margin-bottom: 2em; }
  .mailform-tbl th {
    white-space: nowrap;
    text-align: left; }
  .mailform-tbl th.indis::after {
    content: '＊';
    color: #9A4335;
    font-size: 50%;
    padding-left: 0.5em; }
  @media screen and (max-width: 767px) {
    .mailform-tbl tr, .mailform-tbl th, .mailform-tbl td {
      display: block; } }

.error {
  color: #9A4335;
  display: block;
  padding: 0.7em; }

/*============================
form
============================*/
form {
  max-width: 960px;
  margin: auto;
  padding: 60px 0; }
  @media screen and (max-width: 767px) {
    form {
      padding: 30px 0; } }
  form .wFull {
    width: 100%; }
  form ::placeholder {
    color: #ccc; }
  form label + dl {
    margin-top: 1em; }

.btnCont {
  padding: 60px 0; }

.wpcf7-form-control-wrap + p {
  padding-top: 0.7em; }

input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-image: none;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  color: inherit;
  font-size: 15px;
  padding: 0.87em 0.8em; }
  @media screen and (max-width: 767px) {
    input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date] {
      font-size: 13px;
      width: 99%; } }

input[type=number] {
  width: 4em; }

input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=number]:focus {
  border: 1px solid #AE9A5A;
  box-shadow: none;
  outline: none; }

.sonota {
  display: block; }
  .sonota input {
    width: 50%; }

textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  color: inherit;
  font-size: 1.07em;
  height: 100px;
  padding: 0.87em 0.8em; }
  @media screen and (max-width: 767px) {
    textarea {
      width: 99%; } }

textarea:focus {
  border: 1px solid #AE9A5A;
  box-shadow: none;
  outline: none; }

.radioBtn input {
  display: none; }
.radioBtn input + span {
  cursor: pointer;
  display: inline-block;
  margin: 0;
  padding: 0 0 0 1.5em;
  position: relative; }
.radioBtn input + span::before {
  -webkit-transform: translateY(-50%);
  background: #E6E6E6;
  border: none;
  border-radius: 50%;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid #ccc; }
.radioBtn input + span::after {
  -webkit-transform: translateY(-50%);
  background: #AE9A5A;
  border: none;
  border-radius: 50%;
  content: "";
  width: 14px;
  height: 14px;
  left: 1px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease 0s; }
.radioBtn input[type=radio]:checked + span::after {
  opacity: 1; }

input[type=checkbox] {
  display: none; }

input[type=checkbox] + span {
  cursor: pointer;
  display: inline-block;
  margin: 0 0.2em 0;
  padding: 0 0 0 1.5em;
  position: relative; }

input[type=checkbox] + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: none;
  border-radius: 2px;
  content: "";
  display: block;
  height: 1em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  border: 1px solid #ccc; }

input[type=checkbox] + span::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 3px solid #AE9A5A;
  border-left: 3px solid #AE9A5A;
  content: "";
  display: block;
  height: 0.6em;
  left: 0;
  margin-top: -0.2em;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: all 0.3s ease 0s;
  width: 1em; }

input[type=checkbox]:checked + span::after {
  opacity: 1; }

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-size: 15px;
  padding: 0.87em 0.8em;
  line-height: 1;
  margin: 0.25em 0; }
  @media screen and (max-width: 767px) {
    select {
      font-size: 13px; } }

select::-ms-expand {
  display: none; }

select:focus {
  border: 1px solid #AE9A5A;
  box-shadow: none;
  outline: none; }

input[type=submit], input[type=button], input[type=reset],
button[type=submit], button[type=button], button[type=reset] {
  -webkit-appearance: none;
  background-color: #AE9A5A;
  background-image: none;
  border: none;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 17px;
  margin: 0 0 1em;
  padding: 0.6em 2em;
  text-decoration: none; }

input[type=reset], input[name=submitBack],
button[type=reset], button[name=submitBack] {
  background: #AE9A5A; }

input[type=submit]:hover, input[type=submit]:focus, input[type=button]:hover, input[type=button]:focus, input[type=reset]:hover, input[type=reset]:focus,
button[type=submit]:hover,
button[type=submit]:focus, button[type=button]:hover, button[type=button]:focus, button[type=reset]:hover, button[type=reset]:focus {
  outline: none; }

input[type=submit]::-moz-foucus-inner,
input[type=button]::-moz-foucus-inner,
input[type=reset]::-moz-foucus-inner,
button[type=submit]::-moz-foucus-inner,
button[type=button]::-moz-foucus-inner,
button[type=reset]::-moz-foucus-inner {
  border: none;
  padding: 0; }

.wp-main {
  overflow: hidden;
  padding-bottom: 100px;
  /* img */
  /* clearfix */ }
  .wp-main .sec {
    overflow: hidden; }
  .wp-main a {
    text-decoration: underline; }
    .wp-main a:hover {
      text-decoration: none; }
  .wp-main a img {
    text-decoration: none; }
  .wp-main img {
    width: auto;
    height: auto;
    max-width: none; }
  .wp-main h1, .wp-main h2, .wp-main h3, .wp-main h4, .wp-main h5, .wp-main h6, .wp-main strong {
    font-weight: 500; }
  .wp-main p {
    display: block;
    padding: 1em 0; }
  .wp-main strong {
    font-weight: bold; }
  .wp-main em {
    font-style: italic; }
  .wp-main blockquote {
    display: block;
    background: #eee;
    padding: 1em 2em;
    color: #333;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px; }
  .wp-main ul, .wp-main ol {
    padding: 0 0 1em 2em; }
  .wp-main ul li {
    list-style: disc; }
  .wp-main ol li {
    list-style: decimal; }
  .wp-main .aligncenter {
    display: block;
    margin: 0 auto; }
  .wp-main .alignright {
    float: right; }
  .wp-main .alignleft {
    float: left; }
  @media screen and (max-width: 767px) {
    .wp-main figure[id*="attachment"] {
      width: 100% !important;
      margin-bottom: 1em; } }
  .wp-main img[class*="wp-image-"],
  .wp-main img[class*="attachment-"] {
    height: auto;
    max-width: 100%; }
  .wp-main .clearfix {
    overflow: hidden;
    zoom: 1; }
  .wp-main .clearfix:after {
    content: "";
    display: block;
    clear: both; }

/*============================
#mainvis
============================*/
section#mainvis .wp_swiper_nav_prev,
section#mainvis .wp_swiper_nav_next {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer; }
  @media screen and (max-width: 767px) {
    section#mainvis .wp_swiper_nav_prev,
    section#mainvis .wp_swiper_nav_next {
      width: 40px !important;
      height: 40px !important; } }
section#mainvis .wp_swiper_nav_prev {
  background-image: url("../img/swiper_nav_prev.svg"); }
section#mainvis .wp_swiper_nav_next {
  background-image: url("../img/swiper_nav_next.svg"); }
section#mainvis .swiper-pagination-bullet-active {
  background: #AE9A5A; }

/*============================
#main
============================*/
article#main {
  overflow: hidden;
  /*============================
  #corona
  ============================*/
  /*============================
  #pickup
  ============================*/
  /*============================
  #info
  ============================*/
  /*============================
  #contact
  ============================*/
  /*============================
  #sec02
  ============================*/
  /*============================
  #access
  ============================*/
  /*============================
  #banner
  ============================*/ }
  article#main #corona {
    text-align: center;
    padding: 40px 40px 0; }
    @media screen and (max-width: 767px) {
      article#main #corona {
        padding: 20px 20px 0; } }
    article#main #corona a {
      display: block;
      text-align: center;
      max-width: 1286px;
      margin: auto;
      padding: 1em 2em 1em 1em;
      line-height: 1.5;
      font-size: 120%;
      color: #9A4335;
      position: relative;
      border: 2px solid #9A4335; }
      @media screen and (max-width: 767px) {
        article#main #corona a {
          text-align: left; } }
      article#main #corona a::after {
        content: '\f054';
        margin-left: 0.5em;
        font-family: 'FontAwesome';
        font-size: 70%;
        position: absolute;
        right: 1em;
        top: 50%;
        transform: translateY(-50%); }
  article#main section#pickup {
    padding: 40px 40px; }
    @media screen and (max-width: 767px) {
      article#main section#pickup {
        padding: 20px 20px; } }
    article#main section#pickup div.flex {
      max-width: 1286px;
      margin: auto; }
      @media screen and (max-width: 767px) {
        article#main section#pickup div.flex {
          display: block; } }
      article#main section#pickup div.flex figure {
        flex: 0 0 31.259720062208398%;
        margin: 0; }
        @media screen and (max-width: 767px) {
          article#main section#pickup div.flex figure {
            margin-bottom: 30px; } }
        article#main section#pickup div.flex figure figcaption {
          padding-top: 0.5em; }
          article#main section#pickup div.flex figure figcaption p {
            margin-bottom: 1em;
            line-height: 1.7; }
            @media screen and (max-width: 1366px) {
              article#main section#pickup div.flex figure figcaption p {
                font-size: 1.25vw; } }
            @media screen and (max-width: 767px) {
              article#main section#pickup div.flex figure figcaption p {
                font-size: 13px; } }
  article#main section#info.sec div.well {
    max-width: 910px;
    margin: auto; }
    article#main section#info.sec div.well h2.ttl1 {
      position: absolute;
      top: -0.5em;
      left: 50%;
      transform: translateX(-50%); }
    article#main section#info.sec div.well ul {
      padding: 4em 0 2.5em;
      margin: auto;
      width: 90%; }
      @media screen and (max-width: 767px) {
        article#main section#info.sec div.well ul {
          width: auto; } }
      article#main section#info.sec div.well ul li {
        display: flex; }
        @media screen and (max-width: 767px) {
          article#main section#info.sec div.well ul li {
            display: block;
            padding-bottom: 0.7em; } }
        article#main section#info.sec div.well ul li time {
          padding-right: 1em; }
          @media screen and (max-width: 767px) {
            article#main section#info.sec div.well ul li time {
              display: block;
              padding-left: 0; } }
        article#main section#info.sec div.well ul li a:hover {
          text-decoration: underline; }
    article#main section#info.sec div.well ul.no-data {
      display: block; }
      article#main section#info.sec div.well ul.no-data li {
        text-align: center;
        display: block; }
    article#main section#info.sec div.well a.btn {
      position: absolute;
      bottom: -1.5em;
      left: 50%;
      transform: translateX(-50%); }
  article#main section#contact.sec h2.ttl1 {
    margin-bottom: 1em; }
  article#main section#contact.sec p {
    text-align: center;
    line-height: 1; }
    article#main section#contact.sec p a {
      font-size: 83px;
      line-height: 1;
      pointer-events: none;
      color: #9A4335;
      display: inline-block;
      position: relative; }
      @media screen and (max-width: 1100px) {
        article#main section#contact.sec p a {
          font-size: 7vw; } }
      @media screen and (max-width: 767px) {
        article#main section#contact.sec p a {
          pointer-events: auto;
          font-size: 10vw; } }
      article#main section#contact.sec p a::before {
        content: '\f095';
        font-family: 'FontAwesome';
        font-size: 46px;
        margin-right: 0.2em; }
        @media screen and (max-width: 767px) {
          article#main section#contact.sec p a::before {
            font-size: 7vw; } }
      article#main section#contact.sec p a::after {
        content: '';
        width: 100%;
        display: block;
        height: 17px;
        background: #D6CBAC;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1; }
        @media screen and (max-width: 767px) {
          article#main section#contact.sec p a::after {
            height: 2vw; } }
  article#main section#sec02.sec div.flex {
    max-width: 1100px;
    margin: auto; }
    @media screen and (max-width: 767px) {
      article#main section#sec02.sec div.flex {
        display: block; } }
    article#main section#sec02.sec div.flex div.well {
      flex: 0 0 48%;
      max-width: 48%;
      padding: 90px 40px 40px; }
      @media screen and (max-width: 767px) {
        article#main section#sec02.sec div.flex div.well {
          max-width: none;
          padding: 50px 20px 30px; } }
      article#main section#sec02.sec div.flex div.well h2.ttl1 {
        width: 100%;
        position: absolute;
        left: 50%;
        top: -0.5em;
        transform: translateX(-50%); }
      article#main section#sec02.sec div.flex div.well p {
        padding: 0 0 1em;
        line-height: 2.5; }
      article#main section#sec02.sec div.flex div.well p:last-child {
        text-align: right; }
    @media screen and (max-width: 767px) {
      article#main section#sec02.sec div.flex div.well:nth-of-type(1) {
        margin-bottom: 40px; } }
  article#main section#access.sec {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 0; }
    article#main section#access.sec h2.ttl1 {
      margin-bottom: 1em; }
    article#main section#access.sec p {
      text-align: center;
      padding: 0 20px 1em; }
      @media screen and (max-width: 767px) {
        article#main section#access.sec p {
          text-align: left; } }
    article#main section#access.sec ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin: 0 auto 2em;
      padding: 0; }
      @media screen and (max-width: 767px) {
        article#main section#access.sec ul {
          display: block; } }
      article#main section#access.sec ul li {
        background: #eee;
        padding: 0.5em 1em;
        margin: 0.5em;
        line-height: 1.5;
        border-radius: 0.5em; }
        @media screen and (max-width: 767px) {
          article#main section#access.sec ul li {
            display: block;
            text-align: center; } }
  article#main section#banner {
    padding: 30px 25px 40px; }
    @media screen and (max-width: 767px) {
      article#main section#banner {
        padding: 30px 20px 40px; } }
    article#main section#banner ul {
      max-width: 1100px;
      margin: auto;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media screen and (max-width: 767px) {
        article#main section#banner ul {
          flex-wrap: wrap; } }
      article#main section#banner ul li {
        flex: 0 0 19%; }
        @media screen and (max-width: 767px) {
          article#main section#banner ul li {
            flex: 0 0 48%;
            margin-bottom: 3vw; } }
        article#main section#banner ul li a img {
          border: 1px solid #ddd; }

body, html {
  height: 100%; }

body {
  font-family: ten-mincho, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #473717;
  position: relative; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 13px;
      line-height: 1.7;
      letter-spacing: 0em;
      padding-top: 50px; } }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none; }

img {
  vertical-align: bottom;
  width: 100%;
  height: auto; }

.fancybox-button--close span {
  white-space: nowrap;
  position: absolute;
  right: 0;
  top: 44px; }

/*============================
#main
============================*/
#main {
  overflow: hidden; }

/*============================
Responsive
============================*/
.sp {
  display: none !important; }
  @media screen and (max-width: 767px) {
    .sp {
      display: block !important; } }

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

/*============================
BOX Models
============================*/
.w1366 {
  max-width: 1366px;
  margin: auto; }

.w1098 {
  max-width: 1098px;
  margin: auto; }

.w960 {
  max-width: 960px;
  margin: auto; }

/*============================
.flex
============================*/
.flex {
  display: flex;
  justify-content: space-between; }

/*============================
.sec
============================*/
.sec {
  padding: 90px 40px; }
  @media screen and (max-width: 767px) {
    .sec {
      padding: 40px 20px; } }

.bg {
  background-color: #F1EADC;
  background-image: url("../img/bg-sankakuL.png"), url("../img/bg-sankakuR.png");
  background-position: left top, right bottom;
  background-size: 35% auto;
  background-repeat: no-repeat; }
  @media screen and (max-width: 767px) {
    .bg {
      background-size: 50% auto; } }

/*============================
a
============================*/
a {
  transition: 0.3s;
  text-decoration: none;
  color: #473717; }

a:hover {
  opacity: 0.85; }

.closebtn {
  position: fixed;
  bottom: 0.5em;
  left: 0;
  right: 0;
  color: #fff;
  text-align: center;
  cursor: pointer;
  z-index: 99999; }
  .closebtn:hover {
    opacity: 0.5; }

/*============================
.btn
============================*/
.btn {
  display: inline-block;
  line-height: 1;
  padding: 1em 3em;
  background: #473717;
  color: #FFE4AC;
  font-size: 90%;
  position: relative;
  letter-spacing: 0; }
  .btn::after {
    content: '\f105';
    font-family: 'FontAwesome';
    position: absolute;
    right: 0.5em;
    top: 50%;
    transform: translateY(-50%); }

.btn-large {
  font-size: 130%;
  padding: 1.5em 3em; }

/*============================
.well
============================*/
.well {
  background: #fff;
  padding: 30px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .well {
      padding: 20px; } }

.yasumi {
  background: #9A4335;
  color: #fff;
  padding: 0.5em 1em;
  text-align: center;
  line-height: 1.5;
  margin: 2em 0; }

/*============================
Headlines
============================*/
h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

.ttl1 {
  font-family: arno-pro, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 53px;
  letter-spacing: 4.29px;
  color: #AE9A5A;
  line-height: 1.2;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .ttl1 {
      font-size: 7vw; } }
  .ttl1 small {
    font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
    display: block;
    font-size: 23px; }
    @media screen and (max-width: 767px) {
      .ttl1 small {
        font-size: 3.5vw; } }

.ttl2 {
  text-align: center;
  font-size: 40px; }
  @media screen and (max-width: 767px) {
    .ttl2 {
      font-size: 5vw; } }
  .ttl2::after {
    content: '';
    display: block;
    width: 3em;
    height: 3px;
    background: #AE9A5A;
    margin: 1em auto 2em; }
    @media screen and (max-width: 767px) {
      .ttl2::after {
        height: 2px; } }

.ttl3 {
  font-size: 30px;
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 1.2; }
  @media screen and (max-width: 767px) {
    .ttl3 {
      font-size: 5vw;
      letter-spacing: 0.05em; } }
  .ttl3::after {
    content: '';
    width: 1em;
    height: 2px;
    background: #AE9A5A;
    display: block;
    margin: 0.5em 0 1em; }

.lead {
  font-size: 120%;
  padding: 0 0 2em;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .lead {
      text-align: left;
      font-size: 14px; } }

/*============================
List
============================*/
.maruList li {
  margin-left: 1em; }
  .maruList li::before {
    content: '●';
    margin-left: -1em; }

.komeList li {
  margin-left: 1em; }
  .komeList li::before {
    content: '※';
    margin-left: -1em; }

.numList li {
  margin-left: 1em; }
  .numList li::before {
    content: '';
    margin-left: -1em; }
.numList li:nth-child(1)::before {
  content: '1'; }
.numList li:nth-child(2)::before {
  content: '2'; }
.numList li:nth-child(3)::before {
  content: '3'; }
.numList li:nth-child(4)::before {
  content: '4'; }
.numList li:nth-child(5)::before {
  content: '5'; }
.numList li:nth-child(6)::before {
  content: '6'; }
.numList li:nth-child(7)::before {
  content: '7'; }
.numList li:nth-child(8)::before {
  content: '8'; }
.numList li:nth-child(9)::before {
  content: '9'; }
.numList li:nth-child(10)::before {
  content: '10'; }

/*============================
Text Align
============================*/
.text-center {
  text-align: center !important; }

.text-left {
  text-align: left !important; }

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

/*============================
Table
============================*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  border-right: 1px solid #ddd;
  border-top: 1px solid #ddd;
  width: 100%; }
  table caption {
    text-align: left; }
  table tr th, table tr td {
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    line-height: 1.5;
    padding: 1em 2em;
    letter-spacing: 0; }
    @media screen and (max-width: 767px) {
      table tr th, table tr td {
        padding: 0.7em 1.5em;
        line-height: 1.3; } }
  table tr th {
    background: #F6F1E9; }

.table-responsive {
  overflow-x: scroll;
  /*IE, Edge*/
  -ms-overflow-style: none;
  /*Firefox*/
  scrollbar-width: none; }

/*Chrome, Safari*/
.table-responsive::-webkit-scrollbar {
  display: none; }

/*============================
margin
============================*/
.mgt1em {
  margin-top: 1em; }

.mgt2em {
  margin-top: 2em; }

.mgt3em {
  margin-top: 3em; }

.mgt4em {
  margin-top: 4em; }

.mgt5em {
  margin-top: 5em; }

.mgb1em {
  margin-bottom: 1em; }

.mgb2em {
  margin-bottom: 2em; }

.mgb3em {
  margin-bottom: 3em; }

.mgb4em {
  margin-bottom: 4em; }

.mgb5em {
  margin-bottom: 5em; }

/*============================
padding
============================*/
.pdt1em {
  padding-top: 1em; }

.pdt2em {
  padding-top: 2em; }

.pdt3em {
  padding-top: 3em; }

.pdt4em {
  padding-top: 4em; }

.pdt5em {
  padding-top: 5em; }

.pdb1em {
  padding-bottom: 1em; }

.pdb2em {
  padding-bottom: 2em; }

.pdb3em {
  padding-bottom: 3em; }

.pdb4em {
  padding-bottom: 4em; }

.pdb5em {
  padding-bottom: 5em; }
