@charset "UTF-8";


/* 全体
--------------------------------------------- */
html {box-sizing: border-box;}
*,*::before,*::after {box-sizing: border-box;}
body {
  font-family: "Helvetica Neue", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
	line-height: 1.5;
  text-align: center;
	position: relative;
	color: #2D2D2D;
	padding: 0;
	margin: 0;
  font-size: 1rem;
  font-size: clamp(1rem, 0.0024999999999995026rem + 1.1400000000000006vw, 1.21375rem);
  background-image: url(../img/cmn/bg.gif);
}
@media screen and (max-width:800px) {
  body {
    font-size: 0.875rem;
    font-size: clamp(0.875rem, 0.782608695652174rem + 0.43478260869565216vw, 1rem);
  }
}
a {
  text-decoration: none;
  background-color: transparent;
  transition: 500ms;
  color: #2D2D2D;
  cursor: pointer;
}
.post, .page {margin: 0;}
a:active,a:visited,a:focus,a:hover  {color:#2D2D2D;transition: 0.25s;}
.link_w:active,.link_w:visited,.link_w:focus,.link_w:hover  {color: #fff;}
.link_w a:active,.link_w a:visited,.link_w a:focus,.link_w a.link_w:active,.link_w a:visited,.link_w a:focus,.link_w a:hover {color: #fff;}
.link_w:active,.link_w:visited,.link_w:focus,.link_w:hover{color: #fff;}
h1,h2,h3,h4 {font-size: 1em;clear: both; margin:0; font-weight: normal;}
p,dl,dd,dt {padding: 0;	margin: 0;}
p {margin: 0;padding: 0;vertical-align:baseline;}
ul,li,ol,li > ul, li > ol {padding: 0; margin: 0; list-style: none;}
img {border-style: none;height: auto;max-width: 100%;}
figure,picture {margin: 0;}
picture{display: block;}
.flex {display: flex;flex-wrap: wrap;}
.pc {display: block;}
.sp {display: none;}
.underline {text-decoration: underline;}
.underline:hover {text-decoration: none;}
.bold {font-weight: bold;}
@media screen and (max-width:900px){
  .no_tab {display: none;}
}
@media screen and (max-width:640px){
	.sp {display: block;}
	.pc {display: none;}
  body {font-size: 0.9em;}
}
.grecaptcha-badge { visibility: hidden; }
#content {padding: 0;}
main{overflow: hidden;}

.ly_1700 {
   max-width: 1700px;
   margin-left: auto;
   margin-right: auto;
}
.ly_1400 {
  max-width: 1400px;
   margin-left: auto;
   margin-right: auto;
}
.ly_1200 {
   max-width: 1200px;
   margin-left: auto;
   margin-right: auto;
}
.ly_1100 {
   max-width: 1100px;
   margin-left: auto;
   margin-right: auto;
}
.ly_1000 {
   max-width: 1000px;
   margin-left: auto;
   margin-right: auto;
}
.ly_900 {
   max-width: 900px;
   margin-left: auto;
   margin-right: auto;
}
.ly_950 {
   max-width: 950px;
   margin-left: auto;
   margin-right: auto;
}
.ly_800 {
   max-width: 800px;
   margin-left: auto;
   margin-right: auto;
}
.ly_750 {
   max-width: 750px;
   margin-left: auto;
   margin-right: auto;
}

/* ボタン
--------------------------------------------- */
.btn_smpl ,
.btn_smpl_w {
  border-radius: 5px;
  padding: 1.2em 1em 1.2em 2.3em;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.3;
  font-weight: 400;
}
.btn_smpl {
  background-color: #1a1a1a;
  color: #fff;
  border: 1px solid #fff;
}
.btn_smpl_w {
  background-color: #fff;
  color: #1a1a1a;
}
.btn_smpl:active,.btn_smpl:visited,.btn_smpl:focus{color: #fff;}
.btn_smpl::after,
.btn_smpl_w::after {
  content: '';
  width: 15px;
  height: 15px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  margin-left: 1.5em;
}
.btn_smpl::after {
  background-image: url(../img/cmn/ico_cmn_arrow_white.svg);
}
.btn_smpl_w::after {
  background-image: url(../img/cmn/ico_cmn_arrow_black.svg);
}
.btn_smpl:hover::after{
  background-image: url(../img/cmn/ico_cmn_arrow_black.svg);
}
.btn_smpl_w:hover::after{
  background-image: url(../img/cmn/ico_cmn_arrow_white.svg);
}
.btn_smpl[target="_blank"]:after {
  background-image: url(../img/cmn/ico_cmn_blank_white.svg);
}
.btn_smpl[target="_blank"]:hover::after{
  background-image: url(../img/cmn/ico_cmn_blank_black.svg);
}
.btn_smpl:hover{
  background-color: #fff;
  color: #1a1a1a;
  border: 1px solid #fff;
}
.btn_smpl_w:hover{
  background-color: #000;
  color: #fff;
}
.txtbox p {
  margin-bottom: 1em;
}


/* 文字装飾
--------------------------------------------- */
.cl_white {
  color: #fff;
}
.red {
  color: #ff0000;
}

/* 背景色
--------------------------------------------- */
.bg_white {
  background-color: #fff;
}


/* 固定ページ見出し
--------------------------------------------- */
.sec_pagettl {
  padding-top: clamp(5.5rem, -0.16176470588235237rem + 6.470588235294117vw, 6.875rem);
  text-align: left;
  position: relative;
}
.wrap_pagettl { 
  padding-top: 80px;
  width: 90%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
}
.sec_pagettl::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0 auto;
  width: 95%;
  height: 1px;
  background-color: #999;
}
.sec_sglttl::after {
  content: none;
}
.ttl_page_en{
  font-size: 2.5rem;
  font-size: clamp(2.5rem, 1.75rem + 3vw, 4.375rem);
  line-height: 1.0;
  margin-bottom: 18px;
  display: block;
}
.ttl_page {
  font-size: 1.5rem;
  font-size: clamp(1.5rem, 1.15rem + 1.4000000000000001vw, 2.375rem);
  line-height: 1.3;
  margin-bottom: 18px;
  display: block;
  
}
.deco_ttl_page{
  font-size: 1.125em;
}
.deco_ttl_page span {
  font-weight: bold;
  color: #d8677e;
}
.ttlbox_page {  
  padding-left: 4%;
  padding-right: 4%;
  padding-top: 20px;
  margin-bottom: 80px;
}
.ttlwrap_page {
  max-width: 1700px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 50px;
  position: relative;
  margin-bottom: 70px;
}
.ttlwrap_page:has(.post-thumbnail){
  display: flex;
  flex-flow: row-reverse;
  justify-content: space-between;
  min-height: 25rem;
  min-height: clamp(25rem, -0.000004166666663252272rem + 28.571433333333328vw, 30.35714375rem);
}
.ttlwrap_postpage {
  display: flex;
  flex-flow: row-reverse;
  justify-content: space-between;
  max-width: 1700px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  position: relative;
}
.page-template-default .post-thumbnail {
  width: 33.75rem;
  width: clamp(33.75rem, -0.000004166666663252272rem + 38.571433333333324vw, 40.98214375rem);
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  overflow: hidden;
  aspect-ratio: 54 / 40;
  position: absolute;
  left: 0;
  top: 70px;
}
.ttlbox_postpage {
  margin-bottom: 0;
}
.page-template-default .post-thumbnail img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.ttlbox_txt_page {
  position: relative;
  z-index: 1;
  padding-top: 50px;
}

/* パンクズ */
.pankuzu_page {
  width: 100%;
  color: #808080;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  text-align: right;
  font-size: 0.6875rem;
  font-size: clamp(0.6875rem, 0.6375rem + 0.2vw, 0.8125rem);
  position: relative;
}
.pankuzu_page li::after {
  content: '/';
  margin: 0 10px;
  color: #808080;
}
.pankuzu_page li:last-child::after{
  content: none;
}
.pankuzu_page a{
  color: #808080;
}
.pankuzu_page a:hover {
  text-decoration: underline;
}

@media screen and (min-width:1700px){ 
  .page-template-default .post-thumbnail {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}
@media screen and (max-width:1400px){ 
  .ttlimg_page {
    width: 38.57%;
  }
}
@media screen and (max-width:800px){ 
  .ttlbox_sglttl {
  padding-left: 0;
  padding-right:0;
  }
  .ttlbox_sglttl .ttl_page {
    font-weight: bold;
  }
}
@media screen and (max-width:800px){ 
  .ttlwrap_page,.ttlwrap_page {
    display: block;
    flex-flow: row-reverse;
    min-height: auto;
    margin-bottom: 0;
  }
}
@media screen and (max-width:640px){ 
  .pankuzu_page br{
    display: none;
  }
  .wrap_pagettl { 
    padding-top: 20px;
  }
  .ttlbox_page {
    margin-bottom: 40px;
  }
  .ttlbox_sglttl {
    margin-bottom: 0px;
  }
}


/* ヘッダー
--------------------------------------------- */
.header_cmn {
  display: flex;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: clamp(5.5rem, -0.16176470588235237rem + 6.470588235294117vw, 6.875rem);
  z-index: 9;
}
.header_cmn::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(../img/cmn/bg.gif);
  opacity: 0.9;
  transform-origin: top;
  transition: 0.3s;
}
/* ヘッダー文字色変更用 */
@media screen and (min-width:800px){
  .header_nobg::before {
    transform: scale(1,0);
    transform-origin: top;
    transition: 0.3s;
  }
  .header_nobg .header_nav .list_header_nav > li > a,
  .header_nobg .logo_txt {
    color: #fff;
  }

  .header_nobg .list_header_nav > li > a:active,
  .header_nobg .list_header_nav > li > a:visited,
  .header_nobg .list_header_nav > li > a:focus,
  .header_nobg .list_header_nav > li > a:hover {
    color: #fff;
  }
  }
  .wrap_logo {
    min-width: 380px;
    width: 27%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    position: relative;
}
.logo_cmn { 
  width: 46%;
  height: 100%;
  align-items: center;
  display: flex;
}
.logo_cmn img {
  width: 100%;
}
.logo_txt {
  font-size: 0.95em;
  line-height: 1.3;
  text-align: left;
  padding-top: 0.8em;
  margin-left: 15px;
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-feature-settings: "palt";
}
.header_nav {
  text-align: right;
  padding-top: 10px;
  padding-right: 100px;
  padding-right: clamp(4.6875rem, -1.5625rem + 12.5vw, 6.25rem);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.list_header_nav {
  display: flex;
  align-items: center;
  height: 50px;
}
.list_header_nav .tb{
  display: none;
}
.header_nav a {
  font-size: 0.9375em;
  margin: 0 1em;
  text-align: center;
  line-height: 1.3;
  display: block;
  position: relative;
}
.btn_hd_contact {
  padding: 0.98em 2.5em !important;
}
.list_header_nav li a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #d8677e;
  bottom: -3px;
  transform: scale(0, 1);
  transform-origin: right top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
  transition: transform 0.3s;  /*変形の時間*/
}
.list_header_nav li a:hover::after {
  transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
  transform-origin: left top; /*左から右に向かう*/
}
.navi_ico {
  display: none;
}

@media screen and (max-width:1300px){
  .logo_txt {
    font-size: 0.8em;
    margin-left: 10px;
  }
  .header_nav a {
    margin: 0 0.7em;
  }
  .wrap_logo {
    min-width: 270px;
  }
}
@media screen and (max-width:1180px){
  .list_header_nav .tb{
    display: block;
  }
}
@media screen and (max-width:1000px){
  .header_nav a {
    font-size: 0.87em;
  }
}
@media screen and (max-width:900px){
  .li_access {
    display: none;
  }
}
@media screen and (max-width:860px){
  .list_header_nav {
    padding-right: 1em;
  }
}
@media screen and (max-width:800px){
  .header_cmn {
    height: 66px;
  }
}

/* ▼ 初期状態：非表示（でもスペースは取らない） */
.list_header_nav li{
  position: relative;
}
.list_btn_down {
  position: absolute;
  top: 135%;
  left: 0;
  background-color: #fff;
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s ease;
  z-index: 99;
  padding: 10px;
  border-radius: 7px;
}
.list_btn_header {
  top: 190%;
}
.list_btn_down li a {
  display: block;
  padding: 10px 12px;
  font-size: 0.95em;
  white-space: nowrap;
  margin-left: 0;
  margin-right: 0;
}

.list_btn_down li a:hover:after {
  content: none;
}
.list_btn_down li a:hover {
    color: #d8677e !important;
}

/* ▼ ホバー時：ふわっと下に表示 */
.pc_menu > li:hover .list_btn_down {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}


/* スマホ下固定メニュー
--------------------------------------------- */
@media screen and (max-width:800px){
  .wrap_logo {
   min-width: calc(100% - 70px);
   display: flex;
   align-items: center;
  justify-content: flex-start;
  z-index: 1000;
  }
  .wrap_logo .logo_cmn{
    padding-top: 10px;
    padding-bottom: 7px;
    width: auto;
    padding-left: 2.5%;
  }
  .logo_cmn img {
    height: 100%;
    width: auto;
  }
.navi_ico {
  display: block;
  align-items: center;
  justify-content: center;
  width: 9vw;
  margin: 0 auto;
}
.li_furusato .tb {
  display: none;
}
.li_topics {
  display: none;
}
.list_header_nav span{
  display: block;
}
.header_nav {
  position: fixed;
  background-image: url(../img/cmn/bg.gif);
  width: 100%;
  bottom: 0;
  height: 60px;
  height: max(60px, 12vw);
  left: 0;
  z-index: 10;
  padding: 0;
  margin: 0;
  justify-content: space-between;
  border-top-right-radius: 7px;
  border-top-left-radius: 7px;
  font-feature-settings: "palt" 1;
  border: 1px solid #999;
  border-bottom: none;
  opacity: 0.97;
  }
  .list_header_nav {
    padding: 0;
    width: 100%;
    height: 100%;
  }
  .list_header_nav li {
    width: 20%;
    height: 100%;
    border-left: 1px solid #999;
  }
  .list_header_nav li:first-child {
    border-left: none;
  }
  
  .list_header_nav li a:hover:after {
    content: none;
  }
  .header_nav a {
    margin: 0;
    display: grid;
    place-content: center;
    place-items: center;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width:640px){
.navi_ico {
  width: 55%;
}
}
@media screen and (max-width:460px){
  .header_nav a {
    font-size: 0.75rem;
    letter-spacing: -0.05em;
    line-height: 1.2;
  }
}

/* 全画面メニュー
--------------------------------------------- */
/* MENU */
.h_menu_wrap {
	position: fixed;
	z-index: 999;
	width: 100vw;
	height: 100vh;
	left: 0px;
	top: 0px;
  display: flex;
  align-items: center;
	flex-wrap: wrap;
	flex-direction: inherit;
  opacity: 0;
  transition: 0.5s;
  pointer-events: none;
}
.h_menu_wrap::before{
  content: '';
	background-color: #fff;
  background-image: url(../img/cmn/bg.gif);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.98;
}

.h_menu {
	width: 45%;
  min-width: 640px;
  margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}
.h_menu_logo {
  position: absolute;
  left: 20px;
  top: 10px;
}
.h_menu_logo img{
  height: 60px;
  width: 180px;
}
.list_h_menu {
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
}
.ttl_hnav {
  font-weight: bold;
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 0.7em;
  padding-top: 0.7em;
  display: flex;
  align-items: center;
}
.ttl_hnav a:hover{
  color: #d8677e;
}
.ttl_hnav::before {
  content: '';
  width: 40px;
  height: 25px;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.ttl_hnav_about::before {
  background-image: url(../img/cmn/ico_cmn_navi_tulip.svg);
}
.ttl_hnav_kanko::before {
  background-image: url(../img/cmn/ico_cmn_navi_kanko.svg);
  margin-right: 5px;
}
.ttl_hnav_access::before {
  background-image: url(../img/cmn/ico_cmn_navi_home.svg);
}
.nav-columns {
  width: 31%;
}
.m_h_menu {
  display: flex;
  flex-wrap: wrap;
}
.m_h_menu li {
  width: 100%;
}
.m_h_menu li a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e6e6e6;
  padding:0.7em 5px;
}
.m_h_menu li a::after, .nav-button::after{
  content: '';
  width: 15px;
  height: 15px;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../img/cmn/ico_cmn_arrow_gray.svg);
  transition: 0.25s;
}
.m_h_menu li a:hover::after, .nav-button:hover::after {
  transform: translateX(3px);
  transition: 0.25s;
}
.nav-footer {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 7px;
  margin-bottom: 35px;
  margin-left: auto;
  margin-right: auto;
}
.nav-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #1a1a1a;
  color: #fff;
  padding:0.7em 15px;
  transition: 0.25s;
}
.nav-button:after{
  background-image: url(../img/cmn/ico_cmn_arrow_white.svg);
}
.nav-button[target="_blank"]:after {
  background-image: url(../img/cmn/ico_cmn_blank_white.svg);
}
.nav-button[target="_blank"]:hover::after {
  transform: scale(1.1);
}
.h_menu_search {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.nav-button:hover {
  background-color: #d8677e;
  transition: 0.25s;
}
.nav-button:active, .nav-button:visited, .nav-button:focus, .nav-button:hover {
  color: #fff;
}
.nav-footer-sns {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}
.ico_insta {
  width: 32px;
  height: 32px;
  background-image: url(../img/cmn/ico_sns_insta.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transition: 0.25s;
  display: block;
}
.link_sns:hover .ico_insta{
  background-image: url(../img/cmn/ico_sns_insta_pink.svg);
  transition: 0.25s;
}
.l_h_menu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.h_menu li{
	position: relative;
}
.h_menu li a:hover {
	color: #d8677e;
}
.h_menu li a {
	width: auto;
	height: 100%;
	color: #1a1a1a;
}
@media screen and (max-width:780px) {
  .h_menu_wrap {
    height: 100%;
    padding-top: 80px;
    padding-bottom: 100px;
    overflow-y: scroll;
    width: 100%;
    border-radius: inherit;
    left: 0;
    top: 0px;
    background-image: url(../img/cmn/bg.gif);
  }
  .h_menu {
    width: 100%;
    min-width: auto;
  }
  .nav-columns {
    width: 100%;
    margin-bottom: 10px;
  }
  .nav-footer {
    grid-template-columns: 1fr 1fr;
    width: 95%;
  }
  .m_h_menu li {
    width: 50%;
  }
  .m_h_menu li a {
    border-right: 1px solid #e6e6e6;
    padding:1em 12px;
  }
   .m_h_menu li:nth-child(even) a{
      border-right: none;
   }
   .list_h_menu {
    margin-bottom: 15px;
    width: 95%;
  }
  
}
@media screen and (max-width:650px) {
  .nav-button::after{
    width: 13px;
    height: 13px;
  }
  .nav-button {
    padding:0.7em 10px;
  }
}


/* 検索
--------------------------------------------- */
.search_text {
  width: 100%;
  background-color: #fff;
  border: none;
  padding: 7px calc(10px + min(2vw,20px)) 7px 10px !important;;
  border-radius: 50px !important;
}
.search_form {
  position: relative;
  min-width: 315px;
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}
.h_menu .search_form {
  margin-top: 0px;
  margin-bottom: 0px;
}
.h_menu_search {
  margin-bottom: 40px;
}
.search_btn {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width:780px) {
  .search_form {
    min-width: auto;
    width: 315px;
  }
  .h_menu_search {
    background-color: #f2f2f2;
    padding: 8px;
  }
  .h_menu_search {
    margin-bottom: 10px;
  }
}


/* input
--------------------------------------------- */
input[type="text"]:focus {
  outline: 0;
}
x:-moz-any-link, x:default {
	box-shadow: #000 0 0 0;
}
table,th,td{
border-collapse: collapse;
border: 0 ;
}
input::-webkit-input-placeholder,
input:-ms-input-placeholder,
input::-moz-placeholder{
    color: #ccc;
    font-weight: normal;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
:where(button) {
    font-size: inherit;
}
textarea{
	resize: none;
}

/* ハンバーガーメニュー
--------------------------------------------- */
.humb_btn {
  width: 60px; /* メニューボタンサイズ */
  height: 60px;
  top: 18px; /* メニューボタン位置 */
  right: 27px;
  right: clamp(0.9375rem, -3.5625rem + 9vw, 2.0625rem);
	z-index: 1000;
	position: fixed;
  background-color: #1a1a1a;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  cursor: pointer;
  transition: 0.25s;
}
.humb_btn:hover{
  transform: scale(1.05);
  transition: 0.25s;
}
.humb_btn label {
  display: flex;
  flex-wrap: wrap;
  flex-flow: column;
  height: 100%; /* メニューボタンサイズ高さ */
  align-items: center;
  justify-content: center;
  cursor: pointer;
	margin: 0;
	text-align: center;
}
.humb_btn span {
  display: block;
  width: 25px;
  height: 2px;
  background: #fff;
	transition: all ease-in-out 0.5s;
}
.menu_on .humb_btn {
  border: 1px solid #1a1a1a;
}
.menu_on .humb_btn label{
	align-content: center;
}
.humb_btn span:nth-of-type(1) {
  margin-bottom: 3px;
}
.humb_btn span:nth-of-type(2) {
  margin-top: 3px;
}
.menu_on .humb_btn span:nth-of-type(1) {
  transform: translate(0px, 4px) rotate(-45deg);
  transform-origin: center;
  margin-top: 3px;
}
.menu_on .humb_btn span:nth-of-type(2) {
	transform: translate(0px, -4px) rotate(45deg);
	transform-origin: center;
}
.menu_on .head_inner .h_menu_wrap { /* メニュー開いた時 */
  opacity: 1;
  transform: scale(1);
  transition: 1s;
  pointer-events: auto;
}
.menu_on .humb_btn {
  transform: scale(1);
}
.h_menu,.h_menu_img,.h_menu_bottom {
	opacity: 0;
	transition: 500ms;
}
.menu_on .head_inner .h_menu ,.menu_on .head_inner,.menu_on .head_inner .h_menu_logo {
	opacity: 1;
	transition: 0.8s;
	transition-delay : 0.3s;
}
.head_inner .h_menu {
  transform: translateY(20px);
}
.menu_on .head_inner .h_menu {
  transform: translateY(0px);
  opacity: 1;
	transition: 0.5s;
	transition-delay : 0.55s;
}
@media screen and (max-width:1000px){
  .humb_btn {
    width: 50px; /* メニューボタンサイズ */
    height: 50px;
    top: 13px; /* メニューボタン位置 */
    right: 13px;
  }
}
@media screen and (max-width:800px){
  .humb_btn {
    top: 9px;
  }
}


/* フッター バナー
--------------------------------------------- */
.cmnbnr {
  background-color: #f2f2f2;
  padding-top: 62px;
  padding-bottom: 71px;
}
.ttl_bnr {
  font-size: 2.8em;
}
.ttl_deco_bnr {
  font-size: 0.97em;
  display: block;
}
.ttlbox_bnr {
  position: relative;
  color: #fff;
  z-index: 2;
  line-height: 1.1;
}
.wrap_cmnbnr {
  width: 80%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
}
.wrap_cmnbnr li {
  width: 100%;
  height: 100%;
  aspect-ratio: 548/242;
  position: relative;
  overflow: hidden;
}
.pic_cmnbnr {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.pic_cmnbnr img {
  object-fit: cover;
  min-width: 100%;
  min-height: 100%;
  transition: 0.25s;
}
.link_cmnbnr:hover .pic_cmnbnr img {
  transform: scale(1.1);
  transition: 0.25s;
}
.link_cmnbnr:hover::before {
  opacity: 0.3;
  transition: 0.25s;
}
.link_cmnbnr::before {
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: 0.25s;
}
.link_cmnbnr {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  width: 100%;
  height: 100%;
  position: relative;
  padding: 1.2em 6%;
}
.link_cmnbnr::after {
  content: '';
  background-image: url(../img/cmn/ico_cmn_arrow_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 100%;
  position: absolute;
  right: 3.5%;
  bottom: 1.2em;
  width: 15px;
  height: 15px;
  display: block;
  z-index: 2;
}
.link_cmnbnr[target="_blank"]::after {
  background-image: url(../img/cmn/ico_cmn_blank_white.svg);
  width: 18px;
  height: 18px;
}
@media screen and (max-width:900px){
  .wrap_cmnbnr {
    width: 90%;
    display: block;
  }
  .wrap_cmnbnr li {
    margin-bottom: 3px;
    aspect-ratio: 351/155;
  }
}
@media screen and (max-width:640px){
  .cmnbnr {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

/* ページトップ
--------------------------------------------- */
.sec_pagetop {
  padding-top: 50px;
  padding-bottom: 25px;
  text-align: right;
}
.ft_pagetop {
  width: 96%;
  max-width: 1580px;
  margin: 0 auto;
}
.sec_pagetop a{
  color: #333;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}
.sec_pagetop a::after {
  content: '';
  background-image: url(../img/cmn/ico_cmn_arrow_black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50% auto;
  width: 60px;
  height: 60px;
  transform: rotate(-90deg);
  transition: 0.25s;
  margin-left: 20px;
  display: inline-block;
  border-radius: 50%;
  border: 1px solid #454344;
}
.sec_pagetop a:hover::after {
  transform: rotate(-90deg) translateX(10px);
  transition: 0.25s;
  background-color: #454344;
  background-image: url(../img/cmn/ico_cmn_arrow_white.svg);
}


/* フッター サイトマップ
--------------------------------------------- */
.sec_sitemap  {
  width: 100%;
  padding-top: 80px;
  position: relative;
  background-color: #1a1a1a;
  color: #fff;
}
.ft_img_tulip {
  position: absolute;
  left: 0;
  top: -95px;
  background-image: url(../img/cmn/deco_cmn_ftr_tulip.webp);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 20%;
  aspect-ratio: 280/252;
}
.sec_sitemap a {
  color: #fff;
}
.list_ft_ct a:hover {
  opacity: 0.75;
}
.wrap_sitemap { 
  min-width: 1020px;
  width: 72%;
  max-width: 1200px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}
.l_ft {
  min-width: 280px;
  width: 27.5%;
  text-align: left;
  font-size: 0.875em;
  margin-bottom: 50px;
}
.btn_ft_contact {
  display: flex;
  margin-bottom: 30px;
  font-size: 1rem;
}
.r_ft {
  width: 62%;
  padding-left: 5%;
  min-width: 640px;
  text-align: left;
  padding-top: 20px;
  padding-bottom: 50px;
  font-size: 0.97rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1.5fr;
  gap: 20px;
}
.list_ft_ct {
  text-align: left;
}
.list_ft_ct a{
  color: #fff;
}
.list_ft_ct li {
  margin-bottom: 1em;
}
.a_ft_logo {
  margin-bottom: 30px;
  text-align: center;
  display: block;
  width: 100%;
}
.img_ft_mark {
  width: 100%;
  margin-bottom: 5px;
}
.deco_ft_mark {
  font-size: 0.8rem;
  color: #808080;
  display: block;
  width: 100%;
  letter-spacing: 0.15em;
}
.ft_addr {
  margin-bottom: 20px;
  line-height: 1.7;
}
.img_ft_logo {
  width: 204px;
  width: clamp(12.75rem, -0.08333333333333393rem + 14.666666666666666vw, 15.5rem);
}
.ft_pv {
  display: block;
  margin-bottom:20px;
}
.ttl_link {
  font-weight: 400;
  margin-bottom: 10px;
  font-size: 1.125em;
}
.ttl_s_link {
  font-weight: 400;
  margin-right: 20px;
}
.dl_sns {
  display: flex;
  flex-wrap: wrap;
}
.ft_link_ctt {
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
}
.btn_ft_ctt{
  display: flex;
  margin-bottom: 15px;
}
.ft_link_sns {
  display: flex;
  padding-top: 15px;
  gap: 15px;
}
.ico_ft_sns img {
  transition: filter .2s ease;
}
.ico_ft_sns:hover img {
  filter: invert(47%) sepia(38%) saturate(1040%) hue-rotate(303deg) brightness(92%) contrast(90%);
}
.ico_ft_sns {
  margin-right: 15px;
}
.li_ft_child::before {
  content: '';
  background-image: url(../img/cmn/ico_cmn_child_white.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  margin-top: -2px;
}
.li_ft_child {
  display: flex;
  align-items: center;
}

@media screen and (max-width:1200px) {
  .wrap_sitemap { 
    min-width: auto;
    width: 85%;
  }
}
@media screen and (max-width:1100px) {
  .wrap_sitemap { 
    display: block;
    text-align: center;
  }
  .l_ft,.r_ft {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width:800px) {
  .ft_copy {
    padding-bottom: 120px;
  }
  .r_ft {
    grid-template-columns: 1fr 1fr;
    min-width: 0;
    width: 100%;
  }
  .r_ft .ft_link_ctt:nth-child(3) {
    grid-column: 1 / -1;
  }
  .ft_link_ctt {
    width: 100%;
  }
  .r_ft {
    padding-left: 0;
  }
  .l_ft {
    width: 100%;
  }
  .l_ft {
    text-align: center;
  }
  .ft_link_sns {
    justify-content: center;
  }
  .img_ft_mark {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .ft_img_tulip {
    width: 30%;
    top: -50px;
  }
}
@media screen and (max-width:640px) {
  .list_ft_ct li {
    margin-bottom: 1.8em;
  }
  .img_ft_mark {
    max-width: 220px;
  }
  .ft_img_tulip {
    top: -20px;
    width: 40%;
  }
}

/* コピーライト
--------------------------------------------- */
.ft_copy {
  width: 100%;
  padding: 50px 10%;
  color: #808080;
  letter-spacing: 0.1em;
}
@media screen and (max-width:800px) {
  .ft_copy {
    padding-bottom: 120px;
  }
}

/* 投稿　見出し・本文テキスト
--------------------------------------------- */
.h2_topi_deta {
  font-size: min(6vw, 32px);
  line-height: 1.5;
  font-weight: 400;
  padding-bottom: 0.7em;
  margin-bottom: 30px;
  position: relative;
}
.entry-eyecatch {
  margin-bottom: 40px;
}
.p_topi_deta .entry-desc {
  margin-bottom: 40px;
  font-size: 1.05em;
}
.p_topi_deta em {
  font-size: 1em;
  font-style: italic;
}
.p_topi_deta h2, .p_topi_deta h3, .p_topi_deta h4, .p_topi_deta h5, .p_topi_deta h6 {
  line-height: 1.5;
  display: inline-block;
  width: 100%;
}
.p_topi_deta h2 { /* h2タイトル */
  padding: 10px 0 0px 0;
  font-size: 1.7em;
  position: relative;
  margin-top: 1em;
  margin-bottom: 1.2em;
  font-weight: 500;
  line-height: 1.5;
  padding-left: 30px;
}
.p_topi_deta h2:before { 
  content: '';
  width: 20px;
  height: 3px;
  background-color: #d8677e;
  position: absolute;
  left: 0;
  top: calc(10px + 0.75em);
  display: block;
}

.p_topi_deta h3 { /* h3タイトル */
  padding: 0.5em 0.7em;
  margin-top: 1em;
  margin-bottom: 1.2em;
  font-size: 1.2em;
  font-weight: 400;
  background-color: #eee;
  border-radius: 10px;
}
.p_topi_deta h4 { /* h4タイトル */
  font-size: 1.125em;
  padding-top: 1em;
  padding-left: 5px;
  margin-bottom: 1.2em;
  border-bottom: 1px solid #666666;
  font-weight: bold;
  padding-bottom: 5px;
}

.p_topi_deta h5 { /* h5タイトル */
  font-size: 1.0625em;
  margin-top: 1em;
  margin-bottom: 1.2em;
  font-weight: bold;
  position: relative;
}
.p_topi_deta h5::before {
  content: '■';
  color: #666666;
  margin-right: 4px;
}
.p_topi_deta h6 { /* h6タイトル */
  font-size: 1em;
  margin-top: 1em;
  margin-bottom: 1.2em;
  font-weight: bold;
}
.p_topi_deta { /* 段落文字 */
  font-size: 1rem;
  font-weight: normal;
  color: #333;
}
.p_topi_deta p { /* 段落文字 */
  margin-bottom: 1em;
  font-size: 1rem;
  display: block;
  line-height: 1.75;
}

@media screen and (max-width: 650px) {
  .p_topi_deta h2 {
    font-size: 1.6em;
  }
  .p_topi_deta h3 {
    font-size: 1.5em;
  }
  .p_topi_deta h4 {
    font-size: 1.4em;
  }
  .p_topi_deta h5 {
    font-size: 1.2em;
  }
  .p_topi_deta h6 {
    font-size: 1.1em;
  }
  .p_topi_deta p ,.p_topi_deta{
    font-size: 0.9rem;
  }
}

/* 投稿スタイル
--------------------------------------------- */
.wp-caption {
  width: auto !important;
  border: inherit !important;
  background-color: inherit !important;
  display: inline-block;
  margin: 0 !important;
}
.wp-caption .wp-caption-text { /* 画像キャプション */
  margin: 0.5em 0;
  font-size: 0.9em;
  line-height: 1.5;
  text-align: center;
  color: #999;
}
.p_topi_deta img {
  vertical-align: top;
}

.p_topi_deta a:has(img, svg):hover {
  opacity: 0.75;
}

.p_topi_deta a[target=_blank]:not(:has(img, svg))::after { /* 外部リンク */
  content: url(../img/cmn/ico_cmn_blank.svg);
  margin: 0 5px;
  vertical-align: middle;
}

.p_topi_deta ol, .p_topi_deta ul { /* リスト */
  line-height: 1.75;
  margin-bottom: 1em;
}

.p_topi_deta ol { /* リスト */
  padding-left: 1.5em;
}

.p_topi_deta ol li {
  list-style-type: decimal;
  margin-bottom: 5px;
}

.p_topi_deta ul li {
  padding-left: 10px;
  margin-left: 10px;
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 5px;
}

.p_topi_deta ul li::before {
  position: relative;
  top: 0px;
  left: -3px;
  margin-right: 3px;
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  content: "";
  border-radius: 100%;
  background: #d8677e;
}

.p_topi_deta a { /* リンク */
  text-decoration: underline;
  color: #d8677e;
}

.p_topi_deta a:hover {
  text-decoration: none;
}

.no_post {
  margin-bottom: 80px;
}
@media screen and (max-width: 650px) {
  .wp-caption {
    margin-bottom: 1em;
  }
}

/* 戻るボタン
--------------------------------------------- */
.backto_btn_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
.post-nav {
  width: 32%;
}
.post-nav__prev a.link_btn::after {
  transform: rotate(180deg);
}
.post-nav__prev a.link_btn {
  flex-flow: row-reverse;
  justify-content: flex-end;
  gap: 10px;
}
@media screen and (max-width:640px){
  .post-nav  a.link_btn {
    padding: min(4vw, 22px) 10px;
    border-radius: 15px;
    font-size: 0.9rem;
  }
  .post-nav a.link_btn::after {
    width: 30px;
  } 
  .post-nav .sp {
    display: none;
  }
}
@media screen and (max-width:470px){
  .post-nav .sp {
    display: block;
  }
}

/* page_navi　ページナビゲーション
--------------------------------------------- */
.screen-reader-text {
  display: none;
}

.page_navi_wrap {
  display: flex;
  justify-content: center;
  background-color: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 10px;
}
.nav-links {
  display: flex;
}
.pagination {
  justify-content: center;
  display: flex;
  padding-bottom: 80px;
}

.page-numbers {
  color: #333;
  background: #fff;
  width: min(10vw, 3.5em);
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid #333;
  font-size: 1.0625em;
  line-height: 100%;
  margin: 0 2px;
  transition: all ease 300ms;
}

.page-numbers:active, .page-numbers:visited, .page-numbers:focus {
  color: #333;
}

.page-numbers:not(.dots):hover,
.page-numbers.current {
  background-color: #333;
  color: #fff;
}

.prev.page-numbers,
.next.page-numbers {
  background: #666 url("../img/cmn/ico_cmn_arrow_white.svg") no-repeat center/20px 20px;
  border: none;
  color: #fff;
  text-indent: -9999px;
}

.prev.page-numbers:hover,
.next.page-numbers:hover {
  opacity: 0.75;
}

.prev.page-numbers {
  transform: rotateY(180deg);
}
/* シェアボタン
--------------------------------------------- */
.sec_share {
  text-align: center;
  margin-bottom: 40px;
  padding-top: 30px;
}
.ttl_share {
  width: 100%;
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 1.2em;
}
.box_share {
  margin-bottom: 20px;
}

/* 汎用　サムネイル入りカード
--------------------------------------------- */
.list_smpl_card {
  display: grid;
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  row-gap: 40px;
  column-gap: 2%;
  margin-bottom: 50px;
}
.acv_post_card {
  width: 23.5%;
}
.sec_topics .acv_post_card {
  width: 100%;
}
/* カード全体 */
.smpl_card{
  text-align: left;
  width: 23.5%;
}
.smpl_card a {
  display: block;
}
/* 画像エリア */
.smpl_card_thumb {
  display: flex;
  width: 100%;
	overflow:hidden;
  aspect-ratio: 16/9;
  margin-bottom: 8px;
  align-items: center;
  justify-content: center;
}
.link_smpl_card {
  display: block;
  width: 100%;
	overflow:hidden;
  position: relative;
}
.smpl_card_thumb.nothum{
  border: solid 1px #efefef;
  overflow:hidden;
}
.smpl_card_pic {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.smpl_card_thumb img{
  min-width: 100%;
  min-height: 100%;
	object-fit:cover;
  object-position: center;
	display:block;
	transition:transform .3s;
  vertical-align: bottom;
}
.smpl_card a:hover .smpl_card_thumb img{
	transform:scale(1.05);
}
.smpl_card a:hover .smpl_card_ttl{
  color: #d8677e;
  transition: 0.25s;
}
/* 本文エリア */
.smpl_card_body{
	flex:1;
	display:flex;
	flex-direction:column;
	gap:10px;
}
/* タイトル */
.smpl_card_ttl{
	font-size:1rem;
	line-height:1.4;
  font-weight: 500;
	margin:0;
  transition: 0.25s;
}
/* 説明文 */
.smpl_card_desc{
	font-size:0.8rem;
	line-height:1.4;
	color:#999;
	margin:0;
}
@media screen and (max-width: 900px) {
  .list_smpl_card {
    grid-template-columns: 1fr 1fr;
    
  }
}
@media screen and (max-width: 640px) {
  .list_smpl_card {
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 30px;

  }
  .tax-specialty-cat .list_smpl_card,
  .tax-specialty-tag .list_smpl_card,  
  .post-type-archive-specialty .list_smpl_card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
  }
  .tax-specialty-cat .acv_post_card,
  .tax-specialty-tag .acv_post_card,
  .post-type-archive-specialty .acv_post_card {
    width: 49%;
    margin-bottom: 20px;
  }
}

/* Topics
--------------------------------------------- */
.sec_ima {
  text-align: left;
  position: relative;
  overflow: hidden;
  padding-top: 100px;
  padding-bottom: 80px;
}
.ima-head {
  position: relative;
  width: 90%;
}
.ttlbox_ima {
  margin-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  text-align: left;
}
.ttl_ima {
  display: inline-block;
  margin-right: 1.2em;
  font-size: clamp(1.75rem, calc(1.45rem + 1.2vw), 2.5rem);
  font-weight: 600;
}
.btn_ima {
  margin-left: 20px;
}
.btn_ima.sp {
  display: none;
}
/* スライダー */
.ima-nav {
  position: absolute;
  bottom: 0;
  right: 3%;
  display: flex;
  gap: 25px;
  align-items: center;
}
.ima-arrow {
  width: 60px;
  height: 60px;
  border: 1px solid #333;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: 0.25s;
}
.ima-arrow-prev::before,.ima-arrow-next::before {
  content: "";
  background-image: url(../img/cmn/ico_cmn_arrow_black.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 50%;
  height: 50%;
  display: block;
}
.ima-arrow:hover {
  border-color:#333;
  transition: 0.25s;
  transform: scale(1.1);
}
/* 逆向き矢印（←） */
.ima-arrow-prev::before {
  transform: rotate(-180deg); /* ←反時計回りに傾ける */
}
.ima-arrow-prev::after {
  transform: rotate(180deg); /* ←時計回りに傾ける */
}
/* スライドはみだし */
.ima-slider {
  width: 115%;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.3%;
  margin-right: 0;
  text-align: left;
  margin-left: auto;
  margin-bottom: 20px;
}
.ima-item {
  padding: 0 12px;
}
.thum_ima{
  width: 100%;
  height: auto;
  display: block;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.thum_ima img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
  transition: 0.5s;
  aspect-ratio: 16/9;
}
.ima-item a:hover .thum_ima img {
  transform: scale(1.1);
  transition: 0.5s;
}
.ima-cat {
  margin-top: 10px;
}
.ima-cat-name {
  display: inline-block;
  font-size: 0.8em;
  background: #eee;
  padding: 2px 8px;
  margin-right: 4px;
  margin-bottom: 5px;
  color: #666;
  border-radius: 3px;
}
.ima-title {
  margin: 8px 0 6px;
  font-size: 1.1em;
  font-weight: bold;
  font-weight: 600;
}
.ima-desc {
  font-size: 0.85rem;
  line-height: 1.6;
  color: #666;
}
.arrow-none{
  display:none !important;
}
@media screen and (min-width: 1700px) {
  .ima-slider {
    width: 100%;
    padding-left: 0;
    margin-right: auto;
  }
}
@media screen and (max-width: 1000px) {
  .ttl_ima {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 800px) {
  .ima-nav {
    gap: 10px;
    right: 0;
  }
}
@media (max-width: 640px) {
  .sec_ima {
    text-align: center;
  }
  .ima-head {
    width: 85%;
  }
  .ima-title {
    font-size: 0.9rem;
    font-weight: bold;
  }
  .ttl_ima {
    font-weight: bold;
  }
  .ttlbox_ima {
    margin-bottom: 20px;
  }
  .ima-slider {
    display: block;
    width: 90% !important; 
    margin-left: auto;
    margin-right: auto;
    overflow: auto;
    padding-left: 0;
  }
  .ima-slider .slick-track, .ima-slider .slick-list {
    width: 100% !important;  
    transform: none !important; 
    overflow: auto;
  }
  .ima-slider .slick-cloned {
    display: none !important; 
  }
  .ima-slider .slick-track{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .ima-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 7px;
  }
  .ima-nav {
    display: none !important;
  }
  .ima-desc {
    display: none;
  }
  .ima-item {
    width: 100% !important;
    padding: 0;
    margin-bottom: 15px;
    margin-top: 6px;
    overflow: auto;
    border-radius: 7px;
  }
  .thum_ima {
    width: 40%;
  }
  .txtbox_ima {
    width: 56%;
    padding-right: 3%;
    padding-bottom: 10px;
  }
  .btn_ima {
    margin-left: auto;
  }
  .btn_ima.sp {
    display: inline-flex;
  }
  .ima-cat-name {
    font-size: 0.75em;
    padding: 2px 5px;
    margin-right: 1px;
  }
}

/* print_btn　印刷ボタン
--------------------------------------------- */
.print_btn {
  cursor: pointer;
  width: 57px;
  height: 57px;
  border: 1px solid #808080;
  border-radius: 50%;
  padding: 11px;
  position: absolute;
  z-index: 2;
  right: 0px;
  bottom: 20px;
  transition: all ease 200ms;
}
.print_btn:hover{
  box-shadow: 0 0 0 2px #999;
  border-color: #999;
}
@media (max-width: 1100px){
.print_btn {right: 0;}
}



/* カテゴリー 
--------------------------------------------- */
.sec_cat {
  padding-top: 30px;
  padding-bottom: 30px;
}
.wrap_cat {
  width: 90%;
  display: flex;
  gap: 50px;
}
.ttl_side_acv {
  display: inline-block;
  padding-top: 10px;
}
.list_cat {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  flex: 1;
}
.list_cat li{
  position: relative;
  text-align: left;
}
.list_cat li::after {
  content: '';
  height: 1px;
  width: 100%;
  background-color: #ccc;
  position: absolute;
  bottom: 0;
  left: 0;
}
.link_cat {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 5px;
  min-width: 125px;
  transition: 0.25s;
}
.cat_page_active {
  font-weight: bold;

}
.cat_page_active a{
  color: #d8677e;
}
.link_cat:hover {
  color: #d8677e;
  transition: 0.25s;
}
.is-current .link_cat {
  color: #d8677e;
}
.link_cat::after {
  content: '';
  background-image: url(../img/cmn/ico_cmn_arrow_black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 12px;
  height: 12px;
  margin-left: 10px;
  opacity: 0.75;
  transition: 0.25s;
}
.link_cat:hover:after {
  transform: translateX(3px);
  transition: 0.25s;
}

@media (max-width:640px){
  .wrap_cat {
    width: 85%;
    display: block;
    text-align: left;
  }
  .ttl_side_acv {
    margin-bottom: 20px;
    padding-top: 0;
  }
  .link_cat {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    min-width: auto;
    background-color: #fff;
    height: 100%;
    border-radius: 5px;
    border: 1px solid #ccc;
  }
  .list_cat li {
    text-align: center;
  }
  .list_cat li::after {
    content: none;
  }
  .link_cat::after {
    content: none;
  }
  .list_cat {
    gap: 10px 2%;
  }
}


/* ライター
--------------------------------------------- */
.wrap_info {
  border: 2px solid #000;
  width: 100%;
  padding: 30px 3%;
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 20px;
  flex-wrap: wrap;
  text-align: left;
}
.sec_follow {
  border-left: 1px solid #999;
  padding-left: 25px;
}
.ttl_info {
  color: #999;
  font-weight: bold;
  font-size: 1.3em;
}
.follow_name {
  margin-bottom: 12px;
  font-weight: bold;
  padding-top: 5px;
}
.followbtn_flex a:hover{
  opacity: 0.75;
}
.followbtn_flex a{
  display: block;
}
.followbtn_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}
.user_inr {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.usericon_wrap {
  border-radius: 50%;
  overflow: hidden;
  width: 90px;
  height: 90px;
  aspect-ratio: 1/1;
}
.userdata_wrap {
  width: calc(100% - 90px - 4%);
  text-align: left;
  line-height: 1.8;
  font-weight: 400;
  font-size: 0.9375rem;
}
.user_name {
  margin-bottom: 7px;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  .user_inr {
    display: block;
    text-align: center;
  }
  .wrap_info {
    display: block;
    padding: 20px 5%;
  }
  .userdata_wrap {
    width: 100%;
  }
  .usericon_wrap {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    width: 100px;
    height: 100px;
  }
  .sec_follow {
    border-left: none;
    border-top: 1px solid #999;
    padding-left: 0;
    padding-top: 25px;
    margin-top: 25px;
  }
}

/* トピックス・観光情報レイアウト
--------------------------------------------- */
.sec_news {
  padding-bottom: 100px;
}
.no_post {
  margin-bottom: 1.5em;
}

/* 関連記事
--------------------------------------------- */
.sec_kanren {
  padding-top: 50px;
  padding-bottom: 80px;
}
.wrap_kanren {
  width: 85%;
}
.ttl_kanren {
  font-weight: 500;
  font-size: 1.6em;
  margin-bottom: 30px;
}
.list_kanren {
  margin-bottom: 50px;
}
@media screen and (max-width:640px){
  .ttl_kanrenttl {
    font-weight: bold;
  }
}

/* カテゴリ・タグ
--------------------------------------------- */

/* カテゴリ */
.acv_post_cats{
	display:inline-flex;
  display:inline;
	flex-wrap:wrap;
	gap:8px;
  margin-bottom: 5px;
}
.acv_post_cats .categ{
	display:inline-block;
	padding:6px 12px;
	border:1px solid #222;
	border-radius:999px;
	font-size:0.85rem;
	text-decoration:none;
	color:#222;
  margin-bottom: 5px;
}
.acv_post_cats .categ:hover{
	background:#222;
	color:#fff;
}
/* タグ */
.acv_post_tags{
	display:inline-flex;
  display:inline;
	flex-wrap:wrap;
	gap: 8px;
}
.acv_post_tags .tag{
	font-size:0.85rem;
	text-decoration:none;
	color:#666;
  padding:6px 12px;
  border-radius:999px;
  background-color: #f2f2f2;
  display: inline-flex;
  margin-bottom: 5px;
}
.acv_post_tags .tag:hover{
	background:#666;
	color:#fff;
}

/* タグの # を自動付与 */
.acv_post_tags .tag::before{
	content:"#";
	margin-right:2px;
}

@media (max-width:640px){
  .acv_post_cats .categ {
    border: 1px solid #ccc;
    font-size: 0.8rem;
  }
  .acv_post_cats{
    gap:8px 3px;
  }
  .acv_post_tags{
    gap:8px 3px;
  }
}

/* 地図
--------------------------------------------- */
.sec_place {
  padding-top: 20px;
}
.sec_place iframe {
  width: 100%;
}

/* 固定ページテンプレート　ビジュアルエディター用
--------------------------------------------- */
.sec_page_visual {
  text-align: left;
  padding-bottom: 100px;
}
.wrap_page_visual {
  width: 85%;
}