@charset "UTF-8";

/**
 * common.css
 *
 * 各サイト共通設定
**/


/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{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;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}



/******************************
 * フォント設定
*******************************/

/**
 * Noto Serifフォントの読み込み
 *
 * 通常をLight, 太字をRegularで設定
**/
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/NotoSerifJp-woff/NotoSerifJP-Light.woff2') format('woff2'),
       url('../fonts/NotoSerifJp-woff/NotoSerifJP-Light.woff') format('woff');
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/NotoSerifJp-woff/NotoSerifJP-Regular.woff2') format('woff2'),
       url('../fonts/NotoSerifJp-woff/NotoSerifJP-Regular.woff') format('woff');
}

/**
 * 游ゴシック
**/
/* Windows */
@font-face {
  font-family: YuGothicM;
  font-weight: normal;
  src: local('YuGothic-Medium'),  /* Mediumを明示的に指定 */
       local('Yu Gothic Medium'), /* Chrome用 */
       local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}
@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local('YoGothic-Bold'), /* Boldはそのまま */
       local('Yu Gothic');     /* Chrome用 */
}

/**
 * Googleフォント指定用 クラス：共通
**/
.fontLora {
  font-family: 'Lora';
  font-weight: normal;
}
.fontArial {
  font-family: 'Arial';
}

/**
 * Googleフォント指定用 クラス：日本語
**/
.fontNotoSerifLight {
  font-family: 'Noto Serif JP';
  font-weight: 300;
}
.fontNotoSans {
  font-family: 'Noto Sans JP';
}

/**
 * Googleフォント指定用 クラス：英語・フランス語・スペイン語
**/
.fontNotoSerifMulti {
  font-family: 'Noto Serif', serif;
  font-weight: 400;
}
.fontNotoSerifMulti-bold {
  font-family: 'Noto Serif', serif;
  font-weight: 700;
}
.fontNotoSansMulti {
  font-family: 'Noto Sans', sans-serif;
  font-weight: 400;
}
.fontNotoSansMulti-bold {
  font-family: 'Noto Sans', sans-serif;
  font-weight: 700;
}

/**
 * Googleフォント指定用 クラス：中国語
**/
.fontNotoSerifSC-extraLight {
  font-family: 'Noto Serif SC', serif;
  font-weight: 200;
}
.fontNotoSerifSC-Regular {
  font-family: 'Noto Serif SC', serif;
  font-weight: 400;
}
.fontNotoSansSC-Light {
  font-family: 'Noto Sans SC', sans-serif;
  font-weight: 300;
}
.fontNotoSansSC-Regular {
  font-family: 'Noto Sans SC', sans-serif;
  font-weight: 400;
}

/**
 * Googleフォント指定用 クラス：韓国語
**/
.fontNotoSerifKR-extraLight {
  font-family: 'Noto Serif KR', serif;
  font-weight: 200;
}
.fontNotoSerifKR-Regular {
  font-family: 'Noto Serif KR', serif;
  font-weight: 400;
}
.fontNotoSansKR-Light {
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 300;
}
.fontNotoSansKR-Regular {
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 400;
}

/* フォームの設定 */
.formCheck {
  letter-spacing: 0;
}
.formCheck input {
  margin: 5px 2px 5px 0;
  width: 35px;
}
.inv-recaptcha-holder {
  display: flex;
  justify-content: center;
}

/******************************
 * アイコンフォント設定
*******************************/

@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon/icomoon.eot?ffujqm');
  src:  url('../fonts/icomoon/icomoon.eot?ffujqm#iefix') format('embedded-opentype'),
    url('../fonts/icomoon/icomoon.ttf?ffujqm') format('truetype'),
    url('../fonts/icomoon/icomoon.woff?ffujqm') format('woff'),
    url('../fonts/icomoon/icomoon.svg?ffujqm#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/******************************
 * サイト共通
*******************************/
html {
  font-size: 62.5%;
}
body {
  /*font-family: YuGothicM, YuGothic, Meiryo, sans-serif;*/
  font-family: 'Noto Sans JP', YuGothicM, YuGothic, sans-serif;
  position: relative;
  /*padding: 1px 0 0 0;*/
  line-height: 1.6;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  font-feature-settings : "palt";
  min-width: 1240px;
}
body.noScroll {
  position: fixed;
  left: 0;
}
.sp {
  display: none;
}
.textLink {
  text-decoration: none;
  color: #241a96;
  transition: opacity .3s ease;
  text-decoration: underline;
}

/* 画像フェードイン */
.lazyload,
.lazyloading {
  opacity: 0;
}
.lazyloaded{
  opacity: 1;
  transition: opacity 1s;
}

.clearfix:after {
  display: block;
  content: '';
  clear: both;
}

/**
 * ローディング
 */
#loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: linear-gradient(#aaa, #e1e1e1);
  -webtki-backface-visibility: hidden;
}
#animation_container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#loading canvas {
  -webkit-backface-visibility: hidden;
}


/**
 * ローディング
 */
.sk-fading-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
}

.sk-fading-circle .sk-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-fading-circle .sk-circle:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #333;
  border-radius: 100%;
  -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
          animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}


/* 各サイトの色 */
.siteShokokuji .sk-fading-circle .sk-circle:before {
  background-color: #9b4b68;
}
.siteKinkakuji .sk-fading-circle .sk-circle:before {
  background-color: #866910;
}
.siteGinkakuji .sk-fading-circle .sk-circle:before {
  background-color: #265772;
}


.sk-fading-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg);
}
.sk-fading-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
      -ms-transform: rotate(60deg);
          transform: rotate(60deg);
}
.sk-fading-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.sk-fading-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
      -ms-transform: rotate(120deg);
          transform: rotate(120deg);
}
.sk-fading-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
      -ms-transform: rotate(150deg);
          transform: rotate(150deg);
}
.sk-fading-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.sk-fading-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
      -ms-transform: rotate(210deg);
          transform: rotate(210deg);
}
.sk-fading-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
      -ms-transform: rotate(240deg);
          transform: rotate(240deg);
}
.sk-fading-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg);
}
.sk-fading-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
      -ms-transform: rotate(300deg);
          transform: rotate(300deg);
}
.sk-fading-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
      -ms-transform: rotate(330deg);
          transform: rotate(330deg);
}
.sk-fading-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
          animation-delay: -1.1s;
}
.sk-fading-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
}
.sk-fading-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
          animation-delay: -0.9s;
}
.sk-fading-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}
.sk-fading-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
          animation-delay: -0.7s;
}
.sk-fading-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s;
}
.sk-fading-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s;
}
.sk-fading-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}
.sk-fading-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
          animation-delay: -0.3s;
}
.sk-fading-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}
.sk-fading-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleFadeDelay {
  0%, 39%, 100% { opacity: 0; }
  40% { opacity: 1; }
}

@keyframes sk-circleFadeDelay {
  0%, 39%, 100% { opacity: 0; }
  40% { opacity: 1; }
}

/**
 * グローバルナビゲーション
**/
#globalNavigation {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: right;
  padding: 24px 0;
  z-index: 500;
  transition: all .2s ease;
  transform: translate3d(0, 0, 0);
  background-color: rgba(46, 46, 46, .4);
}
#globalNavigation ul {
  padding: 0;
  margin: 0;
  letter-spacing: -.4em;
}
#globalNavigation ul li {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  letter-spacing: 0.1em;
}
#globalNavigation ul li a {
  position: relative;
  color: #fff;
  text-decoration: none;
}
#globalNavigation ul li a {
  position: relative;
  padding: 7px 0;
}
#globalNavigation ul li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 0px;
  height: 1px;
  background-color: transparent;
  transition: all .3s ease;
}
#globalNavigation .globalSub a:hover:before {
  width: 100%;
  left: 0;
}
#globalNavigation .globalMain {
  display: inline-block;
  vertical-align: middle;
  padding: 0 30px 0 0;
  margin: 0 30px 0 0;
  border-right: 1px solid rgba(255, 255, 255, .5);
}
#globalNavigation .globalMain li + li {
  margin: 0 0 0 40px;
}
#globalNavigation .globalMain li a {
  padding: 7px 10px;
  border-bottom: 1px solid transparent;
  transition: opacity .3s ease;
}
#globalNavigation .globalSub {
  display: inline-block;
  vertical-align: middle;
  margin: 0 40px 0 0;
}
#globalNavigation .globalSub a {
  position: relative;
  padding: 7px 0;
}#globalNavigation .globalSub li + li {
  margin: 0 0 0 30px;
}
#globalNavigation .globalSub li a {
  font-size: 1.2rem;
}
#globalNavigation .lang {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 15px 0 0;
  padding: 0 0 0 26px;
  border: 1px solid #fff;
}
#globalNavigation .lang:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  margin: -3px 0 0 0;
  border-top: 6px solid #fff;
  border-right: 3px solid transparent;
  border-left: 3px solid transparent;
}
#globalNavigation .lang::before {
  position: absolute;
  top: 2px;
  left: 6px;
  content: "\e900";
  font-family: "icomoon";
  font-size: 15px;
  color: #fff;
}
.pageLower #globalNavigation .lang::before,
#globalNavigation.fixed .lang::before {
  color: #2C2E2E;
}
#globalNavigation .lang label {
  display: block;
  padding: 0 20px 0 2px;
  height: 26px;
  line-height: 26px;
  border-radius: 0;
  outline: none;
  color: #fff;
  border: none;
	font-size: 1.2rem;
}
#globalNavigation .lang select {
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/* 各サイトの色 */
.siteShokokuji #globalNavigation ul li a.navShokokuji:before,
#globalNavigation ul li a.navShokokuji:hover:before {
  left: 0;
  width: 100%;
  background-color: #9b4b68;
}
.siteKinkakuji #globalNavigation ul li a.navKinkakuji:before,
#globalNavigation ul li a.navKinkakuji:hover:before {
  left: 0;
  width: 100%;
  background-color: #866910;
}
.siteGinkakuji #globalNavigation ul li a.navGinkakuji:before,
#globalNavigation ul li a.navGinkakuji:hover:before {
  left: 0;
  width: 100%;
  background-color: #265772;
}
.siteJotenkaku #globalNavigation ul li a.navJotenkaku:before,
#globalNavigation ul li a.navJotenkaku:hover:before {
  left: 0;
  width: 100%;
  background-color: #748e46;
}
.siteReference #globalNavigation ul li a.navReference:before,
#globalNavigation ul li a.navReference:hover:before,
.siteZazenkai #globalNavigation ul li a.navZazenkai:before,
#globalNavigation ul li a.navZazenkai:hover:before,
.siteSchedule #globalNavigation ul li a.navSchedule:before,
#globalNavigation ul li a.navSchedule:hover:before {
  left: 0;
  width: 100%;
  background-color: #2E2E2E;
}


/* 下層ページでのレイアウト
 * トップページでもスクロール時にこのデザインになります。
**/
.pageLower #globalNavigation,
#globalNavigation.fixed {
  position: fixed;
  padding: 14px 0;
  background-color: #F2F3F2;
}
.pageLower #globalNavigation ul li a,
#globalNavigation.fixed ul li a {
  color: #2C2E2E;
}
.pageLower #globalNavigation .globalMain,
#globalNavigation.fixed .globalMain {
  border-color: #2C2E2E;
}
.pageLower #globalNavigation .lang,
#globalNavigation.fixed .lang {
  color: #2C2E2E;
  border-color: #2C2E2E;
}
.pageLower #globalNavigation .lang:after,
#globalNavigation.fixed .lang:after {
  border-top-color: #2C2E2E;
}
.pageLower #globalNavigation .lang label,
#globalNavigation.fixed .lang label {
  color: #2C2E2E;
}


/**
 * サイトナビゲーション
**/
#siteHeader {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 510;
  background-color: #2e2e2e;
  width: 220px;
  color: #fff;
  padding: 25px 0 60px 0;
	max-height: 725px;
  box-sizing: border-box;
}
.siteJotenkaku #siteHeader {
	background-color: #fff;
/*	padding-bottom: 90px;*/
}
#siteHeader .sect {
  margin: 0 0 35px 0;
  text-align: center;
  color: #ccc;
}
.siteJotenkaku #siteHeader .sect {
	color: #333;
}
#siteHeader .name {
  text-align: center;
  margin: 0 0 40px 0;
}
.siteJotenkaku #siteHeader .name {
  margin: 0 0 20px 0;
}
#siteHeader .enName {
  text-align: center;
  padding: 10px 0;
  background: #ccc;
}
#siteNavigation {
  padding: 0 20px;
  list-style-type: none;
}
#siteNavigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#siteNavigation li + li {
  border-top: 1px solid #444;
}
.siteJotenkaku #siteNavigation li + li {
  border-top: 1px solid #ddd;
}
#siteNavigation li a {
  position: relative;
  color: #eee;
  padding: 10px;
  display: block;
  text-decoration: none;
  transition: padding .5s ease;
}
.siteJotenkaku #siteNavigation li a {
	color: #333;
	padding: 10px 5px 10px 10px;
}
#siteNavigation li a:before {
  content: '';
  display: block;
  width: 5px;
  height: 2px;
  background: #666;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
  opacity: 0;
  transition: .5s ease;
}
#siteNavigation li a:hover {
  padding-left: 15px;
  padding-right: 5px;
  opacity: 1;
}
#siteNavigation li a:hover:before {
  opacity: 1;
}
#siteNavigation li a.siteLocalNavigation {
  padding: 10px 10px 10px 24px;
}
#siteNavigation li a.siteLocalNavigation:hover {
  padding-left: 29px;
  padding-right: 5px;
  opacity: 1;
}

/* 各サイトの色 */
.siteShokokuji #siteHeader .enName {
  background-color: #9b4b68;
}
.siteKinkakuji #siteHeader .enName {
  background-color: #866910;
}
.siteGinkakuji #siteHeader .enName {
  background-color: #265772;
}
.siteJotenkaku #siteHeader .enName {
  background-color: #748e46;
}

/* 下層ページでのレイアウト */
.pageLower #siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
	max-height: 100%;
  width: 130px;
}
.siteJotenkaku.pageLower #siteHeader {
	border-right: 1px solid #ddd;
}
.pageLower #siteHeader .sect {
  display: none;
}
.pageLower #siteHeader .name {
  margin: 0 0 30px 0;
}
.pageLower #siteHeader .name img {
  width: 26px;
}
.siteJotenkaku.pageLower #siteHeader .name img {
  width: 24px;
}
.pageLower #siteHeader .enName {
  display: none;
}
.pageLower #siteNavigation {
  padding: 0;
  border-top: 1px solid #9b4b68;
}
.pageLower #siteNavigation li a {
  font-size: 1.2rem;
}


/* 各サイトの色 */
.siteShokokuji.pageLower #siteNavigation {
  border-color: #9b4b68;
}
.siteKinkakuji.pageLower #siteNavigation {
  border-color: #866910;
}
.siteGinkakuji.pageLower #siteNavigation {
  border-color: #265772;
}
.siteJotenkaku.pageLower #siteNavigation {
  border-color: #748e46;
}
.siteReference.pageLower #siteNavigation,
.siteZazenkai.pageLower #siteNavigation,
.siteSchedule.pageLower #siteNavigation {
  border-color: #666;
}


/**
 * ページトップ
**/
.btnPageTop {
  position: fixed;
  bottom: 30px;
  right: 5%;
  display: block;
  width: 50px;
  height: 0;
  padding-top: 50px;
  line-height: 1.6;
  overflow: hidden;
  background-image: url(../img/common/btnPageTop@2x.png);
  background-repeat: no-repeat;
  background-size: 50px;
  z-index: 10;
}


/**
 * フッター
**/
#globalFooter {
  display: block;
}
#globalFooter .footerNav {
  background-color: #2e2e2e;
  padding: 25px 0;
}
#globalFooter .footerNav ul {
  text-align: center;
  letter-spacing: -.4em;
  padding: 0;
  margin: 0;
}
#globalFooter .footerNav ul li {
  letter-spacing: .1em;
  display: inline-block;
  vertical-align: middle;
}
#globalFooter .footerNav ul li + li {
  margin: 0 0 0 24px;
}
#globalFooter .footerNav ul li a {
  display: block;
  border: 1px solid #777;
  text-decoration: none;
  color: #fff;
  width: 273px;
  height: 148px;
  transition: opacity .3s ease, border .3s ease;
}
#globalFooter .footerNav ul li a:hover {
  opacity: 1;
  border-color: #fff;
}
#globalFooter .footerNav ul li a .title {
  margin: 0;
  position: relative;
  z-index: 10;
  font-size: 1.7rem;
  letter-spacing: .2em;
  line-height: 148px;
}
#globalFooter .footerNav ul li .image {
  opacity: .4;
}
#globalFooter .footerNav ul li a:hover .image {
  opacity: .8;
}
#globalFooter .footerNav ul li .navShokokuji .image {
  background-image: url(../img/common/imgFooterLinkShokokuji@2x.jpg);
}
#globalFooter .footerNav ul li .navKinkakuji .image {
  background-image: url(../img/common/imgFooterLinkKinkakuji@2x.jpg);
}
#globalFooter .footerNav ul li .navGinkakuji .image {
  background-image: url(../img/common/imgFooterLinkGinkakuji@2x.jpg);
}
#globalFooter .footerNav ul li .navJotenkaku .image {
  background-image: url(../img/common/imgFooterLinkJotenkaku@2x.jpg?2);
}
#globalFooter .copyright {
  padding: 30px 10px;
  text-align: center;
  background: #333;
  color: #fff;
  font-size: 1.2rem;
}


/* 各サイトの色 */
.siteShokokuji #globalFooter .footerNav ul li .navShokokuji,
#globalFooter .footerNav ul li .navShokokuji:hover {
  opacity: .9;
  border-color: #9b4b68;
}
.siteShokokuji #globalFooter .footerNav ul li .navShokokuji .image {
  opacity: .8;
}
.siteShokokuji #globalFooter .copyright {
  background-color: #9b4b68;
}
.siteJotenkaku #globalFooter .copyright {
  background-color: #748e46;
}

.siteKinkakuji #globalFooter .footerNav ul li .navKinkakuji,
#globalFooter .footerNav ul li .navKinkakuji:hover {
  opacity: .9;
  border-color: #866910;
}
.siteKinkakuji #globalFooter .footerNav ul li .navKinkakuji .image {
  opacity: .8;
}
.siteKinkakuji #globalFooter .copyright {
  background-color: #866910;
}

.siteGinkakuji #globalFooter .footerNav ul li .navGinkakuji,
#globalFooter .footerNav ul li .navGinkakuji:hover {
  opacity: .9;
  border-color: #265772;
}
.siteGinkakuji #globalFooter .footerNav ul li .navGinkakuji .image {
  opacity: .8;
}
.siteGinkakuji #globalFooter .copyright {
  background-color: #265772;
}

.siteJotenkaku #globalFooter .footerNav ul li .navJotenkaku,
#globalFooter .footerNav ul li .navJotenkaku:hover {
  opacity: .9;
  border-color: #748e46;
}
.siteJotenkaku #globalFooter .footerNav ul li .navJotenkaku .image {
  opacity: .8;
}
.siteJotenkaku #globalFooter .copyright {
  background-color: #748e46;
}



/* 下層ページでのレイアウト */
.pageLower #globalFooter {
  margin: 0 0 0 130px;
  border-left: 1px solid #ccc;
}
.pageLower #globalFooter .footerNav ul li a {
  width: 240px;
  height: 130px;
}
.pageLower #globalFooter .footerNav ul li a .title {
  line-height: 130px;
}


/**
 * ボタン
**/
a.btnBasic{
	display: block;
	padding: 15px 0;
  border: 1px solid #ccc;
  border-radius: 30px;
  width: 200px;
  text-align: center;
  text-decoration: none;
  color: #333;
}

/* 詳しくはこちらボタン */
a.linkButton {
  display: block;
  margin: 30px auto 0;
  padding: 12px 0;
  border: 1px solid #ccc;
  border-radius: 25px;
  width: 200px;
  text-align: center;
  text-decoration: none;
  color: #333;
  font-size: 1.4rem;
}


/******************************
 * コンテンツ
 ******************************/


/**
 * メインコンテンツ
**/
.inner {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}
img {
  max-width: 100%;
}
a {
	color: #07b;
  transition: opacity .3s ease;
}
a:hover {
  opacity: .7;
}
#mainContent {
  min-height: 700px;
}


/**
 * 通常リスト
**/
ul.disc {
  list-style: none;
  margin: 1em 0;
  padding: 0;
  font-size: 1.6rem;
}
ul.disc li {
  position: relative;
  padding-left: 1em;
}
ul.disc li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}


/**
 * 注釈
**/
ul.note {
  list-style: none;
  margin: 1em 0;
  padding: 0;
  font-size: 1.4rem;
}
ul.note li {
  position: relative;
  padding-left: 1em;
}
ul.note li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}

/**
 * 引用文
**/
.quote {
  padding-left: 3em;
  display: inline-block;
}

/**
 * 下層ページでのレイアウト
**/
.pageLower #mainContent {
  display: block;
  padding: 120px 0 50px 130px;
}


/**
 * 下層ページタイトル
**/
.lowerTitle {
  text-align: center;
  font-size: 2.5rem;
  margin: 0 0 60px 0;
}
.lowerTitle .fontNotoSerifLight {
  font-size: 2.7rem;
  letter-spacing: normal;
}
.lowerTitle .lowerSubTitle {
  font-size: 2rem;
}


/**
 * 下層ページセクション
**/
.lowerPageSection {
  padding-top: 60px;
  margin: -60px 0 90px 0;
}
.lowerPageSectionTitle {
  font-size: 1.6rem;
  margin: 0 0 30px 0;
  font-weight: normal;
}
.lowerPageSectionTitle span {
  padding: 0 10px 5px;
  min-width: 120px;
  border-bottom: 1px solid #666;
  display: inline-block;
}


/**
 * サムネイル付きリンク
 **/
.thumbLink {
  display: inline-block;
}
.thumbLink .thumb {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.thumbLink .thumb .image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
  transition: transform 1s ease, opacity 2s ease;
  /*transition: transform 1s ease, opacity .5s ease;*/
  backface-visibility: hidden;
}
.thumbLink:hover {
  opacity: 1;
}
.thumbLink:hover .thumb .image {
  transform: scale(1.06);
  opacity: .8;
}



/**
 * アンカーリンクナビゲーション
**/
.pageAnchorLinkNav {
  padding: 0;
  margin: 0 0 80px 0;
  text-align: center;
  letter-spacing: -.4em;
}
.pageAnchorLinkNav li {
  display: inline-block;
  letter-spacing: .2em;
}
.pageAnchorLinkNav li a {
  display: block;
  font-size: 1.6rem;
  padding: 0 30px;
  text-decoration: none;
  color: #333;
  border-left: 1px solid #e5e5e5;
}
.pageAnchorLinkNav li:last-child a {
  border-right: 1px solid #e5e5e5;
}


/**
 * フォーム
 */
.formContent {
  width: 500px;
  padding: 50px 100px 80px;
  margin: 50px auto;
  background: #f6f6f6;
}
.formContent .formTitle {
  text-align: center;
  font-size: 2rem;
  margin: 0 0 40px 0;
}
.formContent .formElement {
  margin: 0 0 25px 0;
}
.formContent .formElement p {
  margin: 0;
}
.formContent .formElement .formLabel {
  margin: 0 0 10px 0;
}
.formContent .formElement .formLabel.require:after {
  content: '必須';
  display: inline-block;
  vertical-align: middle;
  width: 40px;
  height: 20px;
  background-color: #9a4b69;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  border-radius: 3px;
  margin: 0 0 0 5px;
}
.formContent .formElement input[type="text"],
.formContent .formElement input[type="email"],
.formContent .formElement textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}
.formContent .formElement textarea {
  resize: vertical;
}
.formContent .formElement ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.formContent .formElement ul li {
  position: relative;
  padding: 0 0 0 1em;
  text-indent: -1em;
}
.formContent .formElement .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  position: relative;
  padding: 0 0 0 1em;
  margin: 0;
  text-indent: -1em;
}
.formContent input[type="submit"] {
  display: block;
  width: 200px;
  height: 54px;
  background-color: #2e2e2e;
  color: #fff;
  border-radius: 27px;
  font-size: 1.4rem;
  margin: 0 auto;
  cursor: pointer;
}
.formContent input[type="submit"][disabled] {
  opacity: .5;
}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
  width: 100%;
  box-sizing: border-box;
}
.formContent .formElement input[type="text"].formZipcode,
.formContent .formElement input[type="text"].formTel,
.formContent .formElement input[type="text"].formAmount {
  width: 30% !important;
}

/**
 * コンテンツアニメーション
 * common.jsに記述された処理と連動しています
 *
 * e.g.
 * <div id="content" class="animation left2right" data-animation-delay="1000"> ... </div>
 * このようにクラス設定すると 左から右 に表示されるアニメーションになります。
 * また、 data-animation-delay 属性を設定すると、値のミリ秒分遅延して表示されます。
**/
.animation {
  transition: transform 1s ease, opacity 1s ease;
  opacity: 0;
}
.animation.show {
  opacity: 1;
}

/* left -> right */
.animation.left2right {
  transform: translate3d(0,-30px,1px);
}
.animation.left2right.show {
  transform: translate3d(0,0,1px);
}

/* right -> left */
.animation.right2left {
  transform: translate3d(30px,0,1px);
}
.animation.right2left.show {
  transform: translate3d(0,0,1px);
}

/* bottom -> top */
/*.animation.bottom2top {
  transform: translate3d(0,30px,1px);
}
.animation.bottom2top.show {
  transform: translate3d(0,0,1px);
}*/
.animation.bottom2top {
  -webkit-transform: translate3d(0,30px,0);
          transform: translate3d(0,30px,0);
}
.animation.bottom2top.show {
  -webkit-transform: translate3d(0,0,0);
          transform: translate3d(0,0,0);
}


/* top -> bottom */
.animation.top2bottom {
  transform: translate3d(-30px,0,1px);
}
.animation.top2bottom.show {
  transform: translate3d(0,0,1px);
}
