@charset "UTF-8";
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%; }

a, address, article, aside, audio, b, big, blockquote, body, button, caption, center, cite, code, dd, details, div, dl, dt, em, fieldset, figcaption, figure, footer, form, form, h1, h2, h3, h4, h5, h6, header, i, iframe, img, input, label, li, main, mark, menu, nav, ol, p, pre, q, s, section, select, small, span, strong, summary, table, tbody, td, textarea, tfoot, th, thead, time, tr, u, ul, video {
  margin: 0;
  padding: 0;
  font-size: inherit;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block; }

audio, canvas, progress, video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

ol,
ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img {
  max-width: 100%;
  vertical-align: bottom;
  border-style: none; }

svg:not(:root) {
  overflow: hidden; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline-width: 0; }

b,
strong {
  font-weight: inherit;
  font-weight: bolder; }

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

button,
input,
select,
textarea {
  font: inherit;
  margin: 0; }

button,
input,
select {
  overflow: visible; }

button,
select {
  text-transform: none; }

[type="button"],
[type="reset"],
[type="submit"],
button {
  cursor: pointer; }

[disabled] {
  cursor: default; }

[type="reset"],
[type="submit"],
button,
html [type="button"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

button:-moz-focusring,
input:-moz-focusring {
  outline: 1px dotted ButtonText; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield; }

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

blockquote,
q {
  quotes: none; }

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: '';
  content: none; }

body {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

[type="button"],
[type="reset"],
[type="submit"],
a,
a img,
button {
  -webkit-transition: 0.5s;
  transition: 0.5s; }

/*==================================================================================================
	サイト基礎
==================================================================================================*/
.templateB {
  color: #222222;
  font-weight: 500;
  overflow-x: hidden;
  line-height: 1.6;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.6rem; }

@media screen and (max-width: 1279px) {
  .templateB {
    font-size: 1.5rem; } }

@media screen and (max-width: 767.5px) {
  .templateB {
    font-size: 1.4rem; } }

@media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .templateB {
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-style: normal; } }

.templateB.changeFontfamily {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal; }

.templateB.changeFontfamily .contactCnt .infoList .tel::before {
  top: 55%; }

.templateB a {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  color: #222222;
  text-decoration: none; }

.templateB a:hover {
  text-decoration: none;
  opacity: 0.8; }

.templateB h1,
.templateB h2,
.templateB h3,
.templateB h4,
.templateB h5,
.templateB h6,
.templateB p {
  margin-bottom: 0; }

.templateB .inner {
  max-width: 1180px;
  padding-left: 5rem;
  padding-right: 5rem;
  margin: 0 auto; }

@media screen and (max-width: 1279px) {
  .templateB .inner {
    padding-left: 3rem;
    padding-right: 3rem; } }

@media screen and (max-width: 767px) {
  .templateB .inner {
    padding-left: 2rem;
    padding-right: 2rem; } }

.templateB .tel {
  pointer-events: none;
  cursor: default;
  color: #ffffff; }

@media screen and (max-width: 1279px) {
  .templateB .tel {
    pointer-events: unset;
    cursor: pointer; } }

.templateB .display_res {
  display: none; }

@media screen and (max-width: 1279px) {
  .templateB .display_res {
    display: block; } }

@media screen and (max-width: 767.5px) {
  .templateB .display_pc {
    display: none; } }

.templateB .display_sp {
  display: none; }

@media screen and (max-width: 767.5px) {
  .templateB .display_sp {
    display: block; } }

.templateB.hidden {
  overflow: hidden; }

.templateB .event-none {
  pointer-events: none; }

.templateB .content {
  max-width: 800px;
  margin: 0 auto; }

.templateB .whiteSpace {
  white-space: pre-wrap; }

.templateB main {
  overflow: hidden; }

.templateB .title_page {
  font-weight: 600;
  margin-bottom: 5rem; }

@media screen and (max-width: 1279px) {
  .templateB .title_page {
    margin-bottom: 4rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .title_page {
    margin-bottom: 3.5rem; } }

@media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .templateB .title_page {
    font-weight: 500; } }

.templateB .title_page .jp {
  font-size: 3rem;
  display: block;
  line-height: 1;
  padding-bottom: 1rem;
  letter-spacing: 0.08em; }

@media screen and (max-width: 1279px) {
  .templateB .title_page .jp {
    font-size: 2.4rem;
    letter-spacing: 0.05em; } }

@media screen and (max-width: 767.5px) {
  .templateB .title_page .jp {
    font-size: 2rem; } }

.templateB .title_page .en {
  font-size: 1.2rem;
  line-height: 1;
  color: #698161;
  text-transform: uppercase;
  letter-spacing: 0.15em; }

@media screen and (max-width: 767.5px) {
  .templateB .title_page .en {
    font-size: 1.1rem; } }

.templateB .title_page.title_page--white {
  color: #ffffff; }

.templateB .title_page.title_page--white .ja,
.templateB .title_page.title_page--white .en {
  color: #ffffff; }

@media screen and (max-width: 767.5px) {
  .templateB .btnArea {
    text-align: center; } }

.templateB .btnArea .btnB {
  color: #ffffff;
  display: inline-block;
  letter-spacing: 0.08em;
  background-color: #698161;
  border: 1px solid #698161;
  padding: 2rem 6.5rem;
  position: relative;
  min-width: 300px;
  text-align: center; }

@media screen and (max-width: 1279px) {
  .templateB .btnArea .btnB {
    min-width: 270px;
    padding: 1.6rem 6.5rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .btnArea .btnB {
    padding: 1.3rem 5rem;
    min-width: 250px; } }

@media screen and (max-width: 374px) {
  .templateB .btnArea .btnB {
    min-width: 215px; } }

.templateB .btnArea .btnB:hover {
  color: #698161;
  opacity: 1;
  background-color: #ffffff; }

.templateB .btnArea .btnB:hover:after {
  background-color: #698161; }

.templateB .btnArea .btnB:after {
  content: '';
  position: absolute;
  right: -1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #ffffff;
  width: 30px;
  height: 2px; }

@media screen and (max-width: 767.5px) {
  .templateB .btnArea .btnB:after {
    height: 1px; } }

.templateB .btnArea .btnB.btnB--noBg {
  background-color: transparent;
  padding: 0;
  padding-right: 4.5rem;
  border: 0;
  color: #698161;
  min-width: auto;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1; }

@media screen and (max-width: 1279px) {
  .templateB .btnArea .btnB.btnB--noBg {
    font-size: 1.6rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .btnArea .btnB.btnB--noBg {
    font-size: 1.4rem; } }

@media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .templateB .btnArea .btnB.btnB--noBg {
    font-weight: 500; } }

.templateB .btnArea .btnB.btnB--noBg:after {
  background-color: #698161; }

.templateB .btnArea .btnB.btnB--noBg:hover {
  opacity: 0.6; }

.templateB .btnArea .btnB.btnB--white {
  color: #222222;
  background-color: #ffffff;
  border: 1px solid #ffffff;
  font-size: 1.8rem; }

.templateB .btnArea .btnB.btnB--white:after {
  background-color: #698161; }

.templateB .btnArea .btnB.btnB--white:hover {
  color: #ffffff;
  background-color: #698161; }

.templateB .btnArea .btnB.btnB--white:hover:after {
  background-color: #ffffff; }

.templateB .row {
  margin-left: -20px;
  margin-right: -20px; }

.templateB .col,
.templateB .col-1,
.templateB .col-10,
.templateB .col-11,
.templateB .col-12,
.templateB .col-2,
.templateB .col-3,
.templateB .col-4,
.templateB .col-5,
.templateB .col-6,
.templateB .col-7,
.templateB .col-8,
.templateB .col-9,
.templateB .col-auto,
.templateB .col-lg,
.templateB .col-lg-1,
.templateB .col-lg-10,
.templateB .col-lg-11,
.templateB .col-lg-12,
.templateB .col-lg-2,
.templateB .col-lg-3,
.templateB .col-lg-4,
.templateB .col-lg-5,
.templateB .col-lg-6,
.templateB .col-lg-7,
.templateB .col-lg-8,
.templateB .col-lg-9,
.templateB .col-lg-auto,
.templateB .col-md,
.templateB .col-md-1,
.templateB .col-md-10,
.templateB .col-md-11,
.templateB .col-md-12,
.templateB .col-md-2,
.templateB .col-md-3,
.templateB .col-md-4,
.templateB .col-md-5,
.templateB .col-md-6,
.templateB .col-md-7,
.templateB .col-md-8,
.templateB .col-md-9,
.templateB .col-md-auto,
.templateB .col-sm,
.templateB .col-sm-1,
.templateB .col-sm-10,
.templateB .col-sm-11,
.templateB .col-sm-12,
.templateB .col-sm-2,
.templateB .col-sm-3,
.templateB .col-sm-4,
.templateB .col-sm-5,
.templateB .col-sm-6,
.templateB .col-sm-7,
.templateB .col-sm-8,
.templateB .col-sm-9,
.templateB .col-sm-auto,
.templateB .col-xl,
.templateB .col-xl-1,
.templateB .col-xl-10,
.templateB .col-xl-11,
.templateB .col-xl-12,
.templateB .col-xl-2,
.templateB .col-xl-3,
.templateB .col-xl-4,
.templateB .col-xl-5,
.templateB .col-xl-6,
.templateB .col-xl-7,
.templateB .col-xl-8,
.templateB .col-xl-9,
.templateB .col-xl-auto {
  padding-left: 20px;
  padding-right: 20px; }

.templateB .newsList {
  padding-bottom: 4rem; }

.templateB .newsList__item:first-child a {
  padding-top: 0; }

.templateB .newsList__item a {
  padding: 2rem 0;
  border-bottom: 2px solid #e8e8e8; }

@media screen and (max-width: 767.5px) {
  .templateB .newsList__item a {
    border-bottom: 1px solid #e8e8e8; } }

.templateB .newsList__item a:hover {
  opacity: 0.6; }

.templateB .newsList__title {
  font-weight: 600;
  padding-bottom: 1.5rem;
  width: 100%;
  line-height: 1.6; }

@media screen and (max-width: 767.5px) {
  .templateB .newsList__title {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    padding-bottom: 0; } }

@media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .templateB .newsList__title {
    font-weight: 500; } }

.templateB .newsList__info {
  width: 100%;
  font-size: 1.2rem; }

@media screen and (max-width: 767.5px) {
  .templateB .newsList__info {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    padding-bottom: 1rem;
    font-size: 1.4rem; } }

.templateB .newsList__date {
  padding-right: 2rem; }

.templateB .newsList__tag {
  color: #698161;
  font-weight: 600;
  padding-right: 2rem; }

.templateB .breadList {
  background-color: #ffffff;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 0;
  margin-left: -2rem;
  margin-right: -2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.templateB .breadList .item {
  padding: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.1rem;
  position: relative; }

@media screen and (max-width: 1279px) {
  .templateB .breadList .item {
    padding: 1.5rem 2rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .breadList .item {
    padding: 1rem 2rem; } }

.templateB .breadList .item:last-child {
  color: #727272;
  font-weight: 500; }

@media screen and (max-width: 480px) {
  .templateB .breadList .item:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 200px; } }

@media screen and (max-width: 374px) {
  .templateB .breadList .item:last-child {
    width: 128px; } }

.templateB .breadList .item:last-child:after {
  display: none; }

.templateB .breadList .item:after {
  content: '';
  background: #e7e7e7;
  width: 1.6rem;
  height: 0.1rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%); }

.templateB .breadList .item a {
  color: #222222; }

.templateB .breadList .item a:hover {
  color: #222222; }

.templateB .box__top {
  position: relative; }

.templateB .box__top .banner {
  position: relative; }

.templateB .box__top .banner.noImage:before {
  display: none; }

.templateB .box__top .banner.noImage .titleBanner {
  margin-top: 0;
  padding-bottom: 4rem;
  height: unset; }

@media screen and (max-width: 1279px) {
  .templateB .box__top .banner.noImage .titleBanner {
    padding-bottom: 0; } }

@media screen and (max-width: 767.5px) {
  .templateB .box__top .banner.noImage .titleBanner {
    padding: 2rem 0;
    border-top: 0; } }

.templateB .box__top .banner::before {
  content: '';
  position: absolute;
  max-width: 54rem;
  width: 100%;
  height: 20rem;
  background: #ffffff;
  left: 0;
  bottom: 0rem;
  border-left: 4px solid #698161; }

@media screen and (max-width: 1023px) {
  .templateB .box__top .banner::before {
    max-width: 34rem;
    height: 13rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .box__top .banner::before {
    height: 8rem;
    max-width: 23.5rem;
    border-left: 0;
    border-top: 2px solid #698161; } }

.templateB .box__top .banner .image {
  height: 26rem; }

@media screen and (max-width: 1023px) {
  .templateB .box__top .banner .image {
    height: 20rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .box__top .banner .image {
    height: 13rem; } }

.templateB .box__top .banner .titleBanner {
  background-color: #fff;
  max-width: 44rem;
  width: 100%;
  padding: 7rem 3rem 7rem 0rem;
  display: inline-block;
  margin-top: -10rem;
  height: 20rem;
  position: relative;
  z-index: 3;
  margin-bottom: 0; }

@media screen and (max-width: 1023px) {
  .templateB .box__top .banner .titleBanner {
    max-width: 25rem;
    height: 13rem;
    padding: 4rem 2rem 4rem 0rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .box__top .banner .titleBanner {
    margin-top: -5rem;
    padding: 2rem 1.5rem;
    height: 8rem;
    max-width: 23rem;
    border-top: 2px solid #698161; } }

.templateB .box__top .banner .titleBanner .titleBanner__en {
  font-size: 1.2rem;
  color: #698161;
  display: block;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 1px; }

@media screen and (max-width: 1023px) {
  .templateB .box__top .banner .titleBanner .titleBanner__en {
    font-size: 1.1rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .box__top .banner .titleBanner .titleBanner__en {
    font-size: 1rem;
    margin-bottom: 0.7rem; } }

.templateB .box__top .banner .titleBanner .titleBanner__jp {
  font-size: 3.4rem;
  font-weight: 600;
  letter-spacing: 0.05em; }

@media screen and (max-width: 1279px) {
  .templateB .box__top .banner .titleBanner .titleBanner__jp {
    font-size: 2.3rem; } }

@media screen and (max-width: 767.5px) {
  .templateB .box__top .banner .titleBanner .titleBanner__jp {
    font-size: 1.8rem; } }

.templateB .box__top .banner .image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

.templateB .box__top .banner.achievement__banner .image {
  background: url(../img/achievement/page_label.jpg) no-repeat center;
  background-size: cover; }

.templateB .box__top .banner.service__banner .image {
  background: url(../img/service/page_label.jpg) no-repeat center;
  background-size: cover; }

.templateB .box__top .banner.about__banner .image {
  background: url(../img/about/page_label.jpg) no-repeat center;
  background-size: cover; }

.templateB .box__top .banner.policy__banner .image {
  background: url(../img/policy/page_label.jpg) no-repeat center;
  background-size: cover; }

.templateB .box__top .banner.news__banner .image {
  background: url(../img/news/page_label.jpg) no-repeat center;
  background-size: cover; }
