@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,400;0,700;1,400;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
#main_container {
  background-color: #fff; }

#sp_main_visual {
  display: none; }

.ttl_hd {
  margin-bottom: 28px;
  text-align: center; }
  .ttl_hd .ttl {
    font-family: "游明朝", YuMincho medium, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 5.1rem;
    font-weight: 500;
    line-height: 1.16;
    letter-spacing: 10.2px;
    text-indent: 10.2px;
    color: #5a211b; }

.txt_box {
  margin-bottom: 50px; }
  .txt_box .txt {
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 2.5;
    letter-spacing: 1px;
    text-indent: 1px; }

.eng .ttl_hd .ttl {
  letter-spacing: 0px; }

.eng .txt_box .txt {
  letter-spacing: 0px; }

#greeting {
  padding-top: 156px; }
  #greeting .txt_box {
    text-align: center;
    margin-bottom: 0px;
    padding-bottom: 156px; }
  #greeting .site_nav {
    width: 100%; }
    #greeting .site_nav a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      text-align: center;
      padding-bottom: 60px; }
      #greeting .site_nav a:hover {
        background-color: #5A211B;
        opacity: 1; }
        #greeting .site_nav a:hover span {
          color: #fff; }
    #greeting .site_nav .large_nav {
      width: 50%; }
    #greeting .site_nav .middle_nav01 {
      width: 33.20313%; }
    #greeting .site_nav .middle_nav02 {
      width: 33.59375%; }
    #greeting .site_nav img {
      width: 100%;
      height: auto; }
    #greeting .site_nav span {
      display: block;
      text-align: center; }
    #greeting .site_nav .page_name_eng {
      margin-top: 23px;
      margin-bottom: 8px;
      font-size: 2.7rem;
      font-weight: 500;
      line-height: 1.2;
      letter-spacing: 0.2em; }
    #greeting .site_nav .page_name_jpn {
      font-size: 15px;
      font-weight: 500;
      line-height: 1.2;
      letter-spacing: 0.1em; }
    #greeting .site_nav .cho {
      padding-right: 5px; }
    #greeting .site_nav .cho02 {
      padding-right: 4px; }

.eng #greeting .site_nav .page_name_eng {
  letter-spacing: 0em; }

.eng #greeting .site_nav .page_name_jpn {
  letter-spacing: 0em; }

.eng #greeting .site_nav .cho {
  padding-right: 5px; }

.eng #greeting .site_nav .cho02 {
  padding-right: 4px; }

.site_link {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 0px;
  background-color: #f4f4f4; }
  .site_link .site_link_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 570px;
    width: 100%;
    height: 122px;
    margin: 0 0 0 20px;
    background-color: #ffffff; }
  .site_link .btn01 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-image: url(../images/common/gorio_logo.svg);
    background-repeat: no-repeat;
    background-position: left top;
    padding-left: 160px; }
    .site_link .btn01 .tenp_name {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-bottom: 7px;
      font-size: 2.4rem;
      font-weight: 500; }
      .site_link .btn01 .tenp_name b {
        padding-right: 15px;
        font-size: 1.6rem;
        letter-spacing: 1.6px; }
      .site_link .btn01 .tenp_name em {
        font-size: 2.4rem; }
    .site_link .btn01 .url {
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 1.2;
      letter-spacing: 0.9px; }
    .site_link .btn01:hover {
      opacity: 1; }
  .site_link .btn02 {
    padding-top: 10px; }

.eng .ttl_hd .ttl {
  letter-spacing: 0px; }

.eng .txt_box .txt {
  letter-spacing: 0px; }

.eng #greeting .site_nav .page_name_eng {
  letter-spacing: 0em; }

.eng #greeting .site_nav .page_name_jpn {
  letter-spacing: 0em; }

.eng .site_link .btn01 .tenp_name b {
  letter-spacing: 0px; }

.eng .site_link .btn01 .tenp_name .url {
  letter-spacing: 0px; }

@media screen and (max-width: 1200px) {
  .ttl_hd {
    margin-bottom: 2.33333vw; }
    .ttl_hd .ttl {
      font-size: 4.25vw; }
  .txt_box {
    margin-bottom: 4.16667vw; }
    .txt_box .txt {
      font-size: 1.66667vw; }
  #greeting {
    padding-top: 13vw; }
    #greeting .txt_box {
      padding-bottom: 13vw; }
    #greeting .site_nav {
      width: 100%; }
      #greeting .site_nav a {
        padding-bottom: 5vw; }
      #greeting .site_nav .large_nav {
        width: 50%; }
      #greeting .site_nav .middle_nav01 {
        width: 33.20313%; }
      #greeting .site_nav .middle_nav02 {
        width: 33.59375%; }
      #greeting .site_nav .page_name_eng {
        margin-top: 1.91667vw;
        margin-bottom: 0.66667vw;
        font-size: 2vw;
        letter-spacing: 5.4px; }
      #greeting .site_nav .page_name_jpn {
        font-size: 1.25vw; }
  .site_link {
    padding: 3.33333vw 0;
    background-color: #f4f4f4; }
    .site_link .site_link_btn {
      max-width: none;
      width: 47.5vw;
      height: 10.16667vw;
      margin: 0 0 0 1.66667vw; }
    .site_link .btn01 {
      background-size: 10.25vw auto;
      margin: 0 0 0 0;
      padding-left: 13.33333vw; }
      .site_link .btn01 .tenp_name {
        margin-bottom: 0.58333vw;
        font-size: 2vw; }
        .site_link .btn01 .tenp_name b {
          padding-right: 1.25vw;
          font-size: 1.33333vw; }
        .site_link .btn01 .tenp_name em {
          font-size: 2vw; }
      .site_link .btn01 .url {
        font-size: 1.5vw; }
    .site_link .btn02 img {
      max-width: 257px;
      width: 45.08772%; }
  .eng #greeting .site_nav .page_name_eng {
    letter-spacing: 0px; } }

@media screen and (max-width: 960px) {
  .ttl_hd {
    margin-bottom: 2.91667vw; }
    .ttl_hd .ttl {
      font-size: 5.3125vw; }
  .txt_box {
    margin-bottom: 5.20833vw; }
    .txt_box .txt {
      font-size: 2.08333vw; }
  #greeting {
    padding-top: 16.25vw; }
    #greeting .txt_box {
      padding-bottom: 16.25vw; }
    #greeting .site_nav {
      width: 100%; }
      #greeting .site_nav a {
        padding-bottom: 6.25vw; }
      #greeting .site_nav .large_nav {
        width: 50%; }
      #greeting .site_nav .middle_nav01 {
        width: 33.20313%; }
      #greeting .site_nav .middle_nav02 {
        width: 33.59375%; }
      #greeting .site_nav .page_name_eng {
        margin-top: 2.39583vw;
        margin-bottom: 0.83333vw;
        font-size: 2.29167vw;
        letter-spacing: 5.4px; }
      #greeting .site_nav .page_name_jpn {
        font-size: 1.5625vw; }
  .site_link {
    padding: 3.33333vw 0;
    background-color: #f4f4f4; }
    .site_link .site_link_btn {
      max-width: none;
      width: 47.5vw;
      height: 10.16667vw;
      margin: 0 0 0 1.66667vw; }
    .site_link .btn01 {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      background-image: url(../images/common/gorio_logo.svg);
      background-repeat: no-repeat;
      background-position: left top;
      background-size: 10.25vw auto;
      margin: 0 0 0 0;
      padding-left: 13.33333vw; }
      .site_link .btn01 .tenp_name {
        margin-bottom: 0.58333vw;
        font-size: 2vw; }
        .site_link .btn01 .tenp_name b {
          padding-right: 1.25vw;
          font-size: 1.33333vw; }
        .site_link .btn01 .tenp_name em {
          font-size: 2vw; }
      .site_link .btn01 .url {
        font-size: 1.5vw; }
  .eng #greeting .site_nav .page_name_eng {
    letter-spacing: 0px; } }

@media screen and (max-width: 768px) {
  #sp_main_visual {
    display: block; }
    #sp_main_visual img {
      width: 100%;
      height: auto; }
  .ttl_hd {
    margin-bottom: 3.64583vw; }
    .ttl_hd .ttl {
      font-size: 6.38021vw;
      line-height: 1.6; }
  .txt_box {
    margin-bottom: 6.51042vw; }
    .txt_box .txt {
      font-size: 3.64583vw;
      letter-spacing: 0.05em;
      text-indent: 0.05em; }
  #greeting {
    padding-top: 18.61979vw; }
    #greeting .txt_box {
      text-align: center;
      margin-bottom: 0px;
      padding-left: 11.71875vw;
      padding-right: 11.71875vw;
      padding-bottom: 18.48958vw; }
    #greeting .site_nav {
      width: 100%; }
      #greeting .site_nav a {
        padding-bottom: 7.8125vw; }
      #greeting .site_nav .large_nav {
        width: 50%; }
      #greeting .site_nav .middle_nav01 {
        width: 50%; }
      #greeting .site_nav .middle_nav02 {
        width: 50%; }
      #greeting .site_nav img {
        width: 100%;
        height: auto; }
      #greeting .site_nav span {
        display: block;
        text-align: center; }
      #greeting .site_nav .page_name_eng {
        margin-top: 2.60417vw;
        margin-bottom: 0.65104vw;
        font-size: 4.16667vw;
        line-height: 1.84;
        letter-spacing: 1.6px;
        text-indent: 1.6px; }
      #greeting .site_nav .page_name_jpn {
        font-size: 2.73438vw;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 2.1px;
        text-indent: 2.1px; }
  .site_link {
    padding: 5.20833vw 0; }
    .site_link .site_link_btn {
      max-width: 670px;
      width: 87.23958vw;
      height: 20.83333vw;
      margin: 0 0 2.60417vw; }
    .site_link .btn01 {
      background-image: url(../images/common/gorio_logo.svg);
      background-size: 20.83vw auto;
      padding-left: 26.04167vw; }
      .site_link .btn01 .tenp_name {
        margin-bottom: 7px;
        font-size: 3.77604vw;
        font-weight: 500; }
        .site_link .btn01 .tenp_name b {
          padding-right: 1.95313vw;
          font-size: 2.34375vw; }
        .site_link .btn01 .tenp_name em {
          font-size: 3.77604vw; }
      .site_link .btn01 .url {
        display: none; }
      .site_link .btn01 .address {
        font-size: 2.60417vw;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: 0px; }
      .site_link .btn01:hover {
        opacity: 1;
        background-color: #fff;
        color: #000; }
    .site_link .btn02 {
      margin-bottom: 0; }
      .site_link .btn02 img {
        max-width: 314px;
        width: 40.88542vw;
        height: auto; }
  .eng .txt_box .txt {
    letter-spacing: 0em; }
  .eng #greeting .site_nav .page_name_eng {
    letter-spacing: 0px; }
  .eng #greeting .site_nav .page_name_jpn {
    letter-spacing: 0px; }
  .eng .site_link .btn01 .address {
    letter-spacing: 0px; } }
