@charset "utf-8";

/* ----------------------------------------------------------------------
 レイアウト
---------------------------------------------------------------------- */
html { max-width:100vw; }

@media only screen and (max-width:1329px) {
  body { min-width:300px; }
  #left_col { margin: 50px auto 100px; }
  #side_col { width:300px; }
  #main_col, .inner { width:90%; margin: auto; /* 1200/1330 */ }
  #article { margin: 0; }
}

@media only screen and (max-width:1024px) {
  body { font-size:12px; }
  #left_col, #side_col { width:initial; width:auto; }
  #left_col, #side_col { float:none !important; }
  #main_col, .inner { width:initial; width:auto; padding:0 20px; }
  #main_col { /*margin:30px 0 33px;*/ margin:0px 0 50px; }
  #side_col { margin:30px 0 0 0; }

  /* shutto翻訳 */
  .stt-lang-select.tr { top: 60px !important; }
}

@media only screen and (max-width:767px) {
  /* shutto翻訳 */
  .stt-lang-select { right: 0 !important; left: auto !important; border-radius: 0 0 0 5px !important; }
  .header_fix .stt-lang-select { bottom: 55px !important; }
}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  body { font-size:12px; }
}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
@media only screen and (max-width:1329px) {
  .fix_top.header_fix #header_top { width:100%; min-width:initial; min-width: auto; }
}

@media only screen and (max-width:1024px) {
  #header { position:relative; border-top:0!important; }
  #header_top { overflow:initial; }
  #header_top .inner { height:60px; min-height:initial; min-width: auto; }

  /* ロゴ */
  #header_logo, #header_logo_fix { max-height:60px; }
  #header_logo .logo, #header_logo_fix .logo { line-height:60px; }
  #header_logo #logo_text .logo, #header_logo_fix #logo_text_fixed .logo { font-size:26px; }
  #header_logo img, #header_logo_fix img { width: 220px; height: auto; }
  #header_logo .desc { display:none; }

  /* メニューボタン */
  a.menu_button {
    position:absolute; right:0px; z-index:9; text-align: center;
    display:inline-block; color:#000; width:60px; height:60px; line-height:60px; text-decoration:none;
  }
  a.menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  a.menu_button:before {
    content:'\f0c9'; font-family:'design_plus'; color:#fff; display:block; position:absolute; top:17px; left:19px;
    font-size:18px; width:24px; height:24px; line-height:24px;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }

  /* グローバルメニュー */
  #global_menu { display:none; clear:both; width:100%; margin:0; top:60px; left:0; position:absolute; z-index:9; background:#b69e84; max-height:-webkit-calc(100vh - 60px); max-height:calc(100vh - 60px); overflow-y:auto; }
  #global_menu ul { margin:0; width:100%; text-align:left; }
  #global_menuli, #global_menu > ul > li { display:block; width:100%; }
  #global_menu ul li:last-child { border-bottom:none; }
  #global_menu ul ul { display:none; }
  #global_menu a, #global_menu > ul > li > a {
    position:relative; display:block; margin:0; padding:9.5px 14px; height:auto; min-height:40px; line-height:1.6; overflow:hidden; text-decoration:none; font-size:13px; border-bottom:1px solid rgba(255,255,255,.3); color: #fff !important;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #global_menu a:hover { background:#92785f; }
  #global_menu ul ul a { padding-left:28px; background:rgba(255,255,255,.1); }
  #global_menu ul ul ul a { padding-left:42px; background:rgba(255,255,255,.2); }
  #global_menu ul ul ul ul a { padding-left:55px; background:rgba(255,255,255,.3); }
  #global_menu li.menu-item-has-children { position:relative; }
  #global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:39px; right:0px; top:1px; z-index:5; cursor:pointer; }
  #global_menu .child_menu_button .icon:before {
    content:'\e90e'; font-family:'design_plus'; font-size:13px; color:#eee; text-align:center;
    display:block; width:20px; height:20px; line-height:20px;
    position:absolute; left:20px; top:10px;
    -webkit-transition:transform 0.5s ease; -moz-transition:transform 0.5s ease; -ms-transition:transform 0.5s ease; -o-transition:transform 0.5s ease; transition:transform 0.5s ease;
  }
  #global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
  #global_menu li.menu-item-has-children.open > .child_menu_button .icon:before {
    -webkit-transform:rotateX(180deg); -moz-transform:rotateX(180deg); -ms-transform:rotateX(180deg); -o-transform:rotateX(180deg); transform:rotateX(180deg);
  }


  span.lang.pc { display: none; }
  span.lang.sp { display: block; position: absolute; right: 60px; z-index: 9; top: 36%; }
  span.lang {  margin-left: 20px; }
  span.lang a { color: #020202; border-bottom: 1px solid; padding-bottom: 2px; }


  /* ヘッダー固定 */
  .mobile_fix_top.header_fix #header {
    position:fixed; width:100%; top:0; left:0; z-index:999;
    -webkit-transform:translateY(0%); -moz-transform:translateY(0%); -ms-transform:translateY(0%); -o-transform:translateY(0%); transform:translateY(0%);
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
    animation:slideDown 0.5s ease; -ms-animation:slideDown 0.5s ease; -webkit-animation:slideDown 0.5s ease; -moz-animation:slideDown 0.5s ease; 
  }
  .mobile_fix_top.header_fix #header_top { background:rgba(0,0,0,1); }
  .mobile_fix_top.header_fix #header.active #header_top { background:rgba(0,0,0,1); }

  .mobile_fix_top.header_fix #logo_image_fixed, .mobile_fix_top.header_fix #logo_text_fixed { display:block; }
  .mobile_fix_top.header_fix #logo_image, .mobile_fix_top.header_fix #logo_text { display:none; }

  /* ヘッダー検索 */
  #header_top a.search_button {
    position:absolute; right:45px; z-index:99; text-align: center;
    display:inline-block; color:#fff; width:60px; height:60px; line-height:60px; text-decoration:none;
  }
  #header_top a.search_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  #header_top a.search_button:before {
    content:'\e915'; font-family:'design_plus'; color:#fff; display:block; position:absolute; top:17px; left:19px;
    font-size:18px; width:24px; height:24px; line-height:24px;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }

  #header_search, #index_header_search { width:100%; padding:25px 0; }
  #header_search { display:none; position:absolute; top:60px; left:0; z-index:9; }
  #header_search form, #index_header_search form { display:block; column-count: 1; }
  .header_search_inputs, form.columns-5 .header_search_inputs { width:100%; margin:0 0 12px 0; }
  .header_search_button, form.columns-5 .header_search_button { width:100%; margin:25px 0 0 0; text-align:center; }
  .header_search_inputs input { height:40px; padding:14px 16px; font-size:14px; }

  .header_search_inputs select { height:40px; padding:0 16px; font-size:14px; opacity:1; -webkit-appearance:none; -moz-appearance:none; background: white url(../fonts/angle-down.svg) no-repeat right 16px center / 12px }
  .header_search_button input { height:45px; font-size:14px; }
  #header_search_submit { width:220px; background:#000; }
  .header_search_keywords { position:relative; }
  .header_search_keywords #header_search_keywords { padding-right:56px; }
  .header_search_keywords ul.search_keywords_operator { width:42px; height:50px;  }
  .header_search_keywords ul.search_keywords_operator li { height:20px; line-height:20px; font-size:12px; }
  .header_search_inputs .chosen-container-single .chosen-single { padding-left:16px; height:50px; line-height:50px; }
  .header_search_inputs .chosen-container-single .chosen-single div b:before { line-height:50px; }

  /* パンくずリンク */
  #breadcrumb { padding:13px 0; height:initial; height: auto; font-size:12px; line-height:1.7; }
  #breadcrumb ul { white-space:initial; }
  #breadcrumb li.home a:before { font-size:12px; color:#999; }
  #breadcrumb li { font-size:12px; }
  #breadcrumb li:after { font-size:9px; bottom:0; }
}

/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .side_widget { margin:0 0 28px 0; font-size:12px; }
  .side_headline,.widget_block .wp-block-heading { margin:0 0 12px 0; font-size:20px; line-height:1.4; }
  .side_widget + .side_widget .side_headline { margin-top:-4px; }
  .side_widget ul { margin:0 0 0 14px; }
  .side_widget li ul { margin: 0 0 0 10px; }

  /* バナーリスト */
  ul.banner_list li, .widget ul.banner_list li { margin:0 0 8px 0; }
  ul.banner_list li .caption { font-size:20px; }

  /* ランキング */
  .tcdw_ranking_list_widget .image { width:120px; height:120px; }
  .tcdw_ranking_list_widget .info { margin:0 0 0 138px; height:120px; }
	.tcdw_ranking_list_widget .rank {
		width: 44px; padding: 0 10px; line-height: 21px; height: 21px; 
	}
	.tcdw_ranking_list_widget .title { max-height:none; font-size:14px; }

  /* アイコンメニュー */
  .tcdw_icon_menu_list_widget li { font-size:14px; }

	/* デザインされた記事一覧 */
	.styled_post_list1_widget { font-size:14px; }
	.styled_post_list1 .title { max-height:none; }
	.styled_post_list1 .info { height:auto; }
	.styled_post_list1 .date { position:static; font-size:10px; }
}

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #footer_contents { padding:40px 0 0 0; }
  #footer_info { padding:18px 0 0 0; }

  /* logo */
  #footer_logo .logo { font-size:26px; line-height:1.2; }

  /* footer bottom menu */
  #footer_bottom_menu { display:block; margin:16px 0 0 0; }
  #footer_bottom_menu ul { display:inline; font-size:0; }
  #footer_bottom_menu li { display:inline-block; font-size:12px; line-height:2; }
  #footer_bottom_menu li:after { content:"|"; display:inline-block; padding:0 0.5em; }
  #footer_bottom_menu li:last-child:after { content:""; }

  /* SNSボタン */
  #footer_social_link { display:block; margin:12px 0 0 0; width:initial; width:auto; text-align:center; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #footer_social_link li { margin:0 8px; }

  /* コピーライト */
  #copyright { margin:32px -20px 0 -20px; padding:17px 20px; width:initial; width:auto; font-size:10px; line-height:1.6; text-align:center; background:#000; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #copyright span { display:none; }

  /* ページ上部へ戻るボタン */
  #return_top { display:none; position:fixed; bottom:0; right:0; }
  #return_top a { display:block; width:50px; height:50px; border-radius:0; }
  #return_top a:before {
    font-family:'design_plus'; color:#fff; font-size:16px; display:block; position:absolute; top:50%; left:50%; margin:-0.4em 0 0 -0.5em;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }

  /* フッターウィジェット */
  #footer_widget { margin:0 0 10px 0; padding:10px 0; text-align:left;   grid-template-columns: 1fr 1fr 1fr; }
  .footer_headline { margin:0 0 14px 0; font-size:20px; line-height:1.4; }

  /* エリア・カテゴリーメニュー */
  #footer_nav { padding:30px 0 24px 0; }
  #footer_nav .footer_nav_cols .footer_nav_1 { width:initial; width:auto; float:none; }
  #footer_nav .footer_nav_cols .footer_nav_2 { width:initial; width:auto; float:none; margin-top:22px; }
  #footer_nav .headline { margin:0 0 12px 0; padding:0 12px; min-width:46px; line-height:21px; border-radius:10.5px; }
  #footer_nav li { font-size:12px; line-height:2; }
  #footer_nav .footer_nav_type1 li { min-width:25% !important; }
}

@media only screen and (max-width:767px) {
  #footer_info { padding:10px 0 0 0; }

  /* フッターウィジェット */
  #footer_widget { display:block; padding:0 ; border-bottom:none; }
  .footer_widget { width:100% !important;}
  .footer_widget +   .footer_widget{ margin-top: 30px; }
  .footer_widget.widget_nav_menu { width:49% !important; }
  .footer_widget ul.banner_list li { margin:0 0 9px 0; }

  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:33% !important; }
}

@media only screen and (max-width:480px) {
  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:50% !important; }
}






/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
@media only screen and (max-width:1329px) {
  .home-default #main_col { width: 100%; }
  .home-default #main_col .cb_content .inner { width: 100%; padding: 0; }

  /* ブログ */
  .home-default #main_col .cb_content-blog_list { padding: 100px; }
  .home-default #main_col .cb_content-blog_list .inner { margin: 0 auto 0; }
}


@media only screen and (max-width:1024px) {
  /* luxury */
  .home-default #luxury .flex_wrap { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; margin: 100px 0 0; }
  .home-default #luxury .flex_wrap .img { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }
  .home-default #luxury .flex_wrap .img p { width: 49%; margin-bottom: 10px; }
  .home-default #luxury .flex_wrap .txt { width: 100%; margin-top: 30px; text-align: center; }
  .home-default #luxury .flex_wrap .txt h3 { margin: 0; font-size: 1.8rem; font-weight: 500; line-height: 1; color: #cb9e45; }
  .home-default #luxury .flex_wrap .txt p { font-size: 0.9rem; font-weight: 500; line-height: 1.8; letter-spacing: 2px; margin-top: 30px; }



  /* route */
  .home-default #route { margin: 150px 100px 0; }
  .home-default #route h2 { position: relative; margin: 0 0 50px; font-size: 1.8rem; font-weight: 400; letter-spacing: 2px; text-align: center; }
  .home-default #route h2::before {
  content: "";
  position: absolute;
  bottom: -10px; left: 0; right: 0;
  margin: auto;
  width: 60px; height: 1px;
  background: #c2a16c;
  }
  .home-default #route p { font-size: 0.9rem; font-weight: 500; line-height: 2; letter-spacing: 2px; text-align: center; }
  .home-default #route p span { font-size: 1.2rem; display: block; margin-bottom: 10px; }
  .home-default #route .img { width: 100%; margin: 30px auto 0; }

  .home-default #route .route_box { display: flex; flex-wrap: wrap; justify-content: space-around; }
  .home-default #route .route { width: 100%; margin-top: 30px; text-align: center; }
  .home-default #route .route h3 { position: relative; padding-right: 40px; font-weight: 500; line-height: 1; color: #cb9e45; display: inline; }
  .home-default #route .route h3::before {
  content: "";
  position: absolute;
  top: 60%; right: 0;
  margin: auto;
  width: 30px; height: 3px;
  }
  .home-default #route .route.day1 h3::before { background: #c40000; }
  .home-default #route .route.day2 h3::before { background: #c412c9; }
  .home-default #route .route.day3 h3::before { background: #3a46a0; }
  .home-default #route .route.day4 h3::before { background: #096809; }
  .home-default #route .route.day5 h3::before { background: #00909b; }
  .home-default #route .route.day6 h3::before { background: #e07a00; }

  .home-default #route .route ul { display: flex; flex-wrap: wrap; justify-content: center; background: #f7f7f7; margin-top: 10px; padding: 20px 10px 0; box-sizing: border-box; }
  .home-default #route .route ul li { position: relative; margin: 0 20px 20px 0; padding-right: 30px; font-size: 0.9rem; }
  .home-default #route .route ul li::after {
  content: '→';
  position: absolute;
  top: 40%; right: 0;
  font-size: 1rem;
  line-height: 0;
  color: #777;
  }
  .home-default #route .route ul li:last-child:after { display: none; }
  .home-default #route .route ul li strong { color: #3e7a96; padding-right: 5px; font-size: 1rem; }


  /* お知らせ・ニュースティッカー */
  #index_news { display:none; }
  #index_news_mobile { display:block; margin:0; height:65px; line-height:65px; overflow:hidden; position:relative; border-bottom:1px solid #ddd; position:relative; padding: 5px;}
  #index_news_mobile ol { margin:0; padding:0; position:absolute;width: 100%; }
  #index_news_mobile ol li { height:65px; font-size:15px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display: flex; flex-wrap: wrap; align-items: center;}
  #index_news_mobile ol li a { line-height: 1em; text-decoration:none; overflow:hidden; text-overflow:ellipsis; width: calc(100% - 40px);}
  #index_news_mobile .entry-date { font-size:14px; color:#b69e84; text-decoration:none !important; }
  #index_news_mobile .mobile_title { margin-top: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
  .news-mobile_archive_link { display: block; margin:30px 0 0 0; text-align:center; }
  .news-mobile_archive_link a { display:inline-block; padding:0 30px; line-height:45px; font-size:14px; text-decoration:none; color:#fff !important; background:#aaa; position:relative; border-radius: 25px;min-width: 220px;box-sizing: border-box;  min-height: 45px; }
  /*#index_news_mobile .archive_link a:after { content:'\e910'; font-family:'design_plus'; display:inline-block; line-height:1; margin-top:-0.5em; position:absolute; top:50%; right:8px; }*/
  .news-mobile_archive_link a:hover { background:#b69e84; }



  /* カテゴリーリスト */
  .cb_content-category_list { margin-bottom:80px; }
  .cb_content-category_list ul li { margin:0 0 12px 0; padding:0; width:49.333%; float:left; }
  .cb_content-category_list ul li:nth-child(even) { float:right; }



  /* Yui_bunner */
  .cb_content #Yui_bunner { width: 70%; margin: 60px auto 0; border: solid 1px #011e48; }
  .cb_content #Yui_bunner img { width: 100%; margin: 0 auto; }
  .cb_content #Yui_bunner a:hover{ opacity: 0.8; }


}




@media only screen and (max-width:767px) {

 .top_geiko { bottom: 250px; right: 20px; width: 60%; }
 .top_geiko .bl_floatingBanner_close { width: 40px; height: 40px; }
 .top_geiko .bl_floatingBanner_close span:nth-of-type(1) { width: 20px; }
 .top_geiko .bl_floatingBanner_close span:nth-of-type(2) { height: 20px; }


 .top_setogei { bottom: 70px; right: 20px; width: 60%; }
 .top_setogei .bl_floatingBanner_close { width: 40px; height: 40px; }
 .top_setogei .bl_floatingBanner_close span:nth-of-type(1) { width: 20px; }
 .top_setogei .bl_floatingBanner_close span:nth-of-type(2) { height: 20px; }


  /* スライダー */
  #header_slider  { margin-bottom:-1px; }
  #header_slider .caption { padding:30px 20px; }
  #header_slider .slick-arrow { display:none !important; }
  #header_slider .item { max-height: 40vh; }
  #header_slider .item:before { content:''; display:block; padding-top:125%; }
  #header_slider .item img { width:100%; height:100%; position:absolute; top:0; bottom:0; left:0;right:0;margin: auto; max-width: inherit; object-fit: cover; }
  /*#header_slider .item img { width:100%;  height: calc( 100vh - 60px - 200px ); object-fit: cover }*/
  #header_slider .caption .headline { font-size:28px; line-height:1.4; }
  #header_slider .caption .catchphrase { margin:8px 0 0 0; font-size:12px; line-height:2; }
  #header_slider .caption .button { margin:12px 0 0 0; padding:0 40px; min-width:220px; height:43px; line-height:43px; font-size:14px; border-radius:22px; }

  #header_slider.slider_video, .slider_video_wrapper .slider_video_container{ height:calc(100vh - 60px); }
  .slider_video_wrapper:before{ padding-top:calc(100vh - 60px); }
  .slider_video_mobile{ height:100% !important; }



  /* コンテンツビルダー */
.home-default #main_col { padding: 0; max-width: 100%; margin: 0px auto 80px; }
.home-default #main_col .cb_content { margin: 50px 0 0; }

.cb_content:last-child { margin-bottom:0 !important; }
.cb_content .cb_headline { margin:-0.1em 0 15px 0; padding:0; font-size:42px; line-height:1.2; text-align:center; }
.cb_content .cb_desc { margin: 0; padding: 0; font-weight: 300; line-height: 2.2; text-align: center; }



/* read */
.home-default #main_col #cb_0.cb_content .inner { margin: 60px auto 0; padding: 40px 20px; }

.cb_content #read .banner { width: 90%; margin: 0 auto 30px; }
.cb_content #read .banner a { display: flex; width: 100%; margin: 0 auto 30px; }

.cb_content #read h2 { font-size: 18px; font-weight: 500; letter-spacing: 2px; margin: 0 0 30px; }
.cb_content #read p { margin: 0; font-size: 0.9rem; font-weight: 500; line-height: 1.8; letter-spacing: 2px; text-align: center; }



/* about */
.home-default #about { margin: 0 20px; }
.home-default #about h2 { position: relative; margin: 0 0 50px; font-size: 1.2rem; font-weight: 400; letter-spacing: 2px; text-align: center; }
.home-default #about h2::before {
content: "";
position: absolute;
bottom: -10px; left: 0; right: 0;
margin: auto;
width: 60px; height: 1px;
background: #c2a16c;
}

.home-default #about .flex_wrap { width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.home-default #about .flex_wrap .txt { width: 40%; text-align: center; }
.home-default #about .flex_wrap .txt h3 { margin: 0; font-size: 1.4rem; font-weight: 500; line-height: 1; color: #0f597c; }
.home-default #about .flex_wrap .txt h3 span { display: block; font-size: 0.9rem; font-weight: 600; margin-top: 15px; }
.home-default #about .flex_wrap .txt p { font-size: 0.9rem; font-weight: 500; line-height: 1.4; letter-spacing: 2px; margin-top: 20px; }
.home-default #about .flex_wrap .kakeru { position: relative; width: 10%; }
.home-default #about .flex_wrap .kakeru::before {
content: '';
width: 100%;
display: block;
position: absolute;
left: 50%;
transform: translate(-50%) rotate(-45deg);
border-bottom: 1px dashed #0f597c;
}
.home-default #about .flex_wrap .kakeru::after {
content: '';
width: 100%;
display: block;
position: absolute;
left: 50%;
transform: translate(-50%) rotate(45deg);
border-bottom: 1px dashed #0f597c;
}

.home-default #about ul { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px; }
.home-default #about ul li { width: 48.5%; margin-top: 10px; }



/* バナー */
.cb_content #banner { margin: 50px auto 0; padding: 0 20px; }
.cb_content #banner ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.cb_content #banner ul li {
width: 100%; height: 50px;
border: 1px solid #0f597c;
text-align: center;
position: relative;
box-sizing: border-box;
overflow: hidden;
margin: 0 auto 30px;
}
.cb_content #banner ul li:last-child { margin: 0 auto; }
.cb_content #banner ul li:hover { border: 1px solid #92785f; }
.cb_content #banner ul li .eff {
width: 100%; height: 50px;
border: 0px solid #0f597c;
position: absolute;
transition: all .5s ease;
z-index: 1;
box-sizing: border-box;
}
.cb_content #banner ul li:hover .eff { border: 70px solid #0f597c; }
.cb_content #banner ul li a {
display: flex;
align-items: center;
justify-content: center;
padding: 0 10px;
font-size: 0.9rem;
line-height: 50px;
position: relative;
z-index: 2;
text-decoration: none;
transition: all .5s ease;
}
.cb_content #banner ul li:hover a { color: #fff; }
.cb_content #banner ul li a img { height: 25px; margin-right: 5px; }



/* luxury */
.home-default #luxury { margin: 80px 20px 0; }
.home-default #luxury h2 { position: relative; margin: 0 0 50px; font-size: 1.2rem; font-weight: 400; letter-spacing: 2px; text-align: center; }
.home-default #luxury h2::before {
content: "";
position: absolute;
bottom: -10px; left: 0; right: 0;
margin: auto;
width: 60px; height: 1px;
background: #c2a16c;
}
.home-default #luxury .flex_wrap { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; margin: 50px 0 0; }
.home-default #luxury .flex_wrap .img { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }
.home-default #luxury .flex_wrap .img p { width: 49%; margin-bottom: 10px; }
.home-default #luxury .flex_wrap .txt { width: 100%; }
.home-default #luxury .flex_wrap .txt h3 { margin: 0; font-size: 1.6rem; font-weight: 500; line-height: 1; color: #cb9e45; }
.home-default #luxury .flex_wrap .txt p { font-size: 0.9rem; font-weight: 500; line-height: 1.8; letter-spacing: 1.6px; margin-top: 20px; }

.home-default #luxury ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.home-default #luxury ul li {
width: 100%; height: 50px;
border: 1px solid #0f597c;
text-align: center;
position: relative;
box-sizing: border-box;
overflow: hidden;
margin: 30px auto 0;
}
.home-default #luxury ul li:hover { border: 1px solid #92785f; }
.home-default #luxury ul li .eff {
width: 100%; height: 50px;
border: 0px solid #0f597c;
position: absolute;
transition: all .5s ease;
z-index: 1;
box-sizing: border-box;
}
.home-default #luxury ul li:hover .eff { border: 70px solid #0f597c; }
.home-default #luxury ul li a {
display: flex;
align-items: center;
justify-content: center;
padding: 0 10px;
font-size: 0.9rem;
line-height: 50px;
position: relative;
z-index: 2;
text-decoration: none;
transition: all .5s ease;
}
.home-default #luxury ul li:hover a { color: #fff; }
.home-default #luxury ul li a img { height: 25px; margin-right: 5px; }



/* route */
.home-default #route { margin: 0 20px 0; }
.home-default #route h2 { position: relative; margin: 0 0 50px; font-size: 1.2rem; font-weight: 400; letter-spacing: 2px; text-align: center; }
.home-default #route h2::before {
content: "";
position: absolute;
bottom: -10px; left: 0; right: 0;
margin: auto;
width: 60px; height: 1px;
background: #c2a16c;
}
.home-default #route p { font-size: 0.9rem; font-weight: 500; line-height: 2; letter-spacing: 2px; text-align: center; }
.home-default #route p span { font-size: 1rem; display: block; margin-bottom: 10px; }
.home-default #route .img { width: 100%; margin: 20px auto 0; }
.home-default #route .route_box { display: flex; flex-wrap: wrap; justify-content: space-around; }
.home-default #route .route { width: 100%; margin-top: 30px; text-align: center; }
.home-default #route .route h3 { position: relative; padding-right: 40px; font-weight: 500; line-height: 1; color: #cb9e45; display: inline; }
.home-default #route .route h3::before {
content: "";
position: absolute;
top: 60%; right: 0;
margin: auto;
width: 30px; height: 2px;
}
.home-default #route .route.day1 h3::before { background: #c40000; }
.home-default #route .route.day2 h3::before { background: #c412c9; }
.home-default #route .route.day3 h3::before { background: #3a46a0; }
.home-default #route .route.day4 h3::before { background: #096809; }
.home-default #route .route.day5 h3::before { background: #00909b; }
.home-default #route .route.day6 h3::before { background: #e07a00; }

.home-default #route .route ul { display: flex; flex-wrap: wrap; justify-content: center; background: #f7f7f7; margin-top: 10px; padding: 15px 10px 0; box-sizing: border-box; }
.home-default #route .route ul li { position: relative; margin: 0 20px 15px 0; padding-right: 30px; font-size: 0.9rem; }
.home-default #route .route ul li::after {
content: '→';
position: absolute;
top: 40%; right: 0;
font-size: 1rem;
line-height: 0;
color: #777;
}
.home-default #route .route ul li:last-child:after { display: none; }
.home-default #route .route ul li strong { color: #3e7a96; padding-right: 5px; font-size: 1rem; }



/* after */
.home-default #after { margin: 80px 20px 0; }
.home-default #after h2 { position: relative; margin: 0 0 50px; font-size: 1.2rem; font-weight: 400; letter-spacing: 2px; text-align: center; }
.home-default #after h2::before {
content: "";
position: absolute;
bottom: -10px; left: 0; right: 0;
margin: auto;
width: 60px; height: 1px;
background: #c2a16c;
}
.home-default #after .txt {
margin-top: 30px;
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
padding: 20px;
text-align: center;
border-radius: 10px;
border: 1px solid #c2a16c;
}
.home-default #after .txt h4 { font-size: 1rem; font-weight: 600; margin-bottom: 20px; color: #c2a16c; }
.home-default #after .txt p { font-size: 0.9rem; line-height: 2; color: #fff; }
.home-default #after .txt p a { color: #fff; border-bottom: 1px solid #fff; }



/* bus */
.cb_content.cb_content-introduce .inner { margin: 80px 0 0; }
.cb_content.cb_content-introduce .inner .cb_desc { margin: 0 20px; }
.cb_content #introduce_list { margin: 50px 20px 0; }
.cb_content #introduce_list .introduce_list_row { margin: 0; }



/* ブログ */
.home-default #main_col .cb_content-blog_list { margin: 80px auto 0 !important; padding: 50px 20px; box-sizing: border-box; background: #f4f4f4; }



/* youtube */
.cb_content #youtube { margin: 60px auto 0; padding: 0 20px; }
.cb_content #youtube .item-movie { position: relative; width: 100%; margin: 0 auto; padding-top: 60%; }
.cb_content #youtube .item-movie iframe { position: absolute; top: 0; right: 0; }



/* インタビュー */
.cb_content #interview { margin: 60px auto 0; padding: 60px 20px; box-sizing: border-box; background: #f4f4f4; }
.cb_content #interview .section_wrap { max-width: 1700px; margin: auto; }
.cb_content #interview h2 { color: #0f597c; font-size: 20px; }
.cb_content #interview ul { margin: 26px 0 0 0; }
.cb_content #interview ul li {  }



/* 紹介コンテンツ */
.cb_content-introduce .introduce_list_col a .info { width: calc(59% - 18px) !important; }



  /* カルーセルスライダー */
  .cb_content-carousel { padding:26px 0 30px 0; }
  .cb_content-carousel .cb_headline { text-align:center; }
  .cb_content-carousel .carousel { margin:20px -10px 0; padding:0; }
  .cb_content-carousel .item { margin:0 10px; width:initial; width:auto; }
  .cb_content-carousel .slick-list { -webkit-clip-path:inset(0 10px 0 10px); clip-path:inset(0 10px 0 10px); }
  .cb_content-carousel .slick-arrow { display:none !important; }
  .cb_content-carousel .image .title { padding:10px 18px; line-height:1.5; font-size:14px; font-weight:300; }
  .cb_content-carousel .excerpt { display:none; }



  /* カテゴリーリスト */
  .cb_content-category_list { margin-bottom:30px; }
  .cb_content-category_list ul { margin:26px 0 0 0; padding:0; }
  .cb_content-category_list ul li { margin:0 0 6px 0; padding:0; width:initial; width:auto; float:none !important; }
  .cb_content-category_list ul li:last-child { margin-bottom:0; }
  .cb_content-category_list ul li a { height:120px; }
  .cb_content-category_list ul li .info h3 { margin:0 0 4px 0; font-size:116.666%; font-weight:700; font-size:14px; }
  .cb_content-category_list ul li.has_image .image { width:120px; height:120px; }
  .cb_content-category_list ul li.has_image .info { font-size:12px; left:120px; width:50%; width:-webkit-calc(100% - 115px); width:calc(100% - 115px); }



  /* ブログ記事一覧 */
  .cb_content-blog_list #post_list { margin:26px 0 0 0; }
  .cb_content-blog_list .archive_link { margin:16px 0 0 0; text-align:center; }
  /*.cb_content-blog_list .archive_link a { display:inline-block; padding:0 30px; min-width:100px; line-height:40px; text-decoration:none; color:#fff; background:#aaa; position:relative; }*/
  .cb_content-blog_list .archive_link a { 
  display: inline-block;
  padding: 0 30px;
  line-height: 45px;
  font-size: 14px;
  border-radius: 25px;
  min-width: 220px;
  box-sizing: border-box;
  min-height: 45px;
  }
}





/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
/*  バス停留所一覧  */
#boarding { position: relative; }
#boarding .box { width: 48%; margin-bottom: 50px; }
#boarding .box h3 { font-size: 1.1rem; border-bottom: 1px solid rgba(201,160,99,1); margin: 0 0 20px; padding: 0 0 8px; }
#boarding .box iframe { width: 100%; height: 350px; }


#special .section_wrap .slider { width: 700px; margin: auto; }
#special .section_wrap .slider .carousel-item { height: 467px !important; }



/*  瀬戸内の魅力 */
.page-id-463 #main_col { width: 100%; padding: 0; }
.page-id-463 #left_col { max-width: 100%; margin: 0 auto 50px; }
.page-id-463 #article { margin: 0; }
#charm .read .w1500 .map { position: relative; width: 80%; bottom: 40px; right: 0px; z-index: 0; margin: 0 0 0 auto; }

}




@media only screen and (max-width:767px) {
  /* ヘッダー画像 */
  #header_image:before { content:''; display:block; padding-top:72%; }
  #header_image img { width:auto; min-width:100%; height:100%; position:absolute; top:0; bottom:0; left:50%; max-width: inherit;
    -webkit-transform:translateX(-50%); -mox-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%);
  }
  #header_image .caption { font-size:20px !important; z-index:2; }
  #header_image .caption_bar { font-size:18px; line-height:1.4; padding:11px 20px 10px; }

  .page #post_title { margin:0 0 16px; font-size:20px; line-height:1.5; }



/* コンセプト */
.page-id-459 #main_col { width: 100%; padding: 0; }
.page-id-459 #left_col { max-width: 100%; margin: 0 auto 50px; }

#concept { position: relative; margin: 0 auto; }
#concept .w1500 { margin: auto; padding: 0 20px; }
#concept h2.co_ttl { position: relative; font-size: 1.1rem; line-height: 2; margin: 0 auto 30px; color: #c2a16c; text-align: right; }
#concept h3 { position: relative; margin: 0 auto 40px; font-size: 1rem; line-height: 1; letter-spacing: .1rem; }
#concept h3::before { content: ""; position: absolute; bottom: -10px; left: 0px; width: 60px; height: 1px; background: #c2a16c; }

#concept .read {
position: relative;
background: url("../img/concept/message_bg.jpg") no-repeat center;
background-size: cover;
padding: 40px 20px;
margin: 0 0 50px;
box-sizing: border-box;
}
#concept .read::before {
content: "";
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background: linear-gradient(-90deg,rgb(255, 255, 255) 20%, rgba(255,255,255,0.6) 100%);
}

#concept .flex_wrap { width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
#concept .flex_wrap .txt { width: 40%; text-align: center; }
#concept .flex_wrap .txt h4 { font-size: 0.9rem; font-weight: 600; }
#concept .flex_wrap .txt h4 strong { display: block; margin-bottom: 15px; font-size: 1.4rem; font-weight: 500; line-height: 1; color: #0f597c; }
#concept .flex_wrap .txt p { font-size: 0.9rem; font-weight: 500; line-height: 1.4; letter-spacing: 2px; margin-top: 20px; }
#concept .flex_wrap .kakeru { position: relative; width: 10%; }
#concept .flex_wrap .kakeru::before {
content: '';
width: 100%;
display: block;
position: absolute;
left: 50%;
transform: translate(-50%) rotate(-45deg);
border-bottom: 1px dashed #0f597c;
}
#concept .flex_wrap .kakeru::after {
content: '';
width: 100%;
display: block;
position: absolute;
left: 50%;
transform: translate(-50%) rotate(45deg);
border-bottom: 1px dashed #0f597c;
}

#concept .about ul { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px; }
#concept .about ul li { width: 48.5%; margin-top: 10px; }

#concept .lasttxt { width: 100%; margin: 80px auto 0; text-align: center; }
#concept .lasttxt h4 { margin: 0; font-size: 1.1rem; line-height: 1.6; margin-bottom: 20px; padding: 0; color: #c2a16c; }
#concept .lasttxt p { font-size: 0.9rem; line-height: 2; letter-spacing: 2px; }

#concept .route { margin-top: 50px; }
#concept .route .flex_wrap figure { width: 100%; margin-bottom: 10px; }
#concept .route .flex_wrap p { width: 100%; font-size: 0.9rem; font-weight: 500; line-height: 2; letter-spacing: 2px; }
#concept .route .img { width: 100%; margin: 20px auto 5px; }

#concept .route .route_box { display: flex; flex-wrap: wrap; justify-content: space-around; }
#concept .route .route_box .route { width: 100%; margin-top: 30px; text-align: center; }
#concept .route .route_box .route h4 { position: relative; padding-right: 40px; font-weight: 500; line-height: 1; color: #cb9e45; display: inline; }
#concept .route .route_box .route h4::before {
content: "";
position: absolute;
top: 60%; right: 0;
margin: auto;
width: 30px; height: 2px;
}
#concept .route .route_box .route.day1 h4::before { background: #c40000; }
#concept .route .route_box .route.day2 h4::before { background: #c412c9; }
#concept .route .route_box .route.day3 h4::before { background: #3a46a0; }
#concept .route .route_box .route.day4 h4::before { background: #096809; }
#concept .route .route_box .route.day5 h4::before { background: #00909b; }
#concept .route .route_box .route.day6 h4::before { background: #e07a00; }

#concept .route .route_box .route ul { display: flex; flex-wrap: wrap; justify-content: center; background: #f7f7f7; margin-top: 10px; padding: 15px 10px 0; box-sizing: border-box; }
#concept .route .route_box .route ul li { position: relative; width: auto; margin: 0 20px 15px 0; padding-right: 30px; font-size: 0.9rem; }
#concept .route .route_box .route ul li::after {
content: '→';
position: absolute;
top: 40%; right: 0;
font-size: 1rem;
line-height: 0;
color: #777;
}
#concept .route .route_box .route ul li:last-child:after { display: none; }
#concept .route .route_box .route ul li strong { color: #3e7a96; padding-right: 5px; font-size: 1rem; }

#concept .olivia {
margin: 50px auto 0;
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
padding: 30px 20px;
text-align: center;
border-radius: 10px;
border: 1px solid #c2a16c;
}
#concept .olivia h3 { position: relative; margin: 0 0 40px; font-size: 1.2rem; line-height: 1.4; letter-spacing: 2px; text-align: center; color: #fff; }
#concept .olivia h3::before { content: ""; position: absolute; bottom: -10px; left: 0; right: 0; margin: auto; width: 60px; height: 1px; background: #c2a16c; }
#concept .olivia figure { width: 100%; margin: 0 auto 20px; }
#concept .olivia figure img { height: 200px; object-fit: cover; }
#concept .olivia p { font-size: 0.9rem; line-height: 2; color: #fff; }

#concept .youtube { margin-top: 80px; }



/*  瀬戸内の魅力 */
.page-id-463 #main_col { width: 100%; padding: 0; }
.page-id-463 #left_col { max-width: 100%; margin: 0 auto 50px; }
.page-id-463 #article { margin: 0; }

#charm .read {
position: relative;
background: url("../img/concept/message_bg.jpg") no-repeat center;
background-size: cover;
padding: 50px 20px 0;
margin: 0;
box-sizing: border-box;
}
#charm .read::before {
content: '';
background: linear-gradient(0deg,rgb(255, 255, 255) 0%, rgba(255,255,255,0.8) 40%);
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
}
#charm .read .w1500 { position: relative; }
#charm .read .w1500 .co_ttl { position: relative; font-size: 1.2rem; line-height: 2; margin-bottom: 30px; padding: 0; }
#charm .read .w1500 p { position: relative; width: 100%; font-size: 0.9rem; line-height: 2; letter-spacing: 2px; margin: 0; z-index: 1; }
#charm .read .w1500 .map { position: relative; width: 80%; bottom: 40px; right: 0px; z-index: 0; margin: 0 0 0 auto; }

#charm h3 { position: relative; margin: 0 auto 30px; font-size: 1.1rem; line-height: 1; letter-spacing: .1rem; }
#charm h3::before { content: ""; position: absolute; bottom: -10px; left: 0px; width: 60px; height: 1px; background: #c2a16c; }

#charm .summary_box { position: relative; padding: 0 20px; }
#charm .summary_box .flex_wrap .wp-block-group__inner-container { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; }
#charm .summary_box .flex_wrap .wp-block-group__inner-container::after { content: ''; display: block; width: 48%; }
#charm .summary_box .flex_wrap .box { width: 100%; margin-bottom: 30px; }
#charm .summary_box .flex_wrap .box:last-child { margin-bottom: 0px; }
#charm .summary_box .flex_wrap .box .img p { font-size: 0.6rem; }
#charm .summary_box .flex_wrap .box h4 { font-size: 1rem; border-bottom: 1px solid rgba(201,160,99,1); margin: 15px 0; padding: 0 0 5px; }
#charm .summary_box .flex_wrap .box p { font-size: 0.9rem; line-height: 1.8; letter-spacing: 1px; }



/*  車両のご紹介 */
#vehicle { position: relative; }
#vehicle .wrap { margin-bottom: 60px; }
#vehicle .co_ttl { font-size: 1.8rem; line-height: 1.8; margin-bottom: 10px; padding: 0; color: #c2a16c; }
#vehicle .red_txt { font-size: 0.9rem; line-height: 2; letter-spacing: 2px; margin: 0 0 60px; }
#vehicle h3 { position: relative; margin: 0 0 40px; font-size: 1.2rem; letter-spacing: 2px; text-align: center; }
#vehicle h3::before { content: ""; position: absolute; bottom: -15px; left: 0; right: 0; margin: auto; width: 50px; height: 1px; background: #c2a16c; }

#vehicle .txtbox { margin-bottom: 20px; }
#vehicle .txtbox p { font-size: 0.9rem; line-height: 2; letter-spacing: 1px; }
#vehicle .imgbox { width: 100%; }
#vehicle .imgbox figure { width: 49%; margin-bottom: 0; }

#vehicle .flex .box { width: 48.5%; margin-bottom: 10px; }
#vehicle .flex .box.sp { display: block; }
#vehicle .flex .box p { font-size: 0.8rem; line-height: 1.6; text-align: left; margin-top: 5px; }

#vehicle .spec_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
#vehicle .spec_list li {
width: 48%;
display: block;
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
color: #fff;
margin: 10px 0 0;
padding: 10px 0;
text-align: center;
border-radius: 5px;
border: 1px solid #c2a16c;
}

#vehicle .designer .box01 { width: 100%; margin-bottom: 30px; }
#vehicle .designer .box01 p { font-size: 0.9rem; line-height: 1.6; margin-top: 10px; }
#vehicle .designer .box01 p code { font-size: 1.3rem; font-weight: 400; }
#vehicle .designer .box02 { width: 100%; }
#vehicle .designer .box02 p { font-size: 0.9rem; margin-top: 20px; line-height: 2; }
#vehicle .designer .box02 p.status { font-size: 0.9rem; margin-top: 5px; color: #333; }

#vehicle .carbon { position: relative; }
#vehicle .carbon .txtbox {
width: 100%;
position: relative;
background: url("../img/concept/carbon_bg.jpg") no-repeat center;
background-size: cover;
padding: 30px 20px 0;
box-sizing: border-box;
}
#vehicle .carbon .txtbox::before {
content: "";
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background: linear-gradient(0deg,rgb(255, 255, 255) 50%, rgba(255,255,255,0.5) 100%);
}
#vehicle .carbon .txtbox h4 { position: relative; font-size: 1.4rem; font-weight: 600; line-height: 2; padding-top: 0; margin-bottom: 20px; color: #3e7139; }
#vehicle .carbon .txtbox p { position: relative; font-size: 0.9rem; line-height: 2; letter-spacing: 2px; }
#vehicle .carbon .txtbox .sub { position: relative; margin: 20px 0; background: #effded; padding: 20px; box-sizing: border-box; border-radius: 1rem; }
#vehicle .carbon .txtbox .sub h5 { font-size: 1.1rem; margin-bottom: 10px; }
#vehicle .carbon .txtbox .sub .wp-container-core-group-is-layout-9 { flex-wrap: wrap; }
#vehicle .carbon .txtbox .sub p { width: 100%; font-size: 0.9rem; line-height: 1.8; }
#vehicle .carbon .txtbox .sub figure { width: 35%; margin-left: 10px; }
#vehicle .carbon .imgbox { width: 100%; }
#vehicle .carbon .imgbox figure { width: 100%; }

#vehicle #box {
position: relative;
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
margin-bottom: 60px;
padding: 30px;
color: #fff;
border-radius: 10px;
border: 1px solid #c2a16c;
}
#vehicle #box .flex_wrap { align-items: center; }
#vehicle #box .imgbox { width: 100%; }
#vehicle #box .imgbox figure { width: 100%; }
#vehicle #box .txtbox { width: 100%; }
#vehicle #box .txtbox p { line-height: 2; font-size: 0.9rem; }

#vehicle .res_btn {
width: 100%;
margin: auto;
font-weight: bold;
color: #fff;
text-align: center;
box-shadow: 0 0 5px rgba(0, 0, 0, .2);
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
border: 1px solid #c2a16c;
border-radius: 50rem;
}
#vehicle .res_btn a { display: block; color: #fff; font-size: 1rem; padding: 18px 0; }



/*  バス停留所一覧  */
#boarding { position: relative; }
#boarding .box { width: 100%; margin-bottom: 30px; }
#boarding .box h3 { font-size: 1rem; border-bottom: 1px solid rgba(201,160,99,1); margin: 0 0 15px; padding: 0 0 5px; }
#boarding .box iframe { width: 100%; height: 300px; }



/* こだわりのアメニティ紹介 */
#amenity { position: relative; }
#amenity .box {
position: relative;
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
margin-bottom: 80px;
padding: 40px;
color: #fff;
border: 1px solid #c2a16c;
}
#amenity .flex { margin: 0 auto; }
#amenity .flex .img { width: 100%; margin-bottom: 20px; }
#amenity .flex .red_txt { width: 100%; font-size: 0.9rem; line-height: 1.8; letter-spacing: 2px; }

#amenity .flexwrap { margin: 0 auto 50px; }
#amenity .flexwrap:last-child { margin: 0; }
#amenity .flexwrap h3 { position: relative; width: 100%; margin: 0 0 30px; font-size: 1.2rem; line-height: 1; letter-spacing: 2px; text-align: center; }
#amenity .flexwrap h3::before {
content: "";
width: 60px; height: 1px;
margin: auto;
position: absolute;
bottom: -10px; left: 0; right: 0;
background: #c2a16c;
}
#amenity .flexwrap .txt { width: 100%; padding-left: 0px; border-left: none; }
#amenity .flexwrap .txt .img {  }
#amenity .flexwrap .txt p { margin-top: 10px; font-size: 0.9rem; line-height: 2; }



/*  ご相談・問い合わせ */
#contact { position: relative; }
#contact .co_ttl { font-size: 1.2rem; line-height: 2; margin-bottom: 30px; padding: 0; }
#contact .red_txt { font-size: 0.9rem; line-height: 2; letter-spacing: 2px; margin: 0 0 50px; }
#contact .red_txt code { background: #c79f62; padding: 2px 10px; color: #FFF; margin-right: 5px; }

#contact .form { width: 100%; position: relative; }

#contact .com_table { width:100%; margin:0 auto 30px; box-sizing: border-box; }
#contact .com_table th { width: 100%; padding: 20px 10px 0; text-align: left; position: relative; display: block;border-bottom: none; box-sizing: border-box; }
#contact .com_table th span {
float: right;
font-size: 0.7em;
background: #c79f62;
padding: 5px 10px;
color: #FFF;
display: inline-block;
}
#contact .com_table td { padding: 20px 10px; position: relative; display: block; border-bottom: 1px solid #ddd; }

#contact .w100 { width: 30%;}
#contact .w240 { width: 90%;}
#contact .w350 { width: 90%;}
#contact .w540 { width: 90%;}
#contact .w100p { width: 100%;}

#contact .contact-privacy__check {
max-width: 100%;
margin: 30px auto;
padding: 20px 10px;
line-height: 1.6 !important;
background-color: rgba(0, 0, 0, .05);
text-align: center;
box-sizing: border-box;
}

#contact .com_table td img { width: 100px; }



/*  期間限定商品  */
#special { position: relative; margin: 0 auto; }
#special .section_wrap { position: relative; }

#special .section_wrap .slider { width: 400px; margin: auto; }
#special .section_wrap .slider .carousel-item { height: 267px !important; }

#special .section_wrap .info { display: block; margin: 50px 0 0; }
#special .section_wrap .info li { background: #3e7a96; padding: 8px 10px; margin-bottom: 5px; color: #fff; font-size: 0.8rem; }

#special .section_wrap .co_ttl { font-size: 1.2rem; line-height: 1.8; margin: 0 0 30px; color: rgba(180,130,50,1); }
#special .section_wrap .red_txt { font-size: 0.9rem; line-height: 2.2; letter-spacing: 2px; margin: 0 0 50px; }
#special .section_wrap .pamphlet { width: 100%; margin: 0 auto 50px; }
#special .section_wrap .pamphlet img { width: 100%; }


#special .section_wrap .route_box { margin: 80px 0 50px; }
#special .section_wrap .route { display: flex; flex-wrap: wrap; justify-content: center; background: #f1f1f1; padding: 20px 20px 0px; }
#special .section_wrap .route li {
position: relative;
margin: 0 10px 15px 0;
padding-right: 20px;
box-sizing: border-box;
font-size: 0.8rem;
font-weight: 400;
text-align: center;
}
#special .section_wrap .route li::after {
content: '→';
position: absolute;
top: 40%; right: 0;
font-size: 1rem;
line-height: 0;
color: #777;
}
#special .section_wrap .route li:last-child { padding: 0; }
#special .section_wrap .route li:last-child::after { display: none; }
#special .section_wrap .route li strong { background: #3e7a96; padding: 1px 5px; color: #fff; font-size: 0.9rem; font-weight: 400; }
#special .section_wrap .route_caption { font-size: 0.8rem; line-height: 2.2; letter-spacing: 2px; }


#special .section_wrap .price { margin-bottom: 80px; }
#special .section_wrap .price h4 { font-size: 1.1rem; margin-bottom: 20px; }
#special .section_wrap .price .detail { margin-bottom: 20px; border-bottom: 1px dashed #777; }
#special .section_wrap .price .detail ul { display: flex; flex-wrap: wrap; margin-bottom: 20px; }
#special .section_wrap .price .detail ul li { position: relative; font-size: 0.9rem; margin: 0 20px 15px 0; padding-left: 15px; }
#special .section_wrap .price .detail ul li::before { content: '◇'; position: absolute; left: 0; top: 0; color: #C80000; }
#special .section_wrap .price .detail ul li:last-child { margin-bottom: 0; }
#special .section_wrap .price p { font-size: 0.9rem; text-align: end; }
#special .section_wrap .price p strong { font-size: 1.8rem; color: #C80000; }


#special .section_wrap h3 {
position: relative;
margin: 0 0 40px;
font-size: 1.2rem;
line-height: 1;
letter-spacing: 2px;
text-align: center;
}
#special .section_wrap .imglist { margin-bottom: 50px; }
#special .section_wrap .imglist .box { width: 48%; }


#special .section_wrap .res_btn {
width: 80%;
margin: 0 auto;
font-weight: bold;
color: #fff;
text-align: center;
box-shadow: 0 0 5px rgba(0, 0, 0, .2);
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
border: 1px solid #c2a16c;
border-radius: 50rem;
}
#special .section_wrap .res_btn a { display: block; color: #fff; font-size: 1rem; padding: 20px 0; }

#special .foot_btn {
display: block;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
margin: 0 auto;
font-weight: bold;
color: #fff;
text-align: center;
box-shadow: 0 0 5px rgba(0, 0, 0, .2);
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124) 50%,rgb(222, 197, 175) 100%);
z-index: 10;
transition-duration: 0.5s;
}
.header_fix #special .foot_btn {
bottom: 55px;
transition-duration: 0.5s;
}
#special .foot_btn a { display: block; color: #fff; font-size: 1rem; padding: 17px 0; }



/*  期間限定商品  */
#online { position: relative; margin: 0 auto; }
#online .section_wrap { position: relative; }

#online .section_wrap .co_ttl { font-size: 1.2rem; line-height: 1.8; margin: 0 0 30px; color: rgba(180,130,50,1); }
#online .section_wrap .red_txt { font-size: 0.9rem; line-height: 2.2; letter-spacing: 2px; margin: 0 0 30px; }

#online .section_wrap .detail { margin-bottom: 50px; }
#online .section_wrap .detail:last-of-type { margin-bottom: 0px; }
#online .section_wrap .detail .flex_wrap { justify-content: space-around; }
#online .section_wrap .detail ul { width: 100%; }
#online .section_wrap .detail ul li { position: relative; font-size: 1rem; margin: 0 0 20px 0; padding: 0 0 5px 25px; border-bottom: 1px dashed #000; }
#online .section_wrap .detail ul li::before { content: '◇'; position: absolute; left: 0; top: 0; color: #C80000; }
#online .section_wrap .detail ul li:last-child { margin-bottom: 0; }
#online .section_wrap .detail figure { width: 100%; }

#online .section_wrap .detail .txtbox { width: 100%; }
#online .section_wrap .detail ol li { position: relative; font-size: 1rem; margin: 0 0 20px 0; padding: 0 0 5px 0; border-bottom: 1px dashed #000; }
#online .section_wrap .detail ol li::marker { color: #C80000; }
#online .section_wrap .detail ol li:last-child { margin-bottom: 0; }
#online .section_wrap .detail figure { width: 100%; }

#online .section_wrap h3 {
position: relative;
margin: 0 0 40px;
padding: 0;
font-size: 1.6rem;
line-height: 1;
letter-spacing: 2px;
text-align: center;
}

#online .section_wrap .detail .red_txt { font-size: 1rem; margin-bottom: 30px; }

#online .section_wrap .res_btn {
width: 100%;
margin: 0 auto 20px;
font-weight: bold;
color: #fff;
text-align: center;
box-shadow: 0 0 5px rgba(0, 0, 0, .2);
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
border: 1px solid #c2a16c;
border-radius: 50rem;
}
#online .section_wrap .res_btn a { display: block; color: #fff; font-size: 1rem; padding: 10px 0; }

#online .section_wrap .btnbox { margin-bottom: 30px; }
#online .section_wrap .btnbox .res_btn { width: 100%; margin-bottom: 20px; }

#online .section_wrap #session { padding-top: 80px; margin-top: -80px; }
#online .section_wrap #session .res_btn { width: 100%; margin-bottom: 30px; }


}





/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #archive_headline { font-size:20px; line-height:1.4; }
  #archive_desc { margin:10px 0 0 0; }

  /* 共通カテゴリー・日付 */
  ul.meta li { margin:0 3px 0 0; font-size:12px; }
	ul.meta li.cat a, ul.meta li.cat span { margin:0 4px 4px 0; padding:0 8px; min-width:44px; line-height:21px; border-radius:10.5px; }
}

@media only screen and (min-width:768px) and (max-width:1024px) {
  /* 一覧 3列 */
  #post_list { margin:40px 0 0 0; }
  #post_list .article .title { margin:8px 0 0 0; font-size:14px; height:3.4em; }
  #post_list .article { width:30%; width:-webkit-calc((100% - 40px) / 3); width:-moz-calc((100% - 40px) / 3); width:calc((100% - 40px) / 3); margin:0 20px 28px 0 !important; }
  #post_list .article:nth-child(3n) { margin-right:0 !important; }
  ul.meta li.date { margin:6px 0 0 0; }

  /* ページング */
  .page_navi { margin:10px 0 30px 0; }
}

@media only screen and (max-width:767px) {
  /* 一覧 2列 */
  #post_list { margin:30px 0 0 0; }
  #post_list .article { width:45%; width:-webkit-calc(50% - 10px); width:-moz-calc(50% - 10px); width:calc(50% - 10px); margin:0 10px 20px 0; }
  #post_list .article:nth-child(2n) { margin-left:10px; margin-right:0; }
  #post_list .article .title { margin:8px 0 0 0; font-size:14px; line-height:1.5; height:4.5em; }
  #post_list .article .meta { margin:8px 0 0 0; }
  ul.meta li.date { margin:6px 0 0 0; }

  /* ページング */
  /*.page_navi { display:none; }*/
  .page_navi2 { display:block; }
  .page_navi2 ul.page-numbers li { display:none; }
  .page_navi2 ul.page-numbers li.prev, .page_navi2 ul.page-numbers li.next { display:inline-block; margin-bottom:0; }
  .page_navi2 ul.page-numbers li.disable { opacity:0.5; }
  
  .page_navi p.back a{
    display: inline-block;
    padding: 0 30px;
    line-height: 45px;
    font-size: 14px;
    text-decoration: none;
    color: #fff;
    background: #aaa;
    position: relative;
    border-radius: 25px;
    min-width: 220px;
    box-sizing: border-box;
    min-height: 45px;
  }
  
  .page_navi ul.page-numbers .prev, .page_navi ul.page-numbers .next{
    display: none;
  }
  .page_navi + .page_navi2 ul.page-numbers .prev,  .page_navi + .page_navi2 ul.page-numbers .next{
    display: none;
  }
}





/* ----------------------------------------------------------------------
 カテゴリーアーカイブ・検索結果
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .archive_header { padding:15px 0 13px 0; border-bottom:1px solid #ddd; }
  .archive_header .inner { display:block; }
  .archive_header .headline { margin:0; padding:0; font-size:20px; line-height:1.4; font-weight:700; }
  .archive_header .desc { margin:0.5em 0 0 0; line-height:2; }

  .archive_filter { margin:-12px -20px 11px -20px; padding:0 20px; background:transparent; border:none; }
  .archive_filter_headline { margin:26px 0 11px 0; font-size:16px; line-height:1.4; font-family:inherit !important; font-weight:300 !important; }
  .archive_filter.is-open .archive_filter_headline:after { margin-left: 8px; vertical-align: -1px; }
  .archive_filter.is-close .archive_filter_headline:after { margin-left: 8px; vertical-align: -0.5px; }
  .archive_filter_headline2 { margin:0 0 12px 0; }
  .archive_filter_headline2 span { padding:0 12px; min-width:46px; line-height:21px; border-radius:10.5px; }
  .archive_filter label { padding:0 10px 9px 0; min-width:25%; }
  .archive_filter label input { margin:0 4px 0 0; }
  .archive_filter .button { margin:6px auto 0; width:200px; }
  .archive_filter .button input { height:40px; color:#fff; border-radius:20px; }

  .archive_sort { margin:0 0 20px 0; }
  .archive_sort dt { float:none; width:100%; margin:0 0 9px 0; font-size:16px; line-height:1.4; text-align:left; color:#b69e84; background:transparent !important; }
  .archive_sort dd { width:33.3333%; }
  .archive_sort dd a { line-height:40px; }
  .archive_sort dd:first-of-type a { border-left:1px solid #ddd; }

  .custom_search_results .page_navi2 { display:block; margin:20px 0 15px 0; }

  /* 一覧 */
  #post_list2 { margin:20px -20px; }
  #post_list2 .article { border:none; border-bottom:1px solid #ddd; }
  #post_list2 .article:first-child { border-top:1px solid #ddd; }
  #post_list2 .article a { display:block; padding:17px 20px; text-decoration:none; }
  #post_list2 .article .image { float:left; width:45.625%; overflow:hidden; position:relative; padding-bottom:29%; }
  #post_list2 .article .image:before { content:''; display:block; /*padding-top:64.285%;*/ padding-top:0;  }
  #post_list2 .article .image img { display:block; width:100%; height:auto; position:absolute; top:0; left:0; }
  #post_list2 .article .info { float:right; width:48.125%; color:#000; }
  #post_list2 .article .meta { margin:0 0 4px 0; }
  #post_list2 .article .title { margin:0; font-size:14px; line-height:1.5; font-weight:400; }
  #post_list2 .article .excerpt { display:none; }
}

@media only screen and (max-width:480px) {
  .archive_filter label { min-width:33.333%; }
  #post_list2 .article .meta li span:nth-child(n+2) { display:none; }
}





/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .single-post #main_col, .single-introduce #main_col { margin-top:0; }
  #article_header { margin:0 -20px; padding:20px; border-width:0 0 1px 0; }

  /* カテゴリー */
  #post_meta_top { margin:0 0 4px 0; }
  .single-introduce #post_meta_top{
    margin-top: 10px;
  }

  /* アイキャッチ画像 */
  #post_image { margin:-1px -20px 24px; }

  /* 記事タイトル */
  #post_title { margin:0 0 24px; font-size:16px; line-height:1.5; font-weight:700; }
  /* 日付 */
  #post_date { margin:8px 0 0 0; color:#999; line-height:1; font-size:12px; }

  /* 記事本文 */
  .post_content { font-size: 14px; }

  /* SNSボタン */
  #single_share_top { margin:24px 0; }
  #single_share_bottom { margin:24px 0; }

  /* ページ分割 */
  #post_pagination { margin:24px 0 0 0; }

  /* メタ情報 */
  #post_meta_bottom { margin:28px 0; padding:0; background:transparent; }
  #post_meta_bottom li { display:block; margin:0 0 4px 0; padding:0 0 0 26px; border-right:none; font-size:12px; }
  #post_meta_bottom li:before { font-size:13px; }

  /* 次の記事、前の記事 */
  #previous_next_post_image { margin:28px 0; }

  /* 広告 */
  #single_banner_area { margin:20px 0; text-align:center; }
  #single_banner_area .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area .single_banner_right { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area img { max-width:100%; height:auto; display:inline; }

  /* 広告2 */
  #single_banner_area_bottom { margin:20px 0; text-align:center; }
  #single_banner_area_bottom .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area_bottom .single_banner_right { float:none; padding:0; margin:0 auto; }
  #single_banner_area_bottom img { max-width:100%; height:auto; display:inline; }

  /* 広告（ショートコードver） */
  #single_banner_area2 { margin:0 0 20px 0; text-align:center; }
  #single_banner_area2 .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area2 .single_banner_right { float:none; padding:0 0 5px 0; margin:0 auto; }
  #single_banner_area2 img { max-width:100%; height:auto; display:inline; }

  /* 関連記事 */
  #related_post .headline { margin:0 0 11px 0; font-size:16px; font-weight:300; line-height:1.6; }
}

@media only screen and (min-width:768px) and (max-width:1024px) {
  /* 関連記事 */
  #related_post ol { border:none; }
  #related_post li { width:33.3333%; border:none; }
  #related_post li a { padding:0 7px 18px; }
  #related_post li:nth-child(3n+1) a { padding:0 14px 18px 0; }
  #related_post li:nth-child(3n+3) a { padding:0 0 18px 14px; }
  #related_post li:nth-last-child(-n+3) a { padding-bottom:0; }
  #related_post li .image { margin:0 0 10px 0; }
  #related_post li .title { font-size:14px; line-height:1.5; font-weight:300; height:initial; height: auto; max-height:4.5em; }
}

@media only screen and (max-width:767px) {
  /* 次の記事、前の記事 */
  #previous_next_post_image { margin:28px 0; }
  #previous_next_post_image a { display:block; height:46px; line-height:46px; text-align:center; overflow:hidden; }
  #previous_next_post_image .title { display:none; }
  #previous_next_post_image .image { display:none; }
  #previous_next_post_image .prev_post a { padding:0 0 0 32px; }
  #previous_next_post_image .next_post a { padding:0 32px 0 0; }
  #previous_next_post_image a:before { font-size:16px; width:16px; }
  #previous_next_post_image .prev_post a:before { left:16px !important; }
  #previous_next_post_image .next_post a:before { right:16px !important; }
  #previous_next_post_image .prev_post a:after { content:attr(data-mobile-title); font-size:12px; }
  #previous_next_post_image .next_post a:after { content:attr(data-mobile-title); font-size:12px; }

  /* 関連記事 */
  #related_post { margin:30px 0 0 0; }
  #related_post ol { border:none; }
  #related_post li { width:50%; border:none !important; }
  #related_post li a { padding:0 10px 18px 0; }
  #related_post li:nth-child(even) a { padding:0 0 18px 10px; }
  #related_post li:nth-last-child(-n+2) a { padding-bottom:0; }
  #related_post li .image { margin:0 0 10px 0; }
  #related_post li .title { font-size:14px; line-height:1.5; font-weight:300; height:initial; height: auto; min-height:3em; max-height:4.5em; }
}





/* ----------------------------------------------------------------------
 紹介
---------------------------------------------------------------------- */
@media only screen and (max-width:1329px) {
  /* 紹介一覧 */
  .introduce_list_row { margin:0; }
  .introduce_list_col .info, .introduce_list_col.show_info .info { display:block; width:55%; width:-webkit-calc(59% - 18px); width:-moz-calc(59% - 18px); width:calc(59% - 18px); height: auto !important; float:right; position:static; }
  .introduce_list_col .info .more { position: relative; margin-top: 5px; padding: 15px 0 0 0; }
}


@media only screen and (max-width:1024px) {
    /* 紹介一覧 */
  #introduce_list { margin:30px 0 0 0; }
  #introduce_header + #introduce_list { margin-top:0; }
  .introduce_list_row { margin:0; }
  .introduce_list_col { width:initial; width:auto; margin:0 0 18px 0; padding:0 0 18px 0; float:none; font-size:14px; border-bottom:1px solid #ddd; }
	.introduce_list_row:last-child .introduce_list_col { margin-bottom:18px; }
  .introduce_list_col a { height:initial; height: auto; }
  .introduce_list_col .image, .introduce_list_col.show_info .image { width: 41%; padding-top: 41%; height: initial; height: auto; float: left; }
  .introduce_list_col .info, .introduce_list_col.show_info .info { display:block; width:55%; width:-webkit-calc(59% - 18px); width:-moz-calc(59% - 18px); width:calc(59% - 18px); height: auto !important; float:right; position:static; }
  .introduce_list_col .info .meta { margin-bottom:6px; }
  .introduce_list_col .info .title { margin:0; font-size:14px; font-weight:400; line-height:1.5; max-height:none!important; }
  .introduce_list_col .info .excerpt {  }
  .introduce_list_col .info .more { border-top: none; position: relative; }
  .introduce_list_col.show_info { width:initial; width:auto; }

  #infscr-loading { margin:30px 0 0 0; }
  #load_post { margin:30px 0 0 0; }
  #load_post a { padding:0 20px; min-width:150px; line-height:40px; }



  /* 紹介詳細 */
  .introduce_shoulder_copy, #introduce_slider, .single-introduce #article #post_image {  }
}


@media only screen and (max-width:767px) {
  /* 紹介ヘッダー */
  #introduce_header { margin:30px 0 10px 0; }
  #introduce_header .headline { /*margin:0 0 2px 0;*/ margin:0 0 7px 0; font-size:16px; line-height:1.4; }

  #introduce_header .setogei { width: 100%; margin: 0 auto 30px; }

  #introduce_header p.red_txt { font-size: 0.9rem; line-height: 2.2; letter-spacing: 2px; margin: 0 0 80px; text-align: center; }
  #introduce_header .post_col { margin-bottom:20px; font-size:14px; }



  /* 紹介一覧 */
  #introduce_list { margin:30px 0 0 0; }
  #introduce_header + #introduce_list { margin-top:0; }
  .introduce_list_row { margin:0; }
  .introduce_list_col { width:initial; width:auto; margin:0 0 18px 0; padding:0 0 18px 0; float:none; font-size:14px; border-bottom:1px solid #ddd; }
	.introduce_list_row:last-child .introduce_list_col { margin-bottom:18px; }
  .introduce_list_col a { height:initial; height: auto; }
  .introduce_list_col .image, .introduce_list_col.show_info .image { width: 41%; padding-top: 41%; height: initial; height: auto; float: left; }
  .introduce_list_col .info, .introduce_list_col.show_info .info { display:block; width:55%; width:-webkit-calc(59% - 18px); width:-moz-calc(59% - 18px); width:calc(59% - 18px); height:initial; height: auto; float:right; position:static; }
  .introduce_list_col .info .meta { margin-bottom:6px; }
  .introduce_list_col .info .title { margin:0; font-size:14px; font-weight:400; line-height:1.5; max-height:none!important; }
  .introduce_list_col .info .excerpt {  }
  .introduce_list_col .info .more { border-top: none; position: relative; }
  .introduce_list_col.show_info { width:initial; width:auto; }

  .introduce_list_col .info .label { position: absolute; top: 0; left: 0; font-size: 0.8rem; font-weight: 600; color: #fff; background: #b69e84; padding: 5px 8px; text-align: center; }
  .introduce_list_col .info .label span { display: block; padding-top: 5px; }

  #infscr-loading { margin:30px 0 0 0; }
  #load_post { margin:30px 0 0 0; }
  #load_post a { padding:0 20px; min-width:150px; line-height:40px; }



  /* 紹介詳細 */
  .introduce_shoulder_copy { margin:-1px -20px 20px; padding:12px 20px; font-size:14px; line-height:1.4; }
  #introduce_slider { width: 100%; margin:0 auto 20px; position:relative; }
  #introduce_slider .item .caption { margin:0; padding:12px 20px; font-size:12px; line-height:1.6; border-top:0; }
  #introduce_slider .slick-dots { text-align:center; position:absolute; bottom:16px; left:0; right:0; }
  #introduce_slider .slick-dots li { display:inline-block; margin:0 3px; }
  .single-introduce #article #post_image { margin:0 -20px 30px; }
  .introduce_shoulder_copy + #introduce_slider, .single-introduce #article .introduce_shoulder_copy + #post_image { margin-top:-20px; }
  .single-introduce #article #post_title { font-size: 1.2rem; line-height: 1.8; margin: 0 0 30px; color: rgba(180,130,50,1); }
  .single-introduce #article #post_date { /*margin:-25px 0 30px 0;*/ margin:-25px 0 11px 0; }
  .introduce_archive_banner_link .catch { margin:0; padding:20px; font-size:20px; line-height:1.4; font-weight:400; }
  .introduce_archive_banner_link-2col a { display:block; height:initial; height: auto; min-height:100px; position:relative; }
  .introduce_archive_banner_link-2col a span { width:100%; }
  .introduce_archive_banner_link-2col .catch { padding:0 20px; text-align:center; position:absolute; top:50%; left:0; z-index:2;
    text-shadow: 4px 4px 5px rgba(0,0,0,0.8), -4px 4px 5px rgba(0,0,0,0.8), 4px -4px 5px rgba(0,0,0,0.8), -4px -4px 5px rgba(0,0,0,0.8);
    -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);
  }
  .introduce_archive_banner_link-2col .image { width:100%; height:initial; height: auto; overflow:hidden; position:static; }
  .introduce_archive_banner_link-2col .image img { width:100%; height:auto; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }



/*  瀬戸内コース */
#course_d { position: relative; margin: 0 auto; }
#course_d .section_wrap { position: relative; }

#course_d .section_wrap .co_ttl { font-size: 1.1rem; line-height: 2; margin: 30px 0 20px; color: rgba(180,130,50,1); }

#course_d .section_wrap .label li {
position: relative;
margin: 0 10px 10px 0;
padding: 10px 15px;
box-sizing: border-box;
font-size: 0.8rem;
text-align: center;
background: #0f597c;
color: #fff;
}

#course_d .section_wrap .red_txt { font-size: 0.9rem; line-height: 2.2; letter-spacing: 2px; margin: 0 0 50px; }
#course_d .section_wrap .map { width: 100%; margin: 0 auto 50px; }
#course_d .section_wrap .map img { width: 100%; }


#course_d .section_wrap .route { display: flex; flex-wrap: wrap; justify-content: center; background: #f1f1f1; padding: 20px 20px 0px; }
#course_d .section_wrap .route li {
position: relative;
margin: 0 10px 15px 0;
padding-right: 20px;
box-sizing: border-box;
font-size: 0.8rem;
font-weight: 400;
text-align: center;
}
#course_d .section_wrap .route li::after {
content: '→';
position: absolute;
top: 40%; right: 0;
font-size: 1rem;
line-height: 0;
color: #777;
}
#course_d .section_wrap .route li:last-child { padding: 0; }
#course_d .section_wrap .route li:last-child::after { display: none; }
#course_d .section_wrap .route li strong { background: #3e7a96; padding: 1px 5px; color: #fff; font-size: 0.9rem; font-weight: 400; }
#course_d .section_wrap .route_caption { font-size: 0.8rem; line-height: 2.2; letter-spacing: 2px; margin: 0 0 50px; }


#course_d .section_wrap .experience { position: relative; width: 100%; margin: 0 auto 0; }
#course_d .section_wrap .experience h3 { position: relative; margin: 0 0 40px; font-size: 1.2rem; line-height: 1; letter-spacing: 2px; text-align: center; }
#course_d .section_wrap .experience h3::before { content: ""; position: absolute; bottom: -10px; left: 0; right: 0; margin: auto; width: 60px; height: 1px; background: #c2a16c; }
#course_d .section_wrap .experience .flex { padding: 0 0 30px; border-top: none; }
#course_d .section_wrap .experience .flex:last-child { border-bottom: none; }
#course_d .section_wrap .experience .flex figure { width: 100%; }
#course_d .section_wrap .experience .flex .wp-block-bsb-slider { width: 100%; }
#course_d .section_wrap .experience .flex .txtbox { width: 100%; color: #333; }
#course_d .section_wrap .experience .flex .txtbox h4 { font-size: 1rem; margin: 10px 0; }
#course_d .section_wrap .experience .flex .txtbox p { font-size: 0.8rem; line-height: 1.8; }


#course_d .section_wrap .after { position: relative; width: 100%; margin: 50px auto 30px; }
#course_d .section_wrap .after h3 { position: relative; margin: 0 0 40px; font-size: 1.2rem; line-height: 1; letter-spacing: 2px; text-align: center; }
#course_d .section_wrap .after h3::before { content: ""; position: absolute; bottom: -10px; left: 0; right: 0; margin: auto; width: 60px; height: 1px; background: #c2a16c; }
#course_d .section_wrap .after .txt {
margin-top: 30px;
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
padding: 20px;
text-align: center;
border-radius: 10px;
border: 1px solid #c2a16c;
}
#course_d .section_wrap .after .txt h4 { font-size: 1rem; font-weight: 600; margin-bottom: 20px; color: #c2a16c; }
#course_d .section_wrap .after .txt p { font-size: 0.9rem; line-height: 2; color: #fff; }
#course_d .section_wrap .after .txt p a { color: #fff; border-bottom: 1px solid #fff; }


#course_d .section_wrap .price { margin-bottom: 80px; }
#course_d .section_wrap .price h4 { font-size: 1.1rem; margin-bottom: 20px; }
#course_d .section_wrap .price .detail { margin-bottom: 20px; border-bottom: 1px dashed #777; }
#course_d .section_wrap .price .detail ul { display: flex; flex-wrap: wrap; margin-bottom: 20px; }
#course_d .section_wrap .price .detail ul li { position: relative; font-size: 0.9rem; margin: 0 20px 15px 0; padding-left: 15px; }
#course_d .section_wrap .price .detail ul li::before { content: '◇'; position: absolute; left: 0; top: 0; color: #C80000; }
#course_d .section_wrap .price .detail ul li:last-child { margin-bottom: 0; }
#course_d .section_wrap .price p { font-size: 0.9rem; text-align: end; }
#course_d .section_wrap .price p s { font-size: 1.4rem; }
#course_d .section_wrap .price p strong { font-size: 1.8rem; color: #C80000; }


#course_d .section_wrap .res_btn {
width: 80%;
margin: 0 auto 30px;
font-weight: bold;
color: #fff;
text-align: center;
box-shadow: 0 0 5px rgba(0, 0, 0, .2);
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124, 0.9) 50%,rgb(15, 89, 124) 100%);
border: 1px solid #c2a16c;
border-radius: 50rem;
}
#course_d .section_wrap .res_btn a { display: block; color: #fff; font-size: 1rem; padding: 20px 0; }


#course_d .foot_btn {
display: block;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
margin: 0 auto;
font-weight: bold;
color: #fff;
text-align: center;
box-shadow: 0 0 5px rgba(0, 0, 0, .2);
background: linear-gradient(90deg,rgb(15, 89, 124) 0%,rgba(15, 89, 124) 50%,rgb(222, 197, 175) 100%);
z-index: 10;
transition-duration: 0.5s;
}
.header_fix #course_d .foot_btn {
bottom: 55px;
transition-duration: 0.5s;
}
#course_d .foot_btn a { display: block; color: #fff; font-size: 1rem; padding: 17px 0; }


}





/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .article_inner { padding:0; border:none; }
  #recent_news li .title { font-size: 14px;}
}

@media only screen and (max-width:767px) {
  /* お知らせ一覧 */
  #recent_news { margin: 0 0 30px; }
  #recent_news li a { padding: 15px 0; }
	#recent_news .show_date li .title { margin-bottom:5px;}
  #recent_news .show_date li .date { font-size:12px; line-height:1.6;/*position:absolute; top:50%; right:18px;*/ position:static; margin:0; }
  #recent_news .show_date li a{
    flex-flow: column;
    align-items: baseline;
  }
  #recent_news .show_date li .title { margin-bottom: 0; margin-top: 5px; }
  /*.post-type-archive-news #recent_news ol { margin:0; padding:0; border:none; }*/
  /*.post-type-archive-news #recent_news li { border-bottom:1px solid #ddd; }
  .post-type-archive-news #recent_news li:last-child { border-bottom:none; }*/
  /*.post-type-archive-news #recent_news li a { padding:11px 0 !important; line-height:1.6; }*/
  /*.post-type-archive-news #recent_news .show_date li .date { margin:0 0 6px 0; color:#999; font-size:83.33%; line-height:1.6; color:#b69e84; position:static; }*/
  .post-type-archive-news .page_navi { display:block; }

  /* お知らせ詳細 */
  .single-news #article #post_title { margin:0 0 24px 0; font-weight:700; }
  .single-news #article #post_date { margin:-12px 0 24px 0; font-size:12px; }
  .single-news #recent_news { margin-top:30px; }
  .single-news #recent_news .headline { margin:0 0 10px 0; font-size:16px; line-height: 1.6; }
  .single-news #recent_news .archive_link { margin-top:16px; }

  /* 次の記事、前の記事 */
  #previous_next_post { margin:28px 0; }
  #previous_next_post a { display:block; height:50px; line-height:50px; text-align:center; overflow:hidden; }
  #previous_next_post .title { display:none; }
  #previous_next_post .prev_post a { padding:0 0 0 32px; }
  #previous_next_post .next_post a { padding:0 32px 0 0; }
  #previous_next_post a:before { font-size:16px; width:16px; }
  #previous_next_post .prev_post a:before { left:16px; }
  #previous_next_post .next_post a:before { right:16px; }
  #previous_next_post .prev_post a:after { content:attr(data-mobile-title); font-size:12px; }
  #previous_next_post .next_post a:after { content:attr(data-mobile-title); font-size:12px; }
}

/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #comment_headline { margin:0 0 10px 0; font-size:16px; font-weight:300; line-height:1.6; }
	#submit_comment { height:48px; }
}

@media only screen and (max-width:767px) {
  #comment_area, #trackback_area { margin:0; }

  /* コメント・トラックバックのタブ */
  #comment_header { position:relative; margin:30px 0 15px; }
  #comment_header ul { margin:0; }
  #comment_header ul li { float:none; text-align:center; margin:0; width:100%; }
  #comment_header ul li a, #comment_header ul li p { padding:7px; }
  #comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }

  /* コメントの基本部分 */
  .comment { padding:10px 10px 0; }

  /* フォーム部分 */
  .comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }
}

/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {

  /* パスワード保護 */
  .c-pw__btn { padding:10px 12px; }
  .c-pw__box { padding:18px 20px; margin-bottom:30px; }
  .c-pw__box-input { width:180px; margin-bottom:6px; }
}


/* ----------------------------------------------------------------------
 pagebuilder
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  .post_content .pb_catchcopy { font-size:20px; line-height:1.5; }
  .post_content .pb_headline { font-size:20px; line-height:1.5; }
}

