@charset "UTF-8";
/*===========================================================
このファイルはsassで編集されています。
cssを編集しないでください。
=============================================================*/
/*=====================================================================
リセットcssの設定
=======================================================================*/
html {
  color: #000;
  background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

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

fieldset, img {
  border: 0; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

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

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

/*===========================================================
全体の設定
=============================================================*/
.container {
  max-width: 1040px;
  margin: 0 auto;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (max-width: 768px) {
    .container {
      max-width: 100%;
      width: 100%;
      padding-left: 4%;
      padding-right: 4%;
      word-wrap: break-word;
      overflow-wrap: break-word;
      overflow-x: hidden; } }

.container_1100 {
  margin: 0 auto;
  width: 1140px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (max-width: 992px) {
    .container_1100 {
      max-width: 100%;
      width: 100%;
      padding-left: 4%;
      padding-right: 4%;
      word-wrap: break-word;
      overflow-wrap: break-word; } }
  @media screen and (max-width: 576px) {
    .container_1100 {
      padding-left: 4%;
      padding-right: 4%; } }

.relative {
  position: relative; }

.clearfix:after {
  display: block;
  clear: both;
  content: ""; }

.res {
  display: none !important; }
  @media screen and (max-width: 1040px) {
    .res {
      display: block !important; } }

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

.tab-block {
  display: none !important; }
  @media screen and (max-width: 1040px) {
    .tab-block {
      display: block !important; } }

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

.md-block {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .md-block {
      display: block !important; } }

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

.sm-block {
  display: none !important; }
  @media screen and (max-width: 576px) {
    .sm-block {
      display: block !important; } }

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

.w100 {
  width: 100%; }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  line-break: auto; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

html {
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

@media screen and (max-width: 768px) {
  html, body {
    width: 100%; } }

h1, h2, h3, h4, h5, h6, p {
  color: #915c00; }

p {
  font-size: 1.5rem;
  line-height: 1.8;
  text-align: justify;
  letter-spacing: .18rem; }

a {
  color: inherit;
  text-decoration: none;
  display: block; }
  a:active {
    text-decoration: none; }
  a:hover {
    text-decoration: none; }

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

/*=====================================================================
landing__pageの設定 ここから
=======================================================================*/
.center_top {
  margin: 0 0 0;
  width: 100%;
  height: 100vh; }
  .center_top img {
    width: 100%;
    height: 100vh;
    object-fit: cover; }

.slide-animation {
  animation: fadezoom 10s 0s forwards; }

@keyframes fadezoom {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.2); } }
/*=====================================================================
footer
=======================================================================*/
footer {
  width: 100%;
  padding: 35px 0 75px;
  background: #915c00; }

/*=====================================================================
landing__pageの設定
=======================================================================*/
#landing__page div.first_view {
  position: relative;
  height: 100vh;
  width: 100%; }
  #landing__page div.first_view .fixed {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100vw;
    height: 100vh; }
  #landing__page div.first_view .logo {
    width: 35%;
    max-width: 350px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%); }
    @media screen and (max-width: 768px) {
      #landing__page div.first_view .logo {
        width: 50%; } }
    #landing__page div.first_view .logo img {
      width: 100%; }
#landing__page nav {
  background: #fff; }
  @media screen and (max-width: 768px) {
    #landing__page nav {
      display: none; } }
  #landing__page nav ul {
    width: 500px;
    padding: 25px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #landing__page nav ul li {
      border-left: 1px solid #777; }
      #landing__page nav ul li:last-child {
        border-right: 1px solid #777; }
      #landing__page nav ul li a {
        padding: 0 15px;
        color: #777;
        font-size: 0.85rem;
        letter-spacing: 1px; }
#landing__page .back__fixed {
  background-image: url(../img/back__fixed.jpg);
  background-size: cover;
  padding: 30px 0 30px;
  background-attachment: fixed;
  background-position: bottom;
  background-repeat: no-repeat; }
  @media screen and (max-width: 768px) {
    #landing__page .back__fixed {
      background-image: url(../img/back__fixed__sp.jpg);
      background-attachment: scroll; } }
  #landing__page .back__fixed .wrap {
    text-align: center;
    margin: 80px 0; }
    #landing__page .back__fixed .wrap h3 {
      font-size: 1.3rem;
      line-height: 33px;
      letter-spacing: 2px;
      margin: 50px 0 65px;
      position: relative; }
      #landing__page .back__fixed .wrap h3:after {
        content: '';
        position: absolute;
        bottom: -35px;
        display: inline-block;
        width: 60px;
        height: 1px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background-color: black; }

.block.line__up_and_down {
  padding: 150px 0; }
  .block.line__up_and_down .line__up_and_down__block {
    position: relative;
    padding: 50px; }
    .block.line__up_and_down .line__up_and_down__block:before, .block.line__up_and_down .line__up_and_down__block:after {
      content: '';
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      width: 1px;
      height: 100px;
      background: #915c00; }
    .block.line__up_and_down .line__up_and_down__block:before {
      top: -100px; }
    .block.line__up_and_down .line__up_and_down__block:after {
      bottom: -100px; }
    .block.line__up_and_down .line__up_and_down__block h2 {
      font-size: 3.6rem;
      letter-spacing: .45rem;
      text-align: center;
      margin-bottom: 30px; }
    .block.line__up_and_down .line__up_and_down__block p {
      font-size: 2.2rem;
      text-align: center;
      line-height: 2.4;
      letter-spacing: .2rem; }

.block.vertical__rl {
  padding: 100px 0; }
  .block.vertical__rl .vertical__rl__block {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .block.vertical__rl .vertical__rl__block {
        -ms-writing-mode: inherit;
        writing-mode: inherit; } }
    .block.vertical__rl .vertical__rl__block h2 {
      font-size: 2.6rem;
      letter-spacing: .45rem;
      margin-left: 50px; }
      @media screen and (max-width: 768px) {
        .block.vertical__rl .vertical__rl__block h2 {
          text-align: center;
          font-size: 2rem;
          margin-left: 0;
          margin-bottom: 30px; } }
    .block.vertical__rl .vertical__rl__block p {
      font-size: 1.5rem;
      line-height: 2.4;
      letter-spacing: .2rem;
      padding-top: 50px;
      margin-left: 30px; }
      @media screen and (max-width: 768px) {
        .block.vertical__rl .vertical__rl__block p {
          text-align: center;
          font-size: 1.35rem;
          padding-top: 0;
          margin-left: 0;
          margin-bottom: 20px; } }
      .block.vertical__rl .vertical__rl__block p:last-child {
        margin-left: 0; }

.block.column_2__row_2 {
  padding: 100px 0; }
  .block.column_2__row_2 .column_2__row_2__block .w40-md100, .block.column_2__row_2 .column_2__row_2__block .w55-md100 {
    margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .block.column_2__row_2 .column_2__row_2__block .row-reverse {
      flex-flow: wrap; } }
  .block.column_2__row_2 .column_2__row_2__block img {
    width: 100%; }
  .block.column_2__row_2 .column_2__row_2__block h2 {
    font-size: 2.4rem;
    letter-spacing: .25rem;
    margin-bottom: 30px; }
  .block.column_2__row_2 .column_2__row_2__block p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .15rem;
    margin-bottom: 15px; }

.block.column_2 {
  padding: 100px 0; }
  .block.column_2 .column_2__block .w48-md100 {
    margin-bottom: 30px; }
  .block.column_2 .column_2__block img {
    width: 100%; }
  .block.column_2 .column_2__block h3 {
    font-size: 2rem;
    font-weight: 600;
    border-bottom: 1px solid;
    letter-spacing: .25rem;
    padding-bottom: 10px;
    margin-top: 15px;
    margin-bottom: 10px; }
    @media screen and (max-width: 576px) {
      .block.column_2 .column_2__block h3 {
        font-size: 1.6rem; } }
  .block.column_2 .column_2__block p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .15rem;
    margin-bottom: 10px; }
  .block.column_2 .column_2__block p.tr {
    font-weight: bold; }
    .block.column_2 .column_2__block p.tr span {
      margin: 0 5px;
      font-size: 1.1rem; }
      .block.column_2 .column_2__block p.tr span:last-child {
        margin-right: 0; }

.title__line {
  position: relative;
  display: inline-block;
  font-size: 2.6rem;
  letter-spacing: .25rem;
  text-align: center;
  margin-bottom: 50px; }
  .title__line:before, .title__line:after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 150px;
    height: 1px;
    background: #915c00; }
    @media screen and (max-width: 768px) {
      .title__line:before, .title__line:after {
        width: 100px; } }
    @media screen and (max-width: 576px) {
      .title__line:before, .title__line:after {
        width: 50px; } }
  .title__line:before {
    left: -200px; }
    @media screen and (max-width: 768px) {
      .title__line:before {
        left: -150px; } }
    @media screen and (max-width: 576px) {
      .title__line:before {
        left: -70px; } }
  .title__line:after {
    right: -200px; }
    @media screen and (max-width: 768px) {
      .title__line:after {
        right: -150px; } }
    @media screen and (max-width: 576px) {
      .title__line:after {
        right: -70px; } }
  @media screen and (max-width: 576px) {
    .title__line {
      font-size: 2rem;
      margin-bottom: 30px; } }

.bg__img__block {
  background-image: url(../img/back__img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px; }

.block.column_3__vertical__rl .column_3__vertical__rl__block .vertical__rl h2 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 3rem;
  letter-spacing: .3rem; }
  @media screen and (max-width: 768px) {
    .block.column_3__vertical__rl .column_3__vertical__rl__block .vertical__rl h2 {
      -ms-writing-mode: inherit;
      writing-mode: inherit;
      font-size: 2.6rem;
      margin-bottom: 30px;
      text-align: center; } }
.block.column_3__vertical__rl .column_3__vertical__rl__block li {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dotted #915c00; }
  .block.column_3__vertical__rl .column_3__vertical__rl__block li:last-child {
    border-bottom: none; }
.block.column_3__vertical__rl .column_3__vertical__rl__block .left {
  width: calc(100% - 350px);
  padding-right: 50px; }
  @media screen and (max-width: 992px) {
    .block.column_3__vertical__rl .column_3__vertical__rl__block .left {
      width: calc(100% - 250px); } }
  @media screen and (max-width: 768px) {
    .block.column_3__vertical__rl .column_3__vertical__rl__block .left {
      width: 100%;
      padding-right: 0; } }
  .block.column_3__vertical__rl .column_3__vertical__rl__block .left h3 {
    font-size: 2.5rem;
    display: inline-block;
    border-bottom: 1px solid;
    letter-spacing: .3rem;
    padding-bottom: 5px;
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .block.column_3__vertical__rl .column_3__vertical__rl__block .left h3 {
        font-size: 2rem; } }
  .block.column_3__vertical__rl .column_3__vertical__rl__block .left p {
    font-size: 1.4rem;
    letter-spacing: .15rem;
    line-height: 2; }
.block.column_3__vertical__rl .column_3__vertical__rl__block .right {
  width: 350px; }
  @media screen and (max-width: 992px) {
    .block.column_3__vertical__rl .column_3__vertical__rl__block .right {
      width: 250px; } }
  @media screen and (max-width: 768px) {
    .block.column_3__vertical__rl .column_3__vertical__rl__block .right {
      width: 100%;
      margin-top: 20px; } }

.column_2__left_block {
  position: relative;
  z-index: 10;
  padding-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .column_2__left_block {
      padding-bottom: 0px; } }
  .column_2__left_block .left_block {
    position: absolute;
    left: 0;
    width: 100%;
    max-width: 47%; }
    @media screen and (max-width: 768px) {
      .column_2__left_block .left_block {
        position: static;
        max-width: 100%;
        margin: 30px 0; } }
    .column_2__left_block .left_block img {
      object-fit: cover;
      max-height: 320px;
      width: 100%;
      object-position: center; }
  .column_2__left_block h3 {
    font-size: 2.4rem;
    letter-spacing: .25rem;
    margin-bottom: 30px; }
  .column_2__left_block p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .15rem;
    margin-bottom: 15px; }

.column_2__right_block {
  position: relative;
  z-index: 10;
  padding-bottom: 50px; }
  @media screen and (max-width: 768px) {
    .column_2__right_block {
      padding-bottom: 0px; } }
  .column_2__right_block .right_block {
    position: absolute;
    right: 0;
    width: 100%;
    max-width: 47%; }
    @media screen and (max-width: 768px) {
      .column_2__right_block .right_block {
        position: static;
        max-width: 100%;
        margin: 30px 0; } }
    .column_2__right_block .right_block img {
      object-fit: cover;
      max-height: 320px;
      width: 100%;
      object-position: center; }
  .column_2__right_block p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .15rem;
    margin-bottom: 15px; }

.table__column2 dl {
  margin-top: 40px; }
  @media screen and (max-width: 992px) {
    .table__column2 dl {
      margin-top: 0; } }
  .table__column2 dl dt, .table__column2 dl dd {
    padding: 15px;
    font-size: 1.5rem;
    letter-spacing: .15rem; }
  .table__column2 dl dt {
    background: #915c00;
    color: #fff;
    text-align: center;
    border-bottom: 1px solid #fff;
    width: 35%; }
    @media screen and (max-width: 576px) {
      .table__column2 dl dt {
        width: 100%; } }
  .table__column2 dl dd {
    color: #915c00;
    background: #fff;
    border-bottom: 1px solid #915c00;
    width: 65%; }
    @media screen and (max-width: 576px) {
      .table__column2 dl dd {
        width: 100%; } }
