@charset "UTF-8";
/* CSS Document */
/*----------------------------------------------------
 basic
----------------------------------------------------*/

html, body {
	width: 100%;
	height:100%;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
}

body {
	/*font-feature-settings: "palt";*/
  font-feature-settings: normal;
  color: #555555;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
	font-size: 1.6rem;
  line-height: 1.875;
  -webkit-text-size-adjust: none;
  /* フォントサイズ自動調整 */
  /*position: relative;*/
  width: 100%;
  text-align: left;
  letter-spacing: 0.02em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-weight: 700;
  min-width: 102.4rem;
	
	background-color: #FFFFFF;
}

main {
    padding-top: 0;
}
#top main {
    padding-top: 0;
}

/* hack
----------------------------------------- */
/* ie10,11 , Edge12+（Edge全て） */
_:-ms-lang(x), body {
  letter-spacing: 0.01em;
}

/* ----------------------------------------- */
@media screen and (max-width: 1024px) {
  body {
    font-size: 15px;
	font-size: 1.5rem;
  }
}

@media screen and (max-width: 896px) and (min-width: 481px) and (orientation: landscape) { 
html {
    font-size: 40%;
}
	body {
    min-width: initial;
  }
}

@media screen and (max-width: 768px) {
html {
	/*font-size: 62.5%;*/
    font-size: 3.125vw
}
  body {
    font-size: 13px;
	font-size: 1.3rem;
    min-width: inherit;
	letter-spacing: 0;
}
  #wrapper {
    z-index: 1;
    -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
  }
  main {
    padding-top: 0;
}
}

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  -webkit-tap-highlight-color: rgba(200, 200, 200, 0.6);
  outline: none;
  -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
}

a:link {
  color: #826A52;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
  color: #644728;
}

a:focus {
  outline: none;
}

a:visited {
  color: #826A52;
}

a.underLine {
  text-decoration: underline;
}

img {
  vertical-align: top;
  width: auto;
  max-width: 100%;
  height: auto;
}

img:not([width]) {
  /*zoom: .5; /* Retinaディスプレイ対応のためimg要素は半分の大きさに */
}

p, dl, ol, ul {
  margin: 0;
  list-style: none outside;
}

em {
  font-style: normal;
}

li {
  margin: 0;
  list-style: none outside;
}

strong {
  font-weight: 800;
}

h1, h2, h3, h4, p.txt, ul, dl {
  text-align: left;
}

p.txt {
  margin-bottom: 2em;
  font-size: 100%;
}

p.img {
  margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
  p, ul, dl {
    font-size: 100%;
  }
}

@media screen and (max-width: 1280px) {
  * {
    -webkit-appearance: none;
  }
}

.hoverOpa a:hover,
.hoverOpa a:hover * {
  opacity: 0.9;
  -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
}

a.hoverOpa:hover * {
  opacity: 0.9;
  -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
}

@media screen and (max-width: 768px) {
  a:hover * {
    opacity: 1;
  }
}

* a.hoverOpa:hover {
  opacity: 0.7;
  -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
}

@media screen and (max-width: 768px) {
  * a:hover {
    opacity: 1;
  }
}

.aWrapOv, .ovC {
  display: block;
}

.aWrapOv .img, .ovC .img {
  position: relative;
}

.aWrapOv .img:before, .ovC .img:before {
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(1, 1, 1, 0.18);
}

.aWrapOv .img.ovBlue:before, .ovC .img.ovBlue:before {
  background-color: rgba(29, 161, 242, 0.18);
}

.aWrapOv.ovBlue .img:before, .ovC.ovBlue .img:before {
  background-color: rgba(29, 161, 242, 0.18);
}

.aWrapOv:hover .img:before, .ovC:hover .img:before {
  opacity: 0;
}

.aOv a {
  display: block;
  position: relative;
}

.aOv a:before {
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(1, 1, 1, 0.18);
}

.aOv a.ovBlue:before {
  background-color: rgba(29, 161, 242, 0.18);
}

.aOv a:hover:before {
  opacity: 0;
}

/*アニメーション*/
/**:before, *:after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
}*/

sup {
  vertical-align: super;
  font-size: 80%;
}


/* ローディング
----------------------------------------- */
body #fade {
width: 100%;
height: 100%;
display: block;
background: #FFFFFF;
position: fixed;
top: 0px;
left: 0px;
z-index: 9999;
}

/*wrapper ローディング用*/
body #wrapper{
width: 100%;
margin: auto;
overflow: hidden;
opacity: 0;
filter: alpha(opacity=0);  
-ms-filter: "alpha( opacity=0 )";
}

.loading {
position: fixed;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}

.loading span {
  width: auto;
  max-width: 40vw;
  display: block;
  opacity: 0;
  margin: 0;
  animation: loading 1.2s infinite ease-in-out alternate;
}
.loading img {
    width: auto;
    max-width: 100%;
    height: auto;
}
@keyframes loading {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#top .loading span {
  display: block;
  opacity: 0;
  margin: 0;
  animation: loading2 3s ease-in-out alternate forwards;
}
@keyframes loading2 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}


@media screen and (max-width: 768px) {
.loading span {
  width: 7.7rem;
}
}


/* パーツ
----------------------------------------- */
/* .discList
----------------------------------------- */
.discList {
  position: relative;
  padding-left: 1em;
}

.discList:before {
  content: "・";
  z-index: 0;
  margin-left: -1em;
}

/* ボタン
----------------------------------------- */
.btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    outline: none;
}

.btn._type1 {
    border: 0.1rem solid #c8beb4;
    font-size: 2.0rem;
	border-radius: 50%;
    line-height: 1.45;
    letter-spacing: 0.15em;
    font-weight: 500;
	color: #c8beb4;
	background-color: #FFFFFF;
    width: 13rem;
    height: 13rem;
}
.btn._type1::before,
.btn._type1::after {
    content: "";
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    transform: translate(100%,-100%);
}
.btn._type1::before {
    width: 5rem;
	height: .9rem;
    border-bottom: 2px solid #c8beb4;
    -webkit-transition: width .5s;
    -moz-transition: width .5s;
    transition: width .5s;
    right: 2rem;
}
.btn._type1::after {
    width: 1.5rem;
    -webkit-transition: left .5s,right .5s;
    -moz-transition: left .5s,right .5s;
    transition: left .5s,right .5s;
    right: -2.5rem;
    border-bottom: 0.9rem solid #c8beb4;
    border-right: 1.5rem solid transparent;
}

.btn._type1:hover {
	color: #ffffff;
	background-color: #826a52;
}
.btn._type1:active::before,
.btn._type1:hover::before {
  width: 6rem;
	right: 2rem;
}
.btn._type1:active::after,
.btn._type1:hover::after {
  right: -3.5rem
}


.btn._type1.small {
    border: 0.1rem solid #c8beb4;
    font-size: 1.6rem;
	border-radius: 50%;
    line-height: 1.45;
    letter-spacing: 0.15em;
    font-weight: 500;
	color: #c8beb4;
	background-color: #FFFFFF;
    width: 10rem;
    height: 10rem;
}

.btn._type1.small::before {
    width: 3.5rem;
	height: .9rem;
    border-bottom: 2px solid #c8beb4;
    -webkit-transition: width .5s;
    -moz-transition: width .5s;
    transition: width .5s;
    right: 1.5rem;
}
.btn._type1.small::after {
    width: 1.2rem;
    -webkit-transition: left .5s,right .5s;
    -moz-transition: left .5s,right .5s;
    transition: left .5s,right .5s;
    right: -1.5rem;
    border-bottom: 0.9rem solid #c8beb4;
    border-right: 1.5rem solid transparent;
}

.btn._type1.small:hover {
	color: #ffffff;
	background-color: #826a52;
}
.btn._type1.small:active::before,
.btn._type1.small:hover::before {
	width: 4rem;
	right: 1.5rem;
}
.btn._type1.small:active::after,
.btn._type1.small:hover::after {
	right: -2.5rem
}



.btn._type2 {
    border: 0.2rem solid #c8beb4;
    font-size: 1.8rem;
	border-radius: 1rem;
    line-height: 1.45;
    letter-spacing: 0.15em;
    font-weight: 600;
	color: #826a52;
	background-color: #FFFFFF;
    width: auto;
    height: auto;
	padding: 2.25rem 4rem;
	padding-right: 11rem;
	margin-top: 4rem;
}
.btn._type2::before,
.btn._type2::after {
    content: "";
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
	right: 0;
    transform: translate(0,-80%);
}
.btn._type2::before {
    width: 5rem;
	height: .9rem;
    border-bottom: 2px solid #826a52;
    -webkit-transition: width .5s;
    -moz-transition: width .5s;
    transition: width .5s;
    right: 2.5rem;
}
.btn._type2::after {
    width: 1.2rem;
    -webkit-transition: left .5s,right .5s;
    -moz-transition: left .5s,right .5s;
    transition: left .5s,right .5s;
    top: 50.3%;
    right: 2.0rem;
    border-bottom: 0.7rem solid #826a52;
    border-right: 1.2rem solid transparent;
}

.btn._type2:hover {
	color: #ffffff;
	background-color: #826a52;
	border: 0.2rem solid #826a52;
}
.btn._type2:active::before,
.btn._type2:hover::before {
	width: 5rem;
	right: 2.5rem;
	border-bottom: 2px solid #ffffff;
}
.btn._type2:active::after,
.btn._type2:hover::after {
	right: 1.5rem;
	border-bottom: 0.9rem solid #ffffff;
}


@media screen and (max-height: 420px) and (orientation: landscape) {
body.is-mobile .btn._type2 {
    border: 0.2rem solid #c8beb4;
    font-size: 1.8rem;
	border-radius: 1rem;
    line-height: 1.45;
    letter-spacing: 0.15em;
    font-weight: 600;
	color: #826a52;
	background-color: #FFFFFF;
    width: auto;
    height: auto;
	padding: 2.25rem 2rem;
	padding-right: 6rem;
	margin-top: 2rem;
}
body.is-mobile .btn._type2::before {
    width: 3rem;
    right: 2.0rem;
}
body.is-mobile .btn._type2::after {
    right: 1.5rem;
}
}

@media screen and (max-width: 768px) {
.btn._type1 {
    font-size: 1.2rem;
    width: 7.5rem;
    height: 7.5rem;
}
.btn._type1::before,
.btn._type1::after {
    content: "";
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    transform: translate(100%,-100%);
}
.btn._type1::before {
    width: 2.5rem;
	height: .45rem;
    border-bottom: 2px solid #c8beb4;
    right: 1rem;
}
.btn._type1::after {
    width: 0.75rem;
    right: -1.25rem;
    border-bottom: 0.45rem solid #c8beb4;
    border-right: 0.75rem solid transparent;
}
.btn._type1:active::before,
.btn._type1:hover::before {
  width: 3rem;
	right: 1rem;
}
.btn._type1:active::after,
.btn._type1:hover::after {
  right: -1.75rem
}


.btn._type1.small {
    font-size: 1.1rem;
    width: 6rem;
    height: 6rem;
}

.btn._type1.small::before {
    width: 1.75rem;
	height: .45rem;
    right: 0.75rem;
}
.btn._type1.small::after {
    width: 0.6rem;
    right: -0.75rem;
    border-bottom: 0.45rem solid #c8beb4;
    border-right: 0.75rem solid transparent;
}

.btn._type1.small:active::before,
.btn._type1.small:hover::before {
	width: 2rem;
	right: 0.75rem;
}
.btn._type1.small:active::after,
.btn._type1.small:hover::after {
	right: -1.25rem
}

.btn._type2 {
    font-size: 1.4rem;
	border-radius: 0.5rem;
	padding: 1.5rem 2rem;
	padding-right: 0;
	justify-content: flex-start;
	margin-top: 2rem;
}
.btn._type2::before,
.btn._type2::after {
    content: "";
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
	right: 0;
    transform: translate(0,-80%);
}
.btn._type2::before {
    width: 2.5rem;
	height: .45rem;
    border-bottom: 2px solid #826a52;
    -webkit-transition: width .5s;
    -moz-transition: width .5s;
    transition: width .5s;
    right: 1.25rem;
}
.btn._type2::after {
    width: 0.75rem;
    -webkit-transition: left .5s,right .5s;
    -moz-transition: left .5s,right .5s;
    transition: left .5s,right .5s;
    right: 1.0rem;
    border-bottom: 0.45rem solid #826a52;
    border-right: 0.75rem solid transparent;
}

.btn._type2:hover {
	color: #ffffff;
	background-color: #826a52;
	border: 0.2rem solid #826a52;
}
.btn._type2:active::before,
.btn._type2:hover::before {
	width: 2.5rem;
	right: 1.25rem;
	border-bottom: 2px solid #ffffff;
}
.btn._type2:active::after,
.btn._type2:hover::after {
	right: 0.75rem;
	border-bottom: 0.45rem solid #ffffff;
}
}


.txtLinkRect {
  margin-left: 1em;
  display: inline-block;
}

.txtLinkRect a {
  background: #F1F1F1;
  color: #826A52;
  padding: 2px 15px;
  font-size: 80%;
  display: inline-block;
}

.txtLinkRect a:hover {
  background: #826A52;
  color: #fff;
}

@media screen and (max-width: 768px) {
}

/* border
----------------------------------------- */
.bd {
  border: 1px solid #ccc;
}

.dsnone {
  display: none;
}

/* 画像
----------------------------------------- */
img.w100 {
  width: 100%;
}

/* ボタン
----------------------------------------- */
/* スペース
----------------------------------------- */
.mb0 {
  margin-bottom: 0 !important;
}

.mb05em {
  margin-bottom: 0.5em !important;
}

.mb1em {
  margin-bottom: 1em !important;
}

.mb2em {
  margin-bottom: 2em !important;
}

.mb3em {
  margin-bottom: 3em !important;
}

.mb4em {
  margin-bottom: 4em !important;
}

.mt1em {
  margin-top: 1em !important;
}

.Pd40 {
	padding: 0 40px !important;
}

@media screen and (max-width: 768px) {
  .Pd40 {
	padding: 0 !important;
}
}

/* 色
----------------------------------------- */
.red {
  color: #644728;
}

/* 文字
----------------------------------------- */

.fAbc {
  font-family: 'Oswald', sans-serif;
	font-weight: 400;
}

.fontJp {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", "Meiryo", sans-serif !important;
  letter-spacing: 0.05em !important;
}

.bold {
  font-weight: 800;
}

.fwNormal {
  font-weight: normal;
}

.small {
  font-size: 12px;
}

.txtC {
  text-align: center !important;
}

.txtL {
  text-align: left !important;
}

.txtR {
  text-align: right !important;
}

.fSizeMid {
  font-size: 26px;
}

@media screen and (max-width: 768px) {
  .fSizeMid {
    font-size: 129%;
  }
	.sptxtL {
  text-align: left !important;
}
}

/*float*/
.fL {
  float: left;
}

.fR {
  float: right;
}

.dsBlock {
  display: block !important;
}

/*color*/
.baseColor {
  color: #826A52;
}

.subColor1 {
  color: #644728;
}

.textWhite {
  color: #fff;
}

/* 画像、テキスト振り分け
----------------------------------------- */
.spShow {
  display: none !important;
}

br.spShow {
  display: none !important;
}

.twShow {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pcShow_tw {
    display: none !important;
  }
  .twShow {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .pcShow {
    display: none !important;
  }
  .spShow {
    display: block !important;
    width: 100%;
  }
  .spShow.br {
    display: inline !important;
  }
  br.pcShow {
    display: none !important;
  }
  br.spShow {
    display: inline !important;
  }
}

.dsnone {
  display: none !important;
}

/* .flexBlock
----------------------------------------- */
.flexBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}

.flexBlock.rightImg {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.flexBlock.leftImg {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.flexBlock li {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .flexBlock {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flexBlock.rightImg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .flexBlock.leftImg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .flexBlock li {
    width: 100%;
  }
}

/* flexCover
----------------------------------------- */
.flexCover {
  /*overflow: hidden;*/
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-justify-content: space-between;
  flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.flexCover.column2 > li {
  width: 48.7%;
}

.flexCover.column3 > li {
  width: 31%;
}

.flexCover.column4 > li {
  width: 24%;
}

.flexCover.column5 > li {
  width: 19.68%;
}

.flexCover li img {
  height: auto;
}

@media screen and (max-width: 768px) {
  .flexCover.column2 > li {
    width: 100%;
  }
  .flexCover.column3 > li {
    width: 100%;
    margin-right: 0;
  }
  .flexCover.column4 > li {
    width: 48.5%;
  }
  .flexCover.column5 > li {
    width: 48.5%;
  }
}

/*columnBox*/
.columnBox {
  overflow: hidden;
  clear: both;
  margin-bottom: 2em;
}

.columnBox.column2 li {
  width: 48%;
  text-align: left;
}

.columnBox li.left {
  float: left;
  width: 50%;
}

.columnBox li.right {
  float: right;
  width: 50%;
}

.columnBox li img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .columnBox.column2 li {
    width: 100%;
  }
  .columnBox li.left {
    float: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .columnBox li.right {
    float: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

/* layout
----------------------------------------- */
#conWrap {
  clear: both;
}

body.under #conWrap {
}

header .inner, #gnav .inner, section .inner, footer .inner, #topmain .inner {
  /*width: -webkit-calc(1440 / 1920 * 100%);
  width: calc(1440 / 1920 * 100%);*/
    width: 100%;
  /*min-width: 128rem;*/
  margin-left: auto;
  margin-right: auto;
}

body.under #conWrap section {
    /*width: -webkit-calc(1560 / 1920 * 100%);
    width: calc(1560 / 1920 * 100%);
	min-width: 128rem;
	margin: auto;*/
    
    padding-left: 12rem;
    padding-right: 12rem;
}
body.under #conWrap section#page_ttl_wrap {
    padding-left: 0;
    padding-right: 0;
}
body.under #conWrap section#photo_slider_wrap {
    padding-left: 0;
    padding-right: 0;
}
body.under #conWrap section#other {
    padding-left: 0;
    padding-right: 0;
}
body.under #conWrap section#intro {
    padding-left: 13rem;
    padding-right: 13rem;
}

body.under #conWrap section .inner {
	max-width: 96rem;
}

header .inner {
  width: 100%;
	height: 100%;
  min-width: auto;
}

@media screen and (max-width: 1440px) {
body.under #conWrap {
    background-color: transparent;
}
}

@media screen and (max-width: 1280px) {
  header .inner, #gnav .inner, section .inner, footer .inner, #topmain .inner {
    width: 100%;
    min-width: auto;
  }
	
body.under #conWrap section .inner {
	/*width: -webkit-calc(960 / 1010 * 100%);
	width: calc(960 / 1010 * 100%);*/
    width: 100%;
	min-width: auto;
}
}

@media screen and (max-width: 768px) {
	
body.under #conWrap section {
	width: 100%;
	min-width: auto;
	margin: auto;
    
    padding-left: 0;
    padding-right: 0;
}
body.under #conWrap section#intro {
    padding-left: 0;
    padding-right: 0;
}

body.under #conWrap section .inner {
	width: 26rem;
	min-width: auto;
}
	
  header .inner, #gnav .inner, section .inner, footer .inner, #topmain .inner {
    width: 26rem;
  }
  header .inner {
  width: 100%;
  min-width: auto;
}
  footer .inner {
  width: 100%;
  min-width: auto;
}
}

/* header
----------------------------------------- */
header {
  width: 100%;
  z-index: 101;
  top: 0;
  height: 10rem;
  position: fixed;
}

header::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translate(0, 0);
    transform: translate(0, 0);
	z-index: -1;
  width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.90);
	
	opacity: 0;
  -webkit-transition: all .6s;
  transition: all .6s;
}

header .logo {
  position: absolute;
  top: 5rem;
  left: 5rem;  
    display: flex;
    align-items: center;
	-webkit-transition: all .6s;
  transition: all .6s;
}

header .logo a {
  display: block;
}

header .logo svg {
    width: 15rem;
	height: auto;
}

header .logo svg #logo .cls-1 {
    fill: #FFFFFF;
	-webkit-transition: all .6s;
	transition: all .6s;
}

header .logo a:hover * {
  opacity: 1;
}

header .logo span {
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.15em;
  display: block;
  text-align: center;
  margin-top: 0.5rem;
  color: #231815;
	-webkit-transition: all .6s;
	transition: all .6s;
}

header.underHeader .logo {
  filter: drop-shadow(0 0 10px #FFFFFF) drop-shadow(0 0 20px #FFFFFF);
}

header .inner {
    display: flex;
    justify-content: space-between;
}


@media screen and (max-width: 1280px) {
header {
    height: 7.5rem;
}
}

@media screen and (max-width: 768px) {
header {
    height: 6rem;
}
header .logo {
    top: 1.2rem;
    left: 2rem;
}
header .logo a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
header .logo svg {
    width: 9.3rem;
}
header .logo span {
  font-size: 1.1rem;
  margin-top: 0;
}
	
header .logo span {
    font-size: 1.1rem;
    margin-top: 0.3rem;
    margin-left: 1.5rem;
}
}

/* #gnav
----------------------------------------- */
#top_naviWrap {
  width: 78%;
  float: right;
}

@media screen and (max-width: 900px) {
  #top_naviWrap {
    width: 78%;
  }
}

@media screen and (max-width: 768px) {
  #top_naviWrap {
    margin: 0;
    height: inherit;
  }
}

/** follow ***/
header.follow {
}

header.follow::before {
	/*-webkit-transform: translate(0, 0);
    transform: translate(0, 0);*/
	
	opacity: 1;
}

header.follow .logo {
    position: relative;
    top: 0;
    left: -webkit-calc(50 / 1920 * 100%);
    left: calc(50 / 1920 * 100%);  
}

header.follow .logo svg {
    width: 15rem;
}

header.follow .logo svg #logo .cls-1 {
    fill: #644728;
}

header.follow .logo a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

header.follow .logo a:hover * {
  opacity: 1;
}

header.follow .logo span {
  margin-left: 1.5rem;
}

#top_naviWrap #nav {
  text-align: right;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

#top_naviWrap #nav li {
  display: inline-block;
  margin-right: 2.5rem;
}

#top_naviWrap #nav > li.pd_menu {
  position: relative;
}

#top_naviWrap #nav > li.pd_menu .sub_cat {
    display: none;
    position: absolute;
    background-color: rgba(0,30,70,0.90);
    padding: 2.5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap;
}

#top_naviWrap #nav .sub_cat {
    margin-top: 0;
}
#top_naviWrap #nav .sub_cat_list > li {
    display: block;
    margin-bottom: 2rem;
}
#top_naviWrap #nav .sub_cat_list > li:last-child {
    margin-bottom: 0;
}
#top_naviWrap #nav .sub_cat_list > li a {
    height: auto;
    position: relative;
    padding: 0 !important;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    line-height: 1;
    color: #FFFFFF;
    justify-content: flex-start;
}
#top_naviWrap #nav .sub_cat_list > li a:hover {
    color: #644728;
}

header.follow #top_naviWrap #nav .sub_cat_list > li a {
    color: #FFFFFF;
}
header.follow #top_naviWrap #nav .sub_cat_list > li a:hover {
    color: #644728;
}

#top_naviWrap #nav li:nth-last-child(3) {
}

#top_naviWrap #nav li:last-child {
  margin-right: 0;
}

#top_naviWrap #nav li p {
  width: 100%;
  display: flex;
    align-items: center;
    justify-content: center;
}

#top_naviWrap #nav li a {
  width: auto;
  height: 10rem;
  vertical-align: middle;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  position: relative;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  font-weight: bold;
  line-height: 1.45;
	color: #FFFFFF;
  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;
  justify-content: center;
	-webkit-transition: all .6s;
	transition: all .6s;
}

#top_naviWrap #nav li a:hover {
  opacity: 1;
  color: #644728
}


header.follow #top_naviWrap #nav li a {
  color: #555555;
}
header.follow #top_naviWrap #nav li a:hover {
  color: #644728
}

#top_naviWrap #nav li.current a:before {
  opacity: 1;
}

#top_naviWrap #nav li:last-child a {
  padding-right: 0;
}

#top_naviWrap #nav li:last-child a:before {
  display: none;
}

#top_naviWrap #nav li .pcShow.br {
  display: inline;
}

#top_naviWrap #nav li.current a {
  color: #644728;
}

#top_naviWrap #nav > li.contact_sp {
    display: none;
}
#top_naviWrap #nav li.contact {
    margin-right: 0px;
    margin-left: 2rem;
}

#top_naviWrap #nav li.contact a {
  width: 18rem;
  height: 100%;
	background-color: #826A52;
  color: #ffffff;
  font-size: 3rem;
    letter-spacing: 0.01em;;
    line-height: 1.53;
	font-weight: 400;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
    align-items: center;
    -webkit-transition: all .6s;
	transition: all .6s;
	border-radius: 0 0 0 1.5rem;
}

header.follow #top_naviWrap #nav li.contact a {
	color: #ffffff;
	border-radius: 0;
}

@media all and (-ms-high-contrast: none) {
  #top_naviWrap #nav li.contact a {
  font-weight: bold;
}
}

/* for Microsoft Edge */
@supports (-ms-ime-align:auto) {
  #top_naviWrap #nav li.contact a {
  font-weight: bold;
}
}

_:-ms-lang(x)::backdrop, #top_naviWrap #nav li.contact a {
    font-weight: bold;
}

_:lang(x)::-ms-, #top_naviWrap #nav li.contact a {
    font-weight: bold;
}

_::-webkit-full-page-media, _:future, :root #top_naviWrap #nav li.contact a {
    font-weight: bold;
}


#top_naviWrap #nav > li.contact a:hover {
	background-color: #644728;
    color: #ffffff;
}


#top_naviWrap #nav > li.contact_sp a.btn {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.01em;
    font-weight: 400;
    width: 100%;
    height: 7.5rem;
    color: #FFFFFF;
    background-color: #826A52;
    justify-content: center;
    border-radius: 1rem;
}


#top_naviWrap #nav > li.contact_sp a.btn:active,
#top_naviWrap #nav > li.contact_sp a.btn:hover {
    color: #FFFFFF;
	background-color: #644728;
}

#top_naviWrap #sns_nav {
    display: none !important;
}
#header.active #top_naviWrap #sns_nav {
    display: flex !important;
    align-items: center;
    justify-content: center;
}
#top_naviWrap #sns_nav .ttl {
  font-size: 1.5rem;
  letter-spacing: 0.2em;
    line-height: 1;
    margin-left: 0px;
    margin-right: 20px;
	font-weight: 400;
}
#top_naviWrap #sns_nav > li {
  margin-right: 20px;
}
#top_naviWrap #sns_nav > li:last-child {
  margin-right: 0px;
}
#top_naviWrap #sns_nav > li img {
  width: auto;
  height: 2rem;
}

#top_naviWrap #sns_nav > li.tw img {
  width: auto;
  height: 1.6rem;
}
#top_naviWrap #sns_nav > li.yt img {
  width: auto;
  height: 1.6rem;
}


/***************************/
@media screen and (max-width: 1280px) {
	
  #top_naviWrap {
    opacity: 1;
  }
  /*.menu #top_naviWrap {
    opacity: 1;
  }
    
  .active #top_naviWrap {
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    z-index: 1999;
    opacity: 1;
  }*/
  #top_naviWrap #nav {
    display: block;
  }
  #top_naviWrap #nav li:before {
    display: none;
  }
  #top_naviWrap #nav {
    z-index: 2000;
    position: fixed;
	top: 0;
    right: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    overflow: hidden;
    width: 48rem;
	height: 100%;
	margin-top: 0;
    /*padding: 15rem 0 5rem;*/
    padding: 7rem 0;
	background-color: #F4F2F0;
	display: flex;
    justify-content: center;
    align-items: center;
	  flex-wrap: wrap;
    align-content: center;
    /*flex-direction: column;*/
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
  }
	
#header.follow #top_naviWrap #nav {
	margin-top: 7.5rem;
	/*height: -webkit-calc(100vh - 7.5rem);
    height: calc(100vh - 7.5rem);*/
	height: calc(100% - 7.5rem);
}
  
  .active #top_naviWrap #nav {
	-webkit-transform: translateX(0);
    transform: translateX(0);
  }
	.t_click #top_naviWrap #nav {
	  -webkit-transition: all .6s;
    transition: all .6s;
  }
  
    #top_naviWrap #nav > li.contact {
    display: none;
}
    #top_naviWrap #nav > li.contact_sp {
    display: block;
    margin-top: 2rem;
}
    #top_naviWrap #nav > li.sns_wrap {
    margin-top: 4rem;
}
    
  #top_naviWrap #nav > li {
    width: 100%;
    max-width: 30rem;
    height: auto;
    line-height: 1;
    margin-right: 0px;
	margin-bottom: 3rem;
  }
  #top_naviWrap #nav > li:last-child {
	margin-bottom: 0;
  }
  #top_naviWrap #nav > li a {
    border: none;
    height: auto;
    padding-top: 0;
    position: relative;
    padding: 0 !important;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    justify-content: center;
    color: #555555;
  }
	header.follow #top_naviWrap #nav li a {
    color: #555555;
}
    #top_naviWrap #nav > li a:hover {
  opacity: 1;
  color: #644728;
}
	header.follow #top_naviWrap #nav li a.pd_btn:hover {
  opacity: 1;
  color: #FFFFFF
}
    
  #top_naviWrap #nav > li a span {
    display: inline-block !important;
  }

  #top_naviWrap #nav > li.rec a {
    border-bottom: none;
  }
  #top_naviWrap #nav > li.spShow {
    display: block;
  }
  #top_naviWrap #nav .pcShow {
    display: none;
  }
  #top_naviWrap #nav > li p {
    display: block;
  }
  #top_naviWrap #nav > li.contact {
    margin-top: 10px;
    /* padding-top: 17px; */
    position: relative;
    right: inherit;
    top: inherit;
    width: 100%;
    height: auto;
  }
  #top_naviWrap #nav > li.contact:hover {
    opacity: 1;
  }
  #top_naviWrap #nav li.current a:before {
    display: none;
  }
	
#top_naviWrap #nav > li.pd_menu .pd_btn {
	display: flex;
	align-items: center;
	color: #FFFFFF;
}
#top_naviWrap #nav > li.pd_menu .pd_btn::after {
    content: "";
    display: block;
	width: 1.2rem;
    height: 0.7rem;
    margin-left: 1rem;
    background: url(../images/navi_arrow.svg) no-repeat center center;
    background-size: contain;
    -webkit-transition: all .6s;
    transition: all .6s;
}
#top_naviWrap #nav > li.pd_menu .pd_btn.open::after {
    -webkit-transform: translate(0, 0) rotateZ(180deg);
    transform: translate(0, 0) rotateZ(180deg);
}

#top_naviWrap #nav > li.pd_menu .sub_cat {
    width: 100%;
    position: relative;
	left: 0;
    transform: none;
    background-color: transparent;
    padding: 0;
    margin-top: -5px;
    margin-left: 0px;
	overflow: hidden;
}
#top_naviWrap #nav .sub_cat_list {
	margin-top: 1.5rem;
	padding-top: 2rem;
	border-top: 1px solid #FFFFFF;
}
#top_naviWrap #nav .sub_cat_list > li {
    display: block;
	margin-left: 1.5rem;
    margin-bottom: 1.5rem;
}
#top_naviWrap #nav .sub_cat_list > li:last-child {
    margin-bottom: 0;
}
#top_naviWrap #nav .sub_cat_list > li a {
    border: none;
    height: auto;
    padding-top: 0;
    position: relative;
    padding: 0 !important;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    color: #FFFFFF;
    justify-content: flex-start;
}
#top_naviWrap #nav .sub_cat_list > li a:hover {
    opacity: 1;
    color: #644728;
}
	
#top_naviWrap #sns_nav {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
}
}


@media screen and (max-height: 420px) and (orientation: landscape) {
body.is-mobile #header.follow #top_naviWrap #nav {
	padding: 25rem 0 5rem;
	height: calc(100% - 7.5rem);
	}
}

@media screen and (max-width: 1280px) {
  #toggle {
    position: fixed;
    width: 2rem !important;
    height: 1.6rem !important;
    margin-top: 0;
    display: block;
    z-index: 2001;
    top: 2.8rem;
    right: 3rem;
    cursor: pointer;
  }
  .menu-trigger {
    /*position: relative;*/
    width: 100%;
    height: 1.6rem;
    margin: 0;
  }
	.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.2rem;
    background-color: #555555;
	-webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
}
  #header.follow .menu-trigger span {
    background-color: #555555;
  }
  .active .menu-trigger span {
    background-color: #555555;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 0.7rem;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .menu-trigger span:nth-of-type(1) {
    -webkit-animation: menu-bar01 .15s forwards;
    animation: menu-bar01 .15s forwards;
  }
  
  .active .menu-trigger span:nth-of-type(1) {
    -webkit-animation: active-menu-bar01 .15s forwards;
    animation: active-menu-bar01 .15s forwards;
  }
  
  .active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .active .menu-trigger span:nth-of-type(3) {
    -webkit-animation: active-menu-bar03 .15s forwards;
    animation: active-menu-bar03 .15s forwards;
  }
}

@-webkit-keyframes menu-bar01 {
    0% {
      -webkit-transform: translateY(12px) rotate(45deg);
      transform: translateY(12px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(12px) rotate(0);
      transform: translateY(12px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0);
    }
  }
  @keyframes menu-bar01 {
    0% {
      -webkit-transform: translateY(12px) rotate(45deg);
      transform: translateY(12px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(12px) rotate(0);
      transform: translateY(12px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0);
    }
  }
  .menu-trigger span:nth-of-type(2) {
    opacity: 1;
  }
  .menu-trigger span:nth-of-type(3) {
    -webkit-animation: menu-bar02 .15s forwards;
    animation: menu-bar02 .15s forwards;
  }
  @-webkit-keyframes menu-bar02 {
    0% {
      -webkit-transform: translateY(-12px) rotate(-45deg);
      transform: translateY(-12px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-12px) rotate(0);
      transform: translateY(-12px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0);
    }
  }
  @keyframes menu-bar02 {
    0% {
      -webkit-transform: translateY(-12px) rotate(-45deg);
      transform: translateY(-12px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-12px) rotate(0);
      transform: translateY(-12px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0);
    }
  }


  @keyframes active-menu-bar01 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(0.3rem) rotate(0);
      transform: translateY(0.3rem) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0.7rem) rotate(40deg);
      transform: translateY(0.7rem) rotate(40deg);
    }
  }

  @keyframes active-menu-bar03 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(-0.3rem) rotate(0);
      transform: translateY(-0.3rem) rotate(0);
    }
    100% {
      -webkit-transform: translateY(-0.7rem) rotate(-40deg);
      transform: translateY(-0.7rem) rotate(-40deg);
    }
  }


@media screen and (max-width: 1280px) {
header.follow .logo svg {
    width: 12.5rem;
}
}

@media screen and (max-width: 768px) {
#toggle {
    top: 2.3rem;
	right: 2rem;
}
	
header .logo {
	position: relative;
    top: 0;
    left: 1.8rem;  
}
	
header.follow .logo {
    left: 1.8rem;  
}

header.follow .logo svg {
    width: 9.3rem;
}

header.follow .logo span {
  font-size: 1.1rem;
	margin-top: 0.3rem;
  margin-left: 1.5rem;
}
	
	
#top_naviWrap #nav {
    width: 100%;
	height : -webkit-calc(100vh);
	height : calc(var(--vh, 1vh) * 100);
    margin-top: 0;
    /*padding: 4.5rem 0 5rem;*/
    flex-direction: column;
	display: block;
}
	#header.follow #top_naviWrap #nav {
	margin-top: 6rem;
	/*height : -webkit-calc(100vh - 6rem);
	height : calc(calc(var(--vh, 1vh) * 100) - 6rem);*/
	height : calc(100vh - 6rem);
        padding-top: 5rem;
		padding-bottom: 5rem;
	}
	
	#top_naviWrap #nav > li {
    max-width: none;
    margin-bottom: 1.5rem;
}
	
	#top_naviWrap #nav > li a {
    font-size: 1.4rem;
	display: block;
    text-align: center;
}
	
	#top_naviWrap #nav .sub_cat_list > li a {
    font-size: 1.3rem;
}
	
	#top_naviWrap #nav > li.contact_sp {
    margin-top: 1.5rem;
}
	
	#top_naviWrap #nav > li.contact_sp a.btn {
    border: 2px solid #FFFFFF;
    font-size: 2.4rem;
	width: 22rem;
    height: 5.5rem;
		margin: auto;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
}
    
    #top_naviWrap #nav > li.sns_wrap {
    margin-top: 2.5rem;
}
	
	#top_naviWrap #sns_nav .ttl {
		font-size: 1.3rem;
    width: 100%;
    text-align: center;
    margin-right: 0;
    margin-bottom: 1.3rem;
}
}

/**テーブル**/
.tableLayout {
  text-align: left;
  display: table;
  margin: 0 auto;
}

.tableLayout dl {
  width: 100%;
  margin-bottom: 1.9em;
}

.tableLayout dl dt, .tableLayout dl dd {
  display: table-cell;
  color: #826A52;
  vertical-align: top;
}

.tableLayout dl dt {
  width: 10em;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  font-weight: bold;
  padding-right: 20px;
}

.tableLayout dl dd {
  padding-left: 25px;
}

.tableLayout dl dd div.one {
  width: 100%;
  margin-bottom: 1.5em;
}

.tableLayout dl dd .btn {
  display: inline-block;
  margin-left: 1em;
  font-size: 80%;
  background: none;
}

.tableLayout dl dd .btn:hover {
  background: none;
}

.tableLayout dl dd .btn a {
  background: none;
  color: #644728;
  border: 1px solid #644728;
  padding: 2px 15px;
}

.tableLayout dl dd .btn a:hover {
  background: none;
}

.tableLayout dl dd .btn span:before {
  background-image: url(../images/icon_arrow_02.jpg);
}

@media screen and (max-width: 768px) {
  .tableLayout.spOne {
    border: none;
    width: 100%;
  }
  .tableLayout.spOne dl {
    border: none;
    margin-bottom: 2em;
  }
  .tableLayout.spOne dl dt, .tableLayout.spOne dl dd {
    border: none;
    display: block;
  }
  .tableLayout.spOne dl dt {
    width: 100% !important;
    border-right: none;
    padding-right: 0;
    background: #f2f2f2;
    padding: 8px;
    margin-bottom: 8px;
  }
  .tableLayout.spOne dl dd {
    padding: 0 8px;
  }
}

/* footer
----------------------------------------- */
footer {
  padding-top: 0;
  margin: 0;
  margin-top: 25rem;
  position: relative;
  z-index: 1;
	background-color: #FFFFFF;
}


footer .inner {
  width: 100%;
}

footer .topArea {
	width: 100%;
	position: relative;
}

footer .topArea .recruit_btn {
	width: 100%;
	height: 55rem;
	display: flex;
	align-items: center;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	overflow: hidden;
	position: relative;
}
footer .topArea .recruit_btn .img_wrap {
}
footer .topArea .recruit_btn .img_wrap.left {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-image: url(../images/entry_bg01.jpg);
	z-index: -2;
}
footer .topArea .recruit_btn .img_wrap.right {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-image: url(../images/entry_bg02.jpg);
	z-index: -2;
}
footer .topArea .recruit_btn .img_wrap::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background-color: rgba(55,55,55,0.05);
    z-index: 2;
}
footer .topArea .recruit_btn:hover .img_wrap::after {
    background-color: rgba(55,55,55,0);
}

footer .topArea .recruit_btn h2 span {
	display: block;
}
footer .topArea .recruit_btn h2 .fAbc {
	text-align: center;
	color: #FFFFFF;
    font-size: 8.7rem;
    letter-spacing: 0.01em;
    line-height: 1;
}
footer .topArea .recruit_btn h2 .sub {
	text-align: center;
	color: #FFFFFF;
    font-size: 2rem;
	letter-spacing: 0.25em;
	line-height: 1;
	margin-top: 1.5rem;
}


footer .topArea .entry_btn {
	width: 100%;
	height: 23rem;
	display: flex;
	align-items: center;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	overflow: hidden;
	position: relative;
	background-color: #f1efec;
	-webkit-transition: all .6s;
    transition: all .6s;
}

footer .topArea .entry_btn h2 {
}
footer .topArea .entry_btn h2 span {
	display: block;
	-webkit-transition: all .6s;
    transition: all .6s;
}
footer .topArea .entry_btn h2 .fAbc {
	text-align: center;
	color: #826a52;
    font-size: 8.7rem;
    letter-spacing: 0.01em;
    line-height: 1;
    position: relative;
}
footer .topArea .entry_btn h2 .sub {
	text-align: center;
	color: #826a52;
    font-size: 2rem;
	letter-spacing: 0.25em;
	line-height: 1;
	margin-top: 1.5rem;
}
footer .topArea .entry_btn h2 .fAbc::before,
footer .topArea .entry_btn h2 .fAbc::after {
    content: "";
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    transform: translate(100%,-100%);
}
footer .topArea .entry_btn h2 .fAbc::before {
    width: 7.9rem;
    height: 0.9rem;
    border-bottom: 2px solid #826a52;
    -webkit-transition: all .6s;
    transition: all .6s;
    right: -5rem;
}
footer .topArea .entry_btn h2 .fAbc::after {
    width: 1.5rem;
    -webkit-transition: all .6s;
    transition: all .6s;
    right: -11.8rem;
    border-bottom: 0.9rem solid #826a52;
    border-right: 1.5rem solid transparent;
}

footer .topArea .entry_btn:hover {
	background-color: #826a52;
}
footer .topArea .entry_btn:hover h2 .fAbc {
	color: #FFFFFF;
}
footer .topArea .entry_btn:hover h2 .sub {
	color: #FFFFFF;
}
footer .topArea .entry_btn:hover h2 .fAbc::before {
    border-bottom: 2px solid #FFFFFF;
}
footer .topArea .entry_btn:hover h2 .fAbc::after {
    border-bottom: 0.9rem solid #FFFFFF;
}


footer .bottomArea {
    padding: 14.5rem 9rem 15rem;
    position: relative;
	text-align: center;
}

footer .company_info_wrap {
    width: 100%;
    max-width: 96rem;
    margin: auto;
}
footer .company_info_wrap > li.company_info {
    margin: auto;
}

footer .logo_wrap {
    text-align: center;
    margin-bottom: 2rem;
}
footer .logo_wrap svg {
  width: 100%;
  max-width: 18rem;
  height: auto
}
footer .name {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
    font-weight: bold;
    text-align: center;
}
footer .addr_wrap {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
    font-weight: bold;
    text-align: center;
}

footer .link_list > li:first-child {
	margin-right: 4rem;
}
footer .link_list > li a {
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.2rem;
    font-weight: bold;
	-webkit-transition: all .6s;
    transition: all .6s;
}
footer .link_list > li a:hover {
	opacity: .5;
}
footer .link_list > li a.none_link:hover {
	opacity: 1;
}



footer #sns_nav {
  position: fixed;
  display: none;
  bottom: 3rem;
  left: 3rem;
  z-index: 10;
  text-align: center;
    /*-webkit-transition: all .6s;
    transition: all .6s;*/
}
footer #sns_nav li {
    margin-bottom: 20px;
}
footer #sns_nav li a {
    display: flex;
	width: 1.8rem;
}
footer #sns_nav li a img {
	width: 100%;
}
footer #sns_nav .ttl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  font-size: 1.4rem;
  letter-spacing: 0.20em;
	font-weight: 400;
    margin-bottom: 1.5rem;
    line-height: 1;
    display: inline-block;
}


@media screen and (max-width: 1100px) {
  footer #sns_nav {
  display: none !important;
}
}

footer .copyright {
  position: absolute;
  bottom: 3rem;
  right: 2.5rem;
  text-align: right;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
footer {
  margin-top: 0;
}
 footer .topArea {
  height: auto;
}
footer .topArea::before {
    width: 0.2rem;
    height: 8rem;
}

footer .topArea {
	width: 100%;
	position: relative;
}

footer .topArea .recruit_btn {
	width: 100%;
	height: 40rem;
}
footer .topArea .recruit_btn .img_wrap {
}
footer .topArea .recruit_btn .img_wrap.left {
	width: 100%;
	height: 20rem;
	background-image: url(../images/entry_bg01_sp.jpg);
}
footer .topArea .recruit_btn .img_wrap.right {
	top: auto;
    bottom: 0;
	width: 100%;
	height: 20rem;
}

	
footer .topArea .recruit_btn h2 {
	margin-top: -2rem;
	filter:drop-shadow(0 0 20px rgba(0,0,0,0.60));
}
footer .topArea .recruit_btn h2 span {
	display: block;
}
footer .topArea .recruit_btn h2 .fAbc {
	font-size: 3.8rem;
}
footer .topArea .recruit_btn h2 .sub {
	font-size: 1.4rem;
	margin-top: 1.5rem;
}


footer .topArea .entry_btn {
	height: 13rem;
}

footer .topArea .entry_btn h2 .fAbc {
	font-size: 3.8rem;
}
footer .topArea .entry_btn h2 .sub {
	font-size: 1.4rem;
	letter-spacing: 0.02em;
	margin-top: 1.5rem;
}
footer .topArea .entry_btn h2 .fAbc::before {
    width: 4rem;
    height: 0.45rem;
    right: -2.5rem;
}
footer .topArea .entry_btn h2 .fAbc::after {
    width: 0.75rem;
    right: -6rem;
    border-bottom: 0.45rem solid #826a52;
    border-right: 0.75rem solid transparent;
}

footer .topArea .entry_btn:hover h2 .fAbc::after {
    border-bottom: 0.45rem solid #FFFFFF;
}


footer .bottomArea {
    padding: 7rem 2rem 13rem;
}

footer .company_info_wrap {
    width: 100%;
}
footer .company_info_wrap > li.company_info {
    margin: auto;
}

footer .logo_wrap {
    margin-bottom: 2rem;
}
footer .logo_wrap svg {
  max-width: 12.5rem;
}
footer .name {
	font-size: 1.2rem;
}
footer .addr_wrap {
	font-size: 1.2rem;
    letter-spacing: 0.02em;
}



footer .sns_nav_sp {
    margin-top: 3rem;
    align-items: center;
    justify-content: center;
}
footer .sns_nav_sp li {
    margin-right: 1.5rem;
}
footer .sns_nav_sp li:last-child {
    margin-right: 0;
}
footer .sns_nav_sp li a {
    display: flex;
    width: 2rem;
}
footer .sns_nav_sp li.ttl {
    font-size: 1.4rem;
    letter-spacing: 0.2em;
    width: 100%;
    text-align: center;
    margin-right: 0;
    margin-bottom: 1.5rem;
}
	
footer .copyright {
  position: relative;
  bottom: 6rem;
  right: 50%;
  text-align: center;
  font-size: 1.1rem;
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
}
}


/* ページトップ
----------------------------------------- */
/* ページトップ
----------------------------------------- */
#pageTop {
  bottom: 7rem;
  right: 3rem;
  position: fixed;
  display: none;
  z-index: 10;
}
#pageTop a {
}
#pageTop span {
	display: block;
  font-size: 1.1rem;
    letter-spacing: 0.08em;
	font-weight: 600;
	line-height: 1.3;
	color: #FFFFFF;
	text-align: center;
	margin-top: 1rem;
}

#top #pageTop span {
	color: #FFFFFF;
}
#pageTop.change_color span {
	color: #FFFFFF;
}

@media screen and (max-width: 768px) {
  #pageTop {
    bottom: 2rem;
    right: 1.5rem;
  }
	#pageTop a {
		width: 2.2rem
}
#pageTop span {
  font-size: 0.7rem;
	margin-top: 0.5rem;
}
}


/* タイトル
----------------------------------------- */

#page_ttl_wrap {
    width: 100% !important;
}
#page_ttl_wrap .page_ttl {
    width: 100%;
    position: relative;
    height: 70rem;
	display: flex;
    justify-content: space-between;
}
#page_ttl_wrap .page_ttl::before {
    content: "";
    display: block;
    width: calc(150 / 1920 * 100%);
    min-width: 10rem;
}

#page_ttl_wrap .img_wrap {
    width: calc(1770 / 1920 * 100%);
    height: 100%;
	background-position: center center;
	background-size: cover;
    border-radius: 0 0 0 10rem;
    overflow: hidden;
    position: relative;
}
#page_ttl_wrap .img_wrap::after {
	content: "";
	display: block;
    width: 100%;
    height: 100%;
    position: absolute;
	top: 0;
	background-color: rgba(55,55,55,0.15);
	z-index: 2;
	border-radius: 0 0 0 10rem;
}

#page_ttl_wrap .ttl_wrap {
	width: 100%;
    position: absolute;
    bottom: 12rem;
    left: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
	z-index: 10;
    display: flex;
}
#page_ttl_wrap .ttl_wrap::before {
	content: "";
    display: block;
    width: calc(270 / 1920 * 100%);
    min-width: 19rem;
}

#page_ttl_wrap .ttl_wrap h1 {
    text-align: left;
    filter: none;
}
#page_ttl_wrap .ttl_wrap h1 span {
    line-height: 1;
    color: #ffffff;
    display: block;
}
#page_ttl_wrap .ttl_wrap h1 span.fAbc {
    font-size: 8.7rem;
    letter-spacing: 0.01em;
    white-space: nowrap;
}
#page_ttl_wrap .ttl_wrap h1 span.sub {
    font-size: 2.0rem;
    letter-spacing: 0.02em;
    margin-top: 2rem;
    font-weight: bold;
}


#page_ttl_wrap h2 {
    font-size: 4.5rem;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: left;
    color: #FFFFFF;
}
#page_ttl_wrap h2 span {
    display: block;
    font-size: 2.0rem;
    line-height: 1;
    letter-spacing: 0.25em;
    text-align: left;
    color: #FFFFFF;
    margin-top: 2rem;
}


.ttl_wrap h1 {
	text-align: left;
	filter: drop-shadow(0 0 10px #FFFFFF) drop-shadow(0 0 20px #FFFFFF);
}
.ttl_wrap h1 span {
	display: block;
}
.ttl_wrap h1 .fAbc {
	color: #c8beb4;
	font-size: 8.7rem;
	letter-spacing: 0.01em;
	line-height: 1;
}
.ttl_wrap h1 .sub {
	color: #826a52;
	font-size: 2rem;
	letter-spacing: 0.25em;
	line-height: 1;
	margin-top: 2rem;
}


h1.con_ttl {
	margin-bottom: 10rem;
}
h1.con_ttl span {
    display: block;
	line-height: 1;
}
h1.con_ttl span.fAbc {
    font-size: 4.5rem;
    letter-spacing: 0.05em;
	font-weight: 400;
	color: #c8beb4;
    white-space: nowrap;
}
h1.con_ttl span.sub {
    font-size: 1.7rem;
    letter-spacing: 0.05em;
	font-weight: bold;
	color: #826a52;
	margin-top: 2rem;
}


h2.con_ttl {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.60;
	margin-bottom: 5rem;
}


.ttlCopy {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ttlCopy h2 {
    font-family: 'Cardo' , "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 3.0rem;
    line-height: 1.233;
    letter-spacing: 0.1em;
    text-align: center;
    color: #644728;
}

.ttlCopy .sub {
  font-size: 1.8rem;
  line-height: 1.666;
    letter-spacing: 0.1em;
  display: block;
  margin-top: 5px;
  color: #826A52;
}

.pagettl {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 360px;
    background: url(../images/g_bg.jpg) repeat center top;
    background-size: auto;
    margin-bottom: 150px;
}

.pagettl h2 {
    font-family: 'Cardo' , "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 3.0rem;
    line-height: 1.233;
    letter-spacing: 0.1em;
    text-align: center;
    color: #ffffff;
    z-index: 2;
}

.pagettl .sub {
  font-size: 1.8rem;
  line-height: 1.666;
    letter-spacing: 0.1em;
  display: block;
  margin-top: 5px;
  color: #826A52;
}

.pagettl::after {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: url(../images/tree_illust_right01.svg) no-repeat center center;
    background-size: cover;
    width: 355px;
    height: 280px;
}

/*.textCopy {
  font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0em;
    color: #644728;
  line-height: 1.625;
  position: relative;
  margin-bottom: 40px;
text-align: center;
}

.textCopy span {
  position: relative;
   width: 100%;
  display: block;
}

.textCopy span > span {
    display: inline-block;
    width: auto;
}

.textCopy span > span:before {
    display: none;
}*/


/* hack
----------------------------------------- */
/* IE10〜11 */
_:-ms-input-placeholder, :root .textCopy span:before {
  bottom: 0em !important;
}

/* Edge12+（Edge全て） */
@supports (-ms-ime-align: auto) {
  .textCopy span:before {
    bottom: -0.2em !important;
  }
}

/* ----------------------------------------- */
.textCopy.mid {
  font-size: 2.8rem;
}

.colorTtl em {
  color: #644728;
}

@media screen and (max-width: 1280px) {
#page_ttl_wrap .page_ttl {
    width: 100%;
    min-width: auto;
}
}

@media screen and (max-width: 768px) {
   
#page_ttl_wrap {
}
#page_ttl_wrap .page_ttl {
    height: auto;
	z-index: 1;
	align-items: center;
    flex-flow: wrap-reverse;
    align-content: flex-end;
    padding-top: 7.5rem;
	padding-left: 3rem;
}

#page_ttl_wrap .img_wrap {
    width: 100%;
    height: 30rem;
	border-radius: 1.5rem 0 0 1.5rem;
	background-size: cover;
}
#page_ttl_wrap .img_wrap::after {
	border-radius: 1.5rem 0 0 1.5rem;
}

#page_ttl_wrap .ttl_wrap {
	width: 100%;
	height: auto;
    position: relative;
    bottom: 0;
    left: 0;
	margin-top: 3rem;
}
#page_ttl_wrap .ttl_wrap::before {
    display: none;
}
#page_ttl_wrap .ttl_wrap h1 {
    text-align: left;
}
#page_ttl_wrap .ttl_wrap h1 span {
    line-height: 1;
    display: block;
}
#page_ttl_wrap .ttl_wrap h1 span.fAbc {
    font-size: 3.8rem;
    letter-spacing: 0.01em;
	line-height: 1;
	margin-left: -0.1rem;
    white-space: nowrap;
	display: flex;
	color: #c8beb4;
}
#page_ttl_wrap .ttl_wrap h1 span.sub {
    font-size: 1.4rem;
    margin-top: 1.3rem;
	letter-spacing: 0.02em;
	line-height: 1;
	color: #826a52;
}
    

.ttl_wrap h1 {
	text-align: left;
	filter: none;
}
.ttl_wrap h1 span {
	display: block;
}
.ttl_wrap h1 .fAbc {
	font-size: 3.8rem;
}
.ttl_wrap h1 .sub {
	font-size: 1.4rem;
	letter-spacing: 0.02em;
	margin-top: 1.5rem;
}

h1.con_ttl {
	margin-bottom: 5rem;
}
h1.con_ttl span {
    display: block;
	line-height: 1;
}
h1.con_ttl span.fAbc {
    font-size: 2.8rem;
}
h1.con_ttl span.sub {
    font-size: 1.3rem;
	margin-top: 1.2rem;
}

h2.con_ttl {
	font-size: 1.7rem;
	margin-bottom: 2rem;
}
    
/*  .textCopy {
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.647;
  }
	
	.ttlCopy h2 {
    font-size: 1.6rem;
}
.ttlCopy .sub {
  font-size: 1.1rem;
}*/
    
.pagettl {    
    height: 170px;
    margin-bottom: 20px;
    background: url(../images/g_bg_sp.jpg) repeat center top;
    background-size: auto;
}
    
.pagettl h2 {
    font-size: 1.6rem;
    margin-bottom: 20px;
}

.pagettl .sub {
  font-size: 1.1rem;
}
    
.pagettl::after {
    width: 101px;
    height: 80px;
}
    
.textCopy span > span {
    display: block;
    width: 100%;
}
    
.textCopy span > span:before {
    top: 0.1em;
    display: block;
}
}


/* #intro
----------------------------------------- */
#intro {
	padding-top: 20rem;
}
#intro .inner {
}

#intro h1 {
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.66;
	margin-bottom: 4rem;
}
#intro .txt_wrap {
	font-weight: bold;
	line-height: 2.375;
}

@media screen and (max-width: 768px) {
#intro {
	padding-top: 9rem;
}
#intro h1 {
	font-size: 1.8rem;
	letter-spacing: 0;
    line-height: 1.75;
	margin-bottom: 2rem;
}
#intro .txt_wrap {
	letter-spacing: 0;
	font-size: 1.3rem;
	text-align: justify;
}
#intro .txt_wrap br {
	display: none;
}
}



/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
  color: #ccc;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #ccc;
}

/* Firefox 18- */
:-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

/* IE 10+ */
:-ms-input-placeholder {
  color: #ccc;
}



/* #floating_bn
----------------------------------------- */
#floating_bn {
	position: fixed;
    z-index: 99999;
    bottom: 37rem;
    right: 0;
	width: 7rem;
	height: 20rem;
	-webkit-transition: all .6s;
	transition: all .6s;
}
#floating_bn a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #c89a0f;
	-webkit-transition: all .6s;
	transition: all .6s;
  border-radius: 0.8rem 0 0 0.8rem;
}
#floating_bn a:hover {
	background-color: #826A52;
}
#floating_bn a span {
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 2rem;
    letter-spacing: 0.10em;
    font-weight: 600;
    margin-bottom: 2rem;
    line-height: 1.2;
	color: #FFFFFF;
}
#floating_bn a:before, #floating_bn a:after {
    content: "";
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    bottom: 2.5rem;
    right: 50%;
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
}
#floating_bn a:before {
    width: 1.5rem;
    height: 0.1rem;
    border-bottom: 2px solid #FFFFFF;
    -webkit-transition: width .5s;
    -moz-transition: width .5s;
    transition: width .5s;
}
#floating_bn a:after {
    width: 0.7rem;
    right: 0;
    -webkit-transform: translate(-1.8rem, 0);
    transform: translate(-2.15rem, 0);
    border-bottom: 0.5rem solid #FFF;
    border-right: 0.7rem solid transparent;
    -webkit-transition: left .5s,right .5s;
    -moz-transition: left .5s,right .5s;
    transition: left .5s,right .5s;
}


@media screen and (max-width: 768px) {
#floating_bn {
    bottom: 0;
    right: 0;
	width: 100%;
	height: 5.5rem;
	transform: translate(0,100%);
}
#floating_bn.scroll_hide {
	transform: translate(0,0);
}
#floating_bn a {
	justify-content: flex-end;
  border-radius: 0;
}
#floating_bn a span {
	-webkit-writing-mode:horizontal-tb;
	-ms-writing-mode:lr-tb;
	writing-mode:horizontal-tb;
    font-size: 1.6rem;
	margin-bottom: 0;
	margin-right: 6rem;
}
#floating_bn a:before, #floating_bn a:after {
    content: "";
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    bottom: 50%;
    right: 2rem;
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
}
#floating_bn a:before {
    width: 2.8rem;
    height: 0.1rem;
    border-bottom: 2px solid #FFFFFF;
    -webkit-transition: width .5s;
    -moz-transition: width .5s;
    transition: width .5s;
}
#floating_bn a:after {
    width: 0.7rem;
    right: 0;
    -webkit-transform: translate(-1.5rem, 0.1rem);
    transform: translate(-1.5rem, 0.1rem);
    border-bottom: 0.5rem solid #FFF;
    border-right: 0.7rem solid transparent;
    -webkit-transition: left .5s,right .5s;
    -moz-transition: left .5s,right .5s;
    transition: left .5s,right .5s;
}
}


