@charset "UTF-8";
#message h2 small, #quote h2 small, #news h2 small, #business .block .engtitle, #menu .block .engtitle {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 500;
}

#quote .btn a, #news .btn a {
  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;
  width: 100%;
  max-width: 277px;
  height: 67px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 15px;
  border: solid 1px #d6d6d6;
  background: #fff;
  color: #105983;
  text-decoration: none;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  background-image: url(../images/btn-arrow.png);
  background-repeat: no-repeat;
  background-position: center right 15px;
}

#quote .btn a:hover, #news .btn a:hover {
  opacity: 0.6;
}

@media (max-width: 767px) {
  #quote .btn a, #news .btn a {
    max-width: 220px;
    height: 50px;
    font-size: 14px;
  }
}

#message h2, #quote h2, #news h2 {
  margin-bottom: 50px;
  font-size: 30px;
  color: #3b3b3b;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

#message h2:after, #quote h2:after, #news h2:after {
  margin-top: 30px;
  display: block;
  content: "";
  width: 29px;
  height: 3px;
  background-color: #105983;
}

#message h2 small, #quote h2 small, #news h2 small {
  margin-bottom: 10px;
  display: block;
  color: #ba923d;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.075em;
}

@media (max-width: 767px) {
  #message h2, #quote h2, #news h2 {
    font-size: 22px;
  }
  #message h2:after, #quote h2:after, #news h2:after {
    margin-top: 25px;
    height: 2px;
  }
  #message h2 small, #quote h2 small, #news h2 small {
    margin-bottom: 5px;
    font-size: 10px;
  }
}

/*iframeマップ*/
#selecter .HTMLBlock {
  height: 100%;
}

#message, #business, #menu, #quote {
  color: #242424;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

/* ----------------------------------------------
mainimg
------------------------------------------------- */
#mainimg {
  position: relative;
}

#mainimg #mainslider img {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  max-height: 100vh;
}

#mainimg .catch {
  position: absolute;
  bottom: 55px;
  left: 0;
  width: 100%;
}

#mainimg .catch .catchinner {
  width: 100%;
  padding: 0 40px;
  text-align: center;
}

@media (max-width: 999px) {
  #mainimg .catch {
    bottom: 30px;
  }
  #mainimg .catch .catchinner {
    padding: 0 20px;
  }
}

@media (max-width: 767px) {
  #mainimg #mainslider img {
    height: 340px;
  }
}

/* ----------------------------------------------
message
------------------------------------------------- */
#message {
  position: relative;
  margin-bottom: 75px;
  background-color: #105983;
}

#message:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: calc(100% - 128px - ((100vw - 250px) - 1004px) / 2);
  height: 100%;
  background: url(../images/message-bg.jpg) no-repeat center/cover;
}

@media (max-width: 1040px) {
  #message:before {
    width: calc(100% - 128px);
  }
}

@media (max-width: 999px) {
  #message:before {
    width: calc(100% - 80px);
  }
}

#message h2 {
  font-size: 26px;
  letter-spacing: 0.2em;
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
}

#message .text {
  font-size: 16px;
  line-height: 2.125;
}

@media (max-width: 999px) {
  #message .text {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  #message .text {
    font-size: 14px;
  }
}

#message .inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 63px;
  padding-bottom: 120px;
  padding-right: 235px;
}

@media (max-width: 767px) {
  #message .inner {
    padding-left: 10px;
    padding-right: 10px;
  }
}

#message .inner:before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "";
  width: 145px;
  height: 100%;
  background-color: #105983;
  background-image: url(../images/message-kamisyo.png);
  background-repeat: no-repeat;
  background-position: top 30px left 25px;
}

#message .representative {
  position: absolute;
  bottom: 0;
  right: 60px;
}

#message .representativename {
  position: absolute;
  bottom: 10px;
  right: 0px;
  font-weight: 500;
  font-size: 12px;
  color: #fff;
}

@media (max-width: 1399px) {
  #message .representative {
    right: 70px;
  }
  #message .representativename {
    bottom: 15px;
    right: 20px;
  }
}

@media (max-width: 1040px) {
  #message:before {
    width: calc(100% - 128px);
  }
}

@media (max-width: 999px) {
  #message:before {
    width: calc(100% - 80px);
  }
  #message .inner {
    padding-right: 90px;
    padding-bottom: 210px;
  }
  #message .inner:before {
    width: 80px;
    background-position: top 20px left 15px;
  }
  #message .representative img {
    width: 150px;
  }
}

@media (max-width: 767px) {
  #message h2 {
    font-size: 20px;
  }
  #message:before {
    width: calc(100% - 50px);
  }
  #message .inner {
    padding-right: 60px;
  }
  #message .inner:before {
    width: 50px;
    background-position: top 20px center;
  }
  #message .representative {
    right: 60px;
  }
  #message .representativename {
    right: 10px;
  }
}

/* ----------------------------------------------
business
------------------------------------------------- */
#business {
  margin-bottom: 55px;
}

#business .inner {
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 767px) {
  #business .inner {
    padding-left: 10px;
    padding-right: 10px;
  }
}

#business .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#business .block {
  width: 47.96748%;
}

#business .block:not(:first-child) {
  margin-left: 0;
}

#business .block:nth-child(even) {
  margin-left: 4.06504%;
}

#business .block:nth-child(n + 3) {
  margin-top: 30px;
}

#business .block a {
  display: block;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  text-decoration: none;
  color: #242424;
  font-weight: 400;
}

#business .block a:hover {
  opacity: 0.6;
}

#business .block .image {
  margin-bottom: 50px;
  width: 100%;
  padding-top: 43.00847%;
  position: relative;
}

#business .block .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#business .block .engtitle {
  position: absolute;
  bottom: -25px;
  left: 25px;
  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;
  width: 100px;
  height: 100px;
  color: #fff;
  font-size: 12px;
  line-height: 1.33333;
  letter-spacing: 0.075em;
  text-align: center;
  background-image: url(../images/business-title-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-color: #105983;
}

#business .block .title {
  margin-bottom: 20px;
  padding-left: 25px;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.5;
  color: #2b2b2b;
  background-image: url(../images/arrow.png);
  background-repeat: no-repeat;
  background-position: center right 25px;
}

#business .block .text {
  padding-left: 25px;
  padding-right: 15px;
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 999px) {
  #business .block .image {
    margin-bottom: 20px;
  }
  #business .block .engtitle {
    bottom: -10px;
    left: 10px;
    width: 80px;
    height: 80px;
    font-size: 10px;
    line-height: 1.1;
  }
  #business .block .title {
    margin-bottom: 10px;
    padding-left: 10px;
    font-size: 18px;
    background-position: center right 15px;
  }
  #business .block .text {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
  }
}

@media (max-width: 500px) {
  #business .contents {
    -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;
  }
  #business .block {
    width: 100%;
    max-width: 400px;
  }
  #business .block:not(:first-child) {
    margin-left: 0;
  }
  #business .block:nth-child(even) {
    margin-left: 0;
  }
  #business .block:nth-child(n + 3) {
    margin-top: 0;
  }
  #business .block:nth-child(n + 2) {
    margin-top: 35px;
  }
}

/* ----------------------------------------------
menu
------------------------------------------------- */
#menu {
  margin-bottom: 95px;
}

#menu .inner {
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 767px) {
  #menu .inner {
    padding-left: 10px;
    padding-right: 10px;
  }
}

#menu .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#menu .block {
  position: relative;
  width: 30.4878%;
}

#menu .block + .block {
  margin-left: 4.26829%;
}

#menu .block a {
  display: block;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  text-decoration: none;
  display: block;
  color: #2b2b2b;
}

#menu .block a:hover {
  opacity: 0.6;
}

#menu .block .image {
  width: 100%;
  padding-top: 63.33333%;
  min-height: 130px;
  position: relative;
}

#menu .block .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px #d6d6d6;
}

#menu .block .txtbox {
  padding-top: 5px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  background-image: url(../images/arrow2.png);
  background-repeat: no-repeat;
  background-position: center right 20px;
}

#menu .block .logo {
  margin-bottom: 10px;
  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;
  height: 50px;
}

#menu .block .engtitle {
  margin-bottom: 30px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.075em;
  color: #ba923d;
}

#menu .block .title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.2em;
}

@media (max-width: 1299px) {
  #menu .block .txtbox {
    padding-top: 0;
  }
  #menu .block .logo {
    margin-bottom: 5px;
  }
  #menu .block .engtitle {
    margin-bottom: 20px;
  }
}

@media (max-width: 999px) {
  #menu .block {
    width: 32.52033%;
  }
  #menu .block + .block {
    margin-left: 1.21951%;
  }
  #menu .block .txtbox {
    background-position: center right 10px;
  }
  #menu .block .logo {
    margin-bottom: 5px;
  }
  #menu .block .engtitle {
    margin-bottom: 10px;
    font-size: 10px;
  }
  #menu .block .title {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  #menu {
    margin-bottom: 70px;
  }
}

@media (max-width: 500px) {
  #menu .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #menu .block {
    width: 100%;
    max-width: 260px;
  }
  #menu .block + .block {
    margin-top: 30px;
    margin-left: 0;
  }
}

/* ----------------------------------------------
quote
------------------------------------------------- */
#quote {
  padding-top: 90px;
  padding-bottom: 70px;
  margin-bottom: 70px;
  background: url(../images/quote-bg.jpg) no-repeat center/cover;
}

#quote h2 {
  margin-bottom: 40px;
  font-size: 40px;
  line-height: 1.61905;
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
}

#quote h2 small {
  margin-bottom: 20px;
  font-size: 16px;
  letter-spacing: 0.2em;
}

#quote h2:after {
  display: none;
}

#quote .inner {
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 767px) {
  #quote .inner {
    padding-left: 10px;
    padding-right: 10px;
  }
}

#quote .topcontents,
#quote .bottomcontents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-left: 40px;
}

#quote .topcontents {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 30px;
}

#quote .imgbox {
  position: relative;
  margin-top: 65px;
  margin-left: 40px;
  width: 36.01695%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

#quote .imgbox img {
  width: 100%;
}

#quote .imgbox:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../images/quote-kamisyo-logo.png);
  background-repeat: no-repeat;
  background-position: center;
}

#quote .txtbox {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

#quote .txtbox .text {
  font-size: 15px;
  line-height: 2;
}

#quote .area {
  font-size: 16px;
  line-height: 1.5625;
  color: #105983;
  font-weight: 500;
}

#quote .area .title {
  margin-bottom: 5px;
  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;
  width: 119px;
  height: 31px;
  border: solid 1px #105983;
}

#quote .btn {
  margin-left: 20px;
  -ms-flex-item-align: end;
      align-self: flex-end;
  width: 277px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media (max-width: 1299px) {
  #quote h2 {
    font-size: 3vw;
  }
  #quote .topcontents,
  #quote .bottomcontents {
    padding-left: 0px;
  }
  #quote .imgbox {
    margin-left: 25px;
  }
}

@media (max-width: 999px) {
  #quote .topcontents {
    -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;
  }
  #quote .imgbox {
    margin-top: 0;
    margin-bottom: 30px;
    margin-left: 0px;
    width: 260px;
  }
  #quote .txtbox {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #quote h2 small {
    margin-bottom: 10px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  #quote {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  #quote .bottomcontents {
    -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;
  }
  #quote h2 {
    margin-bottom: 20px;
    font-size: 22px;
  }
  #quote h2 small {
    margin-bottom: 5px;
    font-size: 12px;
    letter-spacing: 0.1em;
  }
  #quote .area {
    font-size: 15px;
    text-align: center;
  }
  #quote .area .title {
    margin-bottom: 5px;
    margin-left: auto;
    margin-right: auto;
  }
  #quote .btn {
    margin-left: 0;
    margin-top: 20px;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    width: 220px;
  }
}

/* ----------------------------------------------
news
------------------------------------------------- */
#news {
  margin-bottom: 85px;
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 767px) {
  #news {
    padding-left: 10px;
    padding-right: 10px;
  }
}

#news .titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#news h2 {
  margin-bottom: 65px;
}

#news .btn {
  margin-top: 20px;
  margin-left: 20px;
  width: 277px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

#news article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 25px 25px 25px;
  border-bottom: solid 1px #d2d2d2;
}

#news article + article {
  margin-top: 25px;
}

#news article time {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 16px;
  line-height: 1.875;
  margin-right: 50px;
  font-weight: 700;
  color: #262626;
}

#news article .text {
  font-size: 16px;
  line-height: 1.875;
  color: #000;
  font-weight: 400;
}

@media (max-width: 999px) {
  #news article {
    padding: 0 20px 20px 20px;
  }
  #news article + article {
    margin-top: 20px;
  }
  #news article time {
    font-size: 15px;
    margin-right: 30px;
  }
  #news article .text {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  #news {
    margin-bottom: 65px;
  }
  #news .titles {
    margin-bottom: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #news h2 {
    margin-bottom: 30px;
  }
  #news .btn {
    margin-top: 0px;
    margin-left: 0px;
    width: 220px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  #news article {
    display: block;
    padding: 0 10px 5px 10px;
  }
  #news article + article {
    margin-top: 20px;
  }
  #news article time {
    margin-right: 0px;
    font-size: 14px;
  }
  #news article .text {
    font-size: 14px;
  }
}

/* ----------------------------------------------

------------------------------------------------- */
/* ----------------------------------------------

------------------------------------------------- */
/* ----------------------------------------------

------------------------------------------------- */
/* ----------------------------------------------

------------------------------------------------- */
/*# sourceMappingURL=index.css.map */