@charset "UTF-8";
/* argument */
/* font style */
/* site style */
/* [ opacity ]
-------------------------------------------------*/
/* [ display style ]
-------------------------------------------------*/
/* [ background-image ]
-------------------------------------------------*/
/* [ writing-mode ]
-------------------------------------------------*/
/* [ illustrator & photoshop letter spacing ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
/* [ easy transform ]
-------------------------------------------------*/
/* argument */
/* font style */
/* site style */
/* [ opacity ]
-------------------------------------------------*/
/* [ display style ]
-------------------------------------------------*/
/* [ background-image ]
-------------------------------------------------*/
/* [ writing-mode ]
-------------------------------------------------*/
/* [ illustrator & photoshop letter spacing ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
/* [ easy transform ]
-------------------------------------------------*/
/* #### Generated By: http://www.cufonfonts.com #### */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Didact+Gothic&display=swap");
/*====================================================================================
■01.RESET HTML
====================================================================================*/
/* ========== end △ */
.overflowHidden { overflow: hidden; margin: 0; touch-action: none; -ms-touch-action: none; /* position: fixed; we get rid of this line which resets the flow of the page */ /* height: 100%; we change 100% to 100vh */ height: 100vh; }

/* ▽ PC-TAB layout ========== */
html { overflow-y: auto; line-height: normal; }

body { background: #fff; font-family: "游ゴシック体", "游ゴシック", "YuGothic", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; color: #242424; line-height: 1.8; font-size: 14px; overflow-y: auto; }

.android body { font-family: 'Noto Sans JP', sans-serif; }

.safari body { font-family: 'Noto Sans JP', sans-serif; }

img { vertical-align: top; margin: 0px; padding: 0px; border: 0px; transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -moz-transition: All 0.3s ease; -o-transition: All 0.3s ease; max-width: 100%; height: auto; }

.ov_hover:hover img { opacity: 0.8; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70)"; }

a { color: #111; text-decoration: underline; -webkit-transition: all linear 0.4s; -o-transition: all linear 0.4s; transition: all linear 0.4s; word-break: break-all; }

#wrapper { width: 100%; max-width: 480px; margin: 0 auto; position: relative; width: 100%; height: 100%; -webkit-text-size-adjust: 100%; overflow: hidden; box-sizing: border-box; overflow: hidden; position: relative; }

/* ========== end △ */
/*====================================================================================
■02.CLEAR FLOAT
====================================================================================*/
.clearfix:after { clear: both; display: block; content: " "; height: 0px; visibility: hidden; }

.clearfix { display: inline-block; }

/* Hide these rules from IE-mac \*/
* html .clearfix { height: 1%; }

.clearfix { display: block; }

.hidden { display: none !important; }

/*====================================================================================
■03.USE MEDIA
====================================================================================*/
.pull-left { float: left; }

.pull-right { float: right; }

.media, .media-body { overflow: hidden; }

.media-text:after { clear: both; display: block; content: ""; height: 0px; visibility: hidden; }

@keyframes scrollAnimation { 0% { -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%; }
  100% { -webkit-transform: scale(0);
    transform: scale(0); } }

@keyframes scrollAnimationUnder { 0% { -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%; }
  100% { -webkit-transform: scale(0);
    transform: scale(0); } }

@keyframes scrollArr { 0% { opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  50% { opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); }
  100% { opacity: 0; } }

@-webkit-keyframes elasticus { 0% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); }
  50% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50.1% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); } }

@-moz-keyframes elasticus { 0% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); }
  50% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50.1% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); } }

@-o-keyframes elasticus { 0% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); }
  50% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50.1% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); } }

@keyframes elasticus { 0% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); }
  50% { -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50.1% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% { -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0); } }

/*====================================================================================
■04.LAYOUT
====================================================================================*/
.container { position: relative; width: 100%; margin: 0 auto; max-width: 1425px; padding: 0 10px; }

.container02 { position: relative; width: 100%; margin: 0 auto; max-width: 1220px; padding: 0 10px; }

.container03 { position: relative; width: 100%; margin: 0 auto; max-width: 1020px; padding: 0 10px; }

/* ▽ PC-TAB layout ========== */
@media screen and (min-width: 767px) { .pc { display: block; }
  .sp { display: none; } }

/*====================================================================================
■05.FLEX
====================================================================================*/
.dis_flex { display: flex; display: -webkit-flex; /* Safari */ display: -moz-flex; /* Firefox */ display: -ms-flex; /* IE */ }

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

.flex_between_center { display: flex; justify-content: space-between; align-items: center; }

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

/*justify-content*/
.flex_jus_start { justify-content: flex-start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; }

.flex_jus_end { justify-content: flex-end; -webkit-justify-content: flex-end; -moz-justify-content: flex-end; -ms-justify-content: flex-end; }

.flex_jus_center { justify-content: center; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; }

.flex_jus_between { justify-content: space-between !important; -webkit-justify-content: space-between !important; -moz-justify-content: space-between !important; -ms-justify-content: space-between !important; }

.flex_jus_around { justify-content: space-around; -webkit-justify-content: space-around; -moz-justify-content: space-around; -ms-justify-content: space-around; }

.flex_jus_ini { justify-content: initial; -webkit-justify-content: initial; -moz-justify-content: initial; -ms-justify-content: initial; }

/*align-items*/
.flex_align_item_start { align-items: flex-start; -webkit-align-items: flex-start; -moz-align-items: flex-start; -ms-align-items: flex-start; }

.flex_align_item_end { align-items: flex-end; -webkit-align-items: flex-end; -moz-align-items: flex-end; -ms-align-items: flex-end; }

.flex_align_item_stretch { align-items: stretch; -webkit-align-items: stretch; -moz-align-items: stretch; -ms-align-items: stretch; }

.flex_align_item_baseline { align-items: baseline; -webkit-align-items: baseline; -moz-align-items: baseline; -ms-align-items: baseline; }

.flex_align_item_center { align-items: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; }

.flex_align_item_ini { align-items: initial; -webkit-align-items: initial; -moz-align-items: initial; -ms-align-items: initial; }

.flex-container { -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.flex_bg { width: 100%; margin-right: -100%; }

.flex_content { width: 100%; position: relative; }

/*====================================================================================
■06.HEADER
====================================================================================*/
.hamberger { position: absolute; top: 0; right: 5px; z-index: 10013; width: 53px; height: 53px; padding: 27px 8px 0 8px; line-height: 1; font-size: 0; text-align: center; cursor: pointer; }

.hamberger .hamberger-btn { transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); transition-duration: 75ms; position: relative; width: 25px; height: 2px; transition-timing-function: ease; transition-duration: .15s; transition-property: transform; background-color: #fff; margin: 0 auto; transition: All 0.5s ease; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; }

.hamberger .hamberger-btn:after, .hamberger .hamberger-btn:before { position: absolute; content: ""; width: 25px; height: 2px; transition-timing-function: ease; transition-duration: .15s; transition-property: transform; background-color: #fff; left: 0; transition: All 0.5s ease; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; }

.hamberger .hamberger-btn:before { transition: top 75ms ease .12s,opacity 75ms ease; bottom: 7px; }

.hamberger .hamberger-btn:after { transition: top 75ms ease .12s,opacity 75ms ease; bottom: -7px; }

.hamberger .hamberger-txt { color: #fff; font-family: 'Open Sans', sans-serif; font-size: 12px; line-height: 1; letter-spacing: 0em; font-weight: 300; text-align: center; height: 15px; position: relative; margin: 13px 0 0; }

.hamberger .hamberger-txt span { position: absolute; left: 0; top: 0; bottom: 0; right: 0; display: block; text-align: center; text-transform: uppercase; }

.hamberger .hamberger-txt span.cl { opacity: 0; }

.hamberger.is-active { padding: 28px 8px 0 8px; }

.hamberger.is-active .hamberger-btn { transition-delay: .12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); transform: rotate(45deg); width: 25px; height: 2px; }

.hamberger.is-active .hamberger-btn:after, .hamberger.is-active .hamberger-btn:before { width: 25px; height: 2px; }

.hamberger.is-active .hamberger-btn:before { display: none; }

.hamberger.is-active .hamberger-btn::after { bottom: 0; transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s; transform: rotate(-90deg); }

.hamberger.is-active .hamberger-txt span.op { opacity: 0; }

.hamberger.is-active .hamberger-txt span.cl { opacity: 1; }

#header { position: absolute; left: 0; top: 0; right: 0; z-index: 9999; width: 100%; transition: All 0.7s ease; -webkit-transition: All 0.7s ease; -moz-transition: All 0.7s ease; -o-transition: All 0.7s ease; }

#header .list-sns a { margin: 0 5px; }

#header .h-sns .ttl { color: #fff; font-size: 24px; line-height: 1.25; letter-spacing: 0.08em; font-weight: 400; border-bottom: 1px solid #fff; padding-bottom: 15px; margin-bottom: 20px; }

#header .h-left { background: #fff; width: calc(100% - 205px); }

#header .h-left .h-logo { line-height: 1; }

#header .h-left .h-logo img { width: 100%; max-width: 219px; }

#header .h-left .h-logo a { display: block; padding: 10px 10px; }

#header .h-btn01 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 10px 64px 0 10px; }

#header .h-btn01 li { height: 53px; width: 53px; margin: 0 4px; }

#header .h-btn01 li a { background: #462f17; display: inline-block; text-align: center; width: 100%; height: 100%; padding-top: 15px; }

#header .h-btn01 li a .icon { display: inline-block; }

#header .h-btn01 li a.h-contact { background: #794e06; padding-top: 18px; }

#header .h-btn01 li a:hover { opacity: 0.8; }

#header .h-right { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: flex-end; width: 205px; }

#header .header-inner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

#header .layerMenu { overflow-y: scroll; margin: 0 auto; opacity: 0; pointer-events: none; left: 0; right: 0; top: 0; position: fixed; z-index: 9999; background: #2d2a24; width: 100%; padding: 0 30px 10px 30px; max-width: 480px; transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -moz-transition: All 0.3s ease; -o-transition: All 0.3s ease; }

#header .layerMenu::-webkit-scrollbar { display: none; }

#header .layerMenu .inLayer { /*! overflow-y: scroll; */ height: 100%; padding: 85px 0 60px; z-index: 199; }

#header .layerMenu .inLayer::-webkit-scrollbar { display: none; }

#header .layerMenu .inLayer::-webkit-scrollbar { display: none; }

#header .layerMenu .inLayer ul li { position: relative; text-align: left; margin-bottom: 25px; }

#header .layerMenu .inLayer ul li a { color: #000000; text-decoration: none; display: block; }

#header .layerMenu .inLayer ul li a img { max-height: 39px; }

#header .layerMenu .list-sns { text-align: center; margin-top: 16px; }

#header .layerMenu .list-sns a { display: inline-block; vertical-align: middle; margin: 0 10px; }

#header .layerMenu .list-sns a:first-child { margin-left: 0; }

#header .layerMenu .list-sns a:last-child { margin-right: 0; }

#header .layerMenu.menu_opened { opacity: 1; pointer-events: auto; transition: All 0.4s ease; -webkit-transition: All 0.4s ease; -moz-transition: All 0.4s ease; -o-transition: All 0.4s ease; /*! padding-bottom: 111px; *//*! margin-bottom: 100px; */}

#header .layerMenu .h-block01 { margin-top: 25px; padding-bottom: 80px;}

#header .layerMenu .h-block01 .ttl { color: #fff; font-size: 15px; line-height: 1.875; letter-spacing: 0.06em; font-weight: 400; text-align: center; }

#header .layerMenu .sns-ttl { color: #fff; font-size: 19px; line-height: 1.875; letter-spacing: 0.06em; font-weight: 400; padding: 0 0 9px; text-align: center; border-bottom: 1px solid #fff; }

#header .layerMenu .h-block01 ul { margin-top: 10px; }

#header .layerMenu .h-block01 ul li { margin-bottom: 0; }

#header .layerMenu .h-block01 ul li a { display: inline-block; text-align: center; color: #fff; font-size: 15px; line-height: 1.53333; letter-spacing: 0em; font-weight: 500; width: 100%; height: 100%; background: #653b22; padding: 20px 5px 14px; }

#header .layerMenu .h-block01 ul li a .icon { display: inline-block; }

#header .layerMenu .h-block01 ul li a .txt { display: block; margin: 10px 0 0; }

#header .layerMenu .h-block01 ul li a.btn-contact01 { background: #794e06; }

#header .layerMenu .h-block01 ul li a:hover { opacity: 0.8; }

#header .layerMenu .h-block01 ul li:nth-child(1) { max-width: 330px; margin: 0 auto; }

#header .layerMenu .h-block01 ul li:nth-child(1) a .icon img { width: 38px; }

#header .layerMenu .h-block01 ul li:nth-child(1) a .txt { font-size: 16px; margin-top: 15px; }

#header .layerMenu .h-block01 ul li:nth-child(1) a .txt small { font-size: 14px; display: block; }

#header .layerMenu .h-block01 ul li:nth-child(2) { max-width: 280px; margin: 25px auto 0; font-size: 17px; line-height: 1.53333; letter-spacing: 0em; font-weight: 500; }

#header .layerMenu .h-block01 ul li:nth-child(2) a { padding: 25px 5px 25px; display: block; position: relative; }

/*#header .layerMenu .h-block01 ul li:nth-child(2) a:before { position: absolute; content: ""; top: 5px; right: 5px; width: 15px; height: 15px; background: url(../common_img/icon_arr01.png) no-repeat center center; background-size: 100% 100%; transition: All 0.4s ease; }*/

#header .layerMenu .h-block01 ul li:nth-child(2) a .txt { font-size: 17px; }

  #header .layerMenu .inLayer .gnav01 li:first-child a {
    background: #653b22;
	padding: 12px;
	text-align: center;
	font-size: 18px;
	color: #fff;
  }
  #header .layerMenu .inLayer .gnav01 li:first-child a span {
    margin-right: 10px;
  }
  #header .h-btn01 li:first-child {
    display: none;
  }


/*====================================================================================
■07.GOLABLE NAVIGATION
====================================================================================*/
#gnav { width: 100%; }

#gnav ul { position: relative; display: flex; justify-content: center; }

#gnav ul li { padding: 18px 7%; }

/*====================================================================================
■08.FOOTER
====================================================================================*/
#page-top { position: fixed; right: 10px; z-index: 999; bottom: -140px; transition: All 0.6s ease; -webkit-transition: All 0.6s ease; -moz-transition: All 0.6s ease; -o-transition: All 0.6s ease; width: 40px; }

#page-top.is-show { bottom: 40px; }

#page-top a { display: inline-block; width: 40px; height: 115px; }

#footer .footer-pc a { padding: 8px 0; display: block; font-size: 14px; color: #ffffff; text-align: center; text-decoration: none; background-color: #767676; }

#footer .footer-pc a span { margin-right: 5px; width: 27px; display: inline-block; }

#footer .f-contact { background: url(../common_img/f_img01.jpg) no-repeat center center; background-size: cover; padding: 45px 10px 55px; }

#footer .f-contact .block { border: 1px solid #988867; padding: 14px 14px 0; text-align: center; }

#footer .f-contact .block .inner { position: relative; padding: 22px 25px 0; }

@media only screen and (max-width: 420px) { #footer .f-contact .block .inner { padding: 22px 17px 0; } }

#footer .f-contact .block .inner:after { position: absolute; content: ""; left: 0; bottom: 28px; right: 0; top: 0; background: rgba(255, 255, 255, 0.5); z-index: 2; }

#footer .f-contact .block .desc { font-size: 20px; line-height: 1.6; letter-spacing: 0.05em; font-weight: bold; margin-bottom: 20px; position: relative; z-index: 44; color: #2d2a24; }

@media only screen and (max-width: 420px) { #footer .f-contact .block .desc { font-size: 18px; text-align: left;} }

@media only screen and (max-width: 375px) { #footer .f-contact .block .desc { font-size: 17px; } }

#footer .f-contact .btn { position: relative; z-index: 144; text-align: center; }

#footer .f-contact .btn .c-btn-contact { display: inline-block; text-align: center; color: #fff; font-size: 17px; line-height: 1.15; letter-spacing: 0em; font-weight: 500; width: 100%; height: 100%; border-left: 1px solid #191923; background: #794e06; padding: 24px 10px 24px; }

#footer .f-contact .btn .c-btn-contact .icon { display: inline-block; vertical-align: middle; width: 30px; }

#footer .f-contact .btn .c-btn-contact .txt { display: inline-block; vertical-align: middle; margin: 0 0 0 20px; }

@media only screen and (max-width: 420px) { 
  #footer .f-contact .btn .c-btn-contact .txt { margin: 0 0 0 20px; } 
}
@media only screen and (max-width: 400px) { 
  #footer .f-contact .btn .c-btn-contact { padding: 16px 10px 16px;}
  #footer .f-contact .btn .c-btn-contact .icon { margin-bottom: 10px;}
}

#footer .f-contact .btn .c-btn-contact .txt small { font-size: 14px; line-height: 1.64286; display: block; margin-top: 6px; }

#footer .f-contact .btn .c-btn-contact:hover { opacity: 0.8; }

#footer .f-sec01 { padding-bottom: 20px; background: #2d2a24; }

#footer .f-sec01 .f-logo { text-align: center; margin-bottom: 20px; }

#footer .f-sec01 .f-logo img { width: 244px; }

#footer .f-sec01 .f-text01 { color: #fff; text-align: center; font-size: 14px; line-height: 1.71429; letter-spacing: 0.1em; margin-bottom: 15px; }

#footer .f-sec01 .f-add { color: #988867; text-align: center; font-size: 14px; line-height: 1.71429; letter-spacing: 0.1em; margin-bottom: 20px; }

#footer .f-sec01 .f-add a { text-decoration: underline; color: #988867; display: inline-block; position: relative; padding: 3px 0 0 35px; }

#footer .f-sec01 .f-add a:before { position: absolute; content: ""; left: 0; top: 0; width: 26px; height: 26px; background: url(../common_img/icon_map.png) no-repeat center center; background-size: 100% 100%; }

#footer .f-sec01 .f-add a:hover { opacity: 0.7; text-decoration: none; }

#footer .f-sec01 .f-menu { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; padding: 0 10px 25px; }

#footer .f-sec01 .f-menu ul { width: 50%; }

#footer .f-sec01 .f-menu li { margin-bottom: 12px; }

#footer .f-sec01 .f-menu li a { display: inline-block; position: relative; color: #fff; font-size: 13px; line-height: 1.71429; letter-spacing: 0.1em; padding: 0 0 0 31px; }

#footer .f-sec01 .f-menu li a:before { position: absolute; content: ""; left: 0; top: 10px; width: 21px; height: 2px; border-radius: 1px; background: #794e06; }

#footer .f-sec01 .f-menu li a:hover { color: #794e06; text-decoration: underline; }

#footer .f-sec01 .cp-right { text-align: right; color: #fff; position: relative; font-size: 12px; line-height: 2; letter-spacing: 0.1em; }

#footer .f-sec01 .cp-right:before { position: absolute; content: ""; left: 0; top: 11px; width: 100%; height: 1px; background: #988867; }

#footer .f-sec01 .cp-right span { display: inline-block; position: relative; background: #2d2a24; padding-left: 20px; padding-right: 10px; }

/*====================================================================================
■09.LAYOUT
====================================================================================*/
.js-image { display: block; background: #f2f2f2 top center no-repeat; background-size: cover; overflow: hidden; }

.js-image > img { position: absolute; left: -9999px; }

.js-image.is-noimg { background-position: center center; background-size: 100% auto; }

.a_absolute { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 9; }

.c-btn01 { display: inline-block; vertical-align: top; position: relative; font-size: 15px; font-weight: 500; color: #fff; text-decoration: none; background: #462f17; border-radius: 40px; letter-spacing: 0.05em; text-align: left; padding: 13px 27px 14px; width: 100%; max-width: 300px; transition: All 0.4s ease; text-align: center;font-size: 14px;}

.c-btn01.orange01 { background: #e88623; }

.c-btn01:link { text-decoration: none; }

.c-btn01:before { position: absolute; content: ""; right: 26px; top: 50%; width: 15px; height: 15px; background: url(../common_img/icon_arr01.png) no-repeat center center; background-size: 100% 100%; margin-top: -7px; transition: All 0.4s ease; transform: rotate(45deg);}

.c-btn01 span { position: relative; z-index: 29; }

.c-btn01.topdf { text-align: center; }

.c-btn01.topdf:before { display: none; }

.c-btn01.topdf span { display: inline-block; text-align: center; padding: 0 0 0 46px; }

@media only screen and (max-width: 375px) { .c-btn01.topdf span { padding: 0 0 0 40px; } }

.c-btn01.topdf span:before { position: absolute; content: ""; left: 0; top: 50%; width: 31px; height: 37px; background: url(../common_img/icon_pdf.png) no-repeat center center; background-size: 100% 100%; margin-top: -19px; transition: All 0.4s ease; }

@media only screen and (max-width: 375px) { .c-btn01.topdf span:before { width: 29px; height: 34px; } }

.c-btn02 { display: inline-block; vertical-align: top; position: relative; font-size: 16px; line-height: 1.5; font-weight: 500; text-decoration: none; color: #fff; letter-spacing: 0.05em; text-align: left; transition: All 0.4s ease; padding: 0 37px 0 0; border-bottom: 1px solid #fff; font-size: 14px;}

.c-btn02:link { text-decoration: none; }

.c-btn02:before { position: absolute; content: ""; right: 0; top: 50%; width: 15px; height: 15px; background: url(../common_img/icon_arr01.png) no-repeat center center; background-size: 100% 100%; margin-top: -7px; transition: All 0.4s ease; transform: rotate(45deg);}

.c-btn02 span { position: relative; z-index: 29; }

.c-link01 { color: #653b22; font-size: 16px; text-decoration: underline; }

.c-link01:link { text-decoration: underline; }

.c-link01:hover { text-decoration: none; }

.c-txt01 { font-size: 16px; line-height: 1.875; letter-spacing: 0.1em; }

.c-txt01 p { margin-bottom: 28px; }

.c-txt01 p:last-child { margin-bottom: 0; }

@keyframes lds-ripple { 0% { top: 30px;
    left: 30px;
    width: 0;
    height: 0;
    opacity: 0; }
  4.9% { top: 30px;
    left: 30px;
    width: 0;
    height: 0;
    opacity: 0; }
  5% { top: 30px;
    left: 30px;
    width: 0;
    height: 0;
    opacity: 1; }
  100% { top: 0px;
    left: 0px;
    width: 56px;
    height: 56px;
    opacity: 0; } }

.loading { position: fixed; z-index: 19999; left: 0; top: 0; bottom: 0; right: 0; background: #fff; transition: All 0.5s ease; }

.loading.is-hidden { opacity: 0; pointer-events: none; }

.loading .lds-ripple { display: inline-block; position: absolute; left: 50%; top: 50%; width: 60px; height: 60px; transform: translate(-50%, -50%); }

.loading .lds-ripple div { position: absolute; border: 3px solid #2d2a24; opacity: 1; border-radius: 50%; animation: lds-ripple 2s cubic-bezier(0, 0.2, 0.8, 1) infinite; }

.loading .lds-ripple div:nth-child(2) { animation-delay: -0.8s; }

.c-scrollDown { position: absolute; right: 35px; bottom: 0; }

.c-scrollDown.for-sub { position: fixed; right: 35px; z-index: 899; top: 50%; }

.c-scrollDown-in { display: inline-block; position: relative; width: 24px; vertical-align: bottom; }

.c-scrollDown a { display: inline-block; position: relative; width: 24px; vertical-align: bottom; }

.c-scrollDown-txt { position: absolute; right: 2px; top: 8px; text-align: center; color: #2d2a24; font-size: 16px; line-height: 1; letter-spacing: 0em; font-weight: 300; width: 30px; height: 62px; }

.c-scrollDown-txt span { white-space: nowrap; display: inline-block; transform-origin: 30% 65%; text-align: right; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); }

.c-scrollDown-line { height: 155px; position: relative; }

.c-scrollDown-line span { position: absolute; content: ""; width: 1px; height: 100%; background: #575550; top: 0; left: 0; right: 0; margin: 0; z-index: 34; animation-delay: 4s; -webkit-animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; -moz-animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; -o-animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; }

.c-ttl01 { margin-bottom: 30px; }

.c-ttl01.is-center { text-align: center; }

.c-ttl01 img { max-height: 79px; }

@media only screen and (max-width: 375px) { .c-ttl01 img { max-height: 62px; } }

/*# sourceMappingURL=maps/base.css.map */
