@charset "UTF-8";
/* CSS Document */
html {
 -webkit-text-size-adjust: 100%;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
 margin: 0;
 padding: 0;
 border: 0;
 vertical-align: baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
 display: block
}
body {
 line-height: 1
}
ol, ul {
 list-style: none
}
table {
 border-collapse: collapse;
 border-spacing: 0
}
* {
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 -webkit-box-shadow: none;
 box-shadow: none;
 outline: none;
}
*, *:before, *:after {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
}
body {
 width: 100%;
 font-size: 16px;
 font-family: 'Quicksand', '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', 'メイリオ', 'Noto Sans JP', sans-serif;
 line-height: 1.8;
 margin: 0;
 overflow-x: hidden;
 color: #222;
}
a {
 color: #8c6239;
 text-decoration: none;
 -webkit-transition: all .2s ease-out;
 -moz-transition: all .2s ease-out;
 -ms-transition: all .2s ease-out;
 transition: all .2s ease-out;
}
h1, h2, h3, h4, h5 {
 font-feature-settings: "palt";
}
.loader {
 align-items: center;
 background: #fff;
 bottom: 0;
 display: flex;
 justify-content: center;
 left: 0;
 position: fixed;
 right: 0;
 top: 0;
 z-index: 1000;
}
.loader::after {
 -webkit-animation: loader 0.5s linear infinite;
 animation: loader 0.5s linear infinite;
 border: 3px solid rgba(255, 174, 174, 1);
 border-radius: 50%;
 border-right: 3px solid rgba(255, 174, 174, 0.2);
 border-top: 3px solid rgba(255, 174, 174, 0.2);
 content: "";
 height: 40px;
 width: 40px;
}
@-webkit-keyframes loader {
 0% {
  transform: rotate(0);
 }
 100% {
  transform: rotate(360deg);
 }
}
@keyframes loader {
 0% {
  transform: rotate(0);
 }
 100% {
  transform: rotate(360deg);
 }
}
.center {
 text-align: center;
}
.small {
 font-size: .9em;
}
/* footer最下部用 */
.wrapper {
 display: flex;
 flex-flow: column;
 min-height: 100vh;
 width: 100%;
}
main {
 flex: 1;
}
footer {
 padding: 0px 0 0 0;
 background: #fff;
}
.wrapper {
 width: 100%;
 overflow: hidden;
}
/*　画像指定　*/
img {
 max-width: 100% !important;
 height: auto;
 vertical-align: bottom;
 -ms-interpolation-mode: bicubic;
}
svg, object {
 fill: currentColor;
 width: 100%;
 height: 100%;
}
body.fixed {
 position: fixed;
 width: 100%;
 height: 100%;
}
/* ヘッダー・フッター */
header nav {
 padding: 10px 60px 10px 0;
 position: relative;
 margin: 0 0 0 auto;
 display: flex;
 justify-content: flex-end;
 align-items: center;
}
.logo {
 width: 130px;
 top: 0px;
 left: 0px;
 background: #ffa6a6;
 position: absolute;
 z-index: 9;
 text-align: center;
 padding: 15px 0;
}
.logo img {
 width: 100px;
 height: auto;
}
#lang {
 display: none;
 position: absolute;
 left: 260px;
 top: 25px;
 font-size: 15px;
 font-weight: 600;
 letter-spacing: 0.1em;
 color: #a67c52;
}
#lang svg, .langage svg {
 width: 32px;
 height: auto;
 vertical-align: middle;
 margin-right: 5px;
}
#lang .lngicon, .langage .lngicon {
 stroke: #a67c52;
 fill: none;
 stroke-miterlimit: 10;
}
#lang ul {
 position: absolute;
 width: 107%;
 top: 100%;
 left: 0;
 margin: 0;
 padding: 0;
}
#lang li {
 overflow: hidden;
 height: 0;
 -moz-transition: .3s;
 -webkit-transition: .3s;
 -o-transition: .3s;
 -ms-transition: .3s;
 transition: .3s;
 border-top: 1px solid rgba(255, 255, 255, 0);
 color: #d8d2c7;display: block; margin: 0;
 padding: 0;}
#lang li span {
 display: block;
 line-height: 46px;
 margin: 0;
 padding: 0 40px 0 15px;
 font-size: .875em;
 font-weight: bold;
 text-decoration: none;
 position: relative;
}
#lang li a {
 background: #fff;
 display: block;margin: 0;
 padding: 0;
}
#lang li a span::after {
 content: '';
 position: absolute;
 display: block;
 border-bottom: 1px solid;
 border-left: 1px solid;
 width: 6px;
 height: 6px;
 right: 20px;
 top: calc(50% - 3px);
 transform: rotate(-135deg);
 -webkit-transition: all .3s ease-out;
 -moz-transition: all .3s ease-out;
 -ms-transition: all .3s ease-out;
 transition: all .3s ease-out;
}
#lang .langselect p {
 padding: 12px 20px 12px 0;
 position: relative;
}
#lang .langselect p::after {
 content: '';
 position: absolute;
 display: block;
 border-bottom: 1px solid;
 border-left: 1px solid;
 width: 8px;
 height: 8px;
 right: 0px;
 top: calc(50% - 6px);
 transform: rotate(-45deg);
}
#lang .langselect:hover p {
 cursor: pointer;
}
#lang .langselect:hover li {
 overflow: visible;
 height: 46px;
 background: #efecea;
 border-top: 1px solid #efecea;
}
/*---WPML調整---*/
#lang .wpml-ls-statics-shortcode_actions{padding:0;margin:0;}

@media screen and (min-width: 768px) {
 header nav {
  padding: 20px 80px 20px 0;
 }
 .logo {
  width: 180px;
  padding: 25px 0;
 }
 .logo img {
  width: 120px;
  height: auto;
 }
}
@media screen and (min-width: 1024px) {
 .logo {
  width: 240px;
  padding: 30px 0;
 }
 .logo img {
  width: 150px;
  height: auto;
 }
}
.pc_nav {
 display: none;
}
@media screen and (min-width: 1024px) {
 .pc_nav {
  display: flex;
  font-feature-settings: "palt";
  justify-content: flex-end;
 }
 .pc_nav li {
  padding-right: 2em;
 }
 .pc_nav li a span.en {
  display: block;
  font-size: 1.1875em;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1;
  padding: 0 0 5px 0;
  position: relative;
  border-bottom: 1px dashed #f5eddb;
 }
 .pc_nav li a span.en {
  display: block;
  font-size: 1.1875em;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1;
  padding: 0 0 5px 0;
  position: relative;
 }
 .pc_nav li a span {
  font-size: 0.75em;
  font-weight: bold;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 }
}
@media screen and (min-width: 1240px) {
 #lang {
  display: block;
  z-index: 51;
 }
 #lang li a:hover span::after {
  right: 12px;
 }
 .pc_nav li a span.en::after {
  position: absolute;
  bottom: -1px;
  left: 0%;
  content: '';
  width: 0;
  height: 1px;
  background-color: #c1b49f;
  transition: .3s;
 }
 .pc_nav li a:hover span.en::after {
  width: 100%;
 }
}
.nav_mail a {
 display: inline-block;
 background: #ffa4a4;
 color: #fff;
 border-radius: 34px;
 position: relative;
 line-height: 68px;
 font-weight: bold;
 font-size: .8em;
 padding: 0 30px 0 80px;
 -webkit-transition: all .3s ease-out;
 -moz-transition: all .3s ease-out;
 -ms-transition: all .3s ease-out;
 transition: all .3s ease-out;
}
.mail-icon {
 width: 42px;
 height: 42px;
 display: inline-block;
 overflow: hidden;
 position: absolute;
 top: 50%;
 left: 30px;
 transform: translateY(-50%);
}
#mailicon {
 color: #fff;
 width: 42px;
 height: 42px;
}
@media screen and (max-width: 739px) {
 header .nav_mail span.btntxt {
  display: none;
 }
 header .nav_mail a {
  display: block;
  padding: 10px;
  width: 44px;
  height: 44px;
 }
 header .mail-icon {
  top: 50%;
  left: 4px;
  transform: translateY(-50%) scale(0.65);
 }
}
@media screen and (min-width: 740px) and (max-width: 1023px) {
 .nav_mail a {
  line-height: 54px;
 }
 header .mail-icon {
  top: 50%;
  transform: translateY(-50%) scale(0.85);
 }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
 header .nav_mail span.btntxt {
  display: none;
 }
 header .nav_mail a {
  display: block;
  padding: 0px;
  width: 68px;
  height: 68px;
 }
 header .mail-icon {
  top: 50%;
  left: 16px;
  transform: translateY(-50%) scale(0.85);
 }
}
@media screen and (min-width: 1024px) {
 .nav_mail a:hover {
  background: #f78686;
 }
}
.footer {
 padding: 60px 5%;
 position: relative;
}
.footer a {
 color: #84796d;
}
.footerlogo img {
 width: 120px;
 height: auto;
}
footer .pc_nav {
 justify-content: flex-start;
}
footer .pc_nav li span.en {
 border-bottom: 1px dashed #eee;
}
.footerContact {
 text-align: center;
 padding: 60px 20px;
 background: #ffd4d4 url("../images/contact_bg.jpg") no-repeat center center;
 background-blend-mode: multiply;
 background-size: cover;
}
.footerContact .nav_mail a {
 background: #fff;
 color: #ff8e99;
 font-size: 1.125em;
 padding: 0 0 0 60px;
 text-align: center;
 line-height: 80px;
 border-radius: 40px;
 width: 85%;
}
.footerContact .nav_mail a::after {
 content: "";
 position: absolute;
 width: calc(100% - 12px);
 height: calc(100% - 12px);
 border: 1px dashed #ffaeae;
 left: 6px;
 top: 6px;
 border-radius: 40px;
}
.footerContact .nav_mail .mail-icon {
 width: 42px;
 height: 42px;
 display: inline-block;
 overflow: hidden;
 position: absolute;
 top: 45%;
 left: 15%;
 transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
 .footerContact .nav_mail a {
  width: 50%;
 }
}
@media screen and (min-width: 1025px) {
 .footerContact .nav_mail a {
  width: 30%;
 }
}
@media print, screen and (max-width: 767px) {
 .footer .corplogo {
  text-align: center;
 }
}
@media print, screen and (min-width: 768px) {
 .footer .corplogo {
  position: absolute;
  top: 30px;
  right: 7%;
 }
}
@media (hover: hover) {
 .footerContact .nav_mail a:hover {
  transform: translateY(3px);
  box-shadow: 0 3px 20px rgba(255, 124, 136, 0.5);
 }
}
.sns {
 display: flex;
 justify-content: flex-end;
 padding-right: 5px;
}
.sns li a {
 display: block;
 padding: 15px 0 15px 20px;
 position: relative;
 color: #84796d;
}
.icon-facebook, .icon-instagram {
 width: 22px;
 height: 22px;
}
@media print, screen and (max-width: 767px) {
 .sns {
  justify-content: center;
  padding-right: 0px;
 }
 .sns li a {
  padding: 15px 10px;
 }
}
.laws {
 text-align: center;
 font-size: .8em;
}
.laws a {
 padding: 5px 0;
 color: #84796d;
 font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
 .laws {
  text-align: left;
  display: flex;
  padding: 30px 0 5px 0
 }
 .laws li:first-child {
  padding-right: 1em;
 }
 .laws li:first-child::after {
  content: "/";
  color: #ddd;
  display: inline-block;
  padding: 0 0 0 1em;
 }
 .laws a {
  padding: 0px 0;
 }
}
.copyright {
 font-size: .75em;
 letter-spacing: .1em;
}
@media print, screen and (max-width: 767px) {
 .copyright {
  text-align: center;
  margin-top: 5px;
 }
}
/*パンくず*/
.breadcrumb {
 margin: 0;
 padding: 0 0 40px 0;
 list-style: none;
 line-height: 1.5;
}
@media print, screen and (min-width: 678px) {
 .breadcrumb {
  padding: 0 0 60px 0;
 }
}
.breadcrumb li {
 display: inline;
 list-style: none;
 font-size: .8125em;
}
.breadcrumb li a {
 border-bottom: 1px solid;
}
.breadcrumb li:after {
 content: '>';
 padding: 0 0.2em;
 color: #e2d0ac;
}
.breadcrumb li:last-child:after {
 content: '';
}
/*レスポンシブ表示非表示切り替え*/
@media (max-width: 640px) {
 .tb-only {
  display: none !important
 }
}
@media (min-width: 641px) {
 .sp-only {
  display: none !important;
 }
 .tb-only {
  display: inline
 }
}
@media (min-width: 1024px) {
 .sptb-only, .tb-only {
  display: none !important;
 }
}
@media (max-width: 641px) {
 .pctb-only {
  display: none !important;
 }
}
@media (max-width: 1023px) {
 .pc-only {
  display: none !important;
 }
}
@media (max-width: 1239px) {
 .pcwide-only {
  display: none !important;
 }
}
/*スマホ以外は電話番号リンクを無効*/
@media (min-width: 751px) {
 a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  border-bottom: none;
 }
}
/*ページ先頭に戻る*/
#page_top {
 position: fixed;
 right: 10px;
 /*bottom: 74px;
 background: rgba(255, 255, 255, 0.7);*/
 border: 1px solid rgba(166, 124, 82, 0.2);
 border-radius: 50%;
 z-index: 10;
 -webkit-transition: all .3s ease-out;
 -moz-transition: all .3s ease-out;
 -ms-transition: all .3s ease-out;
 transition: all .3s ease-out;
}
#page_top a {
 position: relative;
 display: block;
 width: 40px;
 height: 40px;
 text-decoration: none;
 border-bottom: none;
}
#page_top a::after {
 content: '';
 display: block;
 width: 10px;
 height: 10px;
 border-top: 1px solid #a67c52;
 border-right: 1px solid #a67c52;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%) rotate(-45deg);
 transform: translate(-47%, -30%) rotate(-45deg);
}
@media print, screen and (min-width: 751px) {
 #page_top {
  right: 20px;
  bottom: 20px;
 }
}
@media print, screen and (min-width: 1025px) {
 #page_top:hover {
  background: rgba(255, 255, 255, 1);
 }
}
/*ドロワーメニュー*/
.wrapper {
 height: 100%;
 overflow-x: hidden;
 position: relative;
 transition: all .5s;
}
.overlay {
 content: "";
 display: block;
 width: 0;
 height: 0;
 background-color: rgba(0, 0, 0, 0.05);
 position: absolute;
 top: 0;
 left: 0;
 z-index: 11;
 opacity: 0;
 transition: opacity .5s;
}
.overlay.open {
 width: 100%;
 height: 100%;
 opacity: 1;
}
.wrapper.open {
 transform: translateX(-100px);
}
.menu-trigger {
 display: inline-block;
 width: 28px;
 height: 20px;
 vertical-align: middle;
 cursor: pointer;
 position: fixed;
 top: 18px;
 right: 20px;
 z-index: 100;
}
@media print, screen and (min-width: 768px) {
 .menu-trigger {
  top: 30px;
  right: 30px;
 }
}
@media print, screen and (min-width: 1024px) {
 .menu-trigger {
  top: 36px;
  right: 30px;
 }
}
.menu-trigger span {
 display: inline-block;
 box-sizing: border-box;
 position: absolute;
 left: 0;
 width: 100%;
 height: 2px;
 background-color: #a67c52;
 transition: all .5s;
}
.menu-trigger.active span {
 /*background-color: #fff;*/
}
.menu-trigger span:nth-of-type(1) {
 top: 0;
}
.menu-trigger.active span:nth-of-type(1) {
 transform: translateY(8px) rotate(-45deg);
}
.menu-trigger span:nth-of-type(2) {
 top: 8px;
}
.menu-trigger.active span:nth-of-type(2) {
 opacity: 0;
}
.menu-trigger span:nth-of-type(3) {
 top: 16px;
}
.menu-trigger.active span:nth-of-type(3) {
 transform: translateY(-8px) rotate(45deg);
}
.menu-trigger p {
 font-size: .75em;
 letter-spacing: .1em;
 font-weight: 600;
 transform: translateY(20px) translateX(-3px);
 color: #a67c52;
}
.drawernav nav {
 width: 250px;
 height: 100%;
 background: #fff;
 position: fixed;
 top: 0;
 right: 0;
 z-index: 20;
 transform: translate(250px);
 transition: all .5s;
 text-align: right;
 padding: 80px 25px 25px 10px;
 overflow-y: auto;
 overflow-x: hidden;
}
.drawernav nav.open {
 transform: translateZ(0);
}
.drawernav nav .homelink {
 position: absolute;
 top: 0px;
 left: 10px;
}
@media print, screen and (min-width: 768px) {
 .drawernav nav .homelink {
  top: 14px;
 }
}
@media print, screen and (min-width: 1024px) {
 .drawernav nav .homelink {
  top: 20px;
 }
}
.drawernav nav .homelink a {
 display: block;
 padding: 10px;
}
.drawernav nav .homelink svg {
 width: 31px;
 height: auto;
}
.drawernav nav .homelink a span {
 display: block;
 letter-spacing: .1em;
 font-size: .75em;
 line-height: 1;
 transform: translateX(3px) translateY(-3px);
}
.drawernav nav li a {
 display: inline-block;
 padding: 10px 0;
}
.drawernav nav li a span {
 display: block;
 line-height: 1.5;
 padding: 12px 0 0 0 0;
}
.drawernav nav li a span.en {
 display: block;
 font-size: 1.25em;
 font-weight: 600;
 letter-spacing: 0.1em;
 line-height: 2;
 position: relative;
}
.drawernav nav li a span.en::after {
 position: absolute;
 bottom: 4px;
 right: 0;
 content: '';
 width: 0;
 height: 1px;
 background-color: #c1b49f;
 transition: .3s;
}
@media print, screen and (min-width: 1240px) {
 .drawernav nav li a:hover span.en::after {
  width: 100%;
 }
}
.drawernav li span {
 font-size: 0.8125em;
 line-height: 1;
}
.drawernav .nav_mail {
 transform: translateX(10px);
 margin: 25px 0 18px;
}
.drawernav .nav_mail a {
 font-size: .95em;
 padding: 0 25px 0 80px;
 line-height: 60px;
}
.drawernav .langage {
 font-weight: 600;
 margin: 15px -10px 15px 10px;
}
.drawernav .langage a {
 padding: 0;
 display: block;
 background: #fff;
 -webkit-transition: all .3s ease-out;
 -moz-transition: all .3s ease-out;
 -ms-transition: all .3s ease-out;
 transition: all .3s ease-out;
}
.drawernav .langage ul {
 display: flex;
 justify-content: space-between;
}
.drawernav .langage ul li {
 width: 32%;
 text-align: center;
 color: #d8d2c7;
 background: #efecea;
}
.drawernav .langage ul li span {
 display: block;
 padding: 12px 0 !important;
 border: 1px solid #f4ebd7;
 line-height: 1.5;
}
@media print, screen and (min-width: 1240px) {
 .drawernav .langage a:hover {
  background: #f4ebd7;
 }
}
.drawernav .sns {
 display: block;
 justify-content: flex-end;
 padding-right: 0px;
}
.drawernav .sns li a {
 display: flex;
 justify-content: flex-end;
 align-items: center;
 padding: 10px 0;
 position: relative;
 color: #666;
 line-height: 27px;
}
.drawernav .sns li a span:first-child {
 padding-right: .5em;
 letter-spacing: .05em;
}
/*カテゴリ表示帯*/
.page_category {
 text-align: center;
 padding: 40px 7%;
 background-image: radial-gradient(#fefcfa 2px, transparent 2px), radial-gradient(#fefcfa 2px, #f4ebd7 2px);
 background-size: 30px 30px;
 background-position: 8px 8px, 23px 23px;
 color: #c69c6d;
 font-size: 2em;
 font-weight: 400;
 letter-spacing: .25em;
 line-height: 1;
 text-transform: lowercase;
}
@media print, screen and (min-width: 678px) {
 .page_category {
  padding: 55px 7%;
  font-size: 2.625em;
 }
}
main {
 background: #fbf7f1;
 color: #8c6239;
}
.contentsBlock {
 padding: 15px 7% 150px;
 margin: auto;
 max-width: 1380px;
}
.contentsBlock h1 {
 font-weight: normal;
 font-size: 1.5em;
 margin-bottom: 20px;
 line-height: 1.4;
}
@media print, screen and (min-width: 768px) {
 .contentsBlock h1 {
  font-size: 2em;
  margin-bottom: 50px;
 }
}
.fadeIn {
 transform: translate3d(0, 30px, 0);
 transition-duration: 1.5s;
 opacity: 0;
}
.fadeIn02 {
 transform: translate3d(0, 30px, 0);
 transition-duration: 1.5s;
 transition-delay: 0.5s;
 opacity: 0;
}
.fadeIn03 {
 transform: translate3d(0, 30px, 0);
 transition-duration: 1.5s;
 transition-delay: 1s;
 opacity: 0;
}
.fadeIn.animated, .fadeIn02.animated, .fadeIn03.animated {
 transform: translate3d(0, 0, 0);
 opacity: 1;
}
@media print, screen and (max-width: 767px) {
 .fadeIn03 {
  transition-delay: 0s;
 }
}