@charset "UTF-8";
/*(c)*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap");
body {
  font-family: "Noto Serif JP", serif;
  font-family: "Zen Old Mincho", serif; }

#Tt {
  height: 380px;
  background: linear-gradient(#FFF6E8 50%, #fff 50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 10px; }
  #Tt > div div {
    font-size: 1.875rem;
    line-height: 1.5;
    opacity: 0.25;
    margin-top: 3.5rem;
    color: #3E250B; }
  #Tt > div h1 {
    font-weight: normal;
    font-size: 2.5rem;
    line-height: 1.5;
    color: #3E250B; }
  @media screen and (max-width: 960px) {
    #Tt {
      height: 250px;
      margin-top: 0px; } }

#Bm {
  background: #FFF6E8;
  padding: 4rem 0;
  margin-top: 8rem; }
  #Bm a {
    display: inline-block; }
  #Bm .box-m {
    background: #fff;
    padding: 3rem 0 4rem 0; }
  #Bm .c-hl {
    margin: 0 0 2rem 0; }
    #Bm .c-hl div {
      color: #3E250B; }
    #Bm .c-hl h2 {
      color: #3E250B; }
  #Bm .bm-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #D38C00;
    margin-bottom: 1rem; }
    #Bm .bm-tel figure {
      margin-right: 10px;
      padding-top: 6px; }
      #Bm .bm-tel figure img {
        height: 30px; }
    #Bm .bm-tel span {
      font-size: 36px;
      line-height: 1;
      font-weight: 500; }
  #Bm .bm-fax {
    font-size: 1.25rem;
    margin-bottom: 2rem; }
  #Bm .bm-btn {
    margin: 0 1rem; }
    #Bm .bm-btn a {
      display: inline-block;
      background: #3E250B;
      color: #fff;
      font-size: 1.06rem;
      line-height: 1.25;
      padding: 1.2rem 3rem; }
  @media screen and (max-width: 960px) {
    #Bm {
      padding: 5vw 0; } }
  @media screen and (max-width: 560px) {
    #Bm .bm-tel figure img {
      height: 25px; }
    #Bm .bm-tel span {
      font-size: 30px; }
    #Bm .bm-btn {
      margin: 0 1rem; }
      #Bm .bm-btn a {
        font-size: 1rem;
        padding: 1rem 2rem; } }

#Ft {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  margin: 0 auto;
  padding: 4rem 0; }
  #Ft .ft-log {
    text-align: left;
    margin-bottom: 0.5rem; }
  #Ft .ft-nav {
    text-align: right; }
  #Ft h1 {
    margin-bottom: 1.5rem; }
    #Ft h1 img {
      height: 50px; }
  #Ft address {
    font-size: 1.06rem; }
  #Ft ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 1rem 0 1.5rem 0; }
    #Ft ul li {
      margin-right: 1rem;
      line-height: 2; }
    #Ft ul li:last-child {
      margin-right: 0px; }
  #Ft p {
    font-size: 0.96rem; }
  @media screen and (max-width: 1280px) {
    #Ft {
      display: block; }
      #Ft .ft-nav {
        text-align: left; } }

article {
  text-align: left; }
  article h3 {
    font-size: 1.19rem;
    line-height: 1.25;
    font-weight: 500;
    margin: 2rem 0 1rem 0; }
  article p {
    font-size: 1.06rem;
    line-height: 2;
    margin: 1rem 0; }
  article table {
    border-collapse: inherit;
    margin: 1rem 0;
    border-spacing: 0px;
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-width: 0 1px 1px 0; }
    article table th, article table td {
      border: 1px solid rgba(0, 0, 0, 0.25);
      border-width: 1px 0 0 1px; }
    article table th {
      background: rgba(0, 0, 0, 0.1); }
    article table td {
      background: rgba(255, 255, 255, 0.5); }
  article img {
    max-width: 100%; }

article > .c-hl:first-child,
article > .c-img:first-child {
  margin-top: 0px; }

.c-hl {
  text-align: center;
  margin: 5rem 0; }
  .c-hl div {
    font-size: 1.25rem;
    opacity: 0.25; }
  .c-hl h2 {
    font-size: 1.875rem;
    line-height: 1.5;
    font-weight: 500; }
  .c-hl.-tal {
    text-align: left; }

.c-img {
  margin: 4rem auto;
  max-width: 1320px; }
  .c-img:first-child {
    margin-top: 0px; }

.c-img-w {
  margin: 4rem auto;
  max-width: 1320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .c-img-w img {
    width: 50%; }
  @media screen and (max-width: 560px) {
    .c-img-w {
      width: 90%;
      max-width: 390px; }
      .c-img-w img {
        width: 100%; } }

.c-tel a {
  pointer-events: none; }

.box-s,
.box-m,
.box-l {
  width: 90%;
  margin-left: auto;
  margin-right: auto; }

.box-s {
  max-width: 840px; }

.box-m {
  max-width: 1320px; }

.box-l {
  max-width: 1680px; }

@keyframes slick-anime {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.06); } }
.slide-animation {
  animation: slick-anime 10s 0s forwards; }

.ind-hero {
  position: relative; }
  .ind-hero .-msg {
    position: absolute;
    right: 6rem;
    bottom: 4vw;
    z-index: 2; }
    .ind-hero .-msg p {
      margin: 1rem 0;
      display: block;
      text-align: right; }
      .ind-hero .-msg p span {
        display: inline-block;
        background: #fff;
        color: #875506;
        font-weight: 500;
        font-size: 2rem;
        padding: 1rem; }
    .ind-hero .-msg p + p {
      padding-right: 6rem;
      text-align: left; }
  @media screen and (max-width: 960px) {
    .ind-hero .-msg {
      right: 4rem; }
      .ind-hero .-msg p span {
        font-size: 1.5rem;
        padding: 0.75rem; }
      .ind-hero .-msg p + p {
        padding-right: 4rem; } }
  @media screen and (max-width: 560px) {
    .ind-hero .-msg {
      right: 5vw; }
      .ind-hero .-msg p span {
        font-size: 1.25rem;
        padding: 0.75rem; }
      .ind-hero .-msg p + p {
        padding-right: 5vw; } }

.ind-hero div div {
  background-size: cover;
  background-position: center center;
  height: 100vh;
  position: relative; }
  .ind-hero div div p {
    position: absolute;
    left: 10vw;
    top: 200px;
    background: #F87575;
    color: #fff;
    font-size: 2rem;
    width: 15rem;
    height: 15rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transform: rotate(-5deg); }
  @media screen and (max-width: 960px) {
    .ind-hero div div {
      height: calc(110vw); }
      .ind-hero div div p {
        left: 50px;
        top: 100px;
        font-size: 1.5rem;
        width: 12rem;
        height: 12rem; } }
  @media screen and (max-width: 560px) {
    .ind-hero div div p {
      left: 25px;
      top: 75px;
      font-size: 1.2rem;
      width: 9rem;
      height: 9rem; } }

.ind-abo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 5rem auto 8rem; }
  .ind-abo .c-hl {
    text-align: left; }
  .ind-abo > div {
    width: 36%;
    margin-bottom: 3rem; }
    .ind-abo > div p {
      margin: 1.5rem 0; }
  .ind-abo > figure {
    width: 55%;
    text-align: right;
    max-width: 710px;
    position: relative; }
    .ind-abo > figure p {
      margin: 0px;
      position: absolute;
      right: 3%;
      top: 5%;
      background: #F87575;
      color: #fff;
      font-size: 1.4rem;
      line-height: 1.25;
      width: 10rem;
      height: 10rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      transform: rotate(5deg);
      text-align: center; }
  @media screen and (max-width: 960px) {
    .ind-abo {
      display: block; }
      .ind-abo .c-hl {
        margin-bottom: 2rem; }
      .ind-abo > div {
        width: 100%; }
      .ind-abo > figure {
        width: 100%;
        text-align: center;
        display: block;
        margin: 0 auto; }
        .ind-abo > figure img {
          margin: 0 auto; } }
  @media screen and (max-width: 560px) {
    .ind-abo > figure p {
      font-size: 1.2rem;
      width: 7rem;
      height: 7rem; } }

.ind-con__ttl {
  background: #FFF6E8;
  padding: 0.002rem 0;
  padding-bottom: 12vw;
  margin-bottom: -12vw;
  width: 80%; }
  .ind-con__ttl .c-hl div {
    color: #3E250B; }
  .ind-con__ttl .c-hl h2 {
    color: #3E250B;
    line-height: 1.2;
    padding: 0.5rem 2rem; }
    .ind-con__ttl .c-hl h2 span {
      display: inline-block; }
  @media screen and (min-width: 1920px) {
    .ind-con__ttl {
      padding-bottom: 230px;
      margin-bottom: -230px; } }
  @media screen and (max-width: 560px) {
    .ind-con__ttl {
      width: 100%; } }

.ind-con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between; }
  .ind-con > div {
    width: 20%;
    margin-bottom: 4rem;
    text-align: center; }
    .ind-con > div figure img {
      width: 100%; }
    .ind-con > div div {
      font-size: 1.5rem;
      color: #3E250B;
      margin: 1.5rem 0; }
      .ind-con > div div span {
        display: block;
        font-family: "Bellefair", serif;
        font-size: 1.9rem; }
    .ind-con > div p {
      text-align: left;
      line-height: 2;
      font-size: 1.06rem; }
  @media screen and (max-width: 960px) {
    .ind-con > div {
      width: 47%; } }
  @media screen and (max-width: 560px) {
    .ind-con {
      max-width: 330px;
      width: 80%; }
      .ind-con > div {
        width: 100%; } }

.com-out {
  padding-bottom: 1rem; }
  .com-out dl {
    font-size: 1.06rem;
    border-bottom: 1px solid #ddd; }
  .com-out dt, .com-out dd {
    padding: 1rem; }
  .com-out dt {
    float: left;
    width: 10em;
    border-top: 1px solid #ddd; }
  .com-out dd {
    margin-left: 10em;
    zoom: 1;
    border-top: 1px solid #ddd; }
  @media screen and (max-width: 560px) {
    .com-out dt {
      width: 7em; }
    .com-out dd {
      margin-left: 7em; } }

.com-map {
  max-width: 1320px;
  margin: 0 auto; }
  .com-map iframe {
    width: 100%;
    height: 660px; }
  @media screen and (max-width: 960px) {
    .com-map iframe {
      height: 440px; } }
  @media screen and (max-width: 560px) {
    .com-map iframe {
      height: 330px; } }

.com-gre {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-flow: row-reverse;
  margin-top: 6rem;
  margin-bottom: 6rem; }
  .com-gre > div {
    width: 65%; }
  .com-gre > figure {
    width: 30%; }
    .com-gre > figure img {
      width: 100%; }
  .com-gre .c-hl {
    text-align: left;
    margin-top: 0px; }
  @media screen and (max-width: 560px) {
    .com-gre {
      display: block;
      margin-top: 5rem;
      margin-bottom: 5rem; }
      .com-gre > div {
        width: 100%; }
      .com-gre > figure {
        width: 80%;
        margin: 0 auto;
        text-align: center;
        margin-top: 5rem; }
        .com-gre > figure img {
          width: 100%;
          max-width: 300px; } }

.stf li, .stf p {
  margin: 0px; }
.stf ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -3.5%; }
.stf li {
  width: 18%;
  margin: 0 3.5% 2rem;
  text-align: center; }
  .stf li figure {
    position: relative;
    background-size: cover;
    background-position: center center; }
    .stf li figure::before {
      content: "";
      display: block;
      padding-top: 133.333%;
      /* 高さを幅の75%に固定 */ }
  .stf li img {
    width: 100%; }
  .stf li p {
    margin-top: 1rem; }
@media screen and (max-width: 960px) {
  .stf li {
    width: 26.333%; } }
@media screen and (max-width: 560px) {
  .stf ul {
    padding: 0 1.5%; }
  .stf li {
    width: 43%; } }

.wrk li, .wrk p {
  margin: 0px; }
.wrk ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.5%; }
.wrk li {
  width: 30.333%;
  margin: 0 1.5% 4rem;
  text-align: center; }
  .wrk li figure {
    position: relative;
    background-size: cover;
    background-position: center center; }
    .wrk li figure::before {
      content: "";
      display: block;
      padding-top: 75%;
      /* 高さを幅の75%に固定 */ }
  .wrk li img {
    width: 100%; }
  .wrk li p {
    margin-top: 1rem; }
@media screen and (max-width: 960px) {
  .wrk li {
    width: 47%; } }
@media screen and (max-width: 560px) {
  .wrk li {
    width: 100%;
    margin-bottom: 3rem; } }

.inq-box {
  border: 1px solid #ddd;
  border-width: 1px 0;
  padding: 2rem 0;
  margin: -1rem auto 8rem; }

.inq-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem; }
  .inq-tel figure {
    margin-right: 15px;
    padding-top: 6px; }
    .inq-tel figure img {
      height: 40px; }
  .inq-tel span {
    font-size: 48px;
    line-height: 1;
    font-weight: 200; }
  @media screen and (max-width: 560px) {
    .inq-tel figure img {
      height: 25px; }
    .inq-tel span {
      font-size: 30px; } }

.hojyo-msg {
  text-align: center;
  margin: 2rem auto 4rem; }
  .hojyo-msg > div {
    background: #f8f8f8;
    padding: 0.01rem; }
    .hojyo-msg > div p {
      font-weight: bold; }

.iv {
  -webkit-transition: all 2s ease;
  -moz-transition: all 2s ease;
  -o-transition: all 2s ease;
  -ms-transition: all 2s ease;
  transition: all 2s ease;
  opacity: 0;
  transform: translateY(60px) scale(1); }
  @media screen and (max-width: 960px) {
    .iv {
      -webkit-transition: all 1.5s ease;
      -moz-transition: all 1.5s ease;
      -o-transition: all 1.5s ease;
      -ms-transition: all 1.5s ease;
      transition: all 1.5s ease;
      transform: translateY(45px) scale(1); } }
  @media screen and (max-width: 560px) {
    .iv {
      -webkit-transition: all 1s ease;
      -moz-transition: all 1s ease;
      -o-transition: all 1s ease;
      -ms-transition: all 1s ease;
      transition: all 1s ease;
      transform: translateY(30px) scale(1); } }
  .iv.is-in {
    opacity: 1;
    transform: translateY(0px) scale(1); }

.iv2 {
  -webkit-transition: all 2s ease;
  -moz-transition: all 2s ease;
  -o-transition: all 2s ease;
  -ms-transition: all 2s ease;
  transition: all 2s ease;
  opacity: 0;
  transform: translateX(-4vw) scale(1); }
  .iv2.is-in {
    opacity: 1;
    transform: translateX(0px) scale(1); }
