@charset "utf-8";

/*	Bace
================================*/
body {
 margin: 0;
 font-family: "Rounded Mplus 1c", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
 font-size: 12px;
 line-height: 1.7em;
 -webkit-text-size-adjust: 100%;
 -webkit-appearance: none;
 overflow-x: hidden;
 color: #261711;
 background: #F5F5F5;   /* 枠（.site-frame）と同じ色。枠の下に出る分も同じグレーにする */
 letter-spacing: 0px;
}

* html body {
 /* for IF6 */
 font-family: 'Rounded Mplus 1c', sans-serif, "ヒラギノ角ゴ Pro W6", "ＭＳ Ｐゴシック", Osaka, sans-serif;
}

a {
 color: inherit;
 text-decoration: none;
}

a:hover {
 /* color: #737373; */
 /* color: #59443C; */
 color: #A6A6A6;
 transition: 0.5s;
}

.fas {
 color: #59443C;
}

.grecaptcha-badge {

	/* 前面に出すなら値を大きく 
	z-index: 10000 !important;*/

	/* 表示を消す */
	visibility: hidden !important;

	/* 正の値を大きくすると上に、負なら下に移動 
	bottom: 60px !important;*/

}


/*float-clear
================================*/
.clearfix:after {
 content: "";
 clear: both;
 display: block;
}

/*Type
================================*/
.page-header-inner h1 {
 color: #F2D649;
 font-family: 'Montserrat', sans-serif;
 font-size: 20px;
 font-weight: 500;
 letter-spacing: 2px;
 margin: 0 auto;
 max-width: 50%;
 text-align: center;
}

type-A,{
 font-family: 'Montserrat', sans-serif;
 font-weight: 500;
 letter-spacing: 0px;
}

h1.type-A, h2.type-A, h3.type-A, h4.type-A, h5.type-A, h6.type-A {
 font-family: 'Montserrat', sans-serif;
 font-size: 160%;
 font-weight: 400;
 margin-bottom: 40px;
 letter-spacing: 0px;
}

h1.type-B, h2.type-B, h3.type-B, h4.type-B, h5.type-B, h6.type-B {
 font-family: 'Montserrat', sans-serif;
 font-size: 120%;
 font-weight: 600;
 letter-spacing: 0px;
}

h1.type-C, h2.type-C, h3.type-C, h4.type-C, h5.type-C, h6.type-C {
 font-family: 'Montserrat', sans-serif;
 font-weight: 500;
 letter-spacing: 0px;
}

.title01 {
 font-family: "M PLUS Rounded 1c";
 font-size: 120%;
 font-weight: normal;
 letter-spacing: 0px;
 line-height: 1.0em;
 margin-top: 5px;
 margin-bottom: 5px;
 padding-bottom: 5px;
 /*text-transform: uppercase;*/
 border-left: solid 0px #2b2b2b;
 /*点線*/
 border-right: dashed 0px #2b2b2b;
 /*点線*/
 border-top: dashed 0px #2b2b2b;
 /*点線*/
 border-bottom: solid 1px #E0E0E0; /* ★ 記事タイトル下の線の色（薄く。旧: #A6A6A6）。もっと薄く→#EBEBEB／戻す→#A6A6A6 */
}

.title-bottom {
 padding-bottom: 15px;
}

.date {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
 letter-spacing: 0em;
 line-height: 1.34;
 margin-bottom: 1.34em;
}

.categories01 {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 600;
 line-height: 1.1em;
 letter-spacing: -0.05em;
}

.categories01 a {
 font-weight: 300;
}

.type-more {
 font-family: 'Montserrat', sans-serif;
 font-weight: 500;
 letter-spacing: -0.05em;
 text-transform: uppercase;
}

h1.type-46 {
 font-family: 'Montserrat', sans-serif;
 font-size: 380%;
 font-weight: 500;
 letter-spacing: -2px;
 line-height: 0.8em;
 margin-bottom: 0px;
 margin-top: 0px;
 padding: 0em;
 -webkit-appearance: none;
}

.foogallery-album-header {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
 letter-spacing: 0px;
}

.foogallery-pile h3 {
 font-family: 'Montserrat', sans-serif;
 font-weight: 500;
}

/*	TopScroll
================================*/
#page-top {
  /* ページの先頭へ戻るボタン：グレーの円が大小に動き、外へ広がる輪（残像）が消えていく（旧: 「TO HEADER ↑」の文字）
     動かしているのは transform と opacity だけ（ブラウザの負担が小さい動き） */
  --pt-size: 14px;      /* ★ 円の大きさ（小さいときの直径） */
  --pt-scale: 1.5;      /* ★ 円が大きくなるときの倍率 */
  --pt-ring: 2.6;       /* ★ 残像の輪が広がる倍率（大きいほど遠くまで広がる） */
  --pt-ring-alpha: .45; /* ★ 残像の最初の濃さ（0〜1） */
  --pt-speed: 1.2s;     /* ★ 大小1往復の時間（小さいほど速い） */
  --pt-color: #A6A6A6;  /* ★ 円の色（ホバーで #59443C） */
  --pt-pad: 12px;       /* 押せる範囲を広げる余白（円の周り） */
  position: fixed;
  bottom: calc(90px - var(--pt-pad));
  right: calc(40px - var(--pt-pad));
 }

#page-top a {
  display: block;
  padding: var(--pt-pad);   /* 円は小さいので、押せる範囲を円の周りに広げる */
 }

/* 円の入れ物（大きさは動かさない）。中の ::before = 本体の円、::after と .page-top-ring = 広がる輪（残像） */
.page-top-dot {
  position: relative;
  display: block;
  width: var(--pt-size);
  height: var(--pt-size);
}

.page-top-dot::before,
.page-top-dot::after,
.page-top-ring {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  border-radius: 50%;
  background: var(--pt-color);
  pointer-events: none;
  transition: background-color .3s;
}

.page-top-dot::before {
  animation: pt-core var(--pt-speed) ease-in-out infinite;
}

.page-top-dot::after,
.page-top-ring {
  opacity: 0;
  animation: pt-ring var(--pt-speed) ease-out infinite;
}

.page-top-ring {
  animation-delay: calc(var(--pt-speed) / -2);   /* 輪を半周期ずらして、残像を2重にする */
}

#page-top a:hover .page-top-dot::before,
#page-top a:hover .page-top-dot::after,
#page-top a:hover .page-top-ring {
  background: #59443C;
}

@keyframes pt-core {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(var(--pt-scale)); }
 }

@keyframes pt-ring {
  0% { transform: scale(1); opacity: var(--pt-ring-alpha); }
  100% { transform: scale(var(--pt-ring)); opacity: 0; }
 }

/* OS側で「動きを減らす」設定のときは、動かさない（円だけ表示） */
@media (prefers-reduced-motion: reduce) {
 .page-top-dot::before,
 .page-top-dot::after,
 .page-top-ring { animation: none; }
}

/*Bg-slider
================================*/
.bg-slider {
 /*背景画像表示の設定*/
 align-items: center;
 /*フレックスコンテナのクロス軸の中央に揃える*/
 background-position: center center;
 /*画像背景を上下中央に配置*/
 background-size: cover;
 /*画像をコンテナーいっぱいに大きく拡大縮小*/
 display: flex;
 /*フレックスボックスを利用*/
 justify-content: center;
 /*アイテムを中央に寄せる*/
 width: 100%;
 /*幅100％*/
}

.bg-slider::before {
 content: "";
 /*何も表示しない*/
 display: block;
 /*親要素の大きさが継承され１つのブロックとして認識*/
 padding-top: 50%;
 /* 比率を指定 */
}

.bg-slider_title {
 /*表示させたい文字の設定*/
 color: #ccc;
 font-family: 'Montserrat', sans-serif;
 font-size: 450%;
 font-weight: 700;
 line-height: 1.0em;
 padding-top: 0px;
 /*何も設定しなければ上下中央*/
 text-align: center;
}

.glitch {
 position: relative;
 width: 100%;
 overflow: hidden;
 animation: glitch_effect 10s infinite;
 
 }
 
 @keyframes glitch_effect {
 
 0% {
     filter: grayscale(0%);
   }
   50% {
     filter: grayscale(90%);
   }100% {
     filter: grayscale(0%);
   }
 
 }

/* .bg-slider::after {
 content: '';
 display: block;
 position:relative;
 top: 0;
 right: 0;
 width: 100%;
 height: 465px;
 background-color: rgba(0,0,0,0.5);
 background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
 background-size: 4px 4px;
 background-position: 0 0, 2px 2px;
 } */

/*	swiper
================================*/

.container-swiper {
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 20px;
 margin-top: 10px;
 position: relative;
 overflow: hidden;
}

.swiper-slide {
 background: var(--page-color, #FFFFFF);   /* ページ面と同じ色（.site-frame の --page-color に連動） */
}

/* トップの「LADSTEST JOURNAL#」ラベル：フッターの .copyright と同じフォント・色（front-page.php の span.journal-label） */
.journal-label {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
 letter-spacing: 0px;
 line-height: 1.2em;
 text-transform: uppercase;
 color: #261711;
}

/*SiteFrame（周囲のグレー枠）
================================
 ・外側 .site-frame = グレーの枠（--frame-color）、内側 .site-frame-inner = 今までのページ面（--page-color）
 ・枠の太さ：画面が狭いうちは 0（枠なし）。960px付近から広がって 80px、1440px以上で 160px
   （中身の幅 960px が枠で狭くならないように、(画面幅 - 975px) / 2 で増やしている）
 ・内側は最大 1440px。それより広い画面ではグレーが左右に広がる */
.site-frame {
 --frame-color: #F5F5F5;  /* ★ 枠の色（参照元と同じ） */
 --page-color: #FFFFFF;   /* ★ 内側（ページ面）の色（参照元と同じ白。今までは #F2F2F2） */
 background: var(--frame-color);
 --frame-pad: clamp(0px, calc((100vw - 975px) / 2), 80px);  /* 枠の太さ（画面幅で変わる） */
 --header-h: 292px;   /* ★ ヘッダーの高さ（.page-header の height はこの変数を使う）。参照元の比率：メニューの下からスライダーまで 160px になる値 */
 padding: var(--frame-pad);
 --frame-min-height: 500px;  /* ★ 白い面の最低の高さ（中身が短いときの下限。長いときは中身に合わせて伸びる） */
 display: flex;
}

.site-frame-inner {
 background: var(--page-color);
 flex: 1 1 auto;   /* 枠の中いっぱいに伸ばす（幅） */
 isolation: isolate;  /* 背景スライダーの画像（z-index:-1 で置かれる）が、この白い面の背景の下に隠れないようにする */
 min-height: var(--frame-min-height);
 min-width: 0;
 max-width: 1440px;
 margin-left: auto;
 margin-right: auto;
}

@media (min-width: 1440px) {
 .site-frame {
  --frame-pad: 160px;
 }
}

/* スライダーの高さ：元に戻した（768px以上は横幅の半分＝比率50%、767px以下は 300px 固定）。
   固定高さにするなら、ここに @media (min-width: 768px) { .bg-slider { height: 300px; overflow: hidden; } .bg-slider::before { padding-top: 0; } } を足す */

/*PageHeader
================================*/
.page-header {
 padding-top: 40px;
 padding-bottom: 10px;
 position: static;
}

/* ★ 768px以上：ヘッダー（ロゴ＋メニュー）の上下のあきを、参照元の間隔に近づける
   ・上   : 48px（参照元は白い面の内側 48px）
   ・下   : 120px（このあとの .container01 の上の余白 40px と合わせて、メニューからスライダーまで約160px＝参照元の間隔）
   ・768px未満は今までどおり */
@media (min-width: 768px) {
 .page-header {
  padding-top: 48px;
  padding-bottom: 120px;
  /* ★ ヘッダーの高さを固定（メニューが折り返しても、ここから下の位置が動かない）
     ・高さ = 上48 + ロゴ・メニュー 約85 + 下120。ロゴの大きさやメニューの間隔を変えたら、この数字も合わせる
     ・折り返した分は、下の余白（120px）の中に食い込む */
  box-sizing: border-box;
  height: var(--header-h);
 }
}

.page-header .transform {
 left: 0;
 position: fixed;
 top: 0;
 transition: .5s;
 width: 100%;
 z-index: 9998;
}

.page-header-inner {
 margin-bottom: 0px;
 margin-top: 0px;
}

.page-header.hide {
 transform: translatey(-100%);
}

.page-header-inner svg {
 margin-top: 0;
 width: 123px;   /* ★ ロゴの幅。高さは約15px（右上メニュー12pxの約1.25倍＝参照元の比率）。旧: 160px */
}
.st0{fill:#261711;}
.site-logo a:hover path{
 fill: #59443C;
 transition: 0.5s;
}

.page-header-inner img {
 margin-top: 0;
}

.site h1 a {
 color: #59443C000;
 text-decoration: none;
}

.site h1 {
 font-size: 30px;
 margin: 0;
}

.site img {
 border: none;
}

.site-logo {
 float: left;
 margin-top: 10px;
}

/* ロゴ下のコピーライト行（検索の虫眼鏡つき）。文字はメニューと同じ */
.header-copyright .search_container {
 --sf-icon: 13px;   /* ★ 虫眼鏡の幅。小さいほど右の文字に近づく（虫眼鏡の絵は約11px。旧: 18px → 文字との間 約7px、今は約2px） */
 --sf-lift: .5px;   /* ★ 虫眼鏡を上げる量。文字の中心と合わせた値（旧: 2px → 文字より約1.5px 上だった） */
 height: 1.4em;   /* 虫眼鏡の箱の高さを、文字の行の高さ(1.4em)に合わせる＝一行コピーと同じ行間で続く */
}

.header-copyright {
 clear: both;
 padding-top: 0;   /* ★ 一行コピーとの間のあき。0 = 一行コピーの次の行として続ける */
 font-family: 'Montserrat', sans-serif;
 font-size: 12px;
 font-weight: 500;
 line-height: 1.4em;
 letter-spacing: 0.5px;
 text-transform: uppercase;
 color: #261711;
}

/* ロゴの下の一行コピー（768px以上のみ。768px未満は非表示） */
.site-tagline {
 display: none;
}

.topimg {
 height: auto;
 max-width: 100%;
 vertical-align: bottom;
}

.catch {
 background-color: rgba(255, 255, 255, 0.7);
 font-size: 28px;
 margin: 0;
 padding: 15px;
}

.top {
 position: relative;
}

.catch {
 bottom: 7%;
 left: 3%;
 position: absolute;
}

/*	Container 左右
================================*/
.box5, .container00, .container01, .container02, .container03, .page-header, .footer {
 padding-left: 20px;
 padding-right: 20px;
}

/*	Container 上下
================================*/
.container01 {
 padding-top: 40px;
 padding-bottom: 0px;
}

.container02 {
 padding-top: 80px;
 padding-bottom: 0px;
}

.container03 {
 padding-top: 0px;
 padding-bottom: 0px;
}


.page-header, .footer {
 background: ;
}

.container01-1 {
 /* background: #FFF744; */
}

.container01-2 {
 /* background: #FFFA91; */
}

.container02-1 {
 background: #2CCDFF;
}

.container02-2 {
 background: #23A4CC;
}

.container02-3 {
 background: #78DFFF;
}

.container03-1 {
 background: #FF6922;
}

.container03-2 {
 background: #FF9C6E;
}

/*	Profile
================================*/
.profile table {
 width: 90%;
 border-spacing: 0;
}

.profile table th {
 border-bottom: solid 1px #E0E0E0;
 padding-top: 15px;
 font-weight: normal;
 width: 100px;
}

.profile table td {
 border-bottom: solid 1px #E0E0E0;
 text-align: left;
 padding-top: 15px;
}

.profile p {
 padding-bottom: 15px;
 padding-top: 0px;
}

/*	Single
================================*/
.entry01 img {
 margin-bottom: 0px;
}

.entry01 img {
 height: auto;
 max-width: 100%;
 vertical-align: bottom;
}

/*	PostNavi single.php
================================*/
.postnavi {
 padding-bottom: 20px;
 padding-top: 10px;
}

.postnavi {
 margin: 0;
}

.prev {
 font-family: 'Montserrat', sans-serif;
 font-weight: 500;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: -10px;
}

.prev a {
 font-weight: normal;
 line-height: 25px;
 margin-bottom: 7px;
}

.prev a:hover {
 color: #a9b879;
}

.next {
 font-family: 'Montserrat', sans-serif;
 font-weight: 500;
 margin-left: auto;
 margin-right: auto;
}

.next a {
 font-weight: normal;
 line-height: 25px;
 margin-bottom: 7px;
}

.next a:hover {
 color: #a9b879;
}

.categories {
 font-family: 'Montserrat', sans-serif;
 font-size: 110%;
 font-weight: 700;
 margin-top: 0px;
}

.recentcategories {
 font-family: 'Montserrat', sans-serif;
 padding-bottom: 0px;
 padding-top: 10px;
}

/*  Post List02  
================================*/
.postlist02 {
 font-family: "M PLUS Rounded 1c";
 /* background: #FCFCFC; */
 border-top: dashed 0px #292F33;
 /*点線*/
 border-bottom: dashed 0px #292F33;
 /*点線*/
 word-wrap: break-word;
 max-width: 100%;
 border-radius: 0px;
 margin-top: 10px;
 margin-bottom: 15px;
 padding-left: 0px;
 padding-right: 0px;
 padding-top: 10px;
 padding-bottom: 0spx;
 /* sp用 ※4 */
}

.postlist02 a {
 text-decoration: none;
}

/* .postlist02-title {
   display: block;
   } */
.postlist02-thumbnail {
 font-size: 18px;
 float: left;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 padding-right: 10px;
 border-radius: 0%;
 overflow: hidden;
}

.postlist02-thumbnail img {
 width: 80px;
 height: 60px;
 object-fit: cover;
 margin-right: .4rem;
 border: solid 1px #a6a;
 border-radius: 0px;
 display: block;
 padding: 0;
 -webkit-transition: 0.3s ease-in-out;
 -moz-transition: 0.3s ease-in-out;
 -o-transition: 0.3s ease-in-out;
 transition: 0.3s ease-in-out;
}

.postlist02-thumbnail img {
 margin-bottom: initial;
 margin: 0px;
 padding: 0px;
 border: 0px;
 filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
 /*画像をモノクロに*/
 filter: grayscale(95%);
 /*画像をモノクロに*/
 -webkit-filter: grayscale(95%);
 /*画像をモノクロに*/
}

.postlist02-thumbnail img:hover {
 filter: none;
 /*画像をカラーに*/
 transition: 1.5s;
 -webkit-filter: grayscale(0%);
 /*画像をカラーに*/
}

.postlist02-content {
 line-height: 120%;
}

.postlist02-title {
 font-size: 100%;
 line-height: 1.5em;
}

.postlist02-excerpt {
 color: #333;
 line-height: 1.5em;
}

.postlist02 .clear {
 clear: both;
}

.postlist02-site {
 color: #b2b2b2;
 font-size: 11px;
 padding-left: 5px;
}

.postlist02-view {
 color: #FCFCFC;
 background-color: black;
 font-size: 80%;
 width: 50px;
 text-align: center;
}

#FCFCFC .sga-ranking {
 padding: 0;
 margin-top: 20px;
}

.sga-ranking ol {
 counter-reset: num;
 list-style-type: none !important;
 padding: 0;
 margin: 0;
}

.sga-ranking ol li {
 position: relative;
 padding-left: 30px;
 line-height: 1em;
 padding: 0.5em 0.5em 0.5em 25px;
}

.sga-ranking ol li:before {
 content: "";
 position: absolute;
 counter-increment: num;
 content: counter(num);
 display: inline-block;
 background: #2b2b2b;
 color: #FCFCFC;
 font-family: 'Montserrat', sans-serif;
 font-weight: 700;
 font-weight: bold;
 font-size: 100%;
 border-radius: 50%;
 left: 0;
 width: 20px;
 height: 20px;
 line-height: 20px;
 text-align: center;
 top: 2px;
}

.sga-rankingdate {
 padding-left: 25px;
 font-family: 'Montserrat', sans-serif;
 font-size: 18px;
 font-weight: 600;
 letter-spacing: 0px;
 margin-bottom: 4px;
}

/* PLUGIN WP-Page Navi　角丸
*=============================== */
.navigation {
 clear: both;
 font-size: 80%;
 line-height: 20px;
 padding: 15px 0;
}

.wp-pagenavi {
 clear: both;
 font-size: 80%;
 font-family: 'Montserrat', sans-serif;
}

.wp-pagenavi a, .wp-pagenavi span {
 /*全体の指定*/
 color: #2b2b2b;
 background-color: var(--page-color, #FFFFFF);
 border: solid 1px #59443C;
 /*ボーダ色*/
 padding: 5px 5px;
 margin: 0 2px;
 white-space: nowrap;
 -moz-border-radius: 3px;
 -webkit-border-radius: 3px;
 border-radius: 3px;
 -webkit-transition: 0.2s ease-in-out;
 -moz-transition: 0.2s ease-in-out;
 -o-transition: 0.2s ease-in-out;
 transition: 0.2s ease-in-out;
 text-align: center;
 text-decoration: none;
}

.wp-pagenavi a:hover {
 /*マウスオン時の指定*/
 color: #F2F2F2;
 background-color: #59443C;
 /*背景色*/
 border: solid 1px #59443C;
 /*ボーダ色*/
}

.wp-pagenavi span.current {
 /*現在ページの指定*/
 color: #F2F2F2;
 background-color: #59443C;
 /*背景色*/
 border: solid 1px #59443C;
 /*ボーダ色*/
 font-weight: 700;
}

/*	Sidemenu
================================*/
.sidemenu {
 padding-bottom: 5px;
 padding-top: 15px;
}

.sidemenu p {
 padding-bottom: 0px;
 padding-top: 0px;
}

.sidemenu a {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
}

.post_date {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
 letter-spacing: 0em;
}

.recentcategories {
 padding-bottom: 10px;
}

.recentcategories ul {
 list-style: none;
}

.recentcategories li {
 padding-left: 15px;
 line-height: 1.6em;
 background: url(../img/link-solid.svg) left 0px top 3px no-repeat;
 background-size: 12px auto;
}

.recentcategories img {
 fill: #0060e6;
}

/*	Privacy
================================*/
.privacy p {
 padding-bottom: 15px;
 padding-top: 15px;
}

.privacy a {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
}

/*	Pages
================================*/
.pages p {
 padding-bottom: 15px;
 padding-top: 15px;
}

.pages a {
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
}

/*	Footer
================================*/
.footer {
 padding-bottom: 50px;
 padding-top: 50px;
}

.footer-inner {
 margin: auto;
 padding-bottom: 60px;
 padding-top: 0px;
}

/*  Copyright */
.copyright {
 float: left;
 font-family: 'Montserrat', sans-serif;
 font-size: 100%;
 font-weight: 500;
 letter-spacing: 0px;
 line-height: 1.2em;
 padding-top: 0px;
 text-transform: uppercase;
}
/* フッターのコピーライト（.copyright2 の注記より左に、同じ行で並べる） */
.footer-copyright-main {
 display: block;          /* 1行目：コピーライトと社名。注記は次の行に回す */
 /* ↓ 注記(.copyright2)と同じフォント・大きさ */
 font-family: 'Montserrat', sans-serif;
 font-size: 80%;
 font-weight: 500;
 letter-spacing: 0px;
 line-height: 1.2em;
 text-transform: uppercase;
}

/* フッターでは、注記を2行目に置く */
.footer-copyright .copyright2 {
 display: block;
 float: none;
}

.copyright2 {
 float: left;
 font-family: 'Montserrat', sans-serif;
 font-size: 80%;
 font-weight: 500;
 letter-spacing: 0px;
 line-height: 1.2em;
 padding-top: 0px;
 text-transform: uppercase;
}

/* .copyright a:hover {
 color: #bdc3c7;
} */

/*  Search
 ================================*/
/* 検索フォーム：コピーライト行の先頭に置く。
   ・閉じているとき：場所をとるのは虫眼鏡ぶん（--sf-icon）だけ
   ・開いたとき    ：入力欄が右へ伸びて、コピーライトの文字を全部隠すように重なる（最前面。文字は動かない）
                     広がる幅は、.copyright-main（虫眼鏡＋コピーライトの文字）の幅いっぱい。虫眼鏡は右端へ動く
   ・footer.php の .copyright-line > .copyright-main の中の form.search_container */
.copyright-main {
 position: relative; /* 入力欄の広がる幅の基準（この幅いっぱいに広がる） */
 display: inline-block;
 vertical-align: middle;
}

.search_container {
 --sf-width: 160px; /* ★ JavaScript が動かない環境でだけ使う、入力欄の幅（動くときは文字いっぱいに広がる） */
 --sf-speed: .35s; /* ★ スライドの速さ（約0.35秒） */
 --sf-icon: 18px; /* ★ 虫眼鏡の幅。閉じているときに、この幅ぶんだけ場所をとる（小さいほど右の文字が近づく） */
 --sf-lift: 2px; /* ★ 虫眼鏡を上げる量（大きいほど上へ。文字の下端との高さ合わせ） */
 --sf-bg: var(--page-color, #FFFFFF); /* ★ 重ねたとき下の文字を隠す背景色（ページ面の色に連動） */
 display: inline-block;
 vertical-align: middle;
 box-sizing: border-box;
 height: 1.6em;
}

.search_container .sf-inner {
 display: flex;
 align-items: center;
 height: 100%;
}

.search_container input[type="text"] {
 flex: 1 1 auto;
 min-width: 0;
 border: none;
 width: var(--sf-width);
 height: 1.4em;
 border-bottom: 1px solid #A6A6A6;
 padding: 0px 0px;
 background: #F0F0EE;
 overflow: hidden;
}

.search_container input[type="text"]:focus {
 outline: 0;
 background: #F0F0EE;
}

.search_container input[type="submit"] {
 flex: 0 0 var(--sf-icon);
 cursor: pointer;
 font-family: FontAwesome;
 width: var(--sf-icon);
 border: none;
 background: none;
 color: #59443C;
 outline: none;
 display: inline-block;
 vertical-align: middle;
 padding: 0;
 position: relative;
 top: calc(var(--sf-lift) * -1); /* 虫眼鏡だけ少し上へ */
}

/* JavaScript が動くとき（footer.php のスクリプトが .is-js を付ける）
   ・form は虫眼鏡ぶんの場所取り。中身（.sf-inner）を浮かせて、.copyright-main の幅いっぱいまで広げる
   ・JavaScript が動かない環境では .is-js が付かないので、上の普通の並び（入力欄は開いたまま・検索できる）になる */
.search_container.is-js {
 width: var(--sf-icon);
}

.search_container.is-js .sf-inner {
 position: absolute;
 left: 0;
 top: 0;
 z-index: 10; /* 最前面：右のコピーライトの文字の上に重ねる */
 width: 100%; /* 開いたとき：.copyright-main の幅いっぱい */
 background: var(--sf-bg); /* 下の文字を隠す */
 transition: width var(--sf-speed) ease;
}

.search_container.is-js input[type="text"] {
 width: auto;
 transition: opacity var(--sf-speed) ease, border-color var(--sf-speed) ease;
}

/* 閉じている状態（.is-closed）：中身が虫眼鏡ぶんの幅まで縮み、虫眼鏡だけが残る */
.search_container.is-js.is-closed .sf-inner {
 width: var(--sf-icon);
}

.search_container.is-js.is-closed input[type="text"] {
 opacity: 0;
 border-bottom-color: transparent;
 pointer-events: none;
}

/* 「動きを減らす」設定のときは、アニメなしで開閉する */
@media (prefers-reduced-motion: reduce) {
 .search_container.is-js .sf-inner,
 .search_container.is-js input[type="text"] {
  transition: none;
 }
}

.searchform2 {
 visibility: hidden;
}

/*	ContactForm7-2
================================*/
.wpcf7 {
 width: 450px;
}

/* .form-width { max-width: 100%;} */
.wpcf7 form input[type="text"],
.wpcf7 form textarea {
 width: 450px;
 /* background-color: #ffcfba; */
 border: none;
 border-bottom: 0px solid #A6A6A6;
 padding: 0px 0px;
}

.wpcf7 form p {
 text-transform: uppercase;
 border-bottom: 1px solid #A6A6A6;
 padding-bottom: 0;
}

.wpcf7 {
 font-size: 100%;
 font-weight: 600;
 font-family: 'Montserrat', sans-serif;
}

.wpcf7 form textarea {
 height: 100px;
 line-height: 180%;
}

.wpcf7 form input[type="submit"] {
 background: var(--page-color, #FFFFFF);
 border: none;
 color: #261711;
 cursor: pointer;
 font-size: 14px;
 font-weight: 700;
 height: 40px;
 letter-spacing: -1px;
 margin-top: 20px;
 -moz-transition: background-color 0.2s linear;
 -o-transition: background-color 0.2s linear;
 -webkit-transition: background-color 0.2s linear;
}

.wpcf7 form input[type="submit"]:hover {
 color: #bdc3c7;
}

.wpcf7 form input[type="email"] {
 border: none;
 font-size: 100%;
 padding: 0px 0px;
 vertical-align: text-bottom;
 width: 450px;
}

.wpcf7 .noline {
 border-bottom: 0px solid #A6A6A6;
}

.wpcf7-response-output {
 width: 400px;
 font-weight: normal;
 background: #fff;
 border-radius: 15px;
 border: 0px;
 line-height: 25px;
 text-align: center;
}

span.wpcf7-not-valid-tip {
 color: #f00;
 font-size: 1em;
 font-weight: normal;
 display: block;
 position: absolute;
 top: 0;
 width: 450px;
 text-align: right;
}

.div .wpcf7-mail-sent-ok {
 border: 0px solid #398f14;
}

@media (max-width: 767px) {
 span.wpcf7-not-valid-tip {
  width: 100%;
 }

 .wpcf7-response-output {
  width: 85%;
 }

 .form-width {
  max-width: 100%;
 }

 .wpcf7 {
  width: 100%;
 }
}


/*=============================
	　Form装飾用とステップフローセット
 ==============================*/
 :root {
  /*=============================
  カスタムプロパティ
   ==============================*/
  --base-color: #FFFFFF;
  /* フォームブロックの背景色 */
  --main-color: #373d45;
  /* メインカラー */
  --accent-color: #373d45;
  /* アクセントカラー */
  --input-color: #F2F2ED;
  /* 入力欄の背景色 */
  --input-border-color: #D3D6DB;
  /* 入力欄の枠線の色 */
  --input-radius: 6px;
  /* 入力欄の角の丸さ */
  --transition: 0.1s;
  /* アニメーション時間 */
 
  /*------ 合計100%になるよう調整 -------*/
  --label-width: 25%;
  /* ラベル部分の幅 */
  --data-width: 75%;
  /* データ部分の幅 */
 }
 
 .formdeco001-container {
  /* font-size:16px; */
  padding: 1em;
  box-sizing: border-box;
  max-width: 960px;
  color: #505050;
  background-color: #ffffff;
  border: 1px solid #E1E5EB;
  border-radius: var(--input-radius);
 }
 
 .formdeco001-container .formdeco001-item:not(:last-child) {
  margin-bottom: 0.5em;
  padding: 0.5em 1em;
 }
 
 .formdeco001-field,
 .formdeco001-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
 }
 
 .formdeco001-field>.formdeco001-label,
 .formdeco001-group>.formdeco001-label {
  /* font-size:1.15em; */
  /* font-weight:bold; */
  padding: .25em 0;
  word-break: break-all;
  box-sizing: border-box;
  /* color:#333333; */
 }
 
 .formdeco001-group-item>.formdeco001-label {
  word-break: break-all;
  display: inline-block;
  margin-bottom: .2em;
 }
 
 .formdeco001-field>.formdeco001-data,
 .formdeco001-group>.formdeco001-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  word-break: break-all;
  padding: 0.25em 0;
  box-sizing: border-box;
 }
 
 .formdeco001-group-item>.formdeco001-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
 }
 
 .formdeco001-required {
  display: inline-block;
  margin: 0 .5em;
  padding: 3px 6px;
  background: #373d45;
  color: #ffffff;
  line-height: 1;
  border-radius: .25em;
  font-size: 0.7em;
  /* font-weight: bold; */
  vertical-align: middle;
 }
 
 .formdeco001-group-item:not(:last-child) {
  margin-bottom: .5em;
 }
 
 .formdeco001-noted {
  font-size: .9em;
  /* color: #808080; */
  word-break: break-all;
  margin-top: .5em;
  padding-left: min(calc(var(--input-radius) / 2 - 4px), 8px);
  background-color: #eef4ae;
  padding: 0.8em 0.8em;
  width: 100%;
  border-radius: 8px;
 }
 
 .formdeco001-error {
  font-size: .8em;
  color: #373d45;
  padding-left: min(calc(var(--input-radius) / 2 - 4px), 8px);
 }
 
 .formdeco001-control {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-progress-appearance: none;
  appearance: none;
  /* font-family:inherit; */
  /* font-size:1em; */
  line-height: 1.5;
  padding: .3em .7em;
  padding-left: clamp(12px, calc(var(--input-radius) - 2px), 24px);
  background: var(--input-color);
  color: #333333;
  box-sizing: border-box;
  width: 100%;
  height: 30px;
  margin-bottom: 1.0em;
  border: none;
  outline: none;
  border-radius: var(--input-radius);
  box-shadow: 0 0 0 1px #D3D6DB;
 }
 
 .formdeco001-control02 {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-progress-appearance: none;
  appearance: none;
  /* font-family:inherit; */
  /* font-size:1em; */
  line-height: 1.5;
  padding: .3em .7em;
  padding-left: clamp(12px, calc(var(--input-radius) - 2px), 24px);
  background: var(--input-color);
  color: #333333;
  box-sizing: border-box;
  /* width:100%; */
  height: 30px;
  margin-bottom: 1.0em;
  border: none;
  outline: none;
  border-radius: var(--input-radius);
  box-shadow: 0 0 0 0.5px #D3D6DB;
 }
 
 .formdeco001-control:focus {
  box-shadow: 0 0 0 2px #373d45;
 }
 
 .formdeco001-control[type="number"] {
  height: 36px;
 }
 
 .formdeco001-control02:focus {
  box-shadow: 0 0 0 2px #373d45;
 }
 
 .formdeco001-control02[type="number"] {
  height: 36px;
 }
 
 .formdeco001-control:placeholder-shown {
  color: #aaa;
 }
 
 .formdeco001-control::placeholder {
  color: #aaa;
 }
 
 .formdeco001-control::-ms-input-placeholder {
  color: #aaa;
 }
 
 .formdeco001-control:-ms-input-placeholder {
  color: #aaa;
 }
 
 .formdeco001-control:-moz-placeholder {
  color: #aaa;
 }
 
 .formdeco001-control02:placeholder-shown {
  color: #aaa;
 }
 
 .formdeco001-control02::placeholder {
  color: #aaa;
 }
 
 .formdeco001-control02::-ms-input-placeholder {
  color: #aaa;
 }
 
 .formdeco001-control02:-ms-input-placeholder {
  color: #aaa;
 }
 
 .formdeco001-control02:-moz-placeholder {
  color: #aaa;
 }
 
 
 textarea.formdeco001-control {
  resize: vertical;
  padding-top: clamp(6px, calc(var(--input-radius) / 2), 18px);
  height: calc(3.5em * 5);
 }
 
 select.formdeco001-control,
 option.formdeco001-control {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-progress-appearance: none;
  appearance: none;
  padding-right: 1.5em;
 }
 
 select.formdeco001-control02,
 option.formdeco001-control02 {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-progress-appearance: none;
  appearance: none;
  padding-right: 1.5em;
 }
 
 .formdeco001-control>option {
  background: #FFFFFF;
 }
 
 select.formdeco001-control::-ms-expand {
  display: none;
 }
 
 .formdeco001-phone .formdeco001-control {
  max-width: 20em;
 }
 
 .formdeco001-phone>*:not(:only-child) {
  margin-right: .5rem;
 }
 
 .formdeco001-dropdown {
  position: relative;
 }
 
 .formdeco001-dropdown-icon {
  display: block;
  position: absolute;
  top: 1.3em;
  right: 1em;
  line-height: 0;
  pointer-events: none;
 }
 
 .formdeco001-dropdown-icon:after {
  content: "";
  display: block;
  border-top: 0.333em solid #888;
  border-right: .333em solid transparent;
  border-left: .333em solid transparent;
 }
 
 .formdeco001-selection {
  display: block;
  cursor: pointer;
  margin-bottom: .3em;
  padding: .25em .75em .35em;
  background: var(--input-color);
  border-radius: var(--input-radius);
  box-shadow: 0 0 0 0.5px #D3D6DB;
 }
 
 .formdeco001-selection-label {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  padding: 4px 0;
 }
 
 .formdeco001-datetimes,
 .formdeco001-date,
 .formdeco001-time,
 .formdeco001-timezone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
 }
 
 .formdeco001-datetime,
 .formdeco001-date,
 .formdeco001-time,
 .formdeco001-timezone {
  margin-right: .5rem;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
 }
 
 .formdeco001-datetime {
  max-width: 20em;
 }
 
 .formdeco001-phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
 }
 
 .formdeco001-date-separator {
  width: 1em;
  margin-bottom: .3em;
  text-align: center;
  -ms-flex-negative: 1;
  flex-shrink: 0;
 }
 
 .formdeco001-number {
  max-width: 20em;
 }
 
 .formdeco001-email-reenter,
 .formdeco001-password-reenter {
  font-size: .9em;
  margin-bottom: .2em;
  padding-left: min(calc(var(--input-radius) / 2 - 4px), 8px);
 }
 
 .formdeco001-html p {
  margin: 0;
 }
 
 .formdeco001-interaction {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 1em;
 }
 
 .formdeco001-prev-button {
  color: #333333;
  background-color: #ffffff;
  border: 2.0px solid #666666;
 }
 
 .formdeco001-next-button,
 .formdeco001-login-button {
  color: #ffffff;
  background-color: #373d45;
  border: none;
 }
 
 .formdeco001-field .formdeco001-embedded {
  padding-left: .25em;
 }
 
 .formdeco001-selection>input[type="radio"],
 .formdeco001-selection>input[type="checkbox"] {
  display: none;
  vertical-align: middle;
  margin-left: 0;
 }
 
 .formdeco001-selection>input[type="radio"]+.formdeco001-selection-label::before,
 .formdeco001-selection>input[type="checkbox"]+.formdeco001-selection-label::before {
  display: inline-block;
  content: "";
  position: relative;
  box-sizing: border-box;
  top: 4px;
  margin-right: 6px;
  width: 20px;
  height: 20px;
  background: #ffffff;
  border: 10px solid #ffffff;
  box-shadow: 0 0 0 0.5px #D3D6DB;
  transition: 0.1s;
 }
 
 .formdeco001-selection>input[type="radio"]+.formdeco001-selection-label::before {
  border-radius: 50%;
 }
 
 .formdeco001-selection>input[type="checkbox"]+.formdeco001-selection-label::before {
  border-radius: min(var(--input-radius), 4px);
 }
 
 .formdeco001-selection>input[type="radio"]:checked+.formdeco001-selection-label::before {
  background: #373d45;
  border: 4px solid #ffffff;
 }
 
 .formdeco001-selection>input[type="checkbox"]+.formdeco001-selection-label::after {
  border-right: 3px solid #373d45;
  border-bottom: 3px solid #373d45;
  content: '';
  display: inline-block;
  width: 6px;
  height: 10px;
  left: 9px;
  margin-top: -7px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  opacity: 0;
  transition: 0.1s;
 }
 
 .formdeco001-selection>input[type="checkbox"]:checked+.formdeco001-selection-label::after {
  left: 6px;
  opacity: 1;
 }
 
 .formdeco001-date>input,
 .formdeco001-time>input {
  max-width: 7em;
 }
 
 .formdeco001-date>input[type="date"] {
  min-width: 140px;
  max-width: none;
 }
 
 .formdeco001-time>input[type="time"] {
  min-width: 92px;
  max-width: none;
 }
 
 .formdeco001-interaction>button {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  cursor: pointer;
  font-size: 1em;
  /* font-weight:bold; */
  line-height: 1.5;
  margin: .5rem;
  padding: .75rem 0;
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-radius: var(--input-radius);
 }
 
 @media (min-width:768px) {
  .formdeco001-container {
   font-size: initial;
   padding: 3em;
   margin: 2em auto;
  }
 
  .formdeco001-container .formdeco001-item:not(:last-child) {
   margin-bottom: 0.5em;
   padding-bottom: 0.5em;
  }
 
  .formdeco001-field,
  .formdeco001-group {
   -webkit-box-orient: horizontal;
   -webkit-box-direction: normal;
   -ms-flex-flow: row nowrap;
   flex-flow: row nowrap;
  }
 
  .formdeco001-field>.formdeco001-label,
  .formdeco001-group>.formdeco001-label {
   font-size: 1em;
   width: var(--label-width);
   padding: .5em;
  }
 
  .formdeco001-group .formdeco001-group-item>.formdeco001-label {
   /* font-size:.9em; */
   padding-right: .5em;
  }
 
  .formdeco001-field>.formdeco001-data,
  .formdeco001-group>.formdeco001-data {
   /* font-size:1em; */
   width: var(--data-width);
   padding: .5em;
  }
 
  .formdeco001-group>.formdeco001-data {
   -webkit-box-orient: horizontal;
   -webkit-box-direction: normal;
   -ms-flex-flow: row wrap;
   flex-flow: row wrap;
  }
 
  .formdeco001-group.formdeco001-group-vertical>.formdeco001-data {
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
  }
 
  .formdeco001-required {
   font-size: 0.8em;
  }
 
  .formdeco001-group-item {
   padding: .25em;
  }
 
  .formdeco001-group-item:not(:last-child) {
   margin-bottom: 0;
  }
 
  .formdeco001-control {
   font-size: .9em;
  }
 
  .formdeco001-selection {
   /* font-size:.9em; */
   margin: 0 .5em 0 0;
   padding-right: 1em;
   background: none;
   box-shadow: none;
  }
 
  .formdeco001-selection-vertical>.formdeco001-selection {
   margin: 0 auto 0 0;
   padding-right: 4em;
  }
 
  .formdeco001-selection-vertical {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
  }
 
  .formdeco001-selection-horizontal {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-orient: horizontal;
   -webkit-box-direction: normal;
   -ms-flex-flow: row wrap;
   flex-flow: row wrap;
  }
 
  .formdeco001-interaction {
   justify-content: center;
   margin-top: 2em;
  }
 
  .formdeco001-embedded {
   font-size: .9em;
  }
 
  .formdeco001-group-item .formdeco001-embedded {
   padding-right: 5em;
  }
 
  .formdeco001-selection>input[type="radio"]+.formdeco001-selection-label::before,
  .formdeco001-selection>input[type="checkbox"]+.formdeco001-selection-label::before {
   background: var(--input-color);
   border: 10px solid var(--input-color);
  }
 
  .formdeco001-selection>input[type="radio"]:hover+.formdeco001-selection-label::before,
  .formdeco001-selection>input[type="checkbox"]:hover+.formdeco001-selection-label::before {
   border: 10px solid #dddddd;
  }
 
  .formdeco001-selection>input[type="radio"]:checked+.formdeco001-selection-label::before {
   border: 4px solid var(--input-color);
  }
 
  .formdeco001-date>input[type="date"] {
   min-width: unset;
  }
 
  .formdeco001-time>input[type="time"] {
   min-width: unset;
  }
 
  .formdeco001-interaction>button {
   -webkit-box-flex: 0;
   -ms-flex-positive: 0;
   flex-grow: 0;
   padding: .75rem 5em;
  }
 }
 
 .formdeco001-recaptcha {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
 }
 
 .formdeco001-recaptcha-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
 }
 
 .formdeco001-recaptcha-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }
 
 .formdeco001-file-button {
  padding: .8em 2em;
  /* font-weight: bold; */
  cursor: pointer;
  color: #666666;
  background-color: #f6f6f6;
  border: none;
  border: solid 2px #a0a0a0;
  border-radius: var(--input-radius);
  transition: 0.1s;
  align-items: center;
  justify-content: center;
 }
 
 .formdeco001-file-button::before {
  display: inline-block;
  content: url('data:image/svg+xml;utf-8,<svg fill="%23666" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M14.4,7.9l-5.7,5.7c-0.4,0.4-0.8,0.6-1.2,0.8c-0.7,0.3-1.4,0.3-2.1,0.2c-0.7-0.1-1.4-0.5-1.9-1c-0.4-0.4-0.6-0.8-0.8-1.2c-0.3-0.7-0.3-1.4-0.2-2.1c0.1-0.7,0.5-1.4,1-1.9L9.7,2c0.2-0.2,0.5-0.4,0.8-0.5c0.4-0.2,0.9-0.2,1.3-0.1C12.2,1.4,12.6,1.6,13,2c0.2,0.2,0.4,0.5,0.5,0.8c0.2,0.4,0.2,0.9,0.1,1.3c-0.1,0.4-0.3,0.8-0.6,1.2l-6.2,6.2c-0.1,0.1-0.2,0.1-0.3,0.2c-0.1,0.1-0.3,0.1-0.5,0c-0.2,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.3,0-0.5c0-0.2,0.1-0.3,0.2-0.4l5.5-5.5l-0.9-0.9L4.7,9.3C4.5,9.5,4.4,9.7,4.3,10c-0.2,0.4-0.2,0.8-0.1,1.2c0.1,0.4,0.3,0.8,0.6,1.1c0.2,0.2,0.4,0.4,0.7,0.5c0.4,0.2,0.8,0.2,1.2,0.1c0.4-0.1,0.8-0.3,1.1-0.6l6.2-6.2c0.3-0.3,0.6-0.8,0.8-1.2c0.3-0.6,0.3-1.4,0.2-2c-0.1-0.7-0.5-1.3-1-1.8c-0.3-0.3-0.8-0.6-1.2-0.8c-0.6-0.3-1.4-0.3-2-0.2C10,0.2,9.3,0.5,8.8,1L2.5,7.4C2,7.9,1.6,8.5,1.4,9.1C1,10,0.9,11,1.1,11.9c0.2,1,0.6,1.9,1.4,2.6C3,15,3.5,15.4,4.1,15.6C5.1,16,6,16.1,7,15.9c1-0.2,1.9-0.6,2.6-1.4l5.7-5.7L14.4,7.9z"/></svg>');
  margin-left: -0.5em;
  width: 16px;
  height: 100%;
  vertical-align: middle;
 }
 
 .formdeco001-file-button:focus {
  outline: 0;
 }
 
 .sp-from-file-default-drag-drop-area {
  color: #333333;
  background-color: var(--input-color);
  border: 2.0px dashed #6c757d;
  border-radius: 0;
  width: 100%;
  height: 200px;
  text-align: center;
  border-radius: var(--input-radius);
 }
 
 .sp-from-file-ondraghover-drag-drop-area {
  color: #333333;
  background-color: #dddddd;
  border: 2.0px dashed #6c757d;
  border-radius: 0;
  width: 100%;
  height: 200px;
  text-align: center;
  border-radius: var(--input-radius);
 }
 
 .sp-from-file-ondragleave-drag-drop-area {
  color: #333333;
  background-color: #dddddd;
  border: 2.0px dashed #6c757d;
  border-radius: 0;
  width: 100%;
  height: 200px;
  border-radius: var(--input-radius);
 }
 
 .sp-from-file-ondrop-drag-drop-area {
  color: #333333;
  background-color: var(--input-color);
  border: 2.0px dashed #6c757d;
  border-radius: 0;
  width: 100%;
  height: 200px;
  border-radius: var(--input-radius);
 }
 
 .formdeco001-embedded>.sp-file-info:last-child {
  padding-bottom: 0;
 }
 
 .sp-file-info {
  padding-top: 1em;
  padding-bottom: 1em;
  line-height: 1.5;
 }
 
 .sp-file-info>div {
  width: 100%;
 }
 
 .main-text {
  font-size: 1em;
  /* font-weight:bold; */
 }
 
 /* ステップバー */
 [class^="sp-step-flow-f"] {
  margin: 3em 0 2em;
 }
 
 [class^="sp-step-flow-f"]>.large-setting {
  display: flex;
  justify-content: center;
 }
 
 [class^="sp-step-flow-f"]>.small-setting {
  display: none;
 }
 
 [class^="sp-step-flow-f"]>.large-setting,
 [class^="sp-step-flow-f"]>.small-setting {
  text-align: center;
  margin: 0 auto;
  padding: 0 100px;
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step,
 [class^="sp-step-flow-f"]>.small-setting>.step {
  word-wrap: break-word;
  min-width: 0;
  text-align: center;
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step {
  flex: 1;
  margin-right: 36px;
  font-size: 16px;
 }
 
 [class^="sp-step-flow-f"]>.small-setting>.step {
  /* font-size:14px; */
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step:last-child,
 [class^="sp-step-flow-f"]>.small-setting>.step:last-child {
  margin-right: 0;
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step>span,
 [class^="sp-step-flow-f"]>.small-setting>.step>span {
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  display: block;
  padding-top: 16px;
  white-space: nowrap;
  color: #D3D6DB;
  /* font-weight:bold; */
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step>span::before,
 [class^="sp-step-flow-f"]>.small-setting>.step>span::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  width: 100%;
  background: #D3D6DB;
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step>span::before {
  height: 6px;
  border-radius: 6px;
 }
 
 [class^="sp-step-flow-f"]>.small-setting>.step>span::before {
  height: 4px;
  border-radius: 4px;
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step.active>span,
 [class^="sp-step-flow-f"]>.small-setting>.step.active>span {
  color: #373d45;
 }
 
 [class^="sp-step-flow-f"]>.large-setting>.step.active>span::before,
 [class^="sp-step-flow-f"]>.small-setting>.step.active>span::before {
  background: #373d45;
 }
 
 @media (max-width: 765px) {
  [class^="sp-step-flow-f"]>.large-setting {
   display: none;
  }
 
  [class^="sp-step-flow-f"]>.small-setting {
   display: flex;
   justify-content: center;
   counter-reset: step;
  }
 
  [class^="sp-step-flow-f"]>.small-setting>.step>span {
   display: none;
  }
 
  [class^="sp-step-flow-f"]>.small-setting>.step {
   display: flex;
   align-items: center;
   width: auto;
   margin: 0;
   background: none;
   color: #ffffff;
   /* font-weight: bold; */
  }
 
  [class^="sp-step-flow-f"]>.small-setting>.step::before {
   counter-increment: step 1;
   content: counter(step, decimal);
   width: 24px;
   height: 24px;
   background: #373d45;
   border-radius: 50%;
   /* font-size: 12px; */
   line-height: 24px;
  }
 
  [class^="sp-step-flow-f"]>.small-setting>.step:not(:last-child) {
   flex-grow: 1;
  }
 
  [class^="sp-step-flow-f"]>.small-setting>.step:not(:last-child)::after {
   content: "";
   width: calc(100% - 24px);
   height: 2px;
   background: #373d45;
   vertical-align: middle;
  }
 
  [class^="sp-step-flow-f"]>.small-setting>.step.active::after,
  [class^="sp-step-flow-f"]>.small-setting>.step.active~.step::before,
  [class^="sp-step-flow-f"]>.small-setting>.step.active~.step::after {
   background: #D3D6DB;
  }
 }


/*GoogleMap
================================*/
.ggmap {
 height: 0;
 overflow: hidden;
 /*はみ出た部分を隠せ*/
 padding-bottom: 50%;
 /*表示させる高さの比率を設定*/
 position: relative;
 /*相対位置指定*/
}

.ggmap iframe {
 position: absolute;
 /*絶対位置*/
 left: 0;
 top: 0;
 height: 100%;
 width: 90%;
}

/*===============================
	Less than 767
================================*/
@media (max-width: 767px) {

 /*　画面サイズが767px以下の場合ここの記述が適用　*/

 .container01 {
  padding-top: 37px;
  padding-bottom: 0px;
 }

 /*Bg-slider
================================*/
 .bg-slider {
  height: 300px;
 }

 .glitch6 {
  position: relative;
width: 100%;
overflow: hidden;
animation: glitch6_effect 7s infinite;
animation-timing-function:steps(5, end);
}
@keyframes glitch6_effect {
20.0% {transform: translate(-2px, 0px);}
80% {transform: translate(2px, 0px);filter:grayscale(80%);}
}

 /*	navigation
================================*/
 .page-nav {
  /* background-color: #DCE4F2; */
  height: 10px;
  width: 100%;
 }

 a#menu {
  display: inline-block;
  height: 30px;
  margin-top: 40px;
  margin-bottom: 20px;
  margin-right: 20px;
  margin-left: 20px;
  position: relative;
  width: 40px;
 }

 #menubtn {
  background: #59443C;
  display: block;
  height: 2px;
  left: 50%;
  margin: -1px 0 0 -7px;
  position: absolute;
  top: 20%;
  transition: .2s;
  width: 18px;
 }

 #menubtn:before, #menubtn:after {
  background: #59443C;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  transition: .3s;
  width: 18px;
 }

 #menubtn:before {
  margin-top: -7px;
 }

 #menubtn:after {
  margin-top: 5px;
 }

 a#menu .close {
  background: transparent;
 }

 a#menu .close:before, a#menu .close:after {
  margin-top: 0;
 }

 a#menu .close:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
 }

 a#menu .close:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
 }

 .panel {
  display: none;
  left: 0;
  overflow: hidden;
  position: relative;
  top: 0px;
  width: 100%;
  z-index: 100;
 }

 #mainnav {
  margin-top: 0px;
  position: absolute;
  right: 0;
  text-align: right;
  top: 0;
  width: 100%;
  z-index: 500;
 }

 /* ★ スマホ：#mainnav は全幅で最前面に被さるので、下の虫眼鏡のタップを奪ってしまう
    ・全体はタップを通し（pointer-events:none）、ボタンとメニューの中身だけタップを受ける */
 #mainnav {
  pointer-events: none;
 }

 #mainnav a#menu,
 #mainnav .panel {
  pointer-events: auto;
 }

 /* ★ スマホ：コピーライト行の「- テーマ名」は出さない。1行から折り返さない */
 .header-copyright .theme-ver {
  display: none;
 }

 .header-copyright .copyright-line {
  white-space: nowrap;
 }

 #mainnav ul {
  background: #f0f0eecb;
  border-bottom: 1px solid #ccc;
  text-align: left;
 }

 #mainnav li a {
  border-bottom: 1px solid #eee;
  display: block;
  font-weight: 600;
  padding: 15px 50px;
  position: relative;
 }

 #mainnav li a:before {
  border-right: solid 2px #59443C;
  border-top: solid 2px #59443C;
  content: "";
  display: block;
  height: 6px;
  left: 5px;
  margin: -4px 0 0 25px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 6px;
 }

}

/*===============================
	Over 768px
================================*/
@media (min-width: 768px) {

 /*　画面サイズが768px以上960px以下の場合ここの記述が適用　*/
 .container01:after {
  clear: both;
  content: "";
  display: block;
 }

 .container01-1 {
  box-sizing: border-box;
  float: left;
  padding-right: 20px;
  width: 75%;
 }

 .container01-2 {
  box-sizing: border-box;
  float: left;
  padding-left: 100px;
  width: 25%;
 }

 /* ★ JOURNAL一覧（bloglist.php の .journal-list）の幅。PC幅のみ。スマホ(767px以下)は今までどおり
    ・右メニュー(.container01-2)は別の枠なので動かない。右側の空いた分は余白になる */
 .journal-list {
  max-width: 500px;
 }

 .container02-1 {
  box-sizing: border-box;
  float: left;
  width: 35%;
 }

 .container02-2 {
  box-sizing: border-box;
  float: left;
  width: 35%;
 }

 .container02-3 {
  box-sizing: border-box;
  float: left;
  width: 30%;
 }

 .container03-1 {
  box-sizing: border-box;
  float: left;
  width: 50%;
 }

 .container03-2 {
  box-sizing: border-box;
  width: 50%;
  float: left;
 }

 .page-header-inner {
  width: 100%;
 }


 /*	navigation
================================*/
 .page-header-inner {
  width: 100%;
 }

 a#menu {
  display: none;
 }

 .panel {
  display: block !important;
 }

 .site-tagline {
  display: block;
  clear: both;               /* 左にフロートしているロゴの下へ回り込ませる */
  padding-top: 15px;         /* ★ ロゴとの間のあき（旧35px から20px 上げた） */
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;           /* ★ メニュー(#mainnav)と同じ大きさ */
  font-weight: 500;
  line-height: 1.4em;
  letter-spacing: 0.5px;     /* メニュー(#mainnav ul)と同じ文字間隔 */
  text-transform: uppercase; /* 大文字で表示 */
  color: #59443C;            /* ★ 文字色 */
 }

 #mainnav {
  /* ★ メニューは左のロゴの下に、横並びで置く（参照元と同じ配置）。旧: float:right; margin-top:-25px（右上） */
  float: none;
  clear: both;           /* 左にフロートしているロゴの下へ回り込ませる */
  padding-top: 19px;     /* ★ コピーライト行(.header-copyright)とメニューの間のあき（コピーライト行を詰めた分、メニューの位置は動かさない） */
  font-size: 100%;
  letter-spacing: 0;
  text-transform: uppercase;
 }

 #mainnav ul {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-align: left;
 }

 #mainnav li {
  display: inline;
  display: inline-block;
  display: -moz-inline-box;
  zoom: 1;
 }

 #mainnav a {
  display: inline-block;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 1.36em;   /* 項目どうしのあき（旧は左側 padding-left:1.36em だった） */
  padding-top: 0;
  position: relative;
  transition: .3s;
 }

 /* #mainnav a::after {
  background-color: #59443C;
  bottom: 0.2em;
  content: '';
  height: 1px;
  left: 1.3em;
  position: absolute;
  transition: .3s;
  width: 0;
 }

 #mainnav a:hover::after {
  width: 80%;
 } */

 /* #mainnav a:hover {
  color: #59443C;
 } */

 /* #mainnav a:hover {
  background-position: 0 100%;
  color: #fff;
 }

 #mainnav.changenav {
  background: rgba(255, 255, 255, 1);
  border-bottom: 1px solid #d1d1d1;
 } */

 #mainnav.changenav li {
  padding: 20px 10px;
 }

 .page-nav {
  border-bottom: solid 0px #292F33;
  border-top: 0px solid #476834;
  height: auto;   /* 旧: 40px。メニューがロゴの下に来たので、中身の高さに合わせる */
  width: 100%;
 }

 .page-nav .transform {
  background: rgba(255, 255, 255, .8);
 }


}

/*===============================
	Over 960px
================================*/
@media (min-width: 960px) {

 /*　画面サイズが960px以上の場合ここの記述が適用　*/

 /*  Container
================================*/
 .container00, .container01, .container02, .container03, .page-header, .footer {
  margin-left: auto;
  margin-right: auto;
  width: 960px;
 }
}