#Tt {
  text-align: left;
  background-color: #2670BF;
  /*background: linear-gradient(90deg, rgba(#fff,1) 0%, rgba(#fff,1) 33.333%, rgba($ColorR,1) 33.333%, rgba($ColorR,1) 100%);*/
  font-family: "Noto Serif JP", serif;
  background-image: url("../img/common/tt-bg.png");
  background-size: 100%; }
  #Tt .tt-box {
    color: #fff;
    line-height: 1.25;
    font-weight: bold;
    position: relative;
    transform: translateY(30px);
    background: #2670BF;
    background: linear-gradient(90deg, #2670bf 0%, #2670bf 90%, rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 0) 100%); }
    #Tt .tt-box > div {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      padding: 0 10%;
      z-index: 5; }
    #Tt .tt-box > figure {
      margin: 0px;
      padding: 0px;
      max-height: 360px;
      overflow: hidden;
      transform: translateY(-30px);
      position: relative;
      aspect-ratio: 2 / 1;
      width: 66.666vw;
      margin-left: auto; }
      #Tt .tt-box > figure img {
        position: absolute;
        width: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
  #Tt p {
    font-size: 1.25rem;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
    font-weight: 500; }
  #Tt h2 {
    font-size: 3rem;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
    font-weight: 500; }
  @media screen and (min-width: 961px), print {
    #Tt .tt-box {
      min-height: 240px; } }
  @media screen and (max-width: 960px) {
    #Tt .tt-box {
      min-height: 120px; }
      #Tt .tt-box > div {
        padding-left: 7.5%; }
    #Tt p {
      font-size: 1rem; }
    #Tt h2 {
      font-size: 2rem; } }
  @media screen and (max-width: 560px) {
    #Tt .tt-box {
      min-height: 80px; }
      #Tt .tt-box > div {
        padding-left: 5%; }
    #Tt p {
      font-size: 0.7rem; }
    #Tt h2 {
      font-size: 1.3rem; } }

footer {
  background-color: #2670BF;
  background-image: url("../img/common/foot-bg.jpg");
  background-size: cover;
  background-position: top; }

#Ft {
  color: #fff;
  width: 90%;
  max-width: 1320px;
  margin: 0 auto;
  text-align: left;
  padding: 5vw 0; }

.ft-top ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
.ft-top li::after {
  content: '/';
  margin: 0 1rem; }
.ft-top li:last-child::after {
  display: none; }
.ft-top p {
  font-size: 0.85rem;
  margin-top: 6vw;
  line-height: 1.5; }
.ft-top h1 {
  font-size: 1.5rem;
  margin: 1.5rem 0; }
.ft-top address {
  font-size: 0.9rem; }

.ft-btm {
  margin-top: 6vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end; }
  .ft-btm .-btn a {
    display: block;
    width: 210px;
    height: 60px;
    background: #fff;
    color: #333;
    font-weight: bold;
    text-align: center;
    line-height: 60px; }
  .ft-btm .-cr {
    margin-top: 2rem; }

@media screen and (max-width: 560px) {
  #Ft {
    padding: 2rem 0; }

  .ft-top li {
    font-size: 0.9rem; }

  .ft-btm .-cr {
    font-size: 0.9rem; } }
