@charset "UTF-8";
/*---------- reset ----------*/
*,
*:before,
*:after {
  box-sizing: border-box; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, legend, input, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

address, caption, cite, code, dfn, th, var {
  font-style: normal;
  font-weight: normal; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
time {
  margin: 0;
  display: block; }

html {
  font-family: YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
  overflow-y: scroll;
  font-size: 62.5%;
  width: 100%;
  -webkit-text-size-adjust: 100%; }

ol, ul {
  list-style: none; }

input[type="submit"],
input[type="button"],
input[type="reset"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus,
input[type="reset"]::focus {
  outline-offset: -2px; }

/*--------------------*/
/*コンテンツ内の見出し*/
/*---------- base ----------*/
html {
  overflow-x: hidden;
  overflow-y: scroll;
  min-width: 320px;
  scroll-behavior: smooth;
  scroll-padding: 210px; }
  @media screen and (max-width: 1000px) {
    html {
      scroll-padding: 90px; } }

body {
  font-family: 'Noto Sans JP', YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
  color: #000;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: .1em;
  font-weight: 500;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 1.4rem; } }

_:-ms-lang(x)::-ms-backdrop, body {
  /*IE11のみに適用*/
  letter-spacing: .02em; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-style: normal;
  font-weight: normal; }

strong {
  font-style: normal;
  font-weight: bolder; }

em {
  font-style: normal;
  font-weight: 500; }

q::before,
q::after {
  display: none; }

fieldset {
  border: none; }

hr {
  display: none; }

.clear {
  clear: both; }

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0px;
  visibility: hidden; }

.clearfix {
  min-height: 1px; }

img {
  width: 100%;
  height: auto;
  vertical-align: top;
  border: 0;
  pointer-events: none; }

img.no_round {
  border-radius: 0; }

a {
  color: #000;
  background: transparent;
  text-decoration: none;
  outline-style: none;
  transition: color .5s,opacity .5s,background-color .5s; }

@media screen and (min-width: 769px) {
  a:hover {
    color: #000; }

  .hover a {
    opacity: 1.0;
    transition: opacity .5s,color .5s; }
    .hover a:hover {
      opacity: .6; } }
a img {
  line-height: 0; }

iframe {
  display: block; }

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button {
  padding: 0;
  background-color: transparent;
  border: 0;
  cursor: pointer; }

input[type="text"],
textarea {
  background-color: #DCDDDD;
  width: 100%; }

.txt_r {
  text-align: right; }

.txt_c {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .txt_c {
      text-align: left; } }

.small_txt {
  font-size: 80%; }

.bld {
  font-weight: 500; }

.bld_L {
  font-weight: 500;
  font-size: 120%; }

.strike {
  text-decoration: line-through; }

.important {
  color: #FF0000; }

.break {
  word-break: break-all; }

.sp_only {
  display: none; }

.tab_only,
.tab_sp_only {
  display: none; }

.package {
  display: flex; }

em {
  color: #FF2200;
  font-weight: 500; }

@media screen and (min-width: 769px) and (max-width: 1000px) {
  br.tab_only {
    display: inline; } }
@media screen and (max-width: 1000px) {
  .tab_sp_only {
    display: block; }

  br.tab_sp_only {
    display: inline; }

  .pc_only {
    display: none !important; } }
@media screen and (max-width: 768px) {
  .sp_only {
    display: block; }

  br.sp_only {
    display: inline; }

  .tab_pc_only {
    display: none; } }
/*---------- 目次 ----------*/
.index_nav {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px; }
  @media screen and (max-width: 1000px) {
    .index_nav {
      margin-bottom: 50px; } }
  .index_nav:last-child {
    margin-bottom: 0; }

/*---------- btn ----------*/
.btn_more, .btn_back {
  max-width: 160px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 5px;
    /*
    a::after,
	&.nolink::after {
        @include btnArrow;
    }
    */
    /*
    &.blank {
        
        &.nolink,
        a {
            
            &::before,
            &::after {
                width: 21px;
                height: 18px;
                background-size: 21px 18px;
            }
            &::before {
                background-image: url( "../images/icon_blank.svg");
            }
            &::after {
                background-image: url( "../images/icon_blank_wh.svg");
            }
        }


    }
    */ }
  @media screen and (max-width: 768px) {
    .btn_more, .btn_back {
      max-width: 160px; } }
  .btn_more a, .btn_back a, .btn_more.nolink, .nolink.btn_back {
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: .02em;
    line-height: 1.2;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 37px;
    padding: 5px;
    background-color: #036eb7;
    position: relative;
    border: solid 1px #036eb7;
    border-radius: 5px;
    transition: opacity .5s; }
  .contents .btn_more a, .contents .btn_back a {
    color: #fff;
    text-decoration: none; }
  @media screen and (min-width: 769px) {
    .btn_more a:hover, .btn_back a:hover, a:hover .btn_more.nolink, a:hover .nolink.btn_back {
      opacity: .6; } }
  .btn_more.lft, .lft.btn_back {
    margin-left: 0; }
  .btn_more.rght, .rght.btn_back {
    margin-right: 0; }
  .btn_more.txt_center a, .txt_center.btn_back a {
    justify-content: center; }

.btn_more_group {
  display: flex;
  gap: 30px; }
  @media screen and (max-width: 768px) {
    .btn_more_group {
      display: block; } }
  .btn_more_group.center {
    justify-content: center; }
  @media screen and (min-width: 769px) {
    .btn_more_group .btn_more, .btn_more_group .btn_back {
      margin-left: 0;
      margin-right: 0; } }
  @media screen and (max-width: 768px) {
    .btn_more_group .btn_more, .btn_more_group .btn_back {
      margin-bottom: 15px; }
      .btn_more_group .btn_more:last-child, .btn_more_group .btn_back:last-child {
        margin-bottom: 0; } }

.btn_reserve {
  width: 130px;
  margin-top: 12px; }
  @media screen and (max-width: 1000px) {
    .btn_reserve {
      width: 200px;
      margin-right: auto;
      margin-left: auto; } }
  .btn_reserve a {
    font-size: 1.2rem;
    color: #000;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 1px #000;
    border-radius: 5px; }
    @media screen and (max-width: 1000px) {
      .btn_reserve a {
        height: 50px; } }

/*=============================== レイアウト ================================*/
.l-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow-x: hidden;
  padding-top: 210px;
  /*
  body:not(.is-home) & {
      padding-top: 280px;
      
      @media screen and (max-width: $breakPointTab) {
          padding-top: 150px;
      }    
  }*/ }
  @media screen and (max-width: 1000px) {
    .l-wrap {
      padding-top: 90px; } }

.l-main {
  position: relative;
  z-index: 4; }

.l-container {
  width: 100%; }

.l-section {
  position: relative;
  width: 100%;
  z-index: 1; }

/*=============================== header ================================*/
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.85);
  /*
  @media screen and (min-width: $breakPointTab + 1) {
  
      .onheader & {
          background-color: rgba(255,255,255,.85);
      }
  }*/ }
  .header_inner {
    max-width: 1050px;
    padding-left: 25px;
    padding-right: 25px;
    width: 100%;
    height: 210px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: flex-start;
    position: relative; }
    @media screen and (max-width: 1000px) {
      .header_inner {
        height: 90px; } }
    @media screen and (max-width: 400px) {
      .header_inner {
        padding-left: 15px;
        padding-right: 15px; } }

/*---------- ロゴ ----------*/
.header_logo {
  width: 220px;
  position: absolute;
  left: 42px;
  bottom: -68px; }
  @media screen and (max-width: 1000px) {
    .header_logo {
      width: 142px;
      margin-right: 0;
      left: 32px;
      bottom: -58px; } }
  @media screen and (max-width: 400px) {
    .header_logo {
      width: 110px;
      bottom: -40px;
      left: 15px; } }
  .header_logo a {
    display: block; }

/*=============================== メインビジュアル ===============================*/
.kv {
  width: 100%;
  height: 496px;
  position: relative;
  z-index: 3;
  margin-bottom: 75px; }
  @media screen and (max-width: 768px) {
    .kv {
      height: 64.58vw;
      margin-bottom: 30px; } }
  .kv_inner {
    height: 100%;
    position: relative; }

/*----- KV CONTENTS -----*/
/*
.kv_contents {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.kv_contents_inner {
    width: 100%;
	height: 100%;
	position: relative;
}
*/
/*----- KV SLIDE -----*/
.kv_slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1; }

.slick-list {
  height: 100%; }

.slick-track {
  height: 100%; }

.bx-wrapper,
.bx-viewport {
  height: 100% !important; }

.kv_slide_body {
  height: 100%; }
  .is-concept .kv_slide_body {
    width: 4458px; }
    @media screen and (max-width: 768px) {
      .is-concept .kv_slide_body {
        width: 580.47vw; } }
  .is-room .kv_slide_body {
    width: 3765px; }
    @media screen and (max-width: 768px) {
      .is-room .kv_slide_body {
        width: 490.23vw; } }
  .is-restaurant .kv_slide_body {
    width: 3742px; }
    @media screen and (max-width: 768px) {
      .is-restaurant .kv_slide_body {
        width: 487.24vw; } }
  .is-access .kv_slide_body {
    width: 2737px; }
    @media screen and (max-width: 768px) {
      .is-access .kv_slide_body {
        width: 356.38vw; } }
  .kv_slide_body .slider {
    height: 100%;
    display: flex;
    animation: gotoleft 40s linear infinite; }
    .is-concept .kv_slide_body .slider {
      animation-duration: 65.2s; }
    .is-room .kv_slide_body .slider {
      animation-duration: 55.2s; }
    .is-restaurant .kv_slide_body .slider {
      animation-duration: 54.8s; }

@keyframes gotoleft {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
.kv_slide_item {
  width: 100%;
  height: 100%;
  flex-shrink: 0; }
  @media screen and (max-width: 768px) {
    .kv_slide_item {
      flex-shrink: 1; } }
  .kv_slide_item img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
    @media screen and (max-width: 768px) {
      .kv_slide_item img {
        width: auto; } }
  .is-concept .kv_slide_item {
    width: 743px; }
  .is-room .kv_slide_item:nth-child(6n-5) {
    width: 744px; }
  .is-room .kv_slide_item:nth-child(6n-4) {
    width: 460px; }
  .is-room .kv_slide_item:nth-child(6n-3) {
    width: 744px; }
  .is-room .kv_slide_item:nth-child(6n-2) {
    width: 743px; }
  .is-room .kv_slide_item:nth-child(6n-1) {
    width: 744px; }
  .is-room .kv_slide_item:nth-child(6n-6) {
    width: 330px; }
  .is-restaurant .kv_slide_item:nth-child(7n-6) {
    width: 744px; }
  .is-restaurant .kv_slide_item:nth-child(7n-5) {
    width: 600px; }
  .is-restaurant .kv_slide_item:nth-child(7n-4) {
    width: 736px; }
  .is-restaurant .kv_slide_item:nth-child(7n-3) {
    width: 568px; }
  .is-restaurant .kv_slide_item:nth-child(7n-2) {
    width: 328px; }
  .is-restaurant .kv_slide_item:nth-child(7n-1) {
    width: 420px; }
  .is-restaurant .kv_slide_item:nth-child(7n-7) {
    width: 346px; }
  .is-access .kv_slide_item:nth-child(3n-2) {
    width: 952px; }
  .is-access .kv_slide_item:nth-child(3n-1) {
    width: 904px; }
  .is-access .kv_slide_item:nth-child(3n-3) {
    width: 881px; }
  @media screen and (max-width: 768px) {
    .l-wrap .kv .kv_slide_item {
      width: auto;
      height: 100%; } }

/*---------- メインビジュアル（下層ページ） ----------*/
.page_caption {
  margin-top: auto;
  margin-bottom: 45px; }
  @media screen and (max-width: 768px) {
    .page_caption {
      margin-bottom: 20px; } }

.page_ttl {
  color: #000;
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-bottom: 38px; }
  @media screen and (max-width: 768px) {
    .page_ttl {
      font-size: 2rem;
      margin-bottom: 20px; } }

/*---------- メインナビ ----------*/
.main_nav_outer {
  margin-left: auto; }

.main_nav_wrap {
  height: 100%;
  position: relative; }

.main_nav {
  padding-top: 40px; }
  @media screen and (max-width: 1000px) {
    .main_nav {
      padding-top: 90px; } }

.main_nav_body {
  /*display: flex;
  column-gap: 30px;*/
  text-align: right; }

.main_nav_item {
  position: relative;
  margin-bottom: 11px; }
  .main_nav_item:last-child {
    margin-bottom: 0; }
  .main_nav_item > a {
    font-size: 1.2rem;
    color: #000;
    letter-spacing: .06em;
    font-weight: 400;
    white-space: nowrap;
    display: block;
    position: relative;
    transition: color .5s,opacity .5s;
    /*
    @media screen and (min-width: $breakPointTab + 1) {
    
        .onheader & {
            color: $black;
        }
    }*/
    /*
    &::after {
        content: attr(data-en);
        display: block;
        font-size: 1.1rem;
        @include robot;
        color: $keyColor;
        margin-top: 0;
        transition: color .5s;
        
        .is-home & {
            color: #fff;
        }
        
        @media screen and (min-width: $breakPointTab + 1) {
        
            .onheader & {
                color: $keyColor;
            }
        }
    }*/ }
  .main_nav_item.act > a {
    color: #036eb7; }

/*---------- メインナビ SP ----------*/
@media screen and (max-width: 1000px) {
  #mainNav,
  .main_nav_wrap {
    display: none; }

  .main_nav_wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.95);
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 50px;
    overflow: auto;
    height: calc(100%); }
    .main_nav_wrap > nav {
      display: block; } }
  @media screen and (max-width: 1000px) and (max-width: 400px) {
    .main_nav_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

@media screen and (max-width: 1000px) {
  #mainNavWrap {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 101;
    height: 0;
    background-color: #fff; }
    #mainNavWrap .main_nav {
      width: 100%; }
    #mainNavWrap .main_nav_body {
      width: 100%;
      flex-direction: column;
      border-top: solid 1px #036eb7;
      margin-bottom: 30px; }
    #mainNavWrap .main_nav_item {
      border-bottom: solid 1px #036eb7;
      margin-bottom: 0; }
      #mainNavWrap .main_nav_item a {
        color: #000;
        font-size: 1.4rem;
        display: flex;
        align-items: center;
        text-shadow: none;
        padding: 20px 15px; }
        #mainNavWrap .main_nav_item a::after {
          color: #036eb7;
          line-height: 1;
          margin-left: 8px;
          margin-bottom: 0; }
        #mainNavWrap .main_nav_item a::before {
          content: "";
          display: block;
          width: 6px;
          height: 6px;
          border-top: solid 2px #036eb7;
          border-right: solid 2px #036eb7;
          position: absolute;
          top: 50%;
          right: 15px;
          transform: translateY(-50%) rotate(45deg); }
      #mainNavWrap .main_nav_item.act a {
        background-color: #E6F4F1; } }
.switch_btn {
  width: 50px;
  height: 50px;
  border: solid 1px #fff;
  position: absolute;
  top: 20px;
  right: 25px;
  z-index: 100;
  transition: border .2s; }
  @media screen and (max-width: 1000px) {
    .switch_btn {
      width: 40px;
      height: 40px;
      border: none;
      right: 10px;
      top: 5px; } }

.switch_btn_line {
  width: 40px;
  height: 20px;
  position: relative;
  margin: 0 auto; }

.switch_btn_line span {
  left: 10%;
  width: 80%;
  height: 2px;
  display: block;
  position: absolute;
  background-color: #036eb7;
  transition: all 0.2s linear; }

.switch_btn_line span:nth-of-type(1) {
  top: 0px;
  transform: rotate(0); }

.switch_btn_line span:nth-of-type(2) {
  top: 9px;
  transform: scale(1); }

.switch_btn_line span:nth-of-type(3) {
  bottom: 0px;
  transform: rotate(0); }

.switch_btn.btnClose {
  border-color: transparent; }

.switch_btn.btnClose span:nth-of-type(1) {
  top: 9px;
  transform: rotate(-45deg); }

.switch_btn.btnClose span:nth-of-type(2) {
  transform: scale(0); }

.switch_btn.btnClose span:nth-of-type(3) {
  bottom: 9px;
  transform: rotate(45deg); }

/*=============================== 展示会 ================================*/
.exhibition_package {
  display: flex; }
  @media screen and (max-width: 768px) {
    .exhibition_package {
      flex-direction: column; } }
  .exhibition_package .img_wrap {
    width: 450px; }
    @media screen and (max-width: 1000px) {
      .exhibition_package .img_wrap {
        width: 45%; } }
    @media screen and (max-width: 768px) {
      .exhibition_package .img_wrap {
        width: 100%;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px; } }
    .exhibition_package .img_wrap a {
      display: block; }
  .exhibition_package .txt_wrap {
    width: calc(100% - 450px);
    padding-right: 40px; }
    @media screen and (max-width: 1000px) {
      .exhibition_package .txt_wrap {
        width: 55%;
        padding-right: 20px; } }
    @media screen and (max-width: 768px) {
      .exhibition_package .txt_wrap {
        width: 100%;
        padding-right: 0; } }

.exhibition .caption {
  margin-bottom: 12px; }
  .exhibition .caption .sub {
    font-size: 1.4rem;
    letter-spacing: .02em; }
    @media screen and (max-width: 1000px) {
      .exhibition .caption .sub {
        font-size: 1.2rem; } }
  .exhibition .caption .title {
    font-size: 3.8rem; }
    @media screen and (max-width: 1000px) {
      .exhibition .caption .title {
        font-size: 2.6rem; } }
.exhibition .detail {
  font-size: 2rem;
  margin-bottom: 30px; }
  @media screen and (max-width: 1000px) {
    .exhibition .detail {
      font-size: 1.5rem; } }
  .exhibition .detail p {
    margin-bottom: 5px; }
  .exhibition .detail .note {
    font-size: 1.4rem; }
    @media screen and (max-width: 1000px) {
      .exhibition .detail .note {
        font-size: 1.2rem; } }
.exhibition .exhibition_body {
  line-height: 1.8;
  letter-spacing: 0;
  margin-bottom: 35px; }
.exhibition .lead {
  margin-bottom: 30px; }
.exhibition .profile_ttl {
  font-weight: 500; }

.img_sub {
  margin-top: 90px; }
  @media screen and (max-width: 768px) {
    .img_sub {
      margin-top: 30px; } }

.img_sub_body li {
  margin-bottom: 15px; }
  .img_sub_body li:last-child {
    margin-bottom: 0; }

/*=============================== FOOTER ===============================*/
.footer {
  width: 100%;
  /*overflow: hidden;*/
  position: relative;
  z-index: 3; }
  @media screen and (max-width: 768px) {
    .footer {
      margin-top: 0; } }
  body:not(.is-home) .footer {
    margin-top: 200px; }
    @media screen and (max-width: 768px) {
      body:not(.is-home) .footer {
        margin-top: 50px; } }

.footer_reserve {
  padding-left: 15px;
  padding-right: 15px; }

.footer_reserve_btn a {
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 154px;
  background-color: #595757; }
  @media screen and (max-width: 768px) {
    .footer_reserve_btn a {
      height: 100px; } }
  .footer_reserve_btn a .label_wrap > span {
    display: block; }
  .footer_reserve_btn a .site_name {
    font-size: 1.3rem;
    margin-bottom: 3px; }
    @media screen and (max-width: 768px) {
      .footer_reserve_btn a .site_name {
        font-size: 1.2rem; } }
  .footer_reserve_btn a .label {
    font-size: 2.6rem;
    letter-spacing: .15em; }
    @media screen and (max-width: 768px) {
      .footer_reserve_btn a .label {
        font-size: 2rem; } }

.footer_inner {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 25px;
  padding-right: 25px; }
  .footer_inner .footer_package {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 285px; }
    @media screen and (max-width: 768px) {
      .footer_inner .footer_package {
        flex-direction: column-reverse;
        height: auto;
        margin-bottom: 15px; } }
  .footer_inner .adr_wrap,
  .footer_inner .nav_wrap {
    width: 50%; }
    @media screen and (max-width: 768px) {
      .footer_inner .adr_wrap,
      .footer_inner .nav_wrap {
        width: 100%; } }
  @media screen and (max-width: 768px) {
    .footer_inner .vcard {
      text-align: center; } }
  .footer_inner .vcard .fn {
    width: 140px;
    margin-bottom: 5px; }
    @media screen and (max-width: 768px) {
      .footer_inner .vcard .fn {
        margin-left: auto;
        margin-right: auto; } }
  .footer_inner .vcard dd {
    font-size: 1.2rem; }
  .footer_inner .nav_wrap {
    text-align: right;
    display: flex;
    justify-content: flex-end;
    height: 100%;
    padding-top: 58px; }
    @media screen and (max-width: 768px) {
      .footer_inner .nav_wrap {
        width: 100%;
        text-align: center;
        display: block;
        padding-top: 30px;
        margin-bottom: 40px; } }
  .footer_inner .footer_nav li {
    margin-bottom: 11px; }
    .footer_inner .footer_nav li:last-child {
      margin-bottom: 0; }
    .footer_inner .footer_nav li a {
      font-size: 1.2rem;
      display: block; }

.footer_contact_btn {
  margin-top: 5px; }

/*----- COPYRIGHT -----*/
.copyright {
  color: #595757;
  font-size: 1.2rem;
  letter-spacing: .06em;
  white-space: nowrap;
  background-color: #eeeeef;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 1000px) {
    .copyright {
      text-align: center; } }
  @media screen and (max-width: 768px) {
    .copyright {
      padding: 30px 15px 30px; } }

/*
.copyright_inner {
	max-width: 1050px;
    height: 50px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 25px;
	padding-right: 25px;
	display: flex;
	flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
	
	@media screen and (max-width: $breakPointSp) {
		flex-direction: column;
		height: auto;
	}
	
	.ct {
		
		@media screen and (max-width: $breakPointSp) {
			display: none;
		}
	}
}
*/
/*=============================== ページトップ ===============================*/
.onheader .page_nav_group {
  opacity: 1;
  pointer-events: auto; }

.page_nav_group {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s;
  width: 60px; }
  .page_nav_group a {
    font-size: 1rem;
    color: #036eb7;
    line-height: 1;
    text-align: center;
    outline-style: none;
    display: block;
    width: 60px;
    height: 60px;
    position: relative;
    border-radius: 100%;
    background-color: #fff;
    transition: opacity .5s ease; }
    @media screen and (max-width: 768px) {
      .page_nav_group a {
        width: 50px;
        height: 50px; } }
    @media screen and (min-width: 769px) {
      .page_nav_group a:hover {
        opacity: .6; } }

.page_nav_pagetop a {
  display: block;
  background-color: #036eb7;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .page_nav_pagetop a {
      padding-top: 20px;
      letter-spacing: .02em; } }
.page_nav_pagetop a::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
  margin-top: -3px; }

/*=============================== side bar ===============================*/
.container {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 0 25px 300px; }
  @media screen and (max-width: 768px) {
    .container {
      display: block;
      padding-bottom: 50px; } }
  .container #main {
    width: calc(100% - 300px); }
    @media screen and (max-width: 768px) {
      .container #main {
        width: auto; } }
  .container .side_bar {
    width: 250px; }
    @media screen and (max-width: 768px) {
      .container .side_bar {
        width: auto;
        margin-top: 80px; } }

.side_menu dt {
  color: #E69D94;
  font-size: 1.6rem;
  font-weight: 500;
  border-top: solid 1px #E69D94;
  border-bottom: solid 1px #E69D94;
  background-color: #FFF7F7;
  padding: 15px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .side_menu dt {
      margin-bottom: 15px; } }
  .side_menu dt::before {
    content: "";
    display: block;
    width: 2px;
    height: 16px;
    background-color: #036eb7;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
.side_menu dd:last-child {
  border-bottom: solid 1px #D3D3D3; }

@media screen and (max-width: 768px) {
  .side_menu_body {
    display: flex;
    flex-wrap: wrap; } }

.side_menu_item {
  border-bottom: solid 1px #D3D3D3; }
  @media screen and (max-width: 768px) {
    .side_menu_item {
      width: 49%;
      margin-left: 2%;
      border: none;
      margin-bottom: 15px; }
      .side_menu_item:nth-child(2n+1) {
        margin-left: 0; } }
  .side_menu_item:last-child {
    border-bottom: 0; }
  .side_menu_item > a {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .05em;
    display: block;
    position: relative;
    padding: 15px 55px 15px 15px; }
    @media screen and (max-width: 768px) {
      .side_menu_item > a {
        padding: 15px 20px 15px 15px;
        border: solid 1px #036eb7; } }
    @media screen and (min-width: 769px) {
      .side_menu_item > a::before {
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
        transition: all .5s;
        z-index: 2; } }
  @media screen and (min-width: 769px) and (max-width: 768px) {
    .side_menu_item > a::before {
      width: 8px;
      height: 8px; } }

    @media screen and (max-width: 768px) {
      .side_menu_item > a::before {
        content: "";
        display: block;
        width: 6px;
        height: 6px;
        border-top: solid 2px #036eb7;
        border-right: solid 2px #036eb7;
        position: absolute;
        top: 50%;
        right: 15px;
        transform: translateY(-50%) rotate(45deg); } }
    @media screen and (min-width: 769px) {
      .side_menu_item > a:hover {
        color: #000;
        background-color: #FFF7F7; }
        .side_menu_item > a:hover::before {
          margin-right: -5px; } }
  .side_menu_item.act > a {
    color: #036eb7;
    background-color: #FFEFEF; }
    @media screen and (min-width: 769px) {
      .side_menu_item.act > a::before {
        margin-right: -5px; } }

.side_sub_menu_body {
  border-top: solid 1px #ddd; }
  @media screen and (max-width: 768px) {
    .side_sub_menu_body {
      display: none; } }

.side_sub_menu_item {
  border-bottom: solid 1px #e3e3e3;
  position: relative; }
  .side_sub_menu_item:last-child {
    border-bottom: 0; }
  .side_sub_menu_item > a {
    font-size: 1.5rem;
    letter-spacing: .05em;
    display: block;
    padding: 10px 35px 10px 33px;
    position: relative;
    background-color: #f7f7f7; }
    @media screen and (max-width: 768px) {
      .side_sub_menu_item > a {
        padding-top: 12px;
        padding-bottom: 12px; } }
    .side_sub_menu_item > a::before {
      content: "";
      display: block;
      width: 10px;
      height: 1px;
      background-color: #000;
      position: absolute;
      left: 15px;
      top: calc(.75em + 10px);
      transform: translateY(-50%);
      transition: background-color .5s; }
      @media screen and (max-width: 768px) {
        .side_sub_menu_item > a::before {
          top: calc(.75em + 12px); } }
    .side_sub_menu_item > a::after {
      content: "";
      display: block;
      width: 6px;
      height: 6px;
      border-top: solid 2px #036eb7;
      border-right: solid 2px #036eb7;
      position: absolute;
      top: 50%;
      right: 15px;
      transform: translateY(-50%) rotate(45deg);
      border-color: #000;
      border-width: 1px;
      transition: border-color .5s; }
      @media screen and (min-width: 769px) {
        .side_sub_menu_item > a::after {
          right: 26px; } }
    @media screen and (min-width: 769px) {
      .side_sub_menu_item > a:hover::before {
        background-color: #036eb7; }
      .side_sub_menu_item > a:hover::after {
        border-color: #036eb7; } }
  .side_sub_menu_item.act a {
    color: #036eb7;
    background-color: #f0f0f0; }
    @media screen and (min-width: 769px) {
      .side_sub_menu_item.act a {
        left: 18px; } }
    .side_sub_menu_item.act a::before {
      background-color: #036eb7; }
    .side_sub_menu_item.act a::after {
      border-color: #036eb7; }

.side_ttl {
  font-weight: 500;
  text-align: center;
  border-top: solid 1px #DFDFDF;
  position: relative; }
  .side_ttl a {
    color: #000;
    display: block;
    padding: 30px 0; }
    @media screen and (max-width: 768px) {
      .side_ttl a {
        font-size: 2rem;
        padding-top: 20px;
        padding-bottom: 20px; } }
  .side_ttl::before {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background-color: #E69D94;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%); }
  .side_ttl:last-child {
    border-bottom: solid 1px #DFDFDF; }

/*=============================== WordPress ===============================*/
.archive_ttl {
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .archive_ttl {
      font-size: 2rem;
      line-height: 1.4;
      text-align: left;
      margin-bottom: 50px; }
      .archive_ttl br:not(.break) {
        display: none; } }
  .archive_ttl::before {
    content: "";
    display: block;
    width: 27px;
    height: 6px;
    margin-bottom: 15px;
    background: #036eb7; }

.post_list {
  border-top: solid 1px #E8E8E8; }

.post_item {
  border-bottom: solid 1px #E8E8E8;
  display: flex;
  padding-top: 25px;
  padding-bottom: 25px; }
  @media screen and (max-width: 1000px) {
    .post_item {
      display: block; } }
  .post_item:last-child {
    margin-bottom: 0; }
  .contents .post_item a {
    text-decoration: none; }
  .project .post_item {
    display: block; }

.post_entry_meta {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .post_entry_meta {
      margin-right: 0;
      margin-bottom: 5px; } }
  .project .post_entry_meta {
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .project .post_entry_meta {
        margin-bottom: 5px; } }
  .post_entry_meta .cat_list {
    margin-right: 22px; }
    @media screen and (min-width: 769px) {
      .post_entry_meta .cat_list {
        max-width: 130px; } }
    @media screen and (max-width: 768px) {
      .post_entry_meta .cat_list {
        margin-right: 0; } }

.post_date {
  font-size: 1.6rem;
  color: #8B8B8B;
  display: block;
  width: 115px; }
  @media screen and (max-width: 768px) {
    .post_date {
      width: auto;
      margin-right: 15px; } }
  @media screen and (max-width: 350px) {
    .post_date {
      font-size: 1.4rem; } }

.post_ttl {
  padding-top: 2px; }
  .contents .post_ttl a {
    color: #000;
    display: block;
    transition: color .5s; }
    @media screen and (min-width: 769px) {
      .contents .post_ttl a:hover {
        color: #036eb7; } }
  .contents a .post_ttl {
    color: #000;
    transition: color .5s; }
  @media screen and (min-width: 769px) {
    .contents a:hover .post_ttl {
      color: #036eb7; } }

.contents .post_client {
  font-size: 1.4rem;
  color: #14328A;
  font-weight: 500;
  margin-bottom: 0; }

/*---------- WordPress／side bar ----------*/
.side_ttl_info {
  font-weight: 500;
  text-align: center;
  padding: 18px 0 15px;
  background: #F4FAFB;
  border: solid 1px #036eb7;
  margin-bottom: 15px; }

.archive_list {
  margin-bottom: 40px; }

.side_post_item {
  border-bottom: solid 1px #E8E8E8;
  padding-bottom: 15px;
  margin-bottom: 15px; }

.side_post_date {
  font-size: 1.6rem;
  color: #8B8B8B;
  margin-bottom: 5px;
  display: block; }

.side_post_ttl {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 10px; }

.side_post_client {
  color: #036eb7;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 5px; }

/*----- カテゴリ -----*/
.archive_list.category a {
  font-size: 1.6rem;
  display: inline-flex;
  /*公開時*/ }
.archive_list.category > ul > li {
  border-bottom: solid 1px #E8E8E8;
  padding: 15px 0; }
  .archive_list.category > ul > li:first-child {
    padding-top: 0; }
.archive_list.category .children {
  padding-top: 10px;
  padding-left: 2em;
  list-style: disc outside; }
  .archive_list.category .children li {
    margin-bottom: 10px; }
    .archive_list.category .children li:last-child {
      margin-bottom: 0; }
    .archive_list.category .children li a {
      font-size: 1.5rem;
      padding: 0; }

/*----- 月別 -----*/
.year_group {
  border-bottom: solid 1px #E8E8E8; }
  .year_group ul {
    display: none;
    padding: 5px 0 5px 1em;
    border-top: solid 1px #4c4948; }
  .year_group a {
    display: block;
    padding: 5px 0;
    /*公開時*/ }

.year_ttl {
  font-size: 1.8rem;
  position: relative;
  padding: 10px 0 10px 5px;
  cursor: pointer; }

.year_ttl::before,
.year_ttl::after {
  content: " ";
  display: block;
  position: absolute;
  width: 8px;
  height: 2px;
  background-color: #00376A;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .5s; }

.year_ttl::after {
  transform: translateY(-50%) rotate(90deg); }

.active .year_ttl::after {
  transform: translateY(-50%) rotate(0); }

/*----- cat -----*/
.cat_wrap {
  display: flex; }
  @media screen and (max-width: 768px) {
    .cat_wrap {
      display: block; } }

.cat_label {
  font-size: 1.6rem;
  color: #8B8B8B;
  margin-right: 5px;
  white-space: nowrap; }
  @media screen and (max-width: 768px) {
    .cat_label {
      display: block;
      margin-right: 0;
      margin-bottom: 10px; } }

.cat_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px; }
  .cat_list .cat {
    letter-spacing: .04em;
    text-align: center;
    width: 100%;
    min-width: 130px;
    /*
    &.news,
    &.news > a {background-color: #FFFF89; color: $black; border-color: #E8E8E8;}
    */
    /*公開時*/ }
    @media screen and (max-width: 350px) {
      .cat_list .cat {
        min-width: 80px; } }
    a .cat_list .cat,
    .cat_list .cat a {
      font-size: 1.4rem;
      color: #fff;
      font-weight: 500;
      text-decoration: none;
      line-height: 1.5;
      background-color: #036eb7;
      display: block;
      width: 100%;
      height: 24px;
      padding: 1px 8px 0;
      border-radius: 12px;
      transition: opacity .5s;
      /*pointer-events: none;*/ }
      @media screen and (max-width: 350px) {
        a .cat_list .cat,
        .cat_list .cat a {
          font-size: 1.2rem; } }
    @media screen and (min-width: 769px) {
      a:hover .cat_list .cat,
      .cat_list .cat a:hover {
        opacity: .6; } }
    .is-home .cat_list .cat, .common_post_list .cat_list .cat {
      margin-bottom: 10px; }

/*
.tag_list {
    display: flex;
    flex-wrap: wrap;
    gap:10px;
    
    li {
        
        &::before {
            content: "";
            display: inline-block;
            width: 12px;
            height: 12px;
            background-image: url( "../images/icon_tag.svg");
            background-repeat: no-repeat;
            background-position: 0 0;
            background-size: 12px 12px;
            margin-right: 5px;
        }
        
        a {
            text-decoration: underline;
        }
    }
}
*/
/*---------- WordPress／single ----------*/
/*----- editor -----*/
.entry_body {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-bottom: 50px; }
  @media screen and (max-width: 768px) {
    .entry_body {
      font-size: 1.6rem;
      line-height: 1.6; } }
  .entry_body .movie {
    aspect-ratio: 16 / 9; }
    .entry_body .movie iframe {
      width: 100%;
      height: 100%; }

.entry_body h1,
.entry_body h2 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  display: inline-block;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 15px;
  position: relative;
  padding-left: 30px; }
  @media screen and (max-width: 768px) {
    .entry_body h1,
    .entry_body h2 {
      font-size: 1.8rem;
      margin-bottom: 10px;
      padding: 8px 25px 12px 25px; } }
  .entry_body h1:last-child,
  .entry_body h2:last-child {
    margin-bottom: 0; }

.entry_body h3 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  display: inline-block;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 15px;
  position: relative;
  padding-left: 30px; }
  @media screen and (max-width: 768px) {
    .entry_body h3 {
      font-size: 1.8rem;
      margin-bottom: 10px;
      padding: 8px 25px 12px 25px; } }
  .entry_body h3:last-child {
    margin-bottom: 0; }

.entry_body h4 {
  font-size: 1.8rem;
  color: #036eb7;
  font-weight: 500;
  position: relative;
  display: inline-block;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (max-width: 768px) {
    .entry_body h4 {
      font-size: 1.6rem;
      margin-top: 5px;
      margin-bottom: 5px; } }

.entry_body h5,
.entry_body h6 {
  font-weight: 600;
  display: inline-block;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 5px; }
  @media screen and (max-width: 768px) {
    .entry_body h5,
    .entry_body h6 {
      font-size: 1.4rem; } }

.entry_body p {
  position: relative;
  margin-bottom: 20px; }
  .entry_body p:last-child {
    margin-bottom: 0; }

.entry_body .wp-block-image {
  margin-bottom: 20px; }

.entry_body .wp-block-embed {
  margin-bottom: 20px; }

.entry_body .wp-block-embed iframe {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.entry_body blockquote {
  margin-bottom: 20px;
  border: solid 1px #ddd;
  padding: 25px;
  background-color: #fdfdfd; }

.entry_body a {
  color: #036eb7;
  text-decoration: underline;
  /*
  &[href$=".pdf"] {
      padding-top: 0px;
      padding-bottom: 2px;
      padding-left: 0px;
      padding-right: 18px;
      background-image: url(../images/icon_pdf.png)!important;
      background-repeat: no-repeat;
      background-position: right 2px center;
      background-size: 16px 16px!important;
  }
  &[href$=".doc"],
  &[href$=".docx"],
  &[href$=".xls"],
  &[href$=".xlsx"] {
        padding-top: 0px;
        padding-bottom: 2px;
        padding-left: 0px;
        padding-right: 18px;
        background-image : url("../images/icon_download.svg")!important;
        background-repeat: no-repeat;
        background-position: right center;
    }
    */ }

.entry_body a:hover {
  text-decoration: none; }

.entry_body em {
  /*font-style: italic;*/
  font-weight: normal; }

.entry_body strong {
  font-weight: 500; }

.entry_body img {
  width: auto;
  max-width: 100%;
  height: auto; }

.entry_body .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.entry_body img.alignright {
  float: right;
  margin-left: 1.5em; }

.entry_body img.alignleft {
  float: left;
  margin-right: 1.5em; }

.entry_body::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.entry_body ul {
  list-style-type: disc; }

.entry_body ol {
  list-style-type: decimal; }

.entry_body ul,
.entry_body ol {
  margin-bottom: 30px;
  margin-right: 15px;
  padding-left: 1em;
  margin-left: 10px; }
  .entry_body ul li::marker,
  .entry_body ol li::marker {
    color: #036eb7; }

.entry_body li {
  margin-bottom: 10px; }
  .entry_body li:last-child {
    margin-bottom: 0; }

.entry_body hr {
  border: solid 1px #1b6eb7; }

@media screen and (max-width: 800px) {
  .entry_body {
    margin-bottom: 20px; } }
.entry_body > :last-child {
  margin-bottom: 0; }
.entry_body table {
  font-size: 1.6rem;
  border-top: solid 1px #ddd;
  border-left: solid 1px #ddd;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px; }
.entry_body th,
.entry_body td {
  border-right: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  padding: 15px;
  vertical-align: top; }
.entry_body th {
  font-weight: 500; }
.entry_body thead th {
  background-color: #FAF5EF;
  text-align: center;
  vertical-align: middle; }
.entry_body tfoot th {
  background-color: #fefefe; }
.entry_body caption {
  font-weight: 500;
  text-align: left;
  margin-top: 10px;
  margin-bottom: 5px; }
  @media screen and (max-width: 768px) {
    .entry_body caption {
      margin-top: 10px; } }
.entry_body tbody th,
.entry_body tbody td {
  text-align: left;
  line-height: 1.5; }
.entry_body tbody th {
  background-color: #f7f7f7;
  width: 30%;
  letter-spacing: .05em; }
.entry_body td {
  background-color: #fff; }
  .entry_body td ul {
    margin-bottom: 15px; }
    .entry_body td ul:last-child {
      margin-bottom: 0; }

/*----- entry meta -----*/
/*
.entry_meta {
	color: #5e5d5c;
	font-size: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
	padding-bottom: 15px;
	border-bottom: solid 1px #E8E8E8;
	margin-bottom: 40px;
	
	@media screen and (max-width: $breakPointSp) {
		padding-bottom: 15px;
	}
}

.entry_meta_body {
	display: flex;
}

.entry_meta_bottom {
	margin-top: 100px;
}
.entry_meta_body.tag {
	margin-top: 200px;
    
    @media screen and (max-width: $breakPointSp) {
        margin-top: 80px;
    }
}
.entry_meta_ttl {
	font-weight: 500;
	white-space: nowrap;
	margin-right: .5em;
}
.entry_meta_body ul {
	display: flex;
	flex-wrap: wrap;
}
.entry_meta_body li {
	margin-right: 1em;
}
.entry_meta_body li a {
	color: #5e5d5c;
    text-decoration: none;
}

@media screen and (min-width: $breakPointSp + 1) {
    .entry_meta_body li a:hover {
        text-decoration: underline;
    }
}
.entry_meta_body.tag li a::before {
	content: " ";
	display: inline-block;
	width: 14px;
	height: 14px;
	background-image: url( "../images/icon_tag.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	margin-right: 2px;
}
*/
/*---------- WordPress／ページネーション ----------*/
.pagination {
  width: 100%;
  margin-top: 50px; }

.pagination h2 {
  display: none; }

.pagination ul {
  text-align: center; }

.pagination li {
  width: 40px;
  display: inline-block;
  font-size: 1.5rem;
  text-align: center;
  margin-left: 3px;
  margin-right: 3px; }

.pagination .current {
  padding: 10px 13px;
  border: solid 1px transparent;
  background-color: transparent;
  display: block; }

.pagination li a {
  color: #000;
  text-decoration: none;
  display: block;
  padding: 10px 0;
  background-color: #F4FAFB;
  border: solid 1px #036eb7;
  transition: color .5s; }

@media screen and (min-width: 769px) {
  .pagination li a:hover {
    color: #036eb7;
    text-decoration: none; } }
@media screen and (max-width: 768px) {
  .pagination {
    margin-bottom: 20px;
    margin-top: 25px; } }
/*---------- WordPress／ページャー ----------*/
.pager {
  margin-top: 50px;
  padding-top: 60px;
  border-top: solid 1px #E8E8E8;
  position: relative; }
  @media screen and (max-width: 768px) {
    .pager {
      margin-top: 25px;
      padding-top: 25px; } }

.pager_body {
  display: flex;
  justify-content: space-between;
  list-style: none; }

.pager_item {
  font-size: 1.8rem;
  position: relative; }
  @media screen and (max-width: 768px) {
    .pager_item {
      font-size: 1.6rem; } }
  .pager_body .pager_item a {
    color: #000;
    text-decoration: none; }
    .pager_body .pager_item a:hover {
      color: #036eb7; }
  .pager_item .txt_wrap {
    position: relative; }
    .pager_item .txt_wrap::before {
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      position: absolute;
      right: 18px;
      top: 50%;
      transform: translateY(-50%) rotate(45deg);
      border-top: solid 2px #fff;
      border-right: solid 2px #fff;
      transition: all .5s;
      z-index: 2;
      border-top-color: #036eb7;
      border-right-color: #036eb7;
      width: 20px;
      height: 20px; }
      @media screen and (max-width: 768px) {
        .pager_item .txt_wrap::before {
          width: 8px;
          height: 8px; } }
  .pager_item.next_nav {
    margin-right: auto; }
    .pager_item.next_nav .txt_wrap {
      padding-left: 30px; }
      @media screen and (max-width: 768px) {
        .pager_item.next_nav .txt_wrap {
          padding-left: 20px; } }
      .pager_item.next_nav .txt_wrap::before {
        right: auto;
        left: -8px;
        transform: translateY(-50%) rotate(-135deg); }
  .pager_item.prev_nav {
    margin-left: auto;
    text-align: right; }
    .pager_item.prev_nav .txt_wrap {
      padding-right: 30px; }
      @media screen and (max-width: 768px) {
        .pager_item.prev_nav .txt_wrap {
          padding-right: 20px; } }
      .pager_item.prev_nav .txt_wrap::before {
        right: -8px; }
  .pager_item span {
    display: block; }

.btn_back {
  max-width: 250px;
  position: absolute;
  top: 34px;
  left: 50%;
  transform: translateX(-50%); }
  @media screen and (max-width: 1000px) {
    .btn_back {
      top: calc(100% + 20px); } }
  @media screen and (max-width: 768px) {
    .btn_back {
      position: static;
      transform: none;
      margin-top: 30px; } }
  .btn_back a {
    border: solid 1px #036eb7; }

@media screen and (max-width: 800px) {
  .pager {
    margin-top: 40px;
    margin-bottom: 40px; }

  .pager_body {
    display: block; }

  .pager_item {
    width: 100%;
    margin-bottom: 10px; }

  .pager_item a {
    display: block; } }
/*----- WordPress／404 -----*/
.err_ttl {
  font-size: 2rem;
  margin-bottom: .5em; }

@media screen and (max-width: 800px) {
  .err_ttl {
    font-size: 2rem;
    line-height: 1.4em;
    margin-bottom: 10px; }

  .err_txt {
    font-size: 1.5rem; } }
/*================================icon===============================*/
/*
.icon_blank {
	padding: 0px 20px 0px 0px;
	background: url(../images/icon_blank.svg);
    background-repeat: no-repeat;
	background-position: right 1px center;
}
.contents p a[target="_blank"],
.contents .entry_body p a[target="_blank"],
.contents li:not(.index_nav_item,.index_sub_nav_item,.contact_form_nav_item) a[target="_blank"],
.contents .entry_body li a[target="_blank"],
.contents dd :not(.btn_more) a[target="_blank"],
.contents dd > a[target="_blank"] {
	padding: 0px 20px 0px 0px;
	background-image: url(../images/icon_blank.svg) ;
    background-repeat: no-repeat;
	background-position: right 2px center;
}
.entry_body p a[target="_blank"]:not(:has(> img)),
.entry_body li a[target="_blank"]{
	padding: 0px 20px 0px 0px;
	background-image: url(../images/icon_blank.svg) ;
    background-repeat: no-repeat;
	background-position: right 2px center;
}

.icon_pdf {
    padding-top: 0px;
    padding-bottom: 2px;
    padding-left: 0px;
    padding-right: 18px;
	background-image: url(../images/icon_pdf.png)!important;
	background-repeat: no-repeat;
	background-position: right 2px center;
    background-size: 16px 16px!important;
}
*/
/*================================ Slick Slider ===============================*/
.js-slide {
  opacity: 0;
  /*transition: 3s;*/ }

.slick-initialized {
  opacity: 1; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*=============================== レイアウト ================================*/
/*---------- HOME SECTION TITLE ----------*/
.home_section_ttl {
  font-size: 1.8rem;
  letter-spacing: .15em;
  color: #fff;
  font-weight: 500;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .home_section_ttl {
      font-size: 1.4rem;
      margin-bottom: 15px;
      /*
      font-size: 1.69vw; //1.3rem
      margin-bottom: 1.95vw; //15px*/ } }
  @media screen and (max-width: 500px) {
    .home_section_ttl {
      font-size: 1.2rem;
      letter-spacing: .02em;
      margin-bottom: 10px; } }
  .home_section_ttl.wh {
    color: #717071;
    background-color: #fff;
    border: solid 1px #717071; }

/*---------- 共通要素 ----------*/
.l-section {
  padding: 0 15px;
  margin-bottom: 15px; }
  .l-section > div[class^="home_"] {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
    .l-section > div[class^="home_"] .nolink {
      opacity: 1;
      background-color: #fff;
      padding: 0;
      border: 0; }
      .l-section > div[class^="home_"] .nolink span {
        color: #fff;
        background-color: #036eb7;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        padding: 5px;
        border-radius: 5px;
        transition: opacity .5s; }
      @media screen and (min-width: 769px) {
        .l-section > div[class^="home_"] .nolink:hover > span {
          opacity: .6; } }

.inner {
  display: flex;
  max-width: 1050px;
  height: 520px;
  margin: 0 auto;
  position: relative;
  padding: 67px 25px; }
  @media screen and (max-width: 768px) {
    .inner {
      /*height: 44.27vw;*/
      height: 140.3vw;
      padding: 8.72vw 3.26vw; } }
  @media screen and (max-width: 500px) {
    .inner {
      padding: 25px 3.26vw; } }
  .inner .content .btn_more, .inner .content .btn_back {
    width: 130px;
    margin-left: 0; }
    @media screen and (max-width: 768px) {
      .inner .content .btn_more, .inner .content .btn_back {
        font-size: 1.1rem;
        width: 100px;
        /*width: 11.07vw; //85px*/
        height: 25px; } }

/*=============================== Concept ================================*/
.home_concept_contents {
  background-image: url("../images/home_section_concept_bg.jpg"); }
  @media screen and (max-width: 768px) {
    .home_concept_contents {
      background-image: url("../images/home_section_concept_bg_sp.jpg"); } }
  @media screen and (max-width: 768px) {
    .home_concept_contents .inner {
      align-items: flex-start;
      padding-top: 46.36vw; } }
  .home_concept_contents .content {
    width: 400px;
    margin-left: auto; }
    @media screen and (max-width: 768px) {
      .home_concept_contents .content {
        width: 270px;
        margin-left: 0; } }
    @media screen and (max-width: 500px) {
      .home_concept_contents .content {
        width: 220px; } }

.home_room_contents {
  background-image: url("../images/home_section_room_bg.jpg"); }
  @media screen and (max-width: 768px) {
    .home_room_contents {
      background-image: url("../images/home_section_room_bg_sp.jpg"); } }
  @media screen and (max-width: 768px) {
    .home_room_contents .inner {
      align-items: flex-end;
      padding-bottom: 33.34vw; } }

.home_restaurant_contents {
  background-image: url("../images/home_section_restaurant_bg.jpg"); }
  @media screen and (max-width: 768px) {
    .home_restaurant_contents {
      background-image: url("../images/home_section_restaurant_bg_sp.jpg"); } }
  .home_restaurant_contents .inner {
    align-items: flex-start; }
    @media screen and (max-width: 768px) {
      .home_restaurant_contents .inner {
        padding-top: 19.5%; } }
  .home_restaurant_contents .content {
    margin-top: auto; }
    @media screen and (max-width: 768px) {
      .home_restaurant_contents .content {
        margin-top: 0; } }

.home_access_contents {
  background-image: url("../images/home_section_access_bg.jpg"); }
  @media screen and (max-width: 768px) {
    .home_access_contents {
      background-image: url("../images/home_section_access_bg_sp.jpg"); } }
  .home_access_contents .inner {
    align-items: flex-start; }
  .home_access_contents .content {
    width: 400px;
    margin-top: auto;
    margin-left: auto; }
    @media screen and (max-width: 768px) {
      .home_access_contents .content {
        width: 250px;
        margin-left: 0;
        padding-bottom: 25.64vw; } }
    @media screen and (max-width: 500px) {
      .home_access_contents .content {
        width: 200px; } }
