@charset "utf-8";
/* ----------------------------------------------------------------------
 2020/04/17追加
---------------------------------------------------------------------- */
#top_slider .message { background: #FFF; padding: 50px; text-align: center; }
#top_slider .message h2 { font-size: 36px; margin-bottom: 40px;}
#top_slider .message .desc { font-size: 20px;}
#top_slider .message .desc p { margin-bottom: 1em;}
#top_slider .message .desc p.name { padding-top: 3em; font-size: 16px;}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body { color: #333; line-height: 2.0; padding-top: 108px; }
#container { padding: 0 0 144px 0;}
#main_contents { width: 100%; margin: 0; padding: 0 0 144px;}
#main_contents_inner { max-width: 1200px; margin: 0 auto; padding: 0 3%;}
body.blog #main_contents_inner,
body.archive #main_contents_inner,
body.single #main_contents_inner { max-width: 840px; margin: 0 auto; padding: 0 3%;}


/*画像*/
.image { line-height: 0; font-size: 0; margin: 0; padding: 0;}
img { max-width: 100%; height: auto; }

/* a link */
a { text-decoration:none; }
a, a:before, a:after, input { transition:0.3s ease-out; }
a img { opacity: 1.0; transition:0.3s ease-out;}
a:hover { text-decoration:none; opacity: 0.8; }
a:hover img { opacity: 0.8;}

a.liner { position: relative; display: inline-block; text-decoration: none; }
a.liner::after { position: absolute; bottom: -2px; left: 0; content: ''; width: 100%; height: 1px; background: #333; transform: scale(0, 1); transform-origin: left top; transition: transform .3s; }
a.liner:hover::after { transform: scale(1, 1); }

li.nolink a { cursor:inherit; }
li.nolink ul a { cursor:pointer; }

/*ボタン*/
.button {
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.inner { max-width: 1200px; padding: 0 3%; margin: 0 auto;}
.desc { line-height: 2.0;}
.desc p { margin-bottom: 2em;}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
header { width: 100%; position: fixed; background: #F5DDD9; height: 108px; z-index: 99999999; top: 0;}
header .inner { display: flex; height: 108px; justify-content: space-between; align-items: center;}
header .inner ul { display: flex; justify-content: flex-end;}
header .inner li { margin-left: 12px;}
header .inner li a { display: block; height: 60px; box-sizing: border-box; border: 3px #FFF solid; border-radius: 30px; color: #FFF; background: #009889;padding: 0 48px;}
header .inner li.web a { background: #DA141F;}
header .inner li.rec a { background: #000548;}
header .inner li a span { font-size: 20px; font-weight: 700; line-height: 54px; }
header .inner li.web a span { background: url("img/icon_right_w@2x.png") right center no-repeat; background-size: 16px 17px; padding-right: 25px;}

#main_image { width: 100%; height: 270px; background: url(img/common//page_title_bg_19.png) center top no-repeat; text-align: center; box-sizing:border-box; display: flex; align-items: center; justify-content: center;}
#page_title { background: url(img/common/title_icon@2x.png) center top no-repeat; background-size: 40px 37px; padding: 60px 0 0 0; margin:0; }
#page_title h2 { font-size: 36px; font-weight: 700; color: #fff; }
.page_subtitle { overflow: hidden; text-align: center; width:380px; margin:0 auto 20px auto; }
.page_subtitle span { position: relative; display: inline-block; margin: 0 2.5em; padding: 0 1em; text-align: center; color:#fff; }
.page_subtitle span::before, .page_subtitle span::after { position: absolute; top: 50%; content: ''; width: 400%; height: 1px; background-color: #fff; }
.page_subtitle span::before { right: 100%; }
.page_subtitle span::after { left: 100%; }
/* パンくずリスト */
.breadcrumbs { margin:0 0 48px; background: #EDEDED; padding: 24px 0; font-size: 12px; }

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
footer { background: #F5DDD9; padding: 60px 0 84px;}
footer .inner { position: relative;}
footer .footer_left { position: absolute; width: 32%; height: auto; left: 3%; bottom: 0;}
footer .footer_right { margin-left: 38%;}
footer .footer_right_top { display: flex; align-items: flex-end; margin-bottom: 48px;}
footer .footer_logo { line-height: 0; margin-right: 48px;}
footer .footer_add { word-break: keep-all; min-width: 340px;}
footer .footer_right_bottom { margin-bottom: 24px;}
footer .footer_right_bottom ul { display: flex;}
footer .footer_right_bottom li { margin-left: 12px;}
footer .footer_right_bottom li a { display: block; height: 60px; box-sizing: border-box; border: 3px #FFF solid; border-radius: 30px; color: #FFF; background: #009889;padding: 0 36px;}
footer .footer_right_bottom li.rec a { background: #000548;}
footer .footer_right_bottom li.web a { background: #DA141F;}
footer .footer_right_bottom li a span { font-size: 18px; font-weight: 700; line-height: 54px; }
footer .footer_right_bottom li.web a span { background: url("img/icon_right_w@2x.png") right center no-repeat; background-size: 16px 17px; padding-right: 20px;}

/* ページ上部へ戻るボタン */
#return_top { }
#return_top a { position: fixed; right: 0px; bottom: 0px; text-indent: -200px; display: block; height: 60px; width: 60px; margin: 0; padding: 0; text-decoration: none; background: rgba(0,0,0,0.3) url(img/footer/return_top.png) no-repeat center; overflow: hidden; z-index: 10; }
#return_top a:hover { background-color: #333; }

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
/* index common */
.index_headline { margin-bottom: 72px; width: 100%; text-align: center;}
.index_headline .subtitle { font-size: 20px; font-weight: 900;}
.index_headline h2 { position: relative;}
.index_headline h2 span { display: inline-block; padding: 0 50px; background: #FFF; position: relative; z-index: 99; font-size: 40px; line-height: 50px; font-weight: 900; letter-spacing: .2em;}
.index_headline h2::before { content: ""; height: 25px; position: absolute; width: 100%; left: 0; top: 0; border-bottom: 3px #333 solid;}
/* index_key */
#index_key { background: #F5DDD9; padding: 0 0 108px}
/* index_concept */
#index_concept { padding: 91px 0 128px; text-align: center;}
#index_concept .flex { display: flex; justify-content: space-between;}
#index_concept .headline { margin-bottom: 94px; text-align: center; position: relative; background: #E33C0B; display: inline-block; padding: 20px 40px;}
#index_concept h3 { font-weight: 700; font-size: 30px; color: #FFF;}
#index_concept .attention { font-size: 12px; line-height: 1.5; color: #FFF;}
#index_concept .headline::after { content: ""; display: block; position: absolute; left: 50%; transform: translateX(-50%); bottom: -42px; width: 0; height: 0; border-style: solid; border-width: 42px 24px 0 24px; border-color: #e33b08 transparent transparent transparent;}
#index_concept .image { margin-bottom: 60px;}
#index_concept .desc { margin-bottom: 60px;}
#index_concept .desc p { font-size: 18px;}
#index_concept .covid { text-align: center; border-top: 1px #333 dashed; border-bottom: 1px #333 dashed; padding: 40px 0;}
#index_concept .covid h4 { font-size: 24px; margin-bottom: 25px;}
#index_concept .covid .image { margin: 0;}
/* index_shopintro */
#index_shopintro { padding: 0 0 120px;
background: -moz-linear-gradient(top,  #ffffff 0%, #ffffff 50%, #f5ddd9 50%, #f5ddd9 100%);
background: -webkit-linear-gradient(top,  #ffffff 0%,#ffffff 50%,#f5ddd9 50%,#f5ddd9 100%);
background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 50%,#f5ddd9 50%,#f5ddd9 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f5ddd9',GradientType=0 );
}
#index_shopintro .content { background: #A5675D; padding: 60px; border-radius: 30px; color: #FFF;}
#index_shopintro .index_headline { margin-bottom: 48px;}
#index_shopintro .index_headline h2 span { background: #A5675D; color: #FFF;}
#index_shopintro .index_headline h2::before { border-bottom: 3px #FFF solid;}
#index_shopintro .flex { display: flex; justify-content: space-between; margin-bottom: 120px;}
#index_shopintro .left { width: 48%;}
#index_shopintro .right { width: 48%;}
#index_shopintro .flex .image { margin-bottom: 24px;}
#index_shopintro .flex .desc { font-size: 18px; margin-left: 7%; margin-bottom: 36px;}
#index_shopintro .flex .price_wrap { margin-left: 7%; border: 1px #FFF solid; padding: 20px; border-radius: 20px; text-align: center;}
#index_shopintro .flex .price_wrap h3 { font-size: 20px; font-weight: 900;}
#index_shopintro .flex .price_wrap .price { font-size: 40px; font-weight: 900;}
#index_shopintro .flex .price_wrap .price span { font-size: 20px; font-weight: 900;}
#index_shopintro .link { width: 80%; margin: 0 auto;}
#index_shopintro .link a { display: block; background: #FFF; border-radius: 55px; height: 110px; text-align: center; }
#index_shopintro .link a span { font-size: 30px; font-weight: 700; background: url("img/icon_right_br@2x.png") right center no-repeat; background-size: 20px 24px; padding-right: 40px; color: #A5675D; line-height: 110px;}
/* index_staff */
#index_staff { padding: 130px 0 75px;}
#index_staff ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
#index_staff li { width: 23%; margin-bottom: 36px;}
#index_staff li .thum { position: relative;}
#index_staff li .image { margin-bottom: 12px;}
#index_staff li h3 { font-size: 20px; margin-bottom: 12px;}
#index_staff li h4 { position: absolute; left: 0; bottom: 0; width: 100%; box-sizing: border-box; font-size: 14px; color: #FFF; font-weight: 400; background: #E33C0B; padding: 5px;}
#index_staff li .desc { font-size: 14px;}

/* index_shop */
#index_shop { padding: 130px 0;}
#index_shop .index_headline { margin-bottom: 120px;}
#index_shop .flex { display: flex; justify-content: space-between;}
#index_shop .left { width: 45%;}
#index_shop .right { width: 45%;}
#index_shop tr { border-bottom: 1px #CCCCCC dotted;}
#index_shop th { color: #A5675D; text-align: left; padding: 20px 20px 20px 6px;}
#index_shop tr:first-child th { padding: 0 20px 20px 6px;}
#index_shop td { padding: 20px 0}
#index_shop tr:first-child td { padding: 0 0 20px 0;}
/* index_map */
#index_map { padding: 0 0 120px 0;
background: -moz-linear-gradient(top,  #ffffff 0%, #ffffff 50%, #f5ddd9 50%, #f5ddd9 100%);
background: -webkit-linear-gradient(top,  #ffffff 0%,#ffffff 50%,#f5ddd9 50%,#f5ddd9 100%);
background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 50%,#f5ddd9 50%,#f5ddd9 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f5ddd9',GradientType=0 );
}
/* index_news */
#index_news { padding: 180px 0;}
#index_news ol { max-width: 840px; margin: 0 auto;}
#index_news li a { display: flex; padding-bottom: 36px; margin-bottom: 36px; border-bottom: 2px #CCCCCC dotted;}
#index_news li .image { width: 180px; margin-right: 36px;}
#index_news li .image img { border-radius: 20px;}
#index_news li .date { font-size: 18px; color: #A5675D; margin-bottom: 12px;}
#index_news li h3 { font-size: 18px; font-weight: 400;}
#index_news .link { width: 28%; min-width: 336px; margin: 0 auto;}
#index_news .link a { display: block; background: #FFF; border-radius: 30px; height: 60px; text-align: center; border: 3px #333 solid;}
#index_news .link a span { font-size: 20px; font-weight: 700; background: url("img/icon_right_b@2x.png") right center no-repeat; background-size: 16px 17px; padding-right: 25px; color: #333; line-height: 60px;}

/* ----------------------------------------------------------------------
 ブログ、お知らせアーカイブ
---------------------------------------------------------------------- */
/*カテゴリリスト*/
#cat_list { margin-bottom:60px; padding:0 0 40px 0; border-bottom:2px #333 solid;}
#cat_list ul { list-style:none; margin:0; padding:0; }
#cat_list ul li { display:inline-block; margin:0 10px 0 0; }
#cat_list ul li a { display:block; background:#9A5336; padding:5px 10px; color:#fff; font-size:12px; border-radius:5px;}
#cat_list ul li a:hover { background:#ccc; text-decoration:none; }

#archive_post_list { margin: 0; padding: 0; }
#archive_post_list .post_item { padding: 0 0 60px; margin: 0 0 60px; border-bottom:1px #333 dashed; }
#archive_post_list ul { margin: 0 0 20px 0; }
#archive_post_list ul.post-categories { display: inline;}
#archive_post_list li { border: none; margin: 0 10px 0 0; padding: 0; display: inline; font-size: 12px; font-weight: normal; line-height: 100%; }
#archive_post_list li.post_category a { display:inline-block; background:#9A5336; padding:5px 10px; color:#fff; font-size:12px; border-radius:5px;}
#archive_post_list li.post_category a:hover { background:#ccc; text-decoration:none; }

#archive_post_list .separate { font-size: 14px; color: #333; vertical-align: 1px; }
#archive_post_list .image { float: left; width: 390px; height: 195px; display: block; position: relative; }
#archive_post_list .image img { width: 390px; height: 195px; display: block; }
#archive_post_list a.image:after { content: ""; box-shadow: inset 0 0 0 0 rgba(255,255,255, 0); position: absolute; top: 0; left: 0; bottom: 0; right: 0; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
#archive_post_list a.image:hover:after { box-shadow: inset 0 0 0 10px rgba(255,255,255, 0.3); }
#archive_post_list .right_content { float: right; width: 370px; }
#archive_post_list .title { margin: 0 0 48px 0; font-weight: 400; line-height: 2.0; color:#9A5336; }
#archive_post_list .title a { display: block; color:#9A5336; font-size: 24px; }
#archive_post_list .excerpt { line-height: 220%; font-size: 13px; }
#archive_post_list p { margin-bottom:2em; }
/* load button */
#load_post { text-align: center; padding: 20px 0; font-size: 12px; }
#load_post a { display: none; padding: 15px 30px; font-size: 14px; color: #fff; text-align: center; text-decoration: none; background: #aaa; }
#loading.hide { display: none; }
#infscr-loading { text-align: center; height: 35px; padding: 5px 0 0 0; line-height: 160%; font-size: 12px; }
p.no_post { margin: 0 0 40px 0; }
.archive_headline { font-size: 28px; font-weight: bold; line-height: 180%; margin: 0 0 30px 0; }
/* ----------------------------------------------------------------------
 詳細ページ
---------------------------------------------------------------------- */
#single_post #post_title { font-size: 24px; font-weight: 400; line-height: 140%; margin: 0 0 40px 0; color:#9A5336; }
#single_post .post_meta { margin: 0 0 45px 0; line-height: 180%; }
#single_post .post_meta li { display: inline; font-size: 12px; padding: 0 15px 0 0; margin: 0 10px 0 0; line-height: 100%; border-right: 1px solid #333; }
#single_post .post_meta li.post_category a { display:inline-block; background:#9A5336; padding:5px 10px; color:#fff; font-size:12px; border-radius:5px;}
#single_post .post_meta li.post_category a:hover { background:#ccc; text-decoration:none; }
#single_post .post_meta li:last-child { border: none; margin: 0; padding: 0; }
#single_post .post_image { margin: 0 0 40px 0; text-align: center; }
#single_post .post_image img { width: 100%; height: auto; display: block; margin: 0 auto; }
#single_post .post_content { margin: 0 0 60px 0; }
/* シェアボタン */
#single_sns { padding:20px 0; }
/* 次の記事、前の記事リンク */
#previous_next_post { margin: 0 0 80px 0; }
#previous_post { float: left; position: relative; line-height: 160%; }
#next_post { text-align: right; float: right; line-height: 160%; }
#previous_next_post a { font-size: 14px; width: 315px; text-decoration: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#previous_post a { color: #fff; padding: 15px 15px 15px 40px; display: block; background: #9A5336 url(img/common/arrow_left.png) no-repeat left 15px center; border-radius:10px; }
#next_post a { color: #fff; padding: 15px 40px 15px 15px; display: block; background: #9A5336 url(img/common/arrow_right.png) no-repeat right 15px center; border-radius:10px;  }
#previous_post a:hover { text-decoration: none; background:#333333 url(img/common/arrow_left.png) no-repeat left 15px center; color: #fff; }
#next_post a:hover { text-decoration: none; background:#333333 url(img/common/arrow_right.png) no-repeat right 15px center; color: #fff; }

/* ----------------------------------------------------------------------
 コース料金
---------------------------------------------------------------------- */
/*content*/
#page_course h3 { font-size:24px; border-bottom:1px #333 solid; line-height:1.2; margin:0 0 40px 0; padding:0 0 10px 0;}
#course_archive_list { margin:0;}
#course_archive_list .price_item { background:#FFF; padding: 36px; margin-bottom: 36px; border: 1px #333 solid; display: flex; justify-content: space-between;}
.price_item .left { width: 20%;}
.price_item .right { width: 75%;}
.price_item h4 { font-size: 20px; font-weight: 700; margin-bottom: 24px;}


