@charset "UTF-8";
/* CSS Document */
.recBtnBox.recBtnBox_col1 div {
  margin-left: auto;
  margin-right: auto; }

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; }

body {
  line-height: 1.2;
  font-size: 14px;
  /*font-family: 'Gothic Medium BBB', sans-serif;*/
  font-family: sans-serif;
  color: #333333;
  text-align: justify;
  min-width: 1024px;
  -webkit-text-size-adjust: 100%; }

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

ul {
  list-style: none !important; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: #000; }

sup {
  vertical-align: super;
  font-size: smaller; }

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

table sup {
  color: #ee0000; }

table sup.m2 {
  color: #333; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

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

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

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

/*float*/
.floatR {
  float: right !important; }

.floatL {
  float: left !important; }

/*clear*/
.clear {
  clear: both !important; }

/*clearfix*/
.cf:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0; }

.mt05 {
  margin-top: 5px; }

.mt30 {
  margin-top: 30px; }

.mt15 {
  margin-top: 15px; }

.mb15 {
  margin-bottom: 15px !important; }

.mt85 {
  margin-top: 85px; }

.mb45 {
  margin-bottom: 45px; }

.mb60 {
  margin-bottom: 60px; }

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

.mr25 {
  margin-right: 25px; }

.ml25 {
  margin-left: 25px; }

/*トップページ*/
#top {
  width: 100%;
  height: 100%;
  background: #e3e3dd; }

.main_wrap {
  display: flex;
  align-items: flex-start; }
  .main_wrap header {
    width: 23.04%;
    align-self: stretch;
    background: #6c695c;
    padding: 6.23% 4.33% 15px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: clamp(40px, 9.76vw, 180px) 0;
    box-sizing: border-box; }
    .main_wrap header h1 {
      width: 73.59%;
      margin-inline: auto;
      opacity: 0.9; }
      .main_wrap header h1 a {
        display: block;
        line-height: 0;
        width: 100%; }
        .main_wrap header h1 a img {
          width: 100%; }
    .main_wrap header .head_nav_list {
      font-size: clamp(11px, 0.95vw, 18px);
      line-height: 1;
      font-family: "Aboreto", system-ui;
      display: flex;
      flex-direction: column;
      gap: 3.16em;
      letter-spacing: 0.05em; }
      .main_wrap header .head_nav_list .item a {
        position: relative;
        color: #fff;
        display: block;
        transition: opacity 0.3s ease-in-out; }
        .main_wrap header .head_nav_list .item a span {
          display: block;
          transition: opacity 0.3s ease-in-out; }
        .main_wrap header .head_nav_list .item a .text_en {
          opacity: 1; }
        .main_wrap header .head_nav_list .item a .text_jp {
          font-family: "Yu Mincho Pr6N R","Yu Mincho","游明朝",YuMincho,"游明朝体","Hiragino Mincho ProN","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;
          opacity: 0;
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0; }
        @media (hover: hover) {
          .main_wrap header .head_nav_list .item a:hover .text_en {
            opacity: 0; }
          .main_wrap header .head_nav_list .item a:hover .text_jp {
            opacity: 1; } }
  .main_wrap .main_image {
    width: 76.97%;
    line-height: 0; }
    .main_wrap .main_image img {
      width: 100%; }

footer {
  background: #e3e3dd;
  padding-top: clamp(40px, 8.95%, 165px);
  padding-bottom: clamp(15px, 1.36%, 25px); }

.foot_content {
  margin-left: 4.34%;
  margin-right: 1.96%;
  color: rgba(0, 0, 0, 0.8);
  font-family: "Yu Mincho Pr6N R","Yu Mincho","游明朝",YuMincho,"游明朝体","Hiragino Mincho ProN","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px 0; }
  .foot_content .foot_item {
    line-height: 1; }
    .foot_content .foot_item a {
      display: block;
      transition: opacity 0.3s ease-in-out; }
      @media (hover: hover) {
        .foot_content .foot_item a:hover {
          opacity: 0.7; } }
  .foot_content .foot_left {
    display: flex;
    align-items: baseline;
    font-size: clamp(14px, 1.06vw, 20px);
    gap: 4.15em;
    letter-spacing: 0.18em;
    margin-bottom: clamp(1px, 0.28%, 5px); }
    .foot_content .foot_left .foot_item:nth-child(2) {
      letter-spacing: 0.04em; }
  .foot_content .foot_right {
    text-align: right; }
    .foot_content .foot_right .foot_r_top {
      display: flex;
      align-items: baseline;
      justify-content: flex-end;
      gap: 1.35em;
      margin-bottom: 1em;
      font-size: clamp(11px, 0.9vw, 17px);
      letter-spacing: 0.18em; }
    .foot_content .foot_right .copy {
      font-size: clamp(12px, 0.95vw, 18px);
      letter-spacing: 0.09em; }
