@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;
  text-decoration: none; }

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.templateA {
  color: #222222;
  font-weight: 500;
  overflow-x: hidden;
  line-height: 1.6;
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem; }

@media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  body.templateA {
    font-family: "Noto Sans JP", sans-serif !important; } }

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

body.templateA.scroll {
  overflow: hidden; }

.templateA a {
  text-decoration: none; }

.templateA a:hover {
  text-decoration: none; }

.templateA .clearfix::after {
  content: "";
  clear: both;
  display: table; }

.templateA .inner {
  padding-left: 3rem;
  padding-right: 3rem;
  max-width: 1140px;
  margin: 0 auto; }

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

@-moz-document url-prefix() {
  @media screen and (max-width: 1279.5px) {
    .templateA .inner {
      padding-left: 2rem;
      padding-right: 2rem; } } }

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

.templateA .only-pc {
  display: inline-block; }

@media screen and (max-width: 1279px) {
  .templateA .only-pc {
    display: none; } }

.templateA .only-sp {
  display: none; }

@media screen and (max-width: 1279px) {
  .templateA .only-sp {
    display: inline-block; } }

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

.templateA .breadList {
  background-color: #ffffff;
  padding-left: 0;
  padding-right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0.75rem 0;
  margin-bottom: 1rem; }

.templateA .breadList .item {
  padding: 0.5rem 0.5rem;
  color: #727272;
  font-size: 1.1rem;
  font-weight: bold; }

.templateA .breadList .item:first-child {
  padding-left: 0; }

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

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

.templateA .breadList .item .txt_link {
  color: #0f0f0f;
  font-size: 1.1rem;
  display: block;
  position: relative;
  padding-right: 2.5rem;
  font-weight: 500; }

.templateA .breadList .item .txt_link:hover {
  color: #727272; }

.templateA .breadList .item .txt_link::before {
  content: "";
  background: #e7e7e7;
  width: 1rem;
  height: 0.1rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.templateA .box__top {
  position: relative; }

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

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

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

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

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

.templateA .box__top .banner.noImage .titleBanner {
  margin-top: 0;
  padding: 3rem 0rem 2rem;
  height: unset;
  line-height: 1.4; }

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

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

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

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

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

.templateA .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: 10; }

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

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

.templateA .box__top .banner .titleBanner .titleBanner__en {
  font-size: 1.2rem;
  font-family: "Oswald", sans-serif;
  color: #3163a6;
  display: block;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 1px; }

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

.templateA .box__top .banner .titleBanner .titleBanner__jp {
  font-size: 3.4rem;
  font-weight: bold; }

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

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

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