@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



.logo_text { font-size:25px; }

.head-area a {
  color: #000;
}

.head-area {
  overflow-x: hidden;
  height: 100%;
  /*padding: 80px 80px 0;*/
  font-family: Arial,sans-serif;
  font-size: 14px;
  line-height: 1;
  width: 100%;
  /*position: relative;*/
}

#header_logo2 .icon_image { background-color:#2c5918; }

/* ----------------------------------------------------------------------
　ページ上部　ヘッダー
---------------------------------------------------------------------- */
.head-area.admin-bar #header { top:32px; }
#header { z-index:100; position:absolute; top:0px; left:0px; width:100%; height:80px; background:#fff; display:flex; flex-wrap:wrap; justify-content:flex-end; }
.head-area.header_hidden #header { transform: translate3d(0,-100%,0); transition: transform 0.25s ease; }
.head-area.hide_page_header_bar #header { background:transparent !important; position:absolute !important; }
.head-area.hide_page_header_bar.open_header #header:after { display:none; }
.head-area.open_header #header { position:fixed; animation: open_header_animation 0.8s ease forwards; top:0 !important; }
.head-area.close_header #header {  position:fixed; animation: close_header_animation 0.3s ease forwards; top:0 !important; }
.head-area.admin-bar.open_header #header { top:32px !important; }
.head-area.admin-bar.close_header #header { top:32px !important; }
.head-area.open_header #header:after, .head-area.hide_page_header #header:after { content:''; display:block; width:100%; height:1px; background:#ddd; position:absolute; bottom:0px; left:0px; }
.head-area.hide_page_header.hide_page_header_bar #header:after { display:none; }
@keyframes open_header_animation {
  0% { transform: translate3d(0,-100%,0); }
  100%{ transform: translate3d(0,0,0); }
}
@keyframes close_header_animation {
  0% { transform: translate3d(0,0,0); }
  100%{ transform: translate3d(0,-100%,0); }
}


/* ロゴ */
@media screen and (min-width:801px) {
  .head-area.no_header_logo_image #header_logo{ display:none; }
}
@media screen and (max-width:800px) {
  .head-area.no_header_logo_image_mobile #header_logo{ display:none; }
}
#header_logo { width:210px; height:210px; background:#fff; position:absolute; left:0; top:0; display:inline-block; z-index:200; }
#header_logo img { display:block; transition: opacity 0.3s ease-in-out; max-width:100%; height:auto; }
#header_logo img.mobile { display:none; }
#header_logo a { width:210px; height:210px; display:block; padding:20px; aspect-ratio:1/1; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; transition:opacity 1.4s ease 0.5s; }
#header_logo a:hover img { opacity:0.5; }
#header_logo a .logo_text { font-weight:500; line-height:1.4; }
#header_logo a:hover .logo_text { }
#header_logo a { opacity:0; }
#header_logo.animate a { opacity:1; }
.head-area.hide_header_message.hide_page_header_bar #header_logo { top:0 !important; }
.head-area.hide_logo #header_logo, .head-area.hide_logo #header_logo2 { display:none; }
.head-area.hide_page_header #header_logo, .head-area.hide_page_header #header_logo2 { display:none !important; }
.head-area.hide_page_header.show_page_header_bar #header_logo2 { display:block !important; }
.head-area.hide_page_header.show_page_header_bar.hide_logo #header_logo2 { display:none !important; }


/* 小さいロゴ */
#header_logo2 { z-index:200; position:absolute; left:0; top:0; display:none; }
.head-area.show_text_logo #header_logo2 { display:block; }
@media screen and (min-width:801px) {
  .head-area.no_header_logo_image #header_logo2 { display:block; }
}
@media screen and (max-width:800px) {
  .head-area.no_header_logo_image_mobile #header_logo2 { display:block; }
}
.head-area.home.no_header_logo_image #header_logo2 { opacity:0; transition:opacity 1.4s ease 0.5s; }
.head-area.home.no_header_logo_image #header_logo2.animate { opacity:1; }
#header_logo2 a { height:80px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
#header_logo2 .icon_image { width:80px; height:80px; background:#937960; display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center; }
#header_logo2 .text_image { padding:0 30px; height:80px; display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center;}
.head-area.open_header #header_logo2, .head-area.close_header #header_logo2 { display:inline-block; }
#header_logo2 img { display:block; transition: opacity 0.3s ease-in-out; max-height:40px; width:auto; }
#header_logo2 img.mobile { display:none; }
#header_logo2 .icon_image:hover img { opacity:0.5; }
#header_logo2 .text_image:hover img { opacity:0.5; }
#header_logo2 .logo_text { font-weight:500; padding-left:30px; }
@media screen and (max-width:800px) {
  .text_image_mobile+.logo_text { display:none; }
}

.head-area #header_logo { display:none; }
.head-area #header_logo2 { display:block; }
.head-area.hide_page_header_bar #header_logo2 { display:none; }
.head-area.no_header_logo_image.hide_page_header_bar #header_logo2 { display:block; }
.head-area.no_header_logo_image.hide_page_header_bar.open_header #header_logo2 { display:none; }
.head-area.no_header_logo_image.hide_page_header_bar.close_header #header_logo2 { display:none; }


/* サイトの説明文 */
#site_desc { width:80px; height:100vh; position:fixed; left:0; top:0px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
.head-area.home #site_desc { opacity:0; }
.head-area.home #site_desc.animate { opacity:1; transition:opacity 1.4s ease 2.0s; }
#site_desc h2 { font-size:16px; font-weight:500; writing-mode:vertical-rl; display:inline-block; text-align:left; position:relative; }


/* グローバルメニュー */
.head-area.hide_page_header_bar #global_menu { display:none; }
#global_menu { width:100%; height:80px; z-index:2; position:absolute; top:0; left:50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); z-index:1; }
#global_menu > ul { position:relative; text-align:center; font-size:0; }
#global_menu > ul > li { display:inline-block; position:relative; line-height:1; text-align:center; font-size:16px; }
#global_menu > ul > li > a { color:#000; text-decoration:none; height:80px; line-height:80px; padding:0 19px; display:block; position:relative; overflow:hidden; }
#global_menu > ul > li.active > a { }
#global_menu ul ul { background:#f3f3f3; display:none; width:250px; position:absolute; top:80px; margin:0; padding:0; z-index:100; }
#global_menu ul ul ul { left: 100%; top:0 !important; margin:0; }
#global_menu ul ul li { line-height:1.5; font-size:14px; padding:0; margin:0; text-align:left; position:relative; display:block; }
#global_menu ul ul a { color:#000; display:block; position:relative; padding:15px 20px 13px; height:auto; line-height:1.6; margin:0; }
#global_menu ul ul a:hover { text-decoration:none; }
#global_menu > ul > li.current-menu-item > a, #global_menu > ul > li.current-menu-parent > a, #global_menu > ul > li.current-menu-ancestor > a { }
#header.active #global_menu > ul > li > a {  }
#global_menu ul ul li.menu-item-has-children > a:before {
  font-family:'design_plus'; content:'\e910'; color:#000; display:block; position:absolute; right:9px; top:19px; font-size:10px;
}


/* ドロワーメニュー */
#drawer_menu_button { display:none; }
#drawer_menu { display:none; }



/* 言語ボタン */
#header_lang_button { font-size:0px; z-index:2; display:flex; flex-wrap:wrap; margin-right:30px; }
#header_lang_button li { font-size:16px; margin:0 0 0 20px; height:80px; line-height:80px; }
#header_lang_button li:first-of-type { margin:0; }
#header_lang_button li a { color:#aaa; }
#header_lang_button li.active a { color:#000; pointer-events:none; }


/* アイコンボタン（アイコンの設定はフッターのアイコンボタンと共有） */
#side_icon_button { position:absolute; right:0; top:80px; }
.head-area.admin-bar #side_icon_button { top:112px; }
.head-area.open_header #side_icon_button { position:fixed; top:-1px; animation: side_icon_animation 0.8s ease forwards; z-index:1; top:0 !important; }
.head-area.close_header #side_icon_button { position:fixed; top:-1px; animation: side_icon_animation2 0.3s ease forwards; z-index:1; top:0 !important; }
.head-area.admin-bar.open_header #side_icon_button { top:32px !important; }
.head-area.admin-bar.close_header #side_icon_button { top:32px !important; }
.head-area.hide_page_header_bar #side_icon_button { top:0px !important; }
.head-area.hide_page_header_bar.open_header #side_icon_button { top:-80px !important; }
.head-area.hide_page_header_bar.close_header #side_icon_button { top:-80px !important; }

@keyframes side_icon_animation {
  0% { transform: translate3d(0,-100%,0); }
  100%{ transform: translate3d(0,80px,0); }
}
@keyframes side_icon_animation2 {
  0% { transform: translate3d(0,80px,0); opacity:1; }
  100%{ transform: translate3d(0,-100%,0); opacity:0; }
}
#side_icon_button .item { width:81px; height:80px; }
#side_icon_button a { color:#937960; width:100%; height:100%; display:block; position:relative; border-bottom:1px solid #ddd; display:flex; flex-wrap:wrap; flex-direction:column; justify-content:center; align-items:center; }
#side_icon_button a.no_icon { background:#937960; border-color:#937960; color:#fff !important; }
#side_icon_button .item:first-of-type a { border-top:1px solid #ddd; }
#side_icon_button a:hover span, #side_icon_button a:hover:before { opacity:0.5; }
#side_icon_button a.no_icon:hover span, #side_icon_button a.no_icon:hover:before { opacity:1; }
#side_icon_button span { font-size:12px; line-height:1.5; font-weight:600; transition: opacity 0.2s ease; text-align:center; }
.icon_button a:before { display:block; font-family:"footer_bar"; font-size:20px; margin:0 0 8px 0; transition: opacity 0.2s ease; }
.icon_button a.twitter:before { content: "\ea96"; }
.icon_button a.facebook:before { content: "\e944"; font-family: 'design_plus'; font-size:22px; }
.icon_button a.instagram:before { content: "\ea92"; }
.icon_button a.youtube:before { content: "\ea9d"; }
.icon_button a.line:before { content: "\e90f"; font-size:18px; }
.icon_button a.spotify:before { content: "\ea94"; }
.icon_button a.heart:before { content: "\e9da"; }
.icon_button a.star1:before { content: "\e9d9"; }
.icon_button a.star2:before { content: "\e9d7"; }
.icon_button a.list1:before { content: "\e9bb"; }
.icon_button a.list2:before { content: "\e907"; }
.icon_button a.fire:before { content: "\e9a9"; }
.icon_button a.bubble:before { content: "\e96c"; }
.icon_button a.cart:before { content: "\e93a"; }
.icon_button a.bell:before { content: "\e951"; }
.icon_button a.profile:before { content: "\e923"; }
.icon_button a.user:before { content: "\e90a"; font-size:16px; }
.icon_button a.map:before { content: "\e909"; }
.icon_button a.film:before { content: "\e913"; }
.icon_button a.camera:before { content: "\e905"; font-size:14px; }
.icon_button a.news:before { content: "\e904"; }
.icon_button a.office:before { content: "\e903"; }
.icon_button a.home:before { content: "\e900"; }
.icon_button a.help:before { content: "\e901"; font-size:19px; }
.icon_button a.light:before { content: "\e902"; font-size:20px; }
.icon_button a.menu:before { content: "\e90e"; font-size:13px; }
.icon_button a.grid:before { content: "\e90d"; font-size:14px; }
.icon_button a.search:before { content: "\e90c"; }
.icon_button a.tel:before { content: "\e90b"; }
.icon_button a.calendar:before { content: "\e908"; }
.icon_button a.mail:before { content: "\e906"; font-size:12px; }
.icon_button a.pdf:before { content: "\e910"; }
.icon_button a.pencil:before { content: "\e911"; }
.icon_button a.clock:before { content: "\e912"; }
.icon_button a.tiktok:before { content: "\e94d"; font-family: 'design_plus'; }
.icon_button a.crown:before { content: "\e940"; font-family: 'design_plus'; font-size: 21px; }
.icon_button a.share:before { content: "\f1e0"; font-family: 'design_plus'; }


/* ヘッダーメッセージ */
#header_message {
  position:absolute; left:0; top:0; z-index:2000; width:100%;
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  min-height:50px; text-align: center; font-size:14px; font-weight:600; padding:15px 20px;
}
#header_message .label { display:block; color:inherit; line-height:1.4; padding:0 20px; }
#header_message a.label:hover { text-decoration: underline; }
@media (max-width: 767px) {
  #header_message { min-height:40px; font-size:12px; }
}

/* ----------------------------------------------------------------------
 メガメニュー
---------------------------------------------------------------------- */
.pc .megamenu_button + ul { display:none !important; }


/* 共通項目 */
.megamenu { opacity:0; pointer-events:none; width:calc(100% - 160px); height:350px; background:#f3f3f3; position:absolute; top:80px; left:80px; overflow:hidden; z-index:2; border:1px solid #ddd; border-top:none; }
.head-area.hide_page_side_bar .megamenu { width:100%; left:0; }
.megamenu.active_mega_menu { opacity:1; pointer-events:initial; top:80px; }
.head-area.open_header .megamenu.active_mega_menu { top:79px; }
.megamenu_inner { position:relative; }
#global_menu > ul > li.active_megamenu_button > a { }


/* メガメニューA　記事カルーセル */
.megamenu_a { }
.megamenu_a .category_list { display:flex; flex-wrap:wrap; justify-content:center; }
.megamenu_a .category_list a { display:block; height:77px; line-height:77px; padding:0 20px; }
.megamenu_a .category_list li.active a { color:red; }
.megamenu_a .post_list {  display:flex; flex-wrap:wrap; width:930px; margin:0 auto; }
.megamenu_a .post_list .item { width:calc(25% - 15px); margin-right:20px; }
.megamenu_a .post_list .item:last-of-type { margin:0; }
.megamenu_a .post_list .animate_background { margin:0 0 18px 0; display:block; width:100% !important; height:127px !important; position:relative; z-index:1; overflow:hidden; }
.megamenu_a .post_list .image_wrap { width:100%; height:100%; position:relatiive; }
.megamenu_a .post_list .image { width:100%; height:100% !important; }
.megamenu_a .post_list .image img { width:100%; height:100%; position::absolute; top:0; left:0; object-fit:cover; transform:none; }
.megamenu_a .post_list .date { font-size:12px; color:#999; display:block; margin:0 0 14px 0; }
.megamenu_a .post_list .title { font-size:16px; line-height:1.6; }
.megamenu_a .post_list .title a { display:block; height:4.8em; overflow:hidden; visibility:visible; }
.megamenu_a .post_list .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }


/* メガメニューB */
.megamenu_b { }
.mega_carousel { width:932px; margin:30px auto 0; position:relative; }
.mega_carousel:after { content:''; display:block; width:1px; height:155px; background:#fff; position:absolute; right:0; bottom:0; }
.mega_carousel .item { position:relative; width:232.5px; height:290px; }
.mega_carousel .animate_background { display:block; width:100% !important; height:135px !important; position:relative; z-index:1; overflow:hidden; }
.mega_carousel .image_wrap { width:100%; height:100%; position:relatiive; }
.mega_carousel .image { width:100%; height:100% !important; }
.mega_carousel .image img { width:100%; height:100%; position::absolute; top:0; left:0; object-fit:cover; transform:none; }
.mega_carousel .category { padding:0 25px; font-size:12px; min-width:110px; height:35px; line-height:35px; background:#fff; text-align:center; display:inline-block; position:absolute; left:30px; transform: translate3d(0,-100%,0); z-index:2; }
.mega_carousel .content { background:#fff; height:155px; padding:28px 25px; position:relative; }
.head-area.hide_blog_date .mega_carousel .content { padding:42px 30px; display:flex; flex-wrap:wrap; align-items:center; }
.mega_carousel .content:after { content:''; display:block; width:1px; height:100%; position:absolute; top:0px; right:0px; background:#ddd; z-index:2; }
.mega_carousel .title { font-size:16px; line-height:1.6; }
.mega_carousel .title a { display:block; height:4.8em; overflow:hidden; visibility:visible; }
.mega_carousel .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.head-area.hide_blog_date .mega_carousel .title a { height:auto; max-height:4.8em; }
.mega_carousel .date { font-size:12px; color:#999; display:block; position:absolute; bottom:28px; }
.megamenu_b .splide__arrows { display:none; }
.megamenu_b .splide__arrows.mega_menu_arrow { display:block; }
.megamenu_b .splide__arrow { background:none !important; border:none !important; }
.megamenu_b .splide__arrow:before { font-size:18px; color:#000; }
.megamenu_b .splide__arrow:hover:before { color:rgba(0,0,0,0.3) !important; }
.megamenu_b .splide__arrow.splide__arrow--prev { left:-60px; }
.megamenu_b .splide__arrow.splide__arrow--next { right:-60px; }


/* メガメニューC */
.megamenu_c { }
.mega_treatment_category_wrap { width:930px; margin:0 auto; position:relative; }
.mega_treatment_category_wrap:after { content:''; display:block; width:1px; height:350px; background:#f3f3f3; position:absolute; right:0; top:0; }
.mega_treatment_category { width:930px; height:350px; margin:0 auto; position:relative; }
.mega_treatment_category .item { position:relative; border-right:1px solid #fff; }
.mega_treatment_category .item:last-of-type { border:none; }
.mega_treatment_category .item a { display:block; }
.mega_treatment_category .image_wrap { width:100%; height:230px; position:relative; overflow:hidden; z-index:1; }
.mega_treatment_category .image { width:100%; height:100% !important; display:block; overflow:hidden; position:relative; z-index:2; }
.mega_treatment_category .image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; object-position:left top; }
.mega_treatment_category .title { color:#000; padding:0 25px; font-size:16px; min-width:210px; height:50px; line-height:50px; background:#f3f3f3; text-align:center; display:inline-block; position:absolute; left:50%; transform: translate3d(-50%,-100%,0); z-index:2; }
.mega_treatment_category .desc { height:120px; display:flex; flex-wrap:wrap; align-items:center; }
.mega_treatment_category .desc p { margin-top:3px; line-height:2; padding:0 40px; color:#000; max-height:6em; overflow:hidden; visibility:visible; }
.mega_treatment_category .desc p span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.megamenu_c .splide__arrows { display:none; }
.megamenu_c .splide__arrows.mega_menu_arrow { display:block; }
.megamenu_c .splide__arrow { background:none !important; border:none !important; }
.megamenu_c .splide__arrow:before { font-size:18px; color:#000; }
.megamenu_c .splide__arrow:hover:before { color:rgba(0,0,0,0.3) !important; }
.megamenu_c .splide__arrow.splide__arrow--prev { left:-61px; }
.megamenu_c .splide__arrow.splide__arrow--next { right:-61px; }




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */

/* 画像カルーセル */
#footer_image_carousel.splide { visibility:visible; }
#footer_image_carousel.no_slide .splide__list { display:flex; flex-wrap:wrap; }
#footer_image_carousel .item { width:322px; height:auto; aspect-ratio:322/209; position:relative; overflow:hidden; }
#footer_image_carousel.no_slide .splide__list .item { flex: 1 1 0%; }
#footer_image_carousel img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }


/*　アイコンバナー */
#footer_icon_banner { display:flex; flex-wrap:wrap; margin-right:-1px; }
#footer_icon_banner .item { flex: 1 1 0%; }
#footer_icon_banner .item a { display:block; width:100%; height:70px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-right:1px solid #ddd; }
#footer_icon_banner .item:last-of-type a { border-right:none; }
#footer_icon_banner a:before { color:#937960; margin:0 12px 0 0; }
#footer_icon_banner a span { transition: color 0.1s ease; }


/* ロゴエリア */
#footer { border-top:1px solid #ddd; }
#footer_top { display:flex; flex-wrap:wrap; }
#footer_top > div { flex: 1 1 0%; border-left:1px solid #ddd; padding:60px 60px; }
#footer_top > div:first-of-type { border-left:none; }
#footer_top .footer_menu_mobile { display:none; }


/* ロゴ */
#footer_logo { display:flex; flex-wrap:wrap; justify-content:center; align-items:center;}
#footer_logo img { display:block; -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; margin:0 auto; }
#footer_logo a:hover img { opacity:0.5; }
#footer_logo a .logo_text { font-weight:500; }
#footer_logo a:hover .logo_text { }
#footer_logo .logo_image.mobile { display:none; }


/* メニュー */
.footer_menu li { margin:0 0 30px 0; font-size:14px; }
.footer_menu li:last-of-type { margin:0; }
.footer_menu li a { display:block; }
.footer_menu li a:hover { color:rgba(0,0,0,0.5) !important; }

/* 住所 */
#footer_address { text-align:center; font-size:14px; line-height:2; border-top:1px solid #ddd; padding:15px; }
#footer_address span { padding:0 0.5em; }

/* コピーライト */
#copyright { border-top:1px solid #ddd; height:60px; line-height:60px; position:relative; text-align:center; font-size:12px; }



/* SNSボタン */
#footer_sns { position:fixed; left:0px; bottom:20px; z-index:10; width:80px; background:#fff; padding:20px 0 0;}
#footer_sns li { display:block; margin:0; }
#footer_sns li a { width:80px; height:35px; }
#footer_sns.color_type1 li a:before { color:#937960; }
.head-area.hide_page_header_bar #footer_sns { display:none; }


/* SNSボタン（全箇所共通） */
.sns_button_list { font-size:0; z-index:20; text-align:center; }
.sns_button_list li { font-size:12px; display:inline-block; margin:0 7px; position:relative; }
.sns_button_list li a {
  display:block; text-align:center; position:relative; overflow:hidden;
  width:17px; height:18px;
}
.sns_button_list li a span { display:none; }
.sns_button_list li a:before {
  font-family:'design_plus'; font-size:16px; display:block;
  position:absolute; left:50%; top:50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.sns_button_list.color_type1 li a:before { color:#000; }
.sns_button_list li a:hover:before { opacity:0.5; }
.sns_button_list li a:hover:before { }
.sns_button_list li.twitter a:before { content:'\e904'; margin-left:0.7px; }
.sns_button_list li.facebook a:before { content:'\e944'; font-size:18px; }
.sns_button_list li.insta a:before { content:'\ea92'; font-size:15px; margin-top:1px; }
.sns_button_list li.pinterest a:before { content:'\e905'; font-size:17.5px; margin-top:1px; }
.sns_button_list li.youtube a { width:19px;}
.sns_button_list li.youtube a:before { content:'\ea9d'; font-size:18px; margin-top:1px; }
.sns_button_list li.contact a:before { content:'\f0e0'; }
.sns_button_list li.rss a:before { content:'\e90b'; font-size:14px; margin-top:1px; }
.sns_button_list li.user_url a:before { content:'\e942'; margin-left:0.7px; }
.sns_button_list.color_type2 li { margin:0 8px; }
.sns_button_list.color_type2 li a { width:25px; height:25px; }
.sns_button_list.color_type2 li a:before { font-size:22px; }
.sns_button_list.color_type2 li.twitter a:before { color:#1da1f2; }
.sns_button_list.color_type2 li.facebook a:before { color:#1877f2; font-size:25px; }
.sns_button_list.color_type2 li.insta a:before { color:#e4405f; }
.sns_button_list.color_type2 li.pinterest a:before { color:#bd081c; font-size:24px; }
.sns_button_list.color_type2 li.youtube a:before { color:#f00; }
.sns_button_list.color_type2 li.contact a:before { color:#00729f; }
.sns_button_list.color_type2 li.rss a:before { color:orange; }
.sns_button_list.color_type2 li.user_url a:before { color:#00729f; }


/* フッターバー */
#dp-footer-bar {
  position:fixed; right:0px; bottom:0px; z-index:999; width:100%;
}
.open_menu #dp-footer-bar { display:none; }
.dp-footer-bar-type1 #dp-footer-bar {
  opacity:0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
}
.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity:1;
}
.dp-footer-bar-type2 #dp-footer-bar {
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
.dp-footer-bar-type2 #dp-footer-bar.active {
  -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
}


/* フッターバー　アイコン無しタイプ */
#dp-footer-bar {
  height:50px;
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
#dp-footer-bar a {
  height:50px; line-height:50px; display:block; text-align:center; font-size:12px; padding:0 20px; text-decoration:none !important;
  -webkit-flex: 1 1 0%; flex: 1 1 0%;
}

#footer_top {
  display: none;
}

/*Custom CSS
-----------------------------------*/
#header_logo2 .icon_image {
  background-color:#2c5918;
}

/*ぱんくず*/
.cb-breadcrumbs {
  margin-top: 120px;
}

.top #content {
  padding-top: 8em;
}


/* ----------------------------------------------------------------------
SP（スマホ） 基本設定
---------------------------------------------------------------------- */
@media (max-width: 767px) {
.cb-breadcrumbs {
  margin-top: 80px;
}

#drawer_logo a .logo_text {
    color: #000;
}

#drawer_menu .close_button {
  position: relative; /* 必須：::before/::after の基準 */
}

/* リセットと上書き：::before */
#drawer_menu .close_button::before,
#drawer_menu .close_button::after {
  /* リセット */
  content: '' !important;
  font-family: initial !important;
  color: initial !important;

  /* 上書き */
  position: absolute;
  top: 21px;
  left: 19px;
  width: 16px;
  height: 2px;
  background-color: #000;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

/* 斜めクロスの左上→右下の線 */
#drawer_menu .close_button::before {
  transform: rotate(45deg);
}

/* 斜めクロスの右上→左下の線 */
#drawer_menu .close_button::after {
  transform: rotate(-45deg);
}

	
/* ----------------------------------------------------------------------
 ドロワーメニュー
---------------------------------------------------------------------- */
#drawer_menu {
  display:block; position:fixed; top:0px; right:0; width:100%; height:100vh; height:100dvh; background:#fff; overflow:auto; z-index:10000;
  opacity:0; transition: opacity 0.7s ease; -webkit-overflow-scrolling: touch; pointer-events:none;
}
.open_menu #drawer_menu { opacity:1; pointer-events:auto; }
.open_menu #js-footer-bar { display:none; }

#drawer_menu a[href^="tel:"] { pointer-events:none; }
.open_menu #drawer_menu a[href^="tel:"] { pointer-events:auto; }

/* ドロワーメニューのスクロールバー */
#drawer_menu .simplebar-scrollbar:before { background:#000 !important; }


/* 閉じるボタン */
#drawer_menu .close_button_area { position:relative; width:100%; height:60px; }
#drawer_menu .close_button { cursor:pointer; display:block; width:60px; height:60px; position:absolute; top:8px; right:0px; z-index:10; }
#drawer_menu .close_button:before {
  color:#000; font-family:'design_plus'; content:'\e91a'; font-size:20px; display:block; top:21px; left:19px; position:absolute;
  -webkit-transition: all 0.2s ease; transition: all 0.2s ease;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#drawer_menu .close_button:hover:before { }


/* グローバルメニュー */
#header #global_menu { display:none; }
#mobile_menu { width:100%; margin:-1px 0 0; border-top:1px solid #ddd; }
#mobile_menu ul { margin:0; }
#mobile_menu li ul { display:none; }
#mobile_menu a {
  position:relative; display:block;  margin:0; padding:0 50px 0 20px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;
  color:#000; font-size:14px; border-bottom:1px solid #ddd;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
}
#mobile_menu li li a { border:none; height:50px; line-height:50px; }
#mobile_menu a:hover { color:#fff; }


/* グローバルメニュー（子メニュー） */
#mobile_menu li { position:relative; }
#mobile_menu .child_menu_button { display:block; position:absolute; text-align:center; width:50px; height:50px; right:0px; top:-5px; z-index:9; cursor:pointer; }
#mobile_menu .child_menu_button:after {
  background:#000; content:''; height:2px; width:12px; display:block;
  position:absolute; right:25px; top:30px; transition: background-color 0.25s ease;
}
#mobile_menu .child_menu_button:before {
  background:#000; content:''; height:12px; width:2px; display:block;
  position:absolute; right:30px; top:25px; transition: background-color 0.25s ease;
}
#mobile_menu li.open > .child_menu_button:before {  display:none; }
#mobile_menu li.open > a { border-bottom:none; }
#mobile_menu li li a { opacity:0; }
#mobile_menu li li.animate a { opacity:1; transition: opacity 0.25s ease; }
#mobile_menu li ul { background:#222; }


/* 言語ボタン */
#drawer_lang_button { display:flex; flex-wrap:wrap; margin:0 0 0 20px; }
#drawer_lang_button li { font-size:14px; margin:0 10px 0 0; line-height:1; }
#drawer_lang_button li a { color:#aaa; height:50px; line-height:50px; }
#drawer_lang_button li.active a { color:#000; pointer-events:none; }


/* 検索フォーム */
#drawer_menu_search { position:relative; width:100%; }
#drawer_menu_search .input_area { background:#f3f3f3; width:100%; height:50px; position:relative; }
#drawer_menu_search .input_area input { font-size:12px; border:none; background:none; height:50px; width:calc(100% - 50px); position:absolute; left:0px; top:0px; padding:20px; }
#drawer_menu_search .button_area { width:50px; height:50px; position:absolute; right:0px; top:0px; }
#drawer_menu_search .button_area input { width:50px; height:50px; border:none; background:none; cursor:pointer; }
#drawer_menu_search .button_area:before {
  display:block; text-align:center; cursor:pointer; z-index:1; pointer-events:none;
  position:absolute; font-family:'design_plus'; color:#000; font-size:14px; content:'\e94c'; left:13px; top:20px;
  transition: color 0.25s ease;
}
#drawer_menu_search .button_area:hover:before { }


/* ロゴ */
#drawer_logo a { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; height:60px; position:absolute; left:20px; top:0; z-index:100; }
#drawer_logo .icon_image { margin-right:10px; }
#drawer_logo .icon_image img.pc { display:none; }
#drawer_logo .text_image { padding:0; height:60px; display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center; }
#drawer_logo .text_image img.pc { display:none; }
#drawer_logo .text_image img { transform:scale(0.8); transform-origin:left; }
#drawer_logo .text_image img.mobile { transform:scale(1); transform-origin:left; }
#drawer_logo img { display:block; transition: opacity 0.3s ease-in-out; max-height:30px; width:auto; }
#drawer_logo a:hover img { opacity:0.5; }
#drawer_logo a .logo_text { font-weight:500; }
#drawer_logo a:hover .logo_text { }


/* アイコンバナー */
#drawer_icon_button { display:flex; flex-wrap:wrap; position:relative; }
#drawer_icon_button:before { content:''; width:1px; height:100%; display:block; background:#ddd; position:absolute; top:0; left:50%; z-index:-1; }
#drawer_icon_button .item { width:50%; }
#drawer_icon_button .item.long { width:100%; }
#drawer_icon_button .item.long br { display:none; }
#drawer_icon_button .item a { font-size:14px; display:block; width:100%; height:50px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-bottom:1px solid #ddd; }
#drawer_icon_button .item.long a { background:#fff !important; border-color:#ddd !important; color:#000; }
#drawer_icon_button a:before { margin:0 8px 0 0; }




/* ----------------------------------------------------------------------
 ページ上部　ヘッダー
---------------------------------------------------------------------- */
#header { height:60px; display:block; }
#header:before { width:60px; }
body.hide_page_header_bar #header::before { display:none; }
@media screen and (max-width:800px) {
  body.home #header { background:none; }
  body.home.open_header #header { background:#fff; }
  #header:before { display:none; }
  body.header_fix #header { position:fixed; background:#fff; transition: all 0.25s ease; z-index:1000; }
  body.hide_page_header_bar.header_fix #header { position:absolute; background:none; }
  body.hide_page_header_bar.header_fix #header:before { display:none; }
  body.open_header #header { animation:none; }
  body.close_header #header { animation:none; }
  body.header_fix #header:after { content:''; display:block; width:100%; height:1px; background:#ddd; position:absolute; bottom:0px; left:0px; }
  body.open_header_mobile #header { position:fixed; background:#fff; animation: open_header_animation 0.6s ease forwards; top:0 !important; }
  body.close_header_mobile #header {  position:fixed; background:#fff; animation: close_header_animation 0.3s ease forwards; top:0 !important; }
  body.open_header_mobile #header:after { content:''; display:block; width:100%; height:1px; background:#ddd; position:absolute; bottom:0px; left:0px; }
}


/* ロゴ */
#header_logo2 a { height:60px; }
#header_logo2 .icon_image { width:60px; height:60px; }
#header_logo2 .icon_image img { transform:scale(0.8); }
#header_logo2 .text_image { padding:0 20px; height:60px; }
#header_logo2 .text_image img { transform:scale(0.8); transform-origin:left; }
@media screen and (max-width:800px) {
  body.home #header_logo, body.hide_page_header_bar #header_logo { display:block; }
  body.home #header_logo2, body.hide_page_header_bar #header_logo2 { display:none; }
}
body.home.no_header_logo_image_mobile #header_logo { display:none; }
body.home.no_header_logo_image_mobile #header_logo2 { display:block; }
body.home.show_text_logo #header_logo2 { display:block; }
#header_logo { width:150px; height:150px; left:0; top:0; }
#header_logo a { width:150px; height:150px; padding:20px; }
@media screen and (max-width:800px) {
  #header_logo img.pc { display:none; }
  #header_logo img.mobile { display:block; }
}
body.home.open_header #header_logo { display:none; }
body.home.open_header #header_logo2 { display:block; }
@media screen and (max-width:800px) {
  #header_logo { display:none; }
  #header_logo2 { display:block; left:20px; }
  #header_logo2 img { max-height:30px; }
  #header_logo2 .logo_text { padding-left:0px; }
  body.home.header_fix #header_logo2 { display:block; }
  body.home.open_header_mobile #header_logo2 { display:block; }
  body.home.close_header_mobile #header_logo2 { display:block; }
  body.home.no_header_logo_image_mobile #header_logo2 { transition: opacity 1.4s ease 0.5s; }
  #header_logo { width:120px; height:120px; }
  #header_logo a { width:120px; height:120px; }
  #header_logo2 .icon_image, #header_logo2 .icon_image_mobile { background:none !important; width:auto; height:auto; margin-right:10px; }
  #header_logo2 img.pc { display:none; }
  #header_logo2 img.mobile { display:block; transform:scale(1); }
  #header_logo2 .text_image { padding:0; }
  body.home.no_header_logo_image_mobile #header_logo2 { left:40px; top:20px; }
  body.home.no_header_logo_image_mobile.open_header_mobile #header_logo2, body.home.no_header_logo_image_mobile.close_header_mobile #header_logo2 { left:20px; top:0px;}
  body.home.show_text_logo #header_logo2 { left:40px; top:20px; }
  body.admin-bar.home.show_text_logo #header_logo2 { top:40px; }
  body.home.show_text_logo.open_header_mobile #header_logo2, body.home.show_text_logo.close_header_mobile #header_logo2 { left:20px; top:0px; }
  body.home .logo_text { color:#fff; }
  body.home.open_header_mobile .logo_text, body.home.close_header_mobile .logo_text { color:#000; }
}
@media screen and (max-width:800px) {
  #header_logo { display:none; }
}


/* サイトの説明文 */
#site_desc { display:none; }


/* アイコンボタン */
#side_icon_button { display:none; }


/* 非表示にする要素 */
#global_menu { display:none; }
#header_search { display:none; }
#header_lang_button { display:none; }


/* メニューボタン */
#drawer_menu_button {
  position:absolute; z-index:10000; right:0px; bottom:0px; transition:opacity 1.4s ease 0.5s;
  display:inline-block; font-size:11px; width:60px; height:60px; line-height:60px; text-decoration:none; text-align:center;
}
#drawer_menu_button span {
  width:22px; height:2px; background:#000; display:block; position:absolute; left:28px;
  -webkit-transition-property:background-color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  transition-property:background-color; transition-duration:0.2s; transition-timing-function:ease;
  -webkit-transition: all 0.3s ease; transition: all 0.3s ease;
}
body.hide_page_header_bar #header #drawer_menu_button { display:none; }
body.home #drawer_menu_button { opacity:0; }
body.home #drawer_menu_button.animate { opacity:1; }
#drawer_menu_button:hover span { opacity:0.5; }
#drawer_menu_button span { left:19px; }
#drawer_menu_button span:nth-child(1) { top:24px; }
#drawer_menu_button span:nth-child(2) { top:30px; }
#drawer_menu_button span:nth-child(3) { top:36px; }
@media screen and (max-width:800px) {
  body.home #header #drawer_menu_button span { background:#fff; }
  body.home.header_fix #header #drawer_menu_button span { background:#000; }
  body.home.open_header_mobile #header #drawer_menu_button span { background:#000; }
  body.home.close_header_mobile #header #drawer_menu_button span { background:#000; }
  body.home #drawer_menu_button { right:24px; bottom:-20px; }
  body.admin-bar.home #drawer_menu_button { bottom:-40px; }
  body.home.header_fix #drawer_menu_button { right:0px; bottom:0px; }
  body.home.open_header_mobile #drawer_menu_button { right:0px; bottom:0px; }
  body.home.close_header_mobile #drawer_menu_button { right:0px; bottom:0px; }
}


/* メガメニュー */
.megamenu { display:none; }


/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* 画像カルーセル */
@media screen and (max-width:1200px) {
  #footer_image_carousel .item { width:250px; }
}
@media only screen and (max-width: 800px) {
  #footer_image_carousel .item { width:180px; }
}


/*　アイコンバナー */
#footer_icon_banner .icon_button a:before { transform-origin:center; }
@media screen and (max-width:1200px) {
  #footer_icon_banner .item a { font-size:14px; }
}
@media screen and (max-width:1100px) {
  #footer_icon_banner { display:block; margin:0; }
  #footer_icon_banner .item a { text-align:center; height:60px; border-top:1px solid #ddd; border-right:none; }
  #footer_icon_banner .item:first-of-type a { border-top:none; }
}
@media screen and (max-width:800px) {
  #footer_icon_banner .item a { height:50px; }
  #footer_icon_banner a:before { margin:0 8px 0 0; }
}


/* SNSボタン */
#footer_sns { position:relative; left:0px; bottom:0px; width:auto; opacity:1; border-top:1px solid #ddd; padding:0; background:none; }
#footer_sns li { display:inline-block; margin:0; }
#footer_sns li a { width:35px; height:50px; }
@media screen and (max-width:800px) {
  body.error404 #footer_sns { display:none; }
}


/* ロゴエリア */
#footer_top > div { padding:60px 30px; }
@media screen and (max-width:1100px) {
  #footer_top > div { padding:40px 30px; }
  #footer_logo { display:none; }
  #footer_logo img { transform:scale(0.8); transform-origin:bottom; }
}
@media screen and (max-width:800px) {
  #footer_top { display:block; margin-bottom:-1px; position:relative; }
  #footer_top > div { padding:40px 20px 35px; width:100%; border-bottom:1px solid #ddd; border-left:none; }
  .footer_menu li { margin:0 0 13px 0; font-size:14px; line-height:1.5; }
  #footer_logo img { transform:scale(1); }
  #footer_logo .logo_image.pc { display:none; }
  #footer_logo .logo_image.mobile { display:block; }
  #footer_top .footer_menu { display:none; }
  #footer_top .footer_menu_mobile { display:block !important; }
  #footer_top .footer_menu a { text-align:center; }
}


/* 住所 */
@media screen and (max-width:1100px) {
  #footer_address { padding:35px 15px 32px; }
  #footer_address span { padding:0; display:block; }
}


/* コピーライト */
@media screen and (max-width:800px) {
  #copyright { height:50px; line-height:50px; }
}
	
#mobile_menu a:hover {
    color: #333;
}

}
