@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500&family=Cormorant+Garamond:wght@500&display=swap");
* {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  box-sizing: border-box; }

html {
  font-size: 16px;
  overflow-y: scroll; }

body, th, td, input, select, textarea {
  font-family: 'Cormorant Garamond', serif;
  max-width: 100%; }

body {
  margin: 0px auto;
  color: #373A3C;
  background: #ffffff;
  overflow: hidden; }

img {
  border: 0px; }

a {
  text-decoration: none;
  color: #666; }

dl, ul, ol {
  margin: 0px;
  padding: 0px;
  list-style: none; }

p {
  margin: 0px; }

.sp .view_pc {
  display: none !important; }

.view_sp {
  display: none !important; }
  .sp .view_sp {
    display: block !important; }

main .contents * + .lead, main .contents * + .text, main .contents * + .image, main .contents * + .imagebox, main .contents * + .column, main .contents * + .table, main .contents * + .box, main .contents * + .googlemap {
  margin-top: 40px; }
  .sp main .contents * + .lead, main .contents .sp * + .lead, .sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .column, main .contents .sp * + .column, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .box, main .contents .sp * + .box, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap {
    margin-top: 30px; }

main .contents .lead * + p, main .contents .text * + p:not(.image), main .contents .text * + hr, main .contents .text * + ul, main .contents .text * + ol, main .contents .text * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .imagebox > .image * + img,
main .contents .imagebox > .image > * + a {
  margin-top: 20px; }

main .contents {
  position: relative;
  padding: 0px; }
  main .contents > div:not(.background) {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: auto;
    padding: 40px 20px 80px; }
    .sp main .contents > div:not(.background) {
      padding: 20px 10px 40px; }
    .sp main .contents > div:not(.background) {
      width: auto; }
  main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
    margin-top: 0px !important; }
  main .contents h2 {
    font-family: 'Cinzel', serif;
    position: relative;
    display: block;
    margin: 0px 0px 50px;
    font-size: clamp(1.375rem, 0.74202rem + 2.97872vw, 3.125rem);
    line-height: 1.3;
    font-weight: normal;
    font-weight: normal;
    color: #99714B;
    text-align: center; }
    .sp main .contents h2 {
      margin-bottom: 30px; }
  main .contents * + h2 {
    margin-top: 80px; }
    .sp main .contents * + h2 {
      margin-top: 40px; }
  main .contents h3 {
    font-family: 'Cinzel', serif;
    position: relative;
    margin: 0px 0px 30px;
    font-size: clamp(1.25rem, 0.75266rem + 2.34043vw, 2.625rem);
    line-height: 1.3;
    font-weight: normal;
    font-weight: normal; }
    main .contents h3.center {
      text-align: center; }
    main .contents h3 a {
      color: #666;
      position: relative;
      display: inline-block; }
      main .contents h3 a:before {
        content: "";
        display: block;
        position: absolute;
        bottom: calc(0.15em - 5px);
        left: 0px;
        width: 100%;
        height: 1px;
        background: #666;
        -webkit-transition: 0.2s;
        transition: 0.2s;
        -webkit-transform: scale(0);
        transform: scale(0); }
      main .contents h3 a:hover:before {
        -webkit-transform: scale(1);
        transform: scale(1); }
  main .contents * + h3 {
    margin-top: 60px; }
    .sp main .contents * + h3 {
      margin-top: 30px; }
  main .contents h4 {
    font-family: 'Cinzel', serif;
    display: block;
    margin: 0px 0px 50px;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #000;
    font-size: clamp(1.125rem, 0.71809rem + 1.91489vw, 2.25rem);
    line-height: 1.3;
    font-weight: normal; }
  main .contents * + h4 {
    margin-top: 40px; }
  main .contents h5 {
    font-family: 'Cinzel', serif;
    display: block;
    margin: 0px 0px 20px;
    padding: 0px;
    font-size: clamp(1rem, 0.95479rem + 0.21277vw, 1.125rem);
    line-height: 1.3;
    font-weight: normal; }
  main .contents * + h5 {
    margin-top: 20px; }
  main .contents h6 {
    font-family: 'Cinzel', serif;
    display: block;
    margin: 0px 0px 20px;
    padding: 0px;
    font-size: clamp(1rem, 1rem + 0vw, 1rem);
    line-height: 1.3;
    font-weight: normal; }
  main .contents * + h6 {
    margin-top: 20px; }
  main .contents .lead.center {
    text-align: center; }
    .sp main .contents .lead.center {
      text-align: left; }
  main .contents .lead p {
    font-size: clamp(1.125rem, 0.71809rem + 1.91489vw, 2.25rem);
    line-height: 1.3;
    font-weight: normal; }
    main .contents .lead p span {
      display: inline-block; }
      .sp main .contents .lead p span {
        display: inline; }
  main .contents .halfparagraph {
    margin-top: 7px !important; }
  main .contents .text p:not(.image) {
    font-size: clamp(0.875rem, 0.73936rem + 0.6383vw, 1.25rem);
    line-height: 1.5;
    font-weight: normal; }
    main .contents .text p:not(.image) .required {
      color: #EF3340;
      margin-left: 4px;
      margin-right: 4px; }
    main .contents .text p:not(.image).error_mes {
      color: #EF3340; }
    main .contents .text p:not(.image) em.s {
      font-style: normal;
      color: #99714B;
      font-size: 120%; }
    main .contents .text p:not(.image) a {
      color: #666;
      position: relative;
      display: inline-block; }
      main .contents .text p:not(.image) a:before {
        content: "";
        display: block;
        position: absolute;
        bottom: calc(0.35em - 5px);
        left: 0px;
        width: 100%;
        height: 1px;
        background: #666;
        -webkit-transition: 0.2s;
        transition: 0.2s;
        -webkit-transform: scale(0);
        transform: scale(0); }
      main .contents .text p:not(.image) a:hover:before {
        -webkit-transform: scale(1);
        transform: scale(1); }
    main .contents .text p:not(.image).center {
      text-align: center; }
    main .contents .text p:not(.image).right {
      text-align: right; }
    .sp main .contents .text p:not(.image).spleft {
      text-align: left; }
    main .contents .text p:not(.image).note {
      text-indent: -1em;
      margin-left: 1em; }
  main .contents .text hr {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
    width: 90%;
    height: 1px;
    border: 0px;
    background: #898989; }
  main .contents .text ul > li {
    position: relative;
    padding-left: 1.2rem; }
    main .contents .text ul > li:before {
      content: "";
      position: absolute;
      display: block;
      width: 1rem;
      height: 1rem;
      left: 0;
      top: 0.4rem;
      background: #A7A7A7;
      border-radius: 50%; }
    main .contents .text ul > li + li {
      margin-top: 4px; }
  main .contents .text ol {
    counter-reset: number; }
    main .contents .text ol > li {
      margin-left: 1.2em;
      text-indent: -0.63em; }
      main .contents .text ol > li:before {
        counter-increment: number;
        content: " " counter(number) ".";
        display: inline-block;
        margin-right: 0.3em;
        color: #99714B;
        font-weight: bold; }
      main .contents .text ol > li + li {
        margin-top: 4px; }
      main .contents .text ol > li *:not(li) {
        text-indent: 0px; }
      main .contents .text ol > li a {
        vertical-align: top;
        color: #666;
        position: relative;
        display: inline-block; }
        main .contents .text ol > li a:before {
          content: "";
          display: block;
          position: absolute;
          bottom: calc(0.35em - 5px);
          left: 0px;
          width: 100%;
          height: 1px;
          background: #666;
          -webkit-transition: 0.2s;
          transition: 0.2s;
          -webkit-transform: scale(0);
          transform: scale(0); }
        main .contents .text ol > li a:hover:before {
          -webkit-transform: scale(1);
          transform: scale(1); }
      main .contents .text ol > li > * + ul, main .contents .text ol > li > * + ol {
        margin-top: 4px; }
    main .contents .text ol.digit2 > li {
      margin-left: 1.5em;
      text-indent: -0.93em; }
      main .contents .text ol.digit2 > li:before {
        counter-increment: number;
        content: " " counter(number) ".";
        display: inline-block;
        margin-right: 0.3em;
        padding-left: 0.5em; }
      main .contents .text ol.digit2 > li:nth-of-type(n+10) {
        margin-left: 1.5em;
        text-indent: -0.93em; }
        main .contents .text ol.digit2 > li:nth-of-type(n+10):before {
          margin-right: 0.4em;
          padding-left: 0; }
  main .contents .text .image.floatright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px; }
    .sp main .contents .text .image.floatright {
      margin-left: 10px;
      margin-bottom: 10px; }
  main .contents .text .image.floatleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px; }
    .sp main .contents .text .image.floatleft {
      margin-right: 10px;
      margin-bottom: 10px; }
  .sp main .contents .text .image.spclear {
    float: none;
    width: auto !important;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px; }
  main .contents .image {
    text-align: center; }
    main .contents .image img {
      display: block;
      margin: auto;
      max-width: 100%;
      height: auto; }
    main .contents .image p {
      margin: auto;
      text-align: left; }
      * + main .contents .image p {
        margin-top: 8px; }
      main .contents .image p a {
        color: #666;
        position: relative;
        display: inline-block; }
        main .contents .image p a:before {
          content: "";
          display: block;
          position: absolute;
          bottom: calc(0.15em - 5px);
          left: 0px;
          width: 100%;
          height: 1px;
          background: #666;
          -webkit-transition: 0.2s;
          transition: 0.2s;
          -webkit-transform: scale(0);
          transform: scale(0); }
        main .contents .image p a:hover:before {
          -webkit-transform: scale(1);
          transform: scale(1); }
      main .contents .image p.center {
        text-align: center; }
      main .contents .image p.right {
        text-align: right; }
    main .contents .image.left {
      text-align: left; }
      main .contents .image.left img {
        margin-left: 0px; }
      main .contents .image.left p {
        margin-left: 0px; }
    main .contents .image.right {
      text-align: right; }
      main .contents .image.right img {
        margin-right: 0px; }
      main .contents .image.right p {
        margin-right: 0px; }
    main .contents .image > a {
      display: inline-block;
      transition: opacity 0.2s, background 0.2s;
      cursor: pointer;
      width: 100%; }
      main .contents .image > a:hover {
        opacity: 0.7; }
      main .contents .image > a p {
        color: #666; }
  main .contents .imagebox {
    display: table;
    width: 100%;
    table-layout: fixed; }
    main .contents .imagebox > * {
      display: table-cell;
      height: 100%;
      text-align: left;
      vertical-align: top; }
    .sp main .contents .imagebox.spcol1 {
      display: block; }
      .sp main .contents .imagebox.spcol1 > * {
        display: block;
        width: auto !important; }
        .sp main .contents .imagebox.spcol1 > * + * {
          padding-top: 20px;
          padding-left: 0px !important;
          padding-right: 0px !important; }
    main .contents .imagebox > * {
      margin-top: 0px !important; }
      main .contents .imagebox > * + * {
        padding-left: 20px; }
    main .contents .imagebox.reverse {
      direction: rtl; }
      main .contents .imagebox.reverse > * {
        direction: ltr; }
        main .contents .imagebox.reverse > * + * {
          padding-left: 0px;
          padding-right: 20px; }
    main .contents .imagebox > .image img,
    main .contents .imagebox > .image > a {
      display: block;
      width: auto; }
    main .contents .imagebox > .image p {
      width: auto !important; }
    main .contents .imagebox > .text {
      min-width: 50%; }
    main .contents .imagebox.product_image > .image, main .contents .imagebox.product_image > .youtube {
      width: 33.89830508474576%; }
      .sp main .contents .imagebox.product_image > .image, .sp main .contents .imagebox.product_image > .youtube {
        width: 100%; }
  main .contents .column {
    display: flex;
    gap: 20px 20px;
    flex-flow: row wrap; }
    .sp main .contents .column {
      gap: 10px 10px; }
    main .contents .column > a {
      display: block;
      transition: opacity 0.2s, background 0.2s;
      cursor: pointer;
      color: #666; }
      main .contents .column > a:hover {
        opacity: 0.7; }
      main .contents .column > a .image img {
        width: 100%;
        max-width: none; }
    main .contents .column.col1 > * {
      width: calc((100% - 20px * (1 - 1)) / 1); }
      .sp main .contents .column.col1 > * {
        width: calc((100% - 10px * (1 - 1)) / 1); }
    main .contents .column.col2 > * {
      width: calc((100% - 20px * (2 - 1)) / 2); }
      .sp main .contents .column.col2 > * {
        width: calc((100% - 10px * (2 - 1)) / 2); }
    main .contents .column.col3 > * {
      width: calc((100% - 20px * (3 - 1)) / 3); }
      .sp main .contents .column.col3 > * {
        width: calc((100% - 10px * (3 - 1)) / 3); }
    main .contents .column.col4 > * {
      width: calc((100% - 20px * (4 - 1)) / 4); }
      .sp main .contents .column.col4 > * {
        width: calc((100% - 10px * (4 - 1)) / 4); }
    .sp main .contents .column.spcol1 > * {
      width: calc((100% - 10px * (1 - 1)) / 1); }
    .sp main .contents .column.spcol2 > * {
      width: calc((100% - 10px * (2 - 1)) / 2); }
    .sp main .contents .column.spcol3 > * {
      width: calc((100% - 10px * (3 - 1)) / 3); }
    .sp main .contents .column.spcol4 > * {
      width: calc((100% - 10px * (4 - 1)) / 4); }
  main .contents .table {
    overflow-x: auto;
    overflow-y: hidden; }
    main .contents .table > table {
      width: auto;
      border-spacing: 0;
      empty-cells: show;
      table-layout: fixed;
      min-width: 100%; }
      main .contents .table > table.th_middle > tr > th {
        vertical-align: middle; }
      .sp main .contents .table > table.sp_block th, .sp main .contents .table > table.sp_block td {
        display: block; }
      .sp main .contents .table > table.sp_block th {
        text-align: left;
        border-bottom: none; }
      main .contents .table > table > thead > tr > th,
      main .contents .table > table > thead > tr > td,
      main .contents .table > table > tbody > tr > th,
      main .contents .table > table > tr > th {
        position: relative;
        padding: 20px 16px;
        vertical-align: top;
        text-align: center;
        font-size: clamp(0.875rem, 0.78457rem + 0.42553vw, 1.125rem);
        line-height: 1.3;
        font-weight: normal;
        font-weight: normal;
        color: #ffffff;
        overflow: hidden;
        white-space: nowrap; }
        .sp main .contents .table > table > thead > tr > th, .sp
        main .contents .table > table > thead > tr > td, .sp
        main .contents .table > table > tbody > tr > th, .sp
        main .contents .table > table > tr > th {
          padding: 12px 8px;
          white-space: nowrap; }
      main .contents .table > table > thead > tr > th,
      main .contents .table > table > thead > tr > td {
        border-right: 1px solid #fff; }
        main .contents .table > table > thead > tr > th:last-child,
        main .contents .table > table > thead > tr > td:last-child {
          border-right: 1px solid #cdcdcd; }
        main .contents .table > table > thead > tr > th.bdb_white,
        main .contents .table > table > thead > tr > td.bdb_white {
          border-bottom: 1px solid #fff; }
      main .contents .table > table > tbody > tr > th {
        vertical-align: top;
        color: #373A3C;
        border-bottom: 1px solid #000; }
        main .contents .table > table > tbody > tr > th.sphead {
          display: none; }
        main .contents .table > table > tbody > tr > th + th {
          border-left: 1px solid #cdcdcd; }
      main .contents .table > table > tbody > tr > td {
        padding: 20px 16px;
        vertical-align: top;
        text-align: left;
        border-bottom: 1px solid #000;
        font-size: clamp(0.875rem, 0.78457rem + 0.42553vw, 1.125rem);
        line-height: 1.3;
        font-weight: normal; }
        .sp main .contents .table > table > tbody > tr > td {
          padding: 12px 8px; }
        main .contents .table > table > tbody > tr > td + td {
          border-left: 1px solid #cdcdcd; }
      main .contents .table > table .sphead + td:nth-of-type(n+2) {
        border-left: 1px solid #cdcdcd; }
      main .contents .table > table .left {
        text-align: left; }
      main .contents .table > table .right {
        text-align: right; }
      main .contents .table > table .center {
        text-align: center; }
      main .contents .table > table .top {
        vertical-align: top; }
      main .contents .table > table .bottom {
        vertical-align: bottom; }
      main .contents .table > table .middle {
        vertical-align: middle; }
      main .contents .table > table .space {
        background: transparent !important; }
    main .contents .table > p {
      font-size: clamp(0.875rem, 0.78457rem + 0.42553vw, 1.125rem);
      line-height: 1.3;
      font-weight: normal; }
      main .contents .table > p.right {
        text-align: right; }
    main .contents .table > * + p {
      margin-top: 8px; }
    main .contents .table > p + table {
      margin-top: 8px; }
    main .contents .table .category {
      display: inline-block;
      width: 100%;
      padding: 5px 10px;
      margin-right: 10px;
      max-width: 9rem;
      color: #ffffff;
      background: #99714B;
      text-align: center; }
      .tablet main .contents .table .category {
        display: block;
        margin-bottom: 10px; }
    .sp main .contents .table.sp_break {
      display: block; }
      .sp main .contents .table.sp_break col {
        width: auto !important;
        display: block; }
      .sp main .contents .table.sp_break tbody {
        display: block; }
      .sp main .contents .table.sp_break tr {
        display: block; }
      .sp main .contents .table.sp_break th {
        display: block;
        font-weight: bold;
        padding: 12px 0 0 0;
        border: none;
        text-align: left;
        background: none; }
      .sp main .contents .table.sp_break td {
        display: block;
        padding: 10px 0 5px 0;
        font-weight: normal;
        border: none; }
  main .contents .box {
    padding: 14px;
    border: 6px solid #3c5199; }
    .sp main .contents .box {
      padding: 7px;
      border-width: 3px; }
  main .contents .googlemap {
    position: relative;
    padding-top: 50%; }
    .sp main .contents .googlemap {
      padding-top: 75%; }
    main .contents .googlemap iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      -webkit-transition: opacity 400ms;
      transition: opacity 400ms; }
    main .contents .googlemap.googlemapview {
      background: url(../images/loading.gif) no-repeat center center; }
      main .contents .googlemap.googlemapview iframe {
        position: fixed;
        top: 90vh;
        opacity: 0;
        -webkit-transition: opacity 0ms;
        transition: opacity 0ms; }

.tablet body:not(.hone) {
  padding-top: 70px; }

header {
  height: 150px;
  background: #fff;
  padding-top: 15px; }
  .tablet header {
    height: 70px;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1100; }
  header #logo img {
    height: 120px;
    height: auto; }
    .tablet header #logo img {
      width: 240px;
      height: auto;
      margin-left: 10px; }

#menu {
  position: fixed;
  right: 30px;
  top: 30px;
  width: 80px;
  height: 80px;
  z-index: 3100; }
  .tablet #menu {
    right: 10px;
    top: 5px;
    transform: scale(0.675);
    transform-origin: right top; }
  #menu a {
    position: relative;
    display: block;
    width: 80px;
    height: 80px;
    background: transparent;
    box-shadow: 0 0 0px rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    transition: opacity 0.2s, background 0.2s;
    cursor: pointer;
    transition: opacity 0.2s, background 0.6s, box-shadow 0.6s; }
    #menu a:hover {
      opacity: 0.7; }
    #menu a:before {
      content: "";
      position: absolute;
      display: block;
      width: 35px;
      height: 3px;
      top: 40px;
      left: 22.5px;
      background: #99714B;
      transition: 400ms;
      transform-origin: top left; }
      .sp #menu a:before {
        background: #888888; }
    #menu a:after {
      content: "";
      position: absolute;
      display: block;
      width: 35px;
      height: 3px;
      top: 50px;
      left: 22.5px;
      background: #99714B;
      transition: 400ms;
      transform-origin: bottom left; }
      .sp #menu a:after {
        background: #888888; }
    #menu a.open:before {
      top: 30px;
      left: 27.65px;
      transform: rotate(45deg);
      background: #888888; }
    #menu a.open:after {
      top: 55px;
      left: 27.65px;
      width: 35px;
      transform: rotate(-45deg);
      background: #888888; }

#fullmenu {
  position: fixed;
  right: 0px;
  width: 100%;
  top: 0px;
  height: 100vh;
  background: #000;
  z-index: 3000;
  opacity: 0;
  transform: translateX(40%);
  transition: opacity 600ms, transform 600ms;
  pointer-events: none; }
  .tablet #fullmenu {
    display: none; }
  .menuopen #fullmenu {
    transform: translateX(0%);
    opacity: 1;
    pointer-events: auto; }
  #fullmenu .head {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: #fff;
    padding-top: 15px; }
    .tablet #fullmenu .head #logo img {
      width: 240px;
      height: auto;
      margin-left: 10px; }
  #fullmenu .inner {
    display: flex;
    width: 100%;
    height: 100vh; }
  #fullmenu .visual {
    width: 50%;
    height: 100%;
    background: url(../images/fullmenu_bg.jpg) no-repeat center center;
    background-size: cover; }
  #fullmenu .main {
    width: 50%;
    height: 100%;
    overflow: auto; }
    #fullmenu .main > div {
      padding: 200px 0px 0px 40px; }
  #fullmenu .menu > ul
  > li + li {
    margin-top: 30px; }
  #fullmenu .menu > ul
  > li span.acc {
    position: relative; }
    #fullmenu .menu > ul
    > li span.acc::before {
      content: "＋";
      color: #fff;
      font-size: 20px;
      padding-left: 5px; }
    #fullmenu .menu > ul
    > li span.acc.open::before {
      content: "－"; }
  #fullmenu .menu > ul
  > li > ul {
    padding-top: 20px;
    padding-left: 10px; }
    #fullmenu .menu > ul
    > li > ul.home_list {
      display: none; }
    #fullmenu .menu > ul
    > li > ul li {
      position: relative;
      padding-left: 20px; }
      #fullmenu .menu > ul
      > li > ul li::before {
        content: "";
        position: absolute;
        width: 10px;
        height: 1px;
        background: #fff;
        left: 0;
        top: 14px; }
      #fullmenu .menu > ul
      > li > ul li + li {
        margin-top: 20px; }
  #fullmenu .menu a {
    color: #fff;
    transition: color 400ms;
    font-size: clamp(1.375rem, 1.84521rem + -2.21277vw, 0.075rem);
    line-height: 1.3;
    font-weight: normal; }
    #fullmenu .menu a:hover {
      color: #99714B; }

#spmenu {
  display: none;
  position: fixed;
  right: 0px;
  width: 100%;
  top: 70px;
  max-height: calc(100vh - 70px);
  z-index: 2010;
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
  -webkit-transition: opacity 600ms, -webkit-transform 600ms;
  transition: opacity 600ms, transform 600ms;
  opacity: 0;
  overflow: auto;
  pointer-events: none; }
  .tablet #spmenu {
    display: block; }
  .menuopen #spmenu {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1;
    pointer-events: auto; }
  #spmenu img {
    display: block;
    width: 100%;
    height: auto;
    margin: auto; }
  #spmenu a {
    color: #fff; }
  #spmenu ul {
    width: 100%;
    background: #373A3C; }
    #spmenu ul li {
      position: relative; }
      #spmenu ul li + li {
        border-top: 1px solid #fff; }
      #spmenu ul li.search {
        padding: 10px;
        background: #373A3C; }
      #spmenu ul li.current {
        background: #898989; }
        #spmenu ul li.current a {
          color: #fff; }
      #spmenu ul li a {
        display: block;
        padding: 10px 40px 10px 10px; }
      #spmenu ul li .btn {
        position: absolute;
        z-index: 5;
        right: 5px;
        top: 5px;
        width: 30px;
        height: 30px;
        text-align: center;
        padding-top: 4px;
        cursor: pointer; }
        #spmenu ul li .btn:after {
          content: "＋";
          color: #fff; }
        #spmenu ul li .btn.open:after {
          content: "－"; }
      #spmenu ul li > ul {
        display: none;
        border-top: 1px solid #fff; }
        #spmenu ul li > ul li + li {
          border-top: 1px dotted #fff; }
        #spmenu ul li > ul > li a {
          padding-left: 20px; }
        #spmenu ul li > ul > li > ul > li {
          background: #fff; }
          #spmenu ul li > ul > li > ul > li + li {
            border-top: 1px dotted #373A3C; }
          #spmenu ul li > ul > li > ul > li a {
            padding-left: 30px;
            color: #373A3C; }
  #spmenu > ul {
    border-bottom: 1px solid #fff; }
  #spmenu p {
    background: #373A3C;
    padding: 20px 10px 10px;
    color: #fff; }
  #spmenu .contact {
    background: #373A3C;
    padding: 10px 10px 20px;
    text-align: center; }
    #spmenu .contact a {
      display: inline-block;
      margin-top: 15px;
      border: 1px solid #fff;
      color: #fff;
      font-family: 'Lora', sans-serif;
      font-weight: bold;
      padding: 10px 30px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      border-radius: 20px; }

footer {
  position: relative;
  z-index: 2000;
  background: #fff;
  padding-bottom: 15px; }
  footer > div:not(#contact) {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: auto;
    padding: 80px 20px 20px; }
    .sp footer > div:not(#contact) {
      padding: 40px 10px 10px; }
    .sp footer > div:not(#contact) {
      padding: 20px 10px; }
    footer > div:not(#contact) .inner {
      padding-left: 50%; }
      .sp footer > div:not(#contact) .inner {
        display: none; }
      footer > div:not(#contact) .inner .logo img {
        width: 100%;
        max-width: 680px; }
      footer > div:not(#contact) .inner > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin-top: 20px; }
        footer > div:not(#contact) .inner > ul > li {
          width: calc((100% - 20px) / 2); }
          footer > div:not(#contact) .inner > ul > li:first-child {
            display: none; }
          footer > div:not(#contact) .inner > ul > li:last-child {
            display: none; }
          footer > div:not(#contact) .inner > ul > li a {
            color: #373A3C;
            position: relative;
            display: inline-block;
            font-size: clamp(1.25rem, 1.675rem + -2vw, 0.075rem);
            line-height: 1.3;
            font-weight: normal; }
            footer > div:not(#contact) .inner > ul > li a:before {
              content: "";
              display: block;
              position: absolute;
              bottom: calc(0.05em - 5px);
              left: 0px;
              width: 100%;
              height: 1px;
              background: #666;
              -webkit-transition: 0.2s;
              transition: 0.2s;
              -webkit-transform: scale(0);
              transform: scale(0); }
            footer > div:not(#contact) .inner > ul > li a:hover:before {
              -webkit-transform: scale(1);
              transform: scale(1); }
          footer > div:not(#contact) .inner > ul > li > ul {
            display: none; }
  footer .privacy {
    padding-left: 30px; }
    .sp footer .privacy {
      padding: 0 10px; }
    footer .privacy a {
      color: #373A3C;
      position: relative;
      display: inline-block; }
      footer .privacy a:before {
        content: "";
        display: block;
        position: absolute;
        bottom: calc(0.05em - 5px);
        left: 0px;
        width: 100%;
        height: 1px;
        background: #666;
        -webkit-transition: 0.2s;
        transition: 0.2s;
        -webkit-transform: scale(0);
        transform: scale(0); }
      footer .privacy a:hover:before {
        -webkit-transform: scale(1);
        transform: scale(1); }
  footer .copy {
    margin-top: 15px;
    padding-left: 30px; }
    .sp footer .copy {
      padding: 0 10px; }
  footer #contact {
    position: fixed;
    left: 30px;
    bottom: 30px;
    width: 180px;
    height: 180px;
    z-index: 2000;
    background: #000; }
    .pc footer #contact {
      width: 120px;
      height: 120px; }
      .pc footer #contact a {
        width: 120px;
        height: 120px;
        font-size: clamp(1rem, 1rem + 0vw, 1rem);
        line-height: 1.3;
        font-weight: normal; }
        .pc footer #contact a::after {
          content: "";
          width: 110px;
          height: 110px; }
        .pc footer #contact a:hover {
          letter-spacing: 2px; }
          .pc footer #contact a:hover::after {
            width: 100px;
            height: 100px; }
    .tablet footer #contact {
      position: absolute;
      bottom: auto;
      top: 80px; }
    .sp footer #contact {
      display: none; }
    .footer01 footer #contact {
      position: absolute;
      bottom: auto;
      top: 80px; }
    footer #contact a {
      display: grid;
      position: relative;
      place-items: center;
      width: 180px;
      height: 180px;
      color: #fff;
      background: #000;
      font-size: clamp(1.375rem, 1.375rem + 0vw, 1.375rem);
      line-height: 1.3;
      font-weight: normal;
      transition: 0.4s; }
      footer #contact a::after {
        content: "";
        position: absolute;
        width: 170px;
        height: 170px;
        top: 4px;
        left: 4px;
        border: 1px solid #fff;
        z-index: 0;
        transition: 0.4s; }
      footer #contact a:hover {
        letter-spacing: 3px; }
        footer #contact a:hover::after {
          width: 160px;
          height: 160px;
          top: 9px;
          left: 9px; }

#cat_label {
  position: relative;
  background: url(../images/cat_label_bg.jpg) no-repeat top center;
  background-size: cover;
  min-height: 350px; }
  .tablet #cat_label {
    min-height: 250px; }
  .sp #cat_label {
    min-height: auto; }
  #cat_label::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2; }
  #cat_label > div {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: auto;
    padding: 20px 20px 0px;
    z-index: 5; }
    .sp #cat_label > div {
      padding: 10px 10px 0px; }
    .sp #cat_label > div {
      padding-bottom: 30px; }
    #cat_label > div h1 {
      margin: 40px 0 0 0;
      font-family: 'Cinzel', serif;
      font-size: clamp(1.25rem, 0.57181rem + 3.19149vw, 3.125rem);
      line-height: 1.3;
      font-weight: normal;
      color: #fff; }
      .tablet #cat_label > div h1 {
        margin-top: 30px; }
      .sp #cat_label > div h1 {
        margin-top: 20px; }
  #cat_label.level3 {
    background: none;
    min-height: auto; }
    #cat_label.level3::before {
      display: none; }
    #cat_label.level3 * {
      color: #373A3C !important; }
    #cat_label.level3 > div h1 {
      padding-bottom: 40px; }
      .sp #cat_label.level3 > div h1 {
        padding: 0; }

#breadcrumbs {
  position: relative;
  z-index: 10; }
  .sp #breadcrumbs {
    display: none; }
  #breadcrumbs > ul > li {
    display: inline-block;
    color: #fff;
    font-size: clamp(0.875rem, 0.82979rem + 0.21277vw, 1rem);
    line-height: 1.3;
    font-weight: normal; }
    #breadcrumbs > ul > li + li:before {
      content: "";
      position: relative;
      display: inline-block;
      width: 1px;
      height: 0.75em;
      top: 0;
      margin: 0px 8px;
      background: #fff;
      -webkit-transform: skewX(-30deg);
      transform: skewX(-30deg); }
      .level3 #breadcrumbs > ul > li + li:before {
        background: #373A3C; }
    #breadcrumbs > ul > li a {
      position: relative;
      display: inline-block;
      color: #fff; }
      #breadcrumbs > ul > li a:before {
        content: "";
        display: block;
        position: absolute;
        bottom: calc(0.05em - 5px);
        left: 0px;
        width: 100%;
        height: 1px;
        background: #fff;
        -webkit-transition: 0.2s;
        transition: 0.2s;
        -webkit-transform: scale(0);
        transform: scale(0); }
      #breadcrumbs > ul > li a:hover:before {
        -webkit-transform: scale(1);
        transform: scale(1); }
      .level3 #breadcrumbs > ul > li a::before {
        background: #373A3C; }
    #breadcrumbs > ul > li br {
      display: none; }

.button {
  margin-top: 40px; }
  .button.center {
    text-align: center; }
  .sp .button.sp_center {
    text-align: center; }
  .button > a {
    display: inline-block;
    padding: 10px 40px;
    border: 1px solid #707070;
    background: #000;
    color: #fff;
    transition: 0.3s;
    border-radius: 25px;
    font-size: clamp(1.25rem, 1.34043rem + -0.42553vw, 1rem);
    line-height: 1.3;
    font-weight: normal; }
    .button > a:hover {
      background: #fff;
      color: #373A3C;
      border-color: #000; }
      .button > a:hover span.blank::before {
        opacity: 0; }
      .button > a:hover span.blank::after {
        opacity: 1; }
    .button > a + a {
      margin-left: 20px; }

.sp main .contents > div.howto {
  position: relative;
  background: url(../../howto/images/howto01.jpg) center no-repeat;
  background-size: cover; }
  .sp main .contents > div.howto::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 0; }
main .contents .comment_area {
  background: #000; }
  main .contents .comment_area > a {
    position: relative;
    display: block;
    min-height: 400px;
    padding: 20px; }
    .pc main .contents .comment_area > a {
      min-height: auto; }
    main .contents .comment_area > a:hover > div.img::after {
      transform: scale(1.2); }
    main .contents .comment_area > a > div.img {
      position: absolute;
      width: 50%;
      height: 100%;
      left: 0;
      top: 0;
      overflow: hidden; }
      .pc main .contents .comment_area > a > div.img {
        display: none; }
      main .contents .comment_area > a > div.img::before {
        content: "";
        position: absolute;
        width: 10%;
        height: 100%;
        right: 0;
        top: 0;
        z-index: 1;
        background: linear-gradient(to right, transparent 0%, black 100%); }
      main .contents .comment_area > a > div.img::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 0;
        transition: 1s;
        overflow: hidden; }
      main .contents .comment_area > a > div.img.area01::after {
        background: url(../../nakamoto/images/nakamoto01.jpg) no-repeat right center;
        background-size: cover; }
    main .contents .comment_area > a > div.tx {
      position: relative;
      z-index: 10;
      border: 1px solid #fff;
      min-height: 360px;
      color: #fff;
      padding: 20px;
      padding-left: calc(50% + 100px); }
      .pc main .contents .comment_area > a > div.tx {
        min-height: auto;
        padding: 20px; }
      main .contents .comment_area > a > div.tx .title {
        font-size: clamp(3.75rem, 5.08378rem + -6.2766vw, 0.0625rem);
        line-height: 1.3;
        font-weight: normal;
        text-align: right;
        margin-top: 0; }
        .pc main .contents .comment_area > a > div.tx .title {
          text-align: center; }
      main .contents .comment_area > a > div.tx p.subtitle {
        font-size: clamp(1.875rem, 2.51928rem + -3.03191vw, 0.09375rem);
        line-height: 1.3;
        font-weight: normal;
        text-align: right;
        margin-top: 0px; }
        .pc main .contents .comment_area > a > div.tx p.subtitle {
          text-align: center; }
      main .contents .comment_area > a > div.tx .sp_img {
        display: none;
        text-align: center; }
        .pc main .contents .comment_area > a > div.tx .sp_img {
          display: block; }
        main .contents .comment_area > a > div.tx .sp_img img {
          max-width: 100%;
          height: auto; }
      main .contents .comment_area > a > div.tx p {
        font-size: clamp(1.25rem, 1.66822rem + -1.96809vw, 0.09375rem);
        line-height: 1.3;
        font-weight: normal;
        margin-top: 40px; }
main .contents .brewing_area {
  margin-top: 60px; }
  main .contents .brewing_area > div {
    display: flex;
    gap: 20px; }
    .sp main .contents .brewing_area > div {
      flex-wrap: wrap; }
    main .contents .brewing_area > div > a {
      display: block;
      width: calc((100% - 40px) / 3);
      color: #000; }
      .sp main .contents .brewing_area > div > a {
        width: calc((100% - 20px) / 2); }
      main .contents .brewing_area > div > a .img {
        overflow: hidden; }
      main .contents .brewing_area > div > a img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
        object-position: 50% 50%;
        transition: 1s; }
      main .contents .brewing_area > div > a:hover img {
        transform: scale(1.1); }
      main .contents .brewing_area > div > a span {
        display: block;
        text-align: center;
        margin-top: 5px;
        font-size: clamp(1.625rem, 2.17886rem + -2.60638vw, 0.09375rem);
        line-height: 1.3;
        font-weight: normal; }
        .sp main .contents .brewing_area > div > a span {
          font-size: clamp(1.125rem, 1.49801rem + -1.75532vw, 0.09375rem);
          line-height: 1.3;
          font-weight: normal; }

.contact_form {
  margin-top: 40px; }
  .contact_form table.form {
    width: 100%;
    margin-bottom: -40px; }
    .contact_form table.form th {
      padding: 5px 20px 40px 0;
      width: 10rem;
      text-align: right;
      clear: both;
      vertical-align: top;
      font-size: clamp(1.25rem, 1.675rem + -2vw, 0.075rem);
      line-height: 1.3;
      font-weight: normal;
      font-weight: bold; }
      .contact_form table.form th span {
        display: inline-block;
        color: #EC212F; }
        .sp .contact_form table.form th span {
          margin-left: 10px; }
    .contact_form table.form td {
      padding: 0 10rem 40px 0;
      vertical-align: top;
      font-size: clamp(1.25rem, 1.675rem + -2vw, 0.075rem);
      line-height: 1.3;
      font-weight: normal; }
      .sp .contact_form table.form td {
        padding-right: 0; }
      .contact_form table.form td select, .contact_form table.form td input, .contact_form table.form td textarea {
        width: 100%;
        padding: 10px;
        border: 1px solid #CDD6DD;
        border-radius: 5px;
        font-size: clamp(1.25rem, 1.675rem + -2vw, 0.075rem);
        line-height: 1.3;
        font-weight: normal; }
      .contact_form table.form td .radio {
        display: inline-block; }
        .contact_form table.form td .radio label {
          display: inline-block;
          padding-left: 0;
          margin-right: 20px; }
          .contact_form table.form td .radio label input {
            position: static;
            width: auto;
            vertical-align: middle;
            margin: 0 5px 0 0;
            opacity: 1; }
      .contact_form table.form td * + .radio {
        margin-left: 20px; }
    .sp .contact_form table.form tr, .sp .contact_form table.form th, .sp .contact_form table.form td {
      display: block; }
    .sp .contact_form table.form th {
      width: 100%;
      padding: 0 0 20px 0;
      text-align: left; }
      .sp .contact_form table.form th br {
        display: none; }
    .contact_form table.form.confirm th {
      padding-top: 0; }

.button {
  display: flex;
  justify-content: center; }
  .button a, .button button, .button > span {
    position: relative;
    display: inline-block;
    min-width: 120px;
    padding: 5px 20px;
    text-decoration: none !important;
    color: #000 !important;
    outline: none;
    z-index: 2;
    border: 1px solid #98A6B5;
    background: #fff;
    cursor: pointer;
    transition: opacity 0.2s, background 0.2s;
    cursor: pointer;
    font-size: clamp(1.375rem, 1.83843rem + -2.18085vw, 0.09375rem);
    line-height: 1.3;
    font-weight: normal;
    font-family: 'Cormorant Garamond', serif; }
    .button a:hover, .button button:hover, .button > span:hover {
      opacity: 0.7; }
  .button * + a, .button * + button {
    margin-left: 20px; }

.news_area > a, .news_area > span {
  display: flex;
  font-size: clamp(1.375rem, 1.83843rem + -2.18085vw, 0.09375rem);
  line-height: 1.3;
  font-weight: normal; }
  .sp .news_area > a, .sp .news_area > span {
    display: block;
    font-size: clamp(1rem, 1.32779rem + -1.54255vw, 0.09375rem);
    line-height: 1.3;
    font-weight: normal; }
  .news_area > a .date, .news_area > span .date {
    width: 160px; }
    .sp .news_area > a .date, .sp .news_area > span .date {
      width: auto; }
  .news_area > a .tx, .news_area > span .tx {
    width: calc(100% - 160px); }
    .sp .news_area > a .tx, .sp .news_area > span .tx {
      width: auto; }
  .news_area > a + a, .news_area > a + span, .news_area > span + a, .news_area > span + span {
    margin-top: 20px; }
.news_area a {
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer; }
  .news_area a:hover {
    opacity: 0.7; }

#bg_slide_howto {
  position: fixed;
  background: url(../../howto/images/howto05.jpg) no-repeat;
  background-size: cover;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -1; }
  .sp #bg_slide_howto {
    display: none; }
  #bg_slide_howto::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 10; }

.howtobox {
  position: relative;
  color: #fff;
  z-index: 1; }
  .howtobox .lead {
    padding-top: 40px;
    font-size: clamp(2.25rem, 3.02992rem + -3.67021vw, 0.09375rem);
    line-height: 1.3;
    font-weight: normal; }
    .sp .howtobox .lead {
      padding-top: 30px;
      font-size: clamp(1.625rem, 2.17886rem + -2.60638vw, 0.09375rem);
      line-height: 1.3;
      font-weight: normal; }
  .howtobox .columnhowto {
    display: flex;
    margin-top: 100px; }
    .sp .howtobox .columnhowto {
      margin-top: 40px;
      flex-direction: column;
      flex-flow: column-reverse; }
    .howtobox .columnhowto .tx {
      width: 60%;
      padding-right: 40px; }
      .sp .howtobox .columnhowto .tx {
        width: auto;
        padding-right: 0;
        padding-top: 30px; }
      .howtobox .columnhowto .tx p {
        font-size: clamp(1.75rem, 2.34907rem + -2.81915vw, 0.09375rem);
        line-height: 1.3;
        font-weight: normal;
        line-height: 1.8; }
        .sp .howtobox .columnhowto .tx p {
          font-size: clamp(1.375rem, 1.83843rem + -2.18085vw, 0.09375rem);
          line-height: 1.3;
          font-weight: normal;
          line-height: 1.6; }
    .howtobox .columnhowto .img {
      width: 40%; }
      .sp .howtobox .columnhowto .img {
        width: auto;
        text-align: center; }
      .howtobox .columnhowto .img img {
        max-width: 100%; }
        .sp .howtobox .columnhowto .img img {
          max-width: 280px; }
  .howtobox .label {
    font-size: clamp(2.25rem, 3.02992rem + -3.67021vw, 0.09375rem);
    line-height: 1.3;
    font-weight: normal;
    margin-top: 60px;
    text-align: center;
    font-family: 'Cinzel', serif; }

#modal {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 5000;
  padding: 20px; }
  .sp #modal {
    padding: 70px 20px 20px 20px; }
  #modal .close {
    position: absolute;
    width: 50px;
    height: 50px;
    top: 20px;
    right: 20px;
    transition: opacity 0.2s, background 0.2s;
    cursor: pointer;
    z-index: 100; }
    #modal .close:hover {
      opacity: 0.7; }
    #modal .close::before, #modal .close::after {
      content: "";
      position: absolute;
      left: -21%;
      top: 50%;
      width: 100%;
      height: 1px;
      background-color: #fff; }
    #modal .close::before {
      transform: rotateZ(-45deg); }
    #modal .close::after {
      transform: rotateZ(45deg); }
  #modal > div:not(.close) {
    position: relative;
    width: 100%;
    height: 100%; }
    #modal > div:not(.close) > .item {
      position: absolute;
      display: none;
      width: 100%;
      height: 100%;
      max-width: 1280px;
      max-height: 800px;
      top: 50%;
      left: 50%;
      color: #fff;
      transform: translate(-50%, -50%);
      overflow-y: auto; }
      .sp #modal > div:not(.close) > .item {
        width: 100%;
        height: calc(100% - 40px);
        max-width: none;
        max-height: none; }
      #modal > div:not(.close) > .item .title {
        font-size: clamp(3.125rem, 4.22593rem + -5.18085vw, 0.08125rem);
        line-height: 1.3;
        font-weight: normal;
        text-align: center; }
        .sp #modal > div:not(.close) > .item .title {
          font-size: clamp(2.5rem, 3.37487rem + -4.11702vw, 0.08125rem);
          line-height: 1.3;
          font-weight: normal; }
      #modal > div:not(.close) > .item .subtitle {
        font-size: clamp(1.375rem, 1.84295rem + -2.20213vw, 0.08125rem);
        line-height: 1.3;
        font-weight: normal;
        text-align: center;
        margin-top: 20px; }
      #modal > div:not(.close) > .item .col {
        display: flex;
        margin-top: 60px; }
        .sp #modal > div:not(.close) > .item .col {
          flex-direction: column;
          flex-flow: column-reverse;
          padding: 0 10px;
          margin-top: 30px; }
        #modal > div:not(.close) > .item .col .left {
          width: 60%; }
          .sp #modal > div:not(.close) > .item .col .left {
            width: auto; }
          #modal > div:not(.close) > .item .col .left .head {
            font-size: clamp(1.5rem, 2.01316rem + -2.41489vw, 0.08125rem);
            line-height: 1.3;
            font-weight: normal;
            padding: 0 0 20px 30px;
            border-bottom: 1px solid #fff; }
            .sp #modal > div:not(.close) > .item .col .left .head {
              padding: 0 0 20px 10px; }
          #modal > div:not(.close) > .item .col .left * + .head {
            margin-top: 50px; }
          #modal > div:not(.close) > .item .col .left p.tx {
            font-size: clamp(1.25rem, 1.66822rem + -1.96809vw, 0.09375rem);
            line-height: 1.3;
            font-weight: normal;
            padding-right: 20px; }
          #modal > div:not(.close) > .item .col .left * + p {
            margin-top: 20px; }
          #modal > div:not(.close) > .item .col .left .history {
            display: flex;
            flex-wrap: wrap;
            gap: 20px 0px;
            width: 100%;
            font-size: clamp(1.25rem, 1.67274rem + -1.98936vw, 0.08125rem);
            line-height: 1.3;
            font-weight: normal;
            margin-top: 20px;
            padding-left: 30px; }
            .sp #modal > div:not(.close) > .item .col .left .history {
              padding-left: 10px; }
            #modal > div:not(.close) > .item .col .left .history .year {
              width: 70px; }
            #modal > div:not(.close) > .item .col .left .history .tx {
              width: calc(100% - 70px); }
        #modal > div:not(.close) > .item .col.single .left {
          width: 100%; }
        #modal > div:not(.close) > .item .col .right {
          width: 40%;
          border: 1px solid #fff;
          text-align: center;
          padding: 20px; }
          .sp #modal > div:not(.close) > .item .col .right {
            width: auto;
            border: none; }
          #modal > div:not(.close) > .item .col .right video {
            width: 100%;
            max-width: 300px;
            height: auto; }
          #modal > div:not(.close) > .item .col .right img {
            width: 100%;
            height: auto; }
            .sp #modal > div:not(.close) > .item .col .right img {
              max-width: 300px; }
          #modal > div:not(.close) > .item .col .right p {
            text-align: right;
            margin-top: 10px;
            padding-right: 20px; }

.error_mes {
  color: #f00;
  font-size: clamp(1.125rem, 1.50253rem + -1.7766vw, 0.08125rem);
  line-height: 1.3;
  font-weight: normal;
  line-height: 1.5; }
