



* {
margin: 0;
padding: 0;
}
html{
margin:0px;
padding:0px;
}
body{
background:#fff;
text-align:center;
color:#000;
font-weight:300;
font-size: 14px;
line-height:1.5;
letter-spacing:1px;
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
img{
border-style:none;
display:block;
padding:0px 0px 0px 0px;
margin:0px 0px 0px 0px;
}

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

li{list-style:none;}


.bg_3f2d21{background-color:#3f2d21;}
.bg_f1f1ec{background-color:#f1f1ec;}


.contents_top{
line-height: 0;        /* 文字の行の高さを0にする */
font-size: 0;          /* 文字サイズも0にしておくとより確実 */
width:100%;
margin: -2.9% 0 0 0;
z-index: 1;
}
.contents_top img{display: block;width:100%}

.contents_bottom{
line-height: 0;        /* 文字の行の高さを0にする */
font-size: 0;          /* 文字サイズも0にしておくとより確実 */
width:100%;
margin: -1px 0 0 0;
z-index: 1;
}
.contents_bottom img{display: block;width:100%;}


.box_in{
width:90%;
padding: 10% 0 10% 0;
margin: 0px auto;
text-align: left;
}
.box_in_x{
width:100%;
padding: 10% 0 10% 0;
margin: 0px auto;
text-align: left;
position: relative;
}
.bg_cv{
background-image:url("../images/cv_bg.jpg");
background-repeat:no-repeat;
background-size:cover;
background-position:bottom center;
margin: -2.88% 0 0 0; /*ちらつき防止*/
padding:0 0 0 0;
z-index: -1;
}

.page_box{
width:100%;
padding:5% 0 2.5% 0;
}

/* ---Header----*/

#header {
width:100%;
margin:0 auto;
background-image:url("../images/mv_bg.jpg");
background-repeat:no-repeat;
background-size:cover;
background-position:center center;
}
#header_low {
width:100%;
margin:0 auto;
}

.header_top{
background-image:url("../images/header_top_bg.png");
background-repeat:no-repeat;
background-size:cover;
background-position:bottom center;
position: fixed;
box-sizing: border-box;
width:100%;
height:100px;
text-align:center;
z-index: 2;
}

@media screen and (min-width:600px) { 
.header_top{
background-image:url("../images/header_top_bg.png");
background-repeat:no-repeat;
background-size:cover;
background-position:bottom center;
position: fixed;
box-sizing: border-box;
width:100%;
height:150px;
text-align:center;
}
}

#header_low {
width:100%;
margin:0 auto;
}
.header_in_low{
width:100%;
margin: 0px auto;
padding:0px 0px 0px 0px;
}

/* サイトロゴ */
.h_logo{
height:80px;
margin:0px auto;
}
.h_logo img{
display: inline-block;
height:100%;
margin:10px auto;
}

@media screen and (min-width:600px) { 
/* サイトロゴ */
.h_logo{
height:100px;
margin:0px auto;
}
.h_logo img{
display: inline-block;
height:100%;
margin:25px auto;
}
}

.s-fade-wrap{
width:100%;

}
.mv_view{
padding: 38% 0;
width: 75%;
margin: 0 auto;
}
.mv_view img{

width:100%;
margin: 0 auto;
}

.mv_none{
padding:100px 0 0 0;
}

@media screen and (min-width:600px) { 
.mv_none{
padding:150px 0 0 0;
}
}


/* ここから下がハンバーガーメニューに関するCSS */


/* チェックボックスを非表示にする */
.drawer_hidden {
display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
display: flex;
height: 60px;
width: 60px;
justify-content: center;
align-items: center;
position:absolute;
top:5px;
right:0;
z-index: 100;/* 重なり順を一番上にする */
cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
content: '';
display: block;
height: 2px;
width: 25px;
border-radius: 3px;
background: #fff;
transition: 0.5s;
position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
bottom: 8px;
}
/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
top: 8px;
}
/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
background: rgba(255, 255, 255, 0);
}
/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
bottom: 0;
transform: rotate(45deg);
}
#drawer_input:checked ~ .drawer_open span::after {
top: 0;
transform: rotate(-45deg);
}

/* メニューのデザイン*/
.nav_content {
width: 100%;
height: 100vh;
overflow-y: auto;              /* メニュー内だけ縦スクロール */
-webkit-overflow-scrolling: touch; /* iPhoneで慣性スクロール */
overscroll-behavior: contain;  /* 背景へのスクロール伝播を抑える */
padding: 50px 0 70px 0;             /* ← nav_list の margin-top の代わりに */
box-sizing: border-box;
position: fixed;
top: 0px;
left: 0;                 /* ★ 最初から画面内に置いておく */
z-index: 99;
background: #f1f1ec;
opacity: 0;              /* ★ 透明にする */
pointer-events: none;    /* ★ 非表示時はクリック無効 */
transform: translateY(10px); /* ほんの少し下にずらしておく（お好み） */
transition: opacity 0.4s ease, transform 0.4s ease;
}

/* メニュー黒ポチを消す */
.nav_list {
margin: 0 auto;
padding: 0 7%;
display: flex; flex-direction: column-reverse;
}

.nav_list li{
font-size:14px;
line-height: 14px;
font-weight: 500;
text-align:left;
margin:0 0 0px 0;
padding:4% 0 4% 0;
letter-spacing:1px;
border-bottom: 1px dotted #ccc;
}

.nav_list li:first-child{
border: none;
}
.nav_list li a{
display: flex;
align-items: center;
color:#111;}
.nav_list li a img{
width: 18px;
display:inline-block;
margin: 0 10px 0 0;
line-height: 14px;
}



/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
opacity: 1;
pointer-events: auto;
transform: translateY(0); /* 上に戻す（フワッと出る感じ） */
}
/* メニュー開いているときは背景スクロール禁止 */
body.is-drawer-open {
overflow: hidden;
}
#drawer_input:checked ~ .drawer_open span::before,
#drawer_input:checked ~ .drawer_open span::after {
background: #3f2d21; /* 好きな色 */
}



.h_tel{
width:86%;
margin: 20px auto;
background-color: #3f2d21;
padding: 2.5%;
box-sizing: border-box;
align-items:center;
border-radius: 5px;
}
.h_tel p span{
text-align: center;
font-size:12px;
line-height:12px;
font-weight:500;
color:#fff;

}
.h_tel div{
line-height:36px;
display:flex;
align-items:center;
justify-content: center;
font-size:30px;
font-family: 'arial',sans-serif;
font-weight:600;
color:#fff;
margin: 0 auto;
}
.h_tel div img{
width: 30px;
margin: 0px 10px 0px 0px;
}

/* ---title---*/

.title_text_c01{
text-align:center;
padding:0px 0 0 0;
}
.title_text_c01 h2 {
position: relative;
display: inline-block;
padding:0px 0px;
text-align:center;
font-size:24px;
line-height:24px;
letter-spacing: 5px;
font-weight:600;
color:#fff;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
}

.title_text_c01 span{
width: 18%;
display: block;
margin: 3% auto 0px auto;
}
.title_text_c01 span img{
width: 100%;
}


.title_text_c02{
text-align:center;
padding:0px 0 0 0;
}
.title_text_c02 h2 {
position: relative;
display: inline-block;
padding:0px 0px;
text-align:center;
font-size:24px;
line-height:24px;
letter-spacing: 5px;
font-weight:600;
color:#000;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
}

.title_text_c02 span{
width: 18%;
display: block;
margin: 3% auto 0px auto;
}
.title_text_c02 span img{
width: 100%;
}


@media screen and (min-width:600px) {
.title_text_c01 span{
width: 12%;
display: block;
margin: 3% auto 0px auto;
}
.title_text_c01 span img{
width: 100%;
}
.title_text_c02 span{
width: 12%;
display: block;
margin: 3% auto 0px auto;
}
.title_text_c02 span img{
width: 100%;
}
}


.title_text_low01{
text-align:left;
padding:10px 0;
border-bottom: 3px dotted #000;
vertical-align:baseline;
margin: 5% 0 2.5% 0;
}
.title_text_low01 h3 {
text-align:left;
font-size:18px;
line-height:1.7;
letter-spacing: 5px;
font-weight:500;
color:#000;
}
.title_text_low01 img{
vertical-align: text-top;
display: inline-block;
height: 20px;
margin: 0 10px 0 0px;
}


.low_sub_title_text h2{
  position: relative;
  padding: 8px 16px;
  font-size: 18px!important;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 600;
  display: block;
  box-sizing: border-box;
  text-align:center; 
  margin: 40px 24px 24px 24px;
  margin-inline: auto;
  font-family:
"Hiragino Mincho ProN",
"Hiragino Mincho Pro",
"Yu Mincho",
"YuMincho",
"Noto Serif JP",
serif;
}

.low_sub_title_text h2::before, .low_sub_title_text h2::after {
  content:'';
  position: absolute;
  width: 30px;
  height: 30px;
}

.low_sub_title_text h2::before {
  border-left: solid 1px #333;
  border-top: solid 1px #333;
  top:0;
  left: 0;
}

.low_sub_title_text h2::after {
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  bottom:0;
  right: 0;
}

.low_sub_title_text h2 span:before, .low_sub_title_text h2 span:after {
  content:'';
  position: absolute;
  width: 46px;
  height: 46px;
  rotate: 45deg;
}

.low_sub_title_text h2 span:before {
  border-left: solid 1px #333;
  top:2px;
  left: 2px;
}

.low_sub_title_text h2 span:after {
  border-right: solid 1px #333;
  bottom:2px;
  right: 2px;
}


/* ---t_cv---*/

.btn_cv{
text-align:center;
width:100%;
margin:20px auto 20px auto;
}
.btn_cv button{
-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;
width:100%;
margin:0px auto 0px auto;
border: none;
background: none;
}
.btn_img{
width:100%;
margin:0px auto;
}
.btn_cv p{font-size:18px;color:#2b5a29;}
.btn_cv p span{color:#fff;}

.btn_cv button:hover{
opacity: 0.8;
}



/* ---t_message---*/

.t_message{
width:100%;
display:flex;
justify-content:space-between;
margin:0 auto 7% auto;
}

.t_message_in01{
display:flex;
flex-flow: row-reverse;
margin:0px 0 2.5% 0;
}
.t_message_in01 h3{
margin: 0 0 0 15px;
padding:0px;
font-size:20px;
line-height:1.5;
letter-spacing: 7px;
font-weight:600;
color:#fff;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
writing-mode: vertical-rl;
text-orientation: upright;
}
.t_message_in01{}
.t_message_in01 p{
font-weight:400;
font-size:12px;
line-height:2;
margin:0px 0 0 0;
letter-spacing: 3px;
writing-mode: vertical-rl;
text-orientation: upright;
color:#fff;
}
.t_message_in01 p span{font-size:16px;}

.t_message_in02{
width: 50%;
margin:0px 0 0px 0;
position: relative;
}

.t_message_view01 {
width:65%;
top:0;
right:0;
position: absolute;
}
.t_message_view01 img{
width:100%;
}

.t_message_view02 {
width:50%;
top:25%;
left:-10%;
position: absolute;
}
.t_message_view02 img{
width:100%;
}

.t_message_view03 {
width:40%;
top:40%;
right:8%;
position: absolute;
}
.t_message_view03 img{
width:100%;
}

@media screen and (min-width:600px) {
.t_message_view01 {
width:65%;
top:0;
right:0;
position: absolute;
}
.t_message_view01 img{
width:100%;
}

.t_message_view02 {
width:50%;
top:35%;
left:-10%;
position: absolute;
}
.t_message_view02 img{
width:100%;
}

.t_message_view03 {
width:40%;
top:65%;
right:8%;
position: absolute;
}
.t_message_view03 img{
width:100%;
}
}


/* ---t_service---*/
.t_service{
width:100%;
margin:7% auto 0 auto;
}

.t_service_in{
max-width:1100px;
display:flex;
justify-content:space-between;
flex-wrap: wrap;
margin:0px auto 0px auto;
}

/* ▼ 通常状態 */
.t_service_in div {
width: 48%;
border: 5px solid #fff;
border-radius: 25px;
padding: 20px;
box-sizing: border-box;
margin: 0 0 5% 0;
transition: background-color 0.3s ease; /* ← これが重要 */
}

/* ▼ ホバーしたときの背景 */
.t_service_in div:hover {
background-color:#322218; /* ← 少し明るくなる */
}

/* ▼ 通常の画像 */
.t_service_in div img {
width: 90%;
margin: 0 auto;
transition: transform 0.3s ease;
}

/* ▼ ホバー時に画像を拡大 */
.t_service_in div:hover img {
transform: scale(1.08);
}

/* 枠内に収めたい場合はこの1行も有効 */
.t_service_in div {
overflow: hidden;
}


.t_service_in div img{
width: 90%;
margin:0px auto 0px auto;
}
.t_service_in div p{
text-align: center;
font-size: 14px;
line-height: 1.7;
letter-spacing: 1px;
font-weight: 500;
color:#fff;
margin:0px auto 0px auto;
}



/* ---t_price---*/
.t_price{
width: 100%;
background-color: #3f2d21;
border-radius: 20px;
margin: 7% auto;
padding:10px;
box-sizing: border-box;
position: relative;
}

.t_price_icon{
width: 25%;
position: absolute;
top:-8%;
right: -4%;
}
.t_price_icon img{width:100%;}

.t_price_in{
width: 100%;
background-color: #3f2d21;
border: 2px solid #fff;
border-radius: 15px;
margin: 0px auto 0px auto;
padding:10% 0px 15% 0px;
box-sizing: border-box;
text-align: center;
}

.t_price_in_in01{
width:100%;
margin: 0;
}
.t_price_in_in02{
width:100%;
margin: 5% 0;
}

.t_price_in p{
color:#fff;
font-size: 16px;
line-height:1.5;
padding:0px 0 10px 0;
}
.t_price_in p span{font-size: 14px;}


.t_price_in h3{
letter-spacing: 3px;
font-size: 24px;
line-height: 24px;
font-weight: 400;
color:#fff;
padding:0px 0 0px 0;
margin: 0px auto 0 auto;

}
.t_price_in h3 span{
font-size: 32px;
font-weight: 400;
}


/* ---card---*/

/* 外枠：横スクロール防止 */
.swiper-area {
width: 100%;
overflow-x: hidden;
overflow-y: visible;
position: relative;
margin: 7% 0;
}

/* Swiper 本体（左右チラ見せ用） */
.mySwiper {
width:86%;
margin: 0 auto;
}

/* スライド自体に上下の余白を持たせる */
.swiper-slide {
padding: 5% 0;            /* ← これが「ズームの逃げ場」になる */
box-sizing: border-box;
overflow: visible;
}

.card {
width:100%;
background-color: #ffffff;
border-radius: 15px;
padding: 15px;
box-sizing: border-box;
overflow: hidden;
transition: background-color 0.3s ease !important;   /* ← 強制的に有効にする */
}

.card:hover {
background-color: #f3e9dd !important;   /* ← テスト用に極端な色で */
}

/* 中身レイアウトは今までのまま */
.card-inner {

text-decoration: none;
color: inherit;
}

/* 正方形の箱 */
.card-thumb{
width: 100%;
aspect-ratio: 1 / 1;
border-radius: 10px;
overflow: hidden;
flex-shrink: 0;
}

/* 中のimgを箱いっぱいにしてトリミング */
.card-thumb img{
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

/* テキストブロック */
.card-body {
flex: 1;
min-width: 0;
}

.card-cat {
background-color: #593c28;
font-size: 12px;
line-height: 12px;
color: #fff;
font-weight: 400;
display:inline-block;
padding: 7px 10px;
margin: 10px 0 5px 0;
border-radius:5px;
}

.card-title {
font-size: 16px;
font-weight: 600;
margin-bottom: 8px;
line-height: 1.5;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* ← ★ ここで行数制限 */
}

.card-text {
font-size: 12px;
color: #555;
line-height: 1.6;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; /* ← ★ 行数指定 */
}


/* セクション内で中央寄せ */
.news-more {
text-align: center;
margin-top:7%;
}

/* ボタン本体 */
.btn-more {
position: relative;
display: inline-block;
padding: 14px 60px;               /* 横幅はお好みで調整 */
border-radius: 999px;
border: 3px solid #5b3a28;        /* 太めの茶色枠 */
background-color: transparent;
color: #5b3a28;
font-size: 18px;
letter-spacing: 1px;
text-decoration: none;

transition:
background-color 0.3s ease,
color 0.3s ease,
border-color 0.3s ease,
transform 0.3s ease;
}

/* 右側に突き出す細い線（ボタン枠とつながる） */
.btn-more::after {
content: "";
position: absolute;
top: 50%;
left: calc(100% - 25px);           /* 枠線(3px)と少し重ねる */
transform: translateY(-50%);
width: 50px;                      /* 線の長さ */
height: 1px;
background-color: #5b3a28;
pointer-events: none;

transition:
width 0.3s ease,
background-color 0.3s ease;
}

/* ▼ ホバーアニメーション */
.btn-more:hover {
background-color: #5b3a28;        /* 中を塗る */
color: #ffffff;                   /* 文字を白に */
border-color: #5b3a28;
transform: translateY(-1px);      /* ほんの少しだけ浮かせる（お好みで） */
}

.btn-more:hover::after {
width: 80px;                      /* 線が少し伸びる演出 */
background-color: #fff;
}

/* セクション内で中央寄せ */
.faq-more {
text-align: center;
margin-top:7%;
}

/* ボタン本体 */
.btn-more-w {
position: relative;
display: inline-block;
padding: 14px 60px;               /* 横幅はお好みで調整 */
border-radius: 999px;
border: 3px solid #fff;        /* 太めの茶色枠 */
background-color: transparent;
color: #fff;
font-size: 18px;
letter-spacing: 1px;
text-decoration: none;

transition:
background-color 0.3s ease,
color 0.3s ease,
border-color 0.3s ease,
transform 0.3s ease;
}

/* 右側に突き出す細い線（ボタン枠とつながる） */
.btn-more-w::after {
content: "";
position: absolute;
top: 50%;
left: calc(100% - 25px);           /* 枠線(3px)と少し重ねる */
transform: translateY(-50%);
width: 50px;                      /* 線の長さ */
height: 1px;
background-color: #fff;
pointer-events: none;

transition:
width 0.3s ease,
background-color 0.3s ease;
}

/* ▼ ホバーアニメーション */
.btn-more-w:hover {
background-color: #fff;        /* 中を塗る */
color: #5b3a28;                   /* 文字を白に */
border-color: #fff;
transform: translateY(-1px);      /* ほんの少しだけ浮かせる（お好みで） */
}

.btn-more-w:hover::after {
width: 80px;                      /* 線が少し伸びる演出 */
background-color: #5b3a28;
}


/* ---t_area---*/
.title_left_box{
display:flex;
justify-content:space-between;
width: 100%;
margin: 7% auto;
}

.title_text_c03{
text-align:center;
padding:0px 0 0 0;
margin: 0;
}
.title_text_c03 p{
display: inline-block;
vertical-align: top;
text-align:right;
font-size:12px;
line-height:12px;
letter-spacing: 5px;
font-weight:400;
color:#593c28;
writing-mode: vertical-rl;
margin: 0 0 0 5px;
}
.title_text_c03 h2{
display: inline-block;
vertical-align: top;
padding:0px 0px;
text-align:right;
font-size:24px;
line-height:24px;
letter-spacing: 5px;
font-weight:600;
color:#000;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
writing-mode: vertical-rl;
}
.t_area{width: 80%;}
.t_area img{width:100%;}


.t_area_bottom{
font-size:14px;
color:#cc0000;
width: 100%;
margin: 0px auto 7% auto;
}


/* ---faq---*/
.faq{
width:100%;
margin:7% auto;
list-style:none;

}
.faq li{
padding:1% 0px 1% 0px;
}
.faq h3{
display:flex;
align-items:center;
padding:3% 0px;
margin:0 auto;
line-height:1.7;
text-align:left;
font-size:14px;
font-weight:500;
color:#fff;
border-bottom:2px dotted#fff;
}
.faq p{
display:flex;
align-items:center;
text-align:left;
margin:0 auto;
font-size:12px;
line-height:1.7;
padding:3% 0px;
color:#fff;
}
.faq h3 img{
width:35px;
margin:0 20px 0 0;
}
.faq p img{
width:35px;
margin:0 20px 0 0;
}

.faq a{
text-decoration: underline;
color:#fff;
}



/* ---f_cv---*/

.f_cv{
width: 100%;
margin: 7% auto;
text-align: center;
}

.f_cv h2{

text-align:center;
font-size:24px;
line-height:24px;
letter-spacing: 3px;
font-weight:500;
color:#ffff;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
padding:0 0 5% 0;
}


.f_tel{
margin: 0 auto;
text-align: center;
}

.f_tel p{
display: inline-block;
border-top: 2px dotted #fff;
text-align: center;
margin: 0 auto;
padding:7% 0 0 0;

}
.f_tel p span{
text-align: center;
font-size:12px;
line-height:12px;
font-weight:500;
color:#ffffff;
letter-spacing:1px;
}
.f_tel div{

margin: 2% auto;
}
.f_tel div a{
line-height:36px;
display:flex;
align-items:center;
justify-content: center;
font-size:36px;
letter-spacing: 2px;
font-family: 'arial',sans-serif;
font-weight:600;
color:#ffffff;
}
.f_tel div img{
width: 30px;
margin: 0px 10px 0px 0px;
}


.f_btn{
text-align:center;
width:100%;
margin:5% auto 0 auto;
}

.f_btn_mail{
width:100%;
margin: 0 ;
}
.f_btn_line{
width:100%;
margin:5% auto 0 auto;
}
.f_btn a{
font-size:18px;
display:flex;
align-items:center;
justify-content: center;
width:100%;
border: 3px solid #fff;
border-radius: 100px;
padding: 5% 0;
color:#fff;
-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;
box-sizing: border-box;
}
.f_btn a img{
width: 30px;
margin: 0 0 0 10px;
}

.f_btn a:hover{
border: 3px solid #3f2d21;
background-color: #3f2d21;
color:#fff;
transform: scale(1.03);
box-sizing: border-box;
}


/* ---f_link---*/
.f_link{
width: 100%;
margin: 0px auto;
text-align: center;
}
.f_link h2{
text-align:center;
font-size:24px;
line-height:24px;
letter-spacing: 3px;
font-weight:600;
color:#000;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
padding:0 0 5% 0;
}

/* 外枠：画面いっぱい＋はみ出し隠し */
.flow-carousel {
width: 100%;
padding: 5% 0;
overflow: hidden;
}

/* 流れるレーン本体（中身2セットぶんを横に並べる） */
.flow-track {
display: flex;
width: max-content;                 /* 中身の幅にフィット */
animation: marquee 30s linear infinite;
will-change: transform;
transform: translateZ(0);
}

/* 各リンクアイテム */
.flow-item {
flex: 0 0 auto;
width: 160px;                       /* 画像幅（整数で） */
margin-right: 24px;                 /* 画像の間隔 */
text-decoration: none;
}

.flow-item img {
display: block;
width: 100%;
height: auto;
}

/* 無限ループアニメ：2セット分のうち1セットぶん左へ */
@keyframes marquee {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}

.flow-item img {
display: block;
width: 100%;
transition: transform 0.4s ease, opacity 0.4s ease;
opacity: 0.9;
}

.flow-item:hover img {
transform: scale(1.03);
opacity: 1;
}


/* ---pp---*/
.pp_top_text{
text-align:left;
}
.pp_top_text p{
font-size: 14px;
line-height:1.7;
text-align:left;
}
.pp{
width:100%;
padding:0px 0px 0px 0px;
margin:2.5% auto 0px auto;
list-style:none;
}
.pp p{
text-align:left;
margin:0 auto;
font-size:13px;
line-height:1.7;
padding:2.5% 0;
}
.pp p span{color:red;font-size:12px;}
.pp ul{padding:2.5% 0;line-height:1.7;}
.pp ul li{font-weight: 600;line-height:1.7;}


/* ---company---*/
.company{
width:100%;
margin: 0 auto;
}
.company table{
width: 100%;
border-collapse:collapse;
border-spacing:0;
}
.company table th{
text-align: left;
border: 1px solid #47352a;
background-color: #c9b880;
color:#fff;
padding: 15px;
}
.company table td{
text-align: left;
border: 1px solid #47352a;
padding: 15px;
color:#000000;
}

/* ---sitemap---*/
.sitemap{
width:100%;
margin: 5% auto 0 auto;
}

.sitemap_navi{
width:100%;
}

.sitemap_navi li{
width:100%;
}

.sitemap_navi li p{
vertical-align:middle;
text-align: left;
font-size: 14px;
line-height:1.5;
font-weight: 500;
padding:0 0 15px 0;
margin: 0 0 15px 0;
border-bottom: 1px solid #593c28;
}

.sitemap_navi li a p{
display: block;
color:#000000;
-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;
}
.sitemap_navi li a p:hover{
color:#c9b880;
}


.sitemap_navi li img{
vertical-align:middle;
display: inline-block;
width: 20px;
margin: 0 10px 0 0;
}


.sitemap_navi li span{
display: inline-block;
text-align: left;
font-size: 12px;
padding:10px 0;
margin: 0 0 0 20px;
border-bottom: 1px solid #593c28;
}

.sitemap_navi li a span{
display: inline-block;
-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;
color:#000000;
}
.sitemap_navi li a span:hover{
color:#c9b880;
}



/* ---category_list---*/

.category_list { width: 100%;margin: 20px 0px 0px 0px; }
.category_list table{width: 100%;margin: 0px auto; }
.category_list th p{
background-color:#3f2d21;
display: inline-block;
padding:10px 15px;
text-align: center;
color:#fff;
line-height:1.5;
font-size:14px;
}
.category_list th{
padding: 20px 0px 0px 0px; 
display: block;
border: none;
text-align:left;
color:#181818;
font-weight:normal;
}
.category_list td{
padding: 10px 0px 20px 0px; 
display: block;
border: none;
text-align:left;
border-bottom: 1px solid #88c0ea;
}

/* ---category_list2---*/
.category_list2{
width: 100%;
padding:0px 0px 0px 0px;
}
.category_list2_box{
width: 100%;
padding:0px 0px 50px 0px;
}
.category_list2 table {
width: 100%;
border-collapse:collapse;
border-spacing:0;
}

.category_list2 th  { width: 20%;padding:25px 10px 25px 10px;text-align: left; vertical-align:top;border-bottom: 1px solid #88c0ea;}
.category_list2 td  {padding:25px 10px 25px 20px;text-align: left; vertical-align:top;border-bottom: 1px solid #88c0ea; }
.category_list2 th p{
background-color:#3f2d21;
padding:3px;
text-align: center;
color:#fff;
font-size:13px;
}
.category_list2_title_text h3{
text-align:left;
color:#3f2d21;
font-weight:600;
 font-size: 22px;
letter-spacing: 2px;
line-height:1.5;
margin:0 auto;
padding:0 0 30px 0;
}
.category_list2_title_text h3 span{
color:#555;
font-weight:300;
 font-size: 11px;
letter-spacing: 0px;
}
.category_list2_btn{
 font-size: 13px;
text-align:right;
margin:20px 0 0 0;
}


/* ---page_in---*/
.page_in{
text-align:left;
width:90%;
padding:0px 0px 0 0px;
margin: 0 auto;
}


/* ---service---*/
.service_top_text{
text-align:left;
margin:5% 0 0 0;
}
.service_top_text p{
font-size: 14px;
text-align:left;
margin:0 0 3.5% 0;
}

.service_list{
width: 100%;
margin:5% 0 0 0;
}

.service_list_in{

}
.service_list_in div{
width: 100%;
border: 5px solid #593c28;
border-radius: 20px;
margin: 0 0 5% 0;
transition: background-color 0.3s ease;
box-sizing: border-box;
}
.service_list_in div a{
display: block;
width: 100%;
text-align: center;
color:#47352a;
padding:5% 5% 10% 5%;
box-sizing: border-box;
}
.service_list_in div img{
width: 35%;
margin: 0 auto;
transition: transform 0.3s ease;
}
.service_list_in div h3{
color:#47352a;
font-size: 18px;
line-height:1.5;
text-align:center;
font-weight:600;
letter-spacing: 2px;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
margin: 1.5% 0 0 0;
}
.service_list_in div h4{
background-color:#47352a;
font-size: 14px;
line-height:2;
text-align:center;
font-weight:500;
color:#fff;
letter-spacing: 2px;
margin: 2.5% 0 0 0;
}
.service_list_in div p{
font-size: 12px;
line-height:1.5;
text-align: left;
margin: 5% 0 0 0;
}


/* ---price---*/

.price_list{
margin:5% 0 0 0;
}

.price_list_box01{
width: 100%;
display: flex;
align-items: center;
background-color:#f1f1ec;
border-radius: 10px;
padding:5%;
box-sizing: border-box;
margin: 0 0 5% 0;
}
.price_list_box01 img{
width:25%;
}
.price_list_box01 div{
margin: 0 0 0 5%;
}
.price_list_box01 div h4{
font-size: 16px;
line-height:16px;
font-weight: 600;
}
.price_list_box01 div h5{
font-size: 14px;
line-height: 14px;
font-weight: 600;
margin: 5px 0 0 0;
}
.price_list_box01 div h5 span{
display: inline-block;
font-size: 24px;
line-height: 24px;
font-weight: 600;
letter-spacing: 2px;
font-family: 'arial',sans-serif;
margin: 0 5px 0 10px;
}
.price_list_box01 div p{
font-size: 12px;
line-height:1.7;
font-weight: 400;
margin:10px 0 0 0;
}


.price_list_in02{

}

.price_list_box02{
width:100%;
display: flex;
align-items: center;
background-color:#f1f1ec;
border-radius: 10px;
padding:5%;
box-sizing: border-box;
margin: 0 0 5% 0;
}
.price_list_box02 img{
width:25%;
}
.price_list_box02 div{
margin: 0px 0 0 5%;
}
.price_list_box02 div h4{
font-size: 16px;
line-height:16px;
font-weight: 600;
}
.price_list_box02 div h5{
font-size: 14px;
line-height: 14px;
font-weight: 600;
margin: 5px 0 0 0;
}
.price_list_box02 div h5 span{
display: inline-block;
font-size: 24px;
line-height: 24px;
font-weight: 600;
font-family: 'arial',sans-serif;
margin: 0 5px 0 10px;
}
.price_list_box02 div p{
font-size: 12px;
line-height:1.7;
font-weight: 400;
margin:10px 0 0 0;
}

.text-color-b03e3e{color:#b03e3e;}
.text-color-f0b333{color:#f0b333;}
.text-color-878883{color:#878883;}
.text-color-c47084{color:#c47084;}
.text-color-8da358{color:#8da358;}
.text-color-4695b7{color:#4695b7;}
.text-color-dc8540{color:#dc8540;}

.price_list_in03{
margin: 0 0 5% 0;
}
.price_list_in03 p{
font-size: 14px;
font-weight: 400;
margin: 0 0 2.5% 0;
}

.price_list_in03 p span{
color:#cc0000;
font-weight:600;
}


.price_list_in04 h4{
font-size: 18px;
font-weight: 500;
color:#000;
margin: 5% 0 5% 0;
}
.price_list_in04 h4 span{
color:#cc0000;
}

.price_list_box04{
background-color:#f4f1f1;
border-radius: 10px;
padding:5%;
box-sizing: border-box;
margin: 0 0 10% 0;
text-align: center;
}
.price_list_box04_in{
margin: 0 auto;
}

.price_list_box04_in div{
margin:5% 0 0 0;
}
.price_list_box04_in_icon img{
width: 30%;
margin: 0 auto 10px auto;
}
.price_list_box04_in_icon p{
font-size: 14px;
font-weight: 500;
line-height: 1.5;
color:#000;
}
.price_list_box04_in_icon p span{
font-size: 22px;
font-weight: 600;
line-height: 1.5;
color:#cc0000;
font-family: 'arial',sans-serif;
}
.price_list_box04_in_plus_equal{
font-size: 50px;
font-weight: 500;
line-height: 50px;
color:#000;
}

.price_list_box04_in_price{
font-size: 20px;
font-weight: 500;
line-height: 1.5;
color:#000;
}
.price_list_box04_in_price span{
color:#cc0000;
font-size: 30px;
font-weight:600;
line-height: 30px;
font-family: 'arial',sans-serif;
}


/* ---faq---*/
.faq_top_text{
text-align:left;
margin:5% 0 0 0;
}
.faq_top_text p{
font-size: 14px;
text-align:left;
margin:0 0 3.5% 0;
}

.faq-accordion{
  margin-top: 5%;
}

/* 大項目 */
.faq-group{
  margin: 2.5% 0 0 0;
}

.faq-group:last-child{
}

.faq-group__head{
  width: 100%;
  background: #f3f1f0;
  border: 0;
  padding:5% ;
  font-size: 16px;
  font-weight: 600;
  letter-spacing:1px;
  color: #593c28;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  border-radius: 0;
}

/* 右の「∨」 */
.faq-group__icon{
  width:8px;
  height:8px;
  border-right: 3px solid #593c28;
  border-bottom: 3px solid #593c28;
  transform: rotate(45deg);
  transition: transform .25s ease;
  margin:0 0 0 12px;
  flex: 0 0 auto;
}

/* 開いた時 */
.faq-group.is-open .faq-group__icon{
  transform: rotate(-135deg);
}

/* ボディ（開閉部分） */
.faq-group__body{
  overflow: hidden;
  height: 0;
transition: height .45s ease;
  background: #f3f1f0;
}

/* 中のボックス（画像の薄い枠っぽい感じ） */
.faq-box{
  background: #f3f1f0;
  border-top: 0;
  padding:0 2.5% 0 2.5%;
}

/* Q&A（2枚並び風の仕切り） */
.qa{
  background: #fff;
  padding:2.5% 5%;
  margin: 0 0 2.5% 0;
}

.qa__row{
display: flex;
align-items: center;
padding:2.5% 0;
}

.qa__divider{
border-bottom: 3px dotted #000;
}

/* Q/Aバッジ（丸フチ） */
.qa__badge{
}
.qa__badge img{
width: 30px;
margin: 0 15px 0 0 ;

}


.qa__text{
font-size: 14px;
line-height: 1.7;
color:#000;
font-weight: 500;
}
.qa__text span{
font-size: 12px;
line-height: 1.7;
color:#000;
font-weight: 400;
}


/* ---line---*/

.line_top_text{
text-align:left;
margin:5% 0 0 0;
}
.line_top_text p{
font-size: 14px;
text-align:left;
margin:0 0 3.5% 0;
}

.line_box_in{
padding: 5% 0;
border-bottom: 1px solid #ccc;
}

.line_title p{
color:#47352a;
font-size:14px;
font-family: 'arial',sans-serif;
padding:0 0 5px 0;
}
.line_title h4{
font-size:18px;
line-height: 18px;
font-weight: 600;
letter-spacing: 2px;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.line_reed{
font-size:14px;
line-height:1.7;
margin: 5% 0 0 0;
}
.line_view{
text-align: center;
margin: 5% 0 0 0;
}
.line_view img{
width:  150px;
margin: 0 auto;
}
.line_view p span{
display: inline-block;
background-color: #f3f1f0;
font-size:28px;
line-height: 28px;
font-weight: 500;
letter-spacing: 2px;
}


/* ---single---*/
.single_in{
text-align:left;
padding:0 0 0 0;
margin: 0 auto;
}
.single_in_data{
background-color:#3f2d21;
display: inline-block;
border-radius: 5px;
padding:5px 10px;
text-align: center;
color:#fff;
font-size:12px;
}

.single_in h1{
position: relative;
padding: 10px 16px 8px 16px;
outline: 1px solid #593c28;
font-size: 20px;
line-height: 1.7;
letter-spacing: 0.1em;
color: #593c28;
font-weight: 600;
display: block;
box-sizing: border-box;
text-align:left; 
margin: 24px 24px 5px 24px;
margin-inline: auto;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
}
.single_in h1::before {
content: "";
position: absolute;
top: -6px;
left: -6px;
width: 40px;
height: 40px;
background: #a89ec4;
clip-path: polygon(0 0, 100% 0%, 0 100%);
z-index:-999;
}

.single_in h1::after {
content: "";
position: absolute;
top: 6px;
left: 6px;
width: 100%;
height: 100%;
outline: 1px solid #593c28;
}




.single_in_box{
padding:30px 0px 30px 0px;
}
.single_in_box p{
margin:10px auto 20px auto;
}
.single_in_box h3{
font-size: 20px;
color:#3f2d21;
font-weight:400;
margin:40px 0px 20px 0px;
}
.single_in_box img{
max-width: 100%;
height: auto;
}
img.alignright { display: block; margin: 30px 0 30px auto!important;}
img.alignleft { display: block; margin: 30px auto 30px 0!important;}
img.aligncenter { display: block; margin: 30px auto!important;}

.single_in_box_blockquote blockquote{
background-color:#fff;
padding:50px 30px 50px 30px;
position:relative;
color:#3f2d21;
margin:50px 0px 50px 0px;
}
.single_in_box_blockquote blockquote p{padding:15px 0px;}
.single_in_box_blockquote blockquote:before{
content:"“";
font-size:800%;
line-height:1.2;
font-family:"ＭＳ Ｐゴシック",sans-serif;
color:#3f2d21;
position:absolute;
left:0;
top:0px;
}
.single_in_box_blockquote blockquote:after{
content:"”";
font-size:800%;
line-height:0em;
font-family:"ＭＳ Ｐゴシック",sans-serif;
color:#3f2d21;
position:absolute;
right:0;
bottom:0px;
}
.single_in_box_ul01{
margin:20px 0px 50px 0px;
}
.single_in_box_ul01 li{
background-image: url(../images/single_list01_icon.png);
background-position: left center;
background-repeat: no-repeat;
text-align:left;
padding:5px 0px 5px 25px;
}
.single_in_box_ul01 li span{
font-weight:bold;
font-size:16px;
}
.page-numbers {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
color:#fff;
display: inline-block;
margin-bottom: 5px;
padding: 10px 17px;
background: #0c68b1;
text-decoration: none;
vertical-align: middle;
}

.bottom_box{
padding:0px 0px 60px 0px;
}

.text_bold{
font-weight: bold;
}


/* ---記事一覧---*/
.relatedposts{

width:100%;
padding:5% 0px;
}
.card02 {
width: 100%;
border: 5px solid #f3e9dd;
background-color: #ffffff;
border-radius: 30px;
padding: 25px;
box-sizing: border-box;
overflow: hidden;
margin: 0 0 3% 0;
transition: background-color 0.3s ease !important;   /* ← 強制的に有効にする */
}

.card02:hover {
background-color: #f3e9dd !important;   /* ← テスト用に極端な色で */
}



/* ---layout_table01---*/
.layout_table01{width:100%;margin:0px auto;}
.layout_table01 p{margin:0px 0px 40px 0px ;}
.layout_table01 table{
border-collapse:collapse;
border-spacing:0;
width:100%;
margin:0px auto 0 atuo;
}
.layout_table01 table th{
text-align:center;
background-color:#1474c1;
display: block;
border: none;
padding:15px ;
color:#fff;
}
.layout_table01 table td{
background-color:#fff;
text-align:left;
display: block;
border: none;
padding:15px ;
}

/* ---layout_table02---*/
.layout_table02{
width:100%;
overflow: auto;　　　　/*tableをスクロールさせる*/
/*tableのセル内にある文字の折り返しを禁止*/
padding:0 0 20px 0;
}
.layout_table02::-webkit-scrollbar{　　/*tableにスクロールバーを追加*/
height: 5px;
}
.layout_table02::-webkit-scrollbar-track{　　/*tableにスクロールバーを追加*/
background: #F1F1F1;
}
.layout_table02::-webkit-scrollbar-thumb {　　/*tableにスクロールバーを追加*/
background: #BCBCBC;
}
.layout_table02 p{margin:0px 0px 10px 0px ;}
.layout_table02 table{
border-collapse:collapse;
border-spacing:0;
width:100%;
margin:0px auto 0 atuo;
}
.layout_table02 table th{
white-space: nowrap;
text-align:left;
vertical-align:middle;
background-color:#1474c1;
border: 1px solid #ecf3f5;
padding:30px;
color:#fff;
}
.layout_table02 table td{
white-space: nowrap;
text-align:left;
vertical-align:middle;
background-color:#fff;
border: 1px solid #ecf3f5;
padding:30px;
}


.low_title02 h3{
position: relative;
font-size:18px;
line-height: 1.5;
color:#3f2d21;
border-bottom: double;
border-width: 6px;
padding-bottom: 0px;
border-color:#3f2d21;
text-align:left;
margin:30px auto 30px auto;
padding:5px 0 5px 25px;
background-image:url("../images/sp_navi_icon.png");
background-repeat:no-repeat;
background-size:20px;
background-position:left center;
}

.low_title02 h4{
position: relative;
font-size:18px;
color:#3f2d21;
border-bottom: double;
border-width: 6px;
padding-bottom: 0px;
border-color:#3f2d21;
text-align:left;
margin:30px auto 30px auto;
padding:0 0 2px 25px;
}
.low_title02 h4::after {
position: absolute;
top:0.5em;
left:0;
z-index: 2;
content: '';
width: 15px;
height: 15px;
border: 2px solid #3f2d21;
border-radius: 100%
}

.low_title01 h4{
border-bottom:dashed 1px #3f2d21;
font-size:18px;
margin:30px auto 20px auto;}

.low_title01 h5{
font-size:18px;
margin:30px auto 20px auto;}



/* ---check_list01---*/
ul.check_list01 {
position: relative;
padding: 10px 20px;
background-color:#fff;
border:#ecf3f5 solid 2px;
list-style-type: none;
margin:60px auto;
}
ul.check_list01 li {
padding: 15px 15px 15px 30px;
line-height: 1.5;
color:#3f2d21;
font-weight: bold;
font-size:16px;
border-bottom: 1px dashed #3f2d21;
}
ul.check_list01 li::before {
position: absolute;
content: "\002713";
color: #3f2d21;
font-weight: bold;
left : 30px;
}
ul.check_list01 li:last-of-type {
border-bottom: none;
}

/* ---t_img_area---*/
.t_img_area{
width: 100%;
margin: 50px auto 30px auto;
}
.t_img_area_text{
width: 100%;
}
.t_img_area_view{
width: 100%;
margin:0px  0px ;
}
.t_img_area_text02{
width: 100%;
}
.t_img_area_view02{
width: 100%;
margin:10px  0px ;
}
.t_img_area_text h4{
text-align:left;
font-size: 20px;
font-weight:400;
padding:10px 0 0 0;
}
.t_img_area_text p{
text-align:left;
color:#333;
padding:20px 0px 0px 0px;
margin: 0px 0 0 0 !important;
}
.t_img_area_text02 h4{
text-align:left;
font-size: 20px;
font-weight:400;
padding:0px 0 0 0;
}
.t_img_area_text02 p{
text-align:left;
color:#333;
padding:20px 0px 0px 0px;
margin: 0px 0 0 0 !important;
}
.t_img_area_view img{
width: 100%;
margin: 0 0 0 0 !important;
}
.t_img_area_view02 img{
width: 100%;
margin: 0 0 30px 0 !important;
}

.t_img_area_view03{
width: 100%;
margin: 0px auto;
}
.t_img_area_view03 div{
margin: 0px auto 0px auto;
}
.t_img_area_view03 div img{width: 100%;}


.pageNav01 {
margin: 0 0 10px;
padding: 30px 0px 0px;
text-align: center;
}
.pageNav01 li {
display: inline;
margin: 0 2px;
padding: 0;
}
.pageNav01 li span,
.pageNav01 li a {
color:#fff;
display: inline-block;
margin-bottom: 5px;
padding: 10px 17px;
background: #00876b;
text-decoration: none;
vertical-align: middle;
}
.pageNav01 li a:hover {
color:#fff;
background: #00b390;
border-color: #00f;
}

.pageNav02 a{
display: block;
margin: 0;
text-align:center;
padding: 20px 0px 20px 0px;
border-top: 1px solid #f0f1ec;
border-bottom: 1px solid #f0f1ec;
}
.pageNav03 a{
display: block;
margin: 50px 0 0 0 ;
text-align:center;
padding: 20px 10px 20px 10px;
border-top: 1px solid #f0f1ec;
border-bottom: 1px solid #f0f1ec;
}


/* ---form---*/

.form_box { width:100%;margin:5% auto 0px auto; }
.form_box table{
width: 100%;
}
.form_box th{
padding: 15px; 
display: block;
border: none;
text-align:left;
background-color:#f5f5f5;
font-weight:normal;
}
.form_box th p{
margin: 0;
}
.form_box td{
padding:10px 0px 20px 0px; 
display: block;
border: none;
text-align:left;
}
.form_box td p{
margin: 0;
}
.form_01{
padding:7px 3% 7px 3%;
font-size:14px;
border:solid 1px #c78f7e;
margin:0 auto;
width: 93%;
}
.form_02{
padding:7px 3% 7px 3%;
font-size:14px;
border:solid 1px #c78f7e;
margin:0 auto;
width: 93%;
height:200px;
resize: vertical;
}
.form_03{
padding:7px 3% 7px 3%;
font-size:14px;
margin:0 auto;
width: 93%;
height:100px;
resize: vertical;
}
.form_submit_area{margin:20px 0 10px 0;}
.single_form_area{
padding:0px 0 0px 0;
margin:0px 0 0px 0;
}

/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
.screen-reader-response{ color: #f00;}
/* 必須赤色表示 */
.wpcf7 .required { color: #f00;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}

/* Contact Form 7のラジオボタンを縦並びに */
.wpcf7-radio .wpcf7-list-item {
margin-top:10px;
display: block;
}
/*メールフォームrecaptcha中央配置*/
.wpcf7-recaptcha > div {
margin: 30px auto;
}

/* ---form02---*/

.form_box02 { width: 100%;margin:0px 0px 0px 0px; }
.form_box02 table{
width: 100%;
}
.form_box02 th{
padding: 15px; 
display: block;
border: none;
text-align:left;
background-color:#f5f5f5;
font-weight:normal;
}
.form_box02 th p{
margin: 0;
}
.form_box02 td{
padding: 10px 0px 20px 0px; 
display: block;
border: none;
text-align:left;
}
.form_box02 td p{
margin: 0;
}


/************************************
ページネーション
************************************/
.og_page_navi{margin:50px 0 0 0; }
.og_page_navi ul{
clear:both;
padding:0px;
align-items: center;
justify-content: center;
-webkit-box-pack: center;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
}
.og_page_navi ul li{
vertical-align: middle;
margin:0px 5px;
}
.og_page_navi ul li a{
display:block;
color:#593c28;
padding: 8px 13px;
text-decoration: none;
border-radius: 10px;
}
.og_page_navi ul li a:hover {
color:#fff;
background: #593c28;
}
.og_page_navi .first{display:none;}
.og_page_navi .previous{}
.og_page_navi .current{background: #593c28;color:#fff;border-radius: 10px;}
.og_page_navi .current a{color:#fff;}
.og_page_navi .inactive{}
.og_page_navi .next{}
.og_page_navi .last{display:none;}

.og_page_navi ul li span{
font-size: 28px;
line-height:28px;
}



.area_view_box{position: relative;width: 100%;margin:2% auto 5% auto;text-align:center;}
.area_view img{width: 100%;margin: 0px auto;}
.area_view_banner_box{
width:85%;margin:0 auto;position: absolute;left: 0;right:0;bottom:10%;justify-content:space-between;-webkit-box-pack: center;display: -webkit-flex;
display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;}
.area_view_banner{width:50%;}
.area_view_banner img{width:100%;margin: 0px auto;}


.flow_box{position: relative;width: 100%;margin:2% auto 5% auto;}
.flow_box_view{text-align:center;}
.flow_box_view img{width: 100%;margin: 0px auto;}
.flow_box_btn{
width:45%;
margin:0 auto;
position: absolute;
left: 0;
right: 0;
top:9%;
}
.flow_box_btn img{width:100%;margin: 0px auto;}


/* 要約 */
.in_summary_box{
width: 100%;
position: relative;
display: inline-block;
margin:0px auto 20px auto;
}

/* 要約の背景 */
.in_summary_box:before {
content: '';
position: absolute;
display: inline-block;
z-index: 0;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color:#fff;
border: 3px solid #3f2d21;
border-radius: 10px 0 10px 10px;
clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);
}

/* 右上角のめくれ */
.in_summary_box:after {
content: '';
position: absolute;
display: inline-block;
z-index: 0;
top: 0%;
right: 0%;
height: 30px;
width: 30px;
background-color:#3f2d21;
clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.in_summary_box_in{
padding:30px;
position: relative;
z-index: 1;
}

.in_summary_title{
text-align: center;
margin: 0 auto;
}
.in_summary_title span{
font-size:18px;
letter-spacing: 1px;
font-weight: 600;
line-height: 1.5;
color:#3f2d21;
position: relative;
text-align: center;
padding: 0 30px;
margin: 0 auto;
font-family:
"Hiragino Mincho ProN",   /* macOS */
"Hiragino Mincho Pro",
"MS PMincho",             /* Windows（明朝）*/
"MS Mincho",
"Yu Mincho",              /* Windows 10 以降 */
"YuMincho",
"Noto Serif JP",          /* Android / Web用 */
serif;                    /* 最終的に明朝系に寄せる */
}
.in_summary_title span:before, .in_summary_title span:after {
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 24px;
height: 3px;
background-color:#3f2d21;
}
.in_summary_title span:before {
left:0;
transform: rotate(60deg);
}
.in_summary_title span:after {
right: 0;
transform: rotate(-60deg);
}


.in_summary_reed{
border-top:5px dotted #3f2d21;
text-align: left;
font-size:16px;
color:#555;
margin: 15px auto 0px auto;
padding: 20px 0 0 0;
}


.countdown{
text-align: center;
}
.countdown div{
padding:10px 15px;
font-weight: 600;
text-align: center;
display:block;
border: 2px dotted #3f2d21;
border-radius: 5px;
margin:0px auto 40px auto;
}


/* ---ブログカード---*/
.blogcard {
line-height: 1;
background-color: #ffffff;
border: 3px solid #8d7c71;
word-wrap: break-word;
margin: 30px 0;
border-radius: 10px;
padding: 20px;
}
.blogcard a {
text-decoration: none;
opacity: 1;
transition: all 0.2s ease;
display: flex;
flex-wrap:nowrap;
justify-content:space-between;
}
.blogcard a:hover {
opacity: 0.6;
}
.blogcard_thumbnail {
width:100px;
padding: 0px;
margin:0 20px 0 0px;
}
.blogcard_thumbnail img{
min-width:100px;
padding: 0px;
flex-shrink: 0;
}
.blogcard_content{
}
.blogcard_title {
font-size: 18px;
font-weight: bold;
line-height: 1.4;
}
.blogcard_excerpt {
font-size: 14px;
line-height: 1.4;
margin:10px 0 0 0;
}


/* モーダルCSS */
.modalArea {
display: none;
position: fixed;
z-index: 999; /*サイトによってここの数値は調整 */
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.modalBg {
width: 100%;
height: 100%;
background-color: rgba(30,30,30,0.9);
}

.modalWrapper {
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%,-50%);
width: 70%;
max-width: 620px;
padding: 30px;
background-color: #fff;
}

.closeModal {
position: absolute;
top: 0.5rem;
right: 1rem;
cursor: pointer;
}


.rock_navi{
z-index:1000;
position:fixed;
bottom:0;
left:0;
width:100%;
background-color:#fff;
}
.rock_navi_in{
width:100%;
display:flex;
align-items:center;
justify-content:space-between;
margin:0px auto;
}
.rock_navi_in a{
align-items:center;
width:33.33%;
height:40px;
color:#fff;
font-size:13px;
font-weight:500;
line-height: 40px;
}
.rock_btn01{background-color:#59adcf;}
.rock_btn02{background-color:#9fc05d;}
.rock_btn03{background-color:#d9ae56;}

.rock_navi_in a span{
vertical-align: middle;
display:inline-block;
margin:0px 0 0 0;
}

.rock_navi_in a img{
width: 19px;
vertical-align: middle;
display:inline-block;
margin: 0 5px 0 0;
}


.t_tag_box{
width: calc(100% - 60px);
padding:30px;
margin: 40px auto 30px auto;
text-align:center;
background-color:#eee;
}
.t_tag_box h3{
padding:0px 0px 10px 0px;
font-weight:600;
font-size:16px;
letter-spacing:1px;
text-align:center;
margin: 0px auto ;
}
.tag_list_btn{
display:inline-block;
background-color:#3f2d21;
border-radius:100px;
padding:8px 16px;
font-size:14px;
line-height:14px;
}
.tag_list_btn a{color:#fff;}
.t_tag_box ul{
display: flex;
flex-wrap: wrap;
align-items:flex-start;
justify-content:center;
padding:10px 0px 0px 0px;
margin: 0px auto;
text-align:center;
}
.t_tag_box ul li{text-align:center;padding:5px 10px;}
.t_tag_box ul li a{color:#3f2d21;}

.single_in_data02{
font-size:14px;
padding: 10px 0px;
}
.single_in_data02 a{
color:#3f2d21;
text-decoration:underline;
}


/* 目次ショートコード  */
.toc {
position: relative;
margin:20px 0 50px 0 ;
background: #fff;
padding: 20px 30px;
word-break: break-all;
word-wrap: break-word;
border: 1px solid #ececec;
}
.toc-title {
text-align:left;
font-size: 18px;
line-height:18px;
letter-spacing: 3px;
margin: 0 0 0 0;
font-weight: bold;
padding:0 0 10px 0;
border-bottom: 1px solid #ececec;
}
.toc-toggle {
letter-spacing: 1px;
font-size:12px;
}
.toc-list {
padding: 9px;
list-style: none;
line-height:2;
}
.toc-list ul {
list-style: square;
margin:0 0 0 10px;
}
.toc-list a{}
.toc-list a:hover {text-decoration:underline;}


/* 執筆者一覧*/
.list-of-authors{
width:100%;
margin: 0 auto;
}


.profile_x{
background-color: #fff;
padding: 20px;
display: flex;
align-items: center;
border: double 3px #3f2d21;
border-radius: 10px;
margin: 0px auto 30px auto;
}
.profile_image_x {
text-align: center;
padding-right: 14px;
}
.profile_image_x img {
max-width: 80px;
border-radius: 100%;
padding: 1px;
}
.profile_text_name_x {
font-weight: bold;
margin: 0 0 5px 0 !important;
}
.profile_text_description_x {
font-size: .8em;
margin: 0!important;
}
.profile_x a{
text-decoration:underline;
color:#3f2d21;
}
.profile_x a:hover {
text-decoration:none;
color:#3f2d21;
}


/* ---footer---*/


.footer{
width:100%;
margin:0px auto 0 auto;
text-align:center;
padding:30px 0 70px 0;
}
.footer_in{
width:90%;
margin:0 auto;
padding:0;
}
.f_logo{
width:20%;
margin:0 auto;
padding:0;
}
.f_logo img{width:100%;}

@media screen and (min-width:600px) { 
.f_logo{
width:10%;
margin:0 auto;
padding:0;
}
.f_logo img{width:100%;}
}
.f_copy{text-align:center;padding:4% 0 0px 0;}
.f_copy_in{

}
.f_copy p{
text-align:center;
font-size:12px;
color:#fff;
margin:0px 0;
}

.f_copy p span{
display: block;
font-size:11px;
margin:4% 0 0 0 ;
}

#pageTop {
position:fixed;
bottom:65px;
left:0;
right:0;
width:20px;	
margin:0px auto 0px auto;
}
#pageTop a img {
width:100%;
margin:0px auto 0px auto;
-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;
}
#pageTop a img:hover {
  opacity: 0.7;
}




.fuwatAnime {
-webkit-animation-fill-mode:both;
-ms-animation-fill-mode:both;
animation-fill-mode:both;
-webkit-animation-duration:1.5s;
-ms-animation-duration:1.5s;
animation-duration:1.5s;
-webkit-animation-name: fuwatAnime;
-ms-animation-name: fuwatAnime;
animation-name: fuwatAnime;
visibility: visible !important;
}
@-webkit-keyframes fuwatAnime {
0% { opacity: 0; -webkit-transform: translateY(-20px); }
100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fuwatAnime {
0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


.sp-none{
display:none !important;
}
.pc-br{
display:none !important;
}
.link_pc{
display:none !important;
}
.contact_btn02{
display:none !important;
}

.mt80{margin-top:80px;}



/* ---contact---*/


.contact_box {
background-color:#ededed;
box-sizing: border-box;
border-radius: 5px;
width:100%;
padding:20px;
margin:30px 0 0 0;
box-sizing: border-box;
}
.contact_box table{width:100%;}

.contact_box th{
padding:20px 0px 0px 0px;
display: block;
border: none;
text-align:left;
font-size:16px;
font-weight:bold;
}
.contact_box th span{color:red;font-size:14px;}
.contact_box td{
padding:10px 0px 20px 0px;
margin:0 0 0px 0;
display: block;
border: none;
text-align:left;
font-size:16px;
border-bottom:solid 1px #dedede;
}

.form_01{
padding:10px 2% 10px 2%;
border:solid 1px #dedede;
margin:0 auto;
width: 96%;
}
.form_02{
padding:7px 2% 7px 2%;
border:solid 1px #dedede;
margin:0 auto;
width: 96%;
height:200px;
resize: vertical;
}
.form_03 label{
margin:0 20px 0 0;
}
.form_03 label input{
margin:0 5px 0 0;
}


.cp_ipselect {
overflow: hidden;
width: 40%;
margin: 0;
text-align: center;
}
.cp_ipselect select {
width: 100%;
padding-right: 1em;
cursor: pointer;
text-indent: 0.01px;
text-overflow: ellipsis;
border: none;
outline: none;
background: transparent;
background-image: none;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.cp_ipselect select::-ms-expand {
display: none;
}
.cp_ipselect.cp_sl01 {
position: relative;
border: 1px solid #bbbbbb;
border-radius: 2px;
background: #ffffff;
}
.cp_ipselect.cp_sl01::before {
position: absolute;
top: 0.8em;
right: 0.9em;
width: 0;
height: 0;
padding: 0;
content: '';
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid #666666;
pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
padding: 8px 38px 8px 8px;
color: #666666;
}
.cp_radio_text{
display:inline-block;
margin:0 20px 0 10px;
}

.btn_r{
font-size:14px;
color:#fff;
width: 100%;
text-align: center;
display: block;
padding:15px 5%;
margin: 20px auto 20px auto;
border-radius: 10px;
background-color:#cb0506;
border:none;
box-sizing: border-box;
-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;
cursor:pointer ; 
}

.btn_f{
font-size:14px;
color:#fff;
width: 100%;
text-align: center;
display: block;
padding:15px 0;
border-radius:100px;
margin: 10px auto 0px auto;
background-color:#3f2d21;
border: 2px solid #3f2d21;
cursor:pointer ; 
}


.pankuzu{
width:90%;
padding:8px 0 3px 0;
border-bottom: 2px solid #3f2d21;
margin: 0px auto 0px auto;
}
.pankuzu_in{
color:#333;
font-size:12px;
width:100%;
margin: 0px auto 0px auto;
text-align: left;
}
.pankuzu_in span{
padding:3px;
display:inline-block;
}



.fade-in {
opacity: 0;
transition-duration: 1000ms;
transition-property: opacity, transform;
}

.fade-in-up {
transform: translate(0, 50px);
}

.fade-in-down {
transform: translate(0, -50px);
}

.fade-in-left {
transform: translate(-50px, 0);
}

.fade-in-right {
transform: translate(50px, 0);
}

.scroll-in {
opacity: 1;
transform: translate(0, 0);
}

.animation{
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-duration: 1.5s;
}

.keyframe6 {
animation-name: poyopoyo;
}

@keyframes poyopoyo {
0%, 40%, 60%, 80% {
transform: scale(1.0);
}
50%, 70% {
transform: scale(0.95);
}
}


/* ふわふわアニメーションここから */
/* 縦のふわふわ指定 */
.fuwafuwa01 {
animation: fuwafuwa01 4s infinite ease-in-out;
}
.fuwafuwa02 {
animation: fuwafuwa02 5s infinite ease-in-out;
}
.fuwafuwa03 {
animation: fuwafuwa03 3s infinite ease-in-out;
}
/* 縦のふわふわの動き */
@keyframes fuwafuwa01 {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(20px);
}
}
/* 縦のふわふわの動き */
@keyframes fuwafuwa02 {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(30px);
}
}
/* 縦のふわふわの動き */
@keyframes fuwafuwa03 {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(10px);
}
}


.white-bg{
background:#fff;
padding:5%;
display:block;
}

.blue-bg{
background:#eeeefc;
padding:5%;
display:block;
}

/* ▼追加 */
.beige-bg{
background:#f3f2f0;
padding:5%;
display:block;
}

.grecaptcha-badge {
    visibility: hidden;
}
