@charset "UTF-8";
/*============================================================================================
      Header
=============================================================================================*/
/*    Navigation
=====================================================*/
.w_Header{
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 9999;
      transition: background .4s;
}
.w_Header.js_show{
      position: fixed;
      top: 0;
      left: 0;
      background-color: #fff;
      animation: header_nav .2s;
      box-shadow: 0 3px 6px #00000015;
}
.w_Header.js_show .header_nav{
      /* padding: 10px 20px; */
}
.header_logo{
      width: 150px;
      margin-top: 40px;
      margin-left: 40px;
      z-index: 9999;
}
.w_Header.js_show .header_logo{
      margin-top: 15px;
      margin-left: 20px;
}
.header_nav_lst{
      max-height: 60px;
}
.header_nav_lst_itm + .header_nav_lst_itm{
      margin-left: 25px;
}
.header_nav_lst_itm_inr{
      color: #3F342D;
      transition: color .2s;
}
.header_nav_lst_itm_inr:hover{
      color: #FAA66B;
}
.header_anchor_cont_inr{
      display: block;
      padding-right: 20px;
}
.header_anchor_cont_inr::after {
      content: "";
      position: absolute;
      display: inline-block;
      font-size: inherit;
      width: 5px;
      height: 5px;
      top: -1px;
      bottom: 0;
      right: 0;
      margin: auto;
      border-right: 2px solid #3F342D;
      border-bottom: 2px solid #3F342D;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transform-origin: center;
      -ms-transform-origin: center;
      transform-origin: center;
}
.header_anchor_cont_inr:hover::after{
      border-right: 2px solid #FAA66B;
      border-bottom: 2px solid #FAA66B;
}

.header_anchor_lst{
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      padding: 20px;
      background-color: #fff;
      box-shadow: 0 3px 6px #00000020;
      width: 200px;
      margin-top: 20px;
}
.header_anchor_lst::before{
      content: "";
      display: block;
      position: absolute;
      top: -20px;
      left: 0;
      width: 100%;
      height: 20px;
}
.header_anchor_lst::after{
      content: "";
      display: block;
      position: absolute;
      top: -9px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 10px 10px 10px;
      border-color: transparent transparent #ffffff transparent;
}
.header_anchor_lst_itm + .header_anchor_lst_itm{
      margin-top: 20px;
}
.header_anchor_lst_itm_inr{
      font-size: 14px;
      transition: color .2s;
}
.header_anchor_lst_itm_inr:hover{
      color: #3F342D;
}
.header_nav_mypage_btn{
      margin-left: 20px;
}
.header_nav_mypage_btn_inr{
      background-color: #3F342D;
      padding: 5px;
      width: 60px;
      height: 60px;
      transition: backGround .2s;
}
.header_nav_mypage_btn_inr:hover{
      background-color: #FAA66B;
}
.header_nav_mypage_btn_img{
      width: 100%;
      max-width: 25px;
      margin: auto;
}
.header_nav_mypage_btn_txt{
      color: #fff;
      font-size: 1rem;
      text-align: center;
}
@keyframes header_nav{
      0% {
            top: -100%;
      }
      100% {
            top: 0;
      }
}

.hamb_sitemap_cont{
      width: 100%;
      max-width: 800px;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .header_logo {
            margin-top: 20px;
            margin-left: 20px;
      }
      .g_sec_top{
            margin-top: 0;
      }
}

/*    下層Navigation
=====================================================*/
.g_lower_header{
      background-color: #fff;
}
.g_lower_header .header_nav_lst_itm_inr{
      color: #222;
      transition: color .2s;
}
.g_lower_header .header_nav_lst_itm_inr:hover{
      color: #FAA66B;
}
.g_lower_header .g_hamb_inr div {
      background-color: #000;
}
.g_lower_header .header_anchor_cont_inr::after {
      border-right: 2px solid #000;
      border-bottom: 2px solid #000;
}
.g_lower_header.js_show .header_anchor_cont_inr::after {
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
}
.g_lower_header.js_show .header_nav_lst_itm_inr{
      color: #fff;
}
.g_lower_header.js_show .header_nav_lst_itm_inr:hover{
      color: #FAA66B;
}
.g_lower_header.js_show .g_hamb_inr div {
      background-color: #fff;
}
.g_lower_header .g_hamb.js_open .g_hamb_inr div {
      background-color: #000;
}

@media (max-width: 1180px){
      .header_nav_lst {
            display: none;
      }
}
@media (max-width: 576px){
      
}

/*    ハンバーガメニュー
=====================================================*/
.header_hamb_cont{
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      max-height: 100vh;
      overflow: scroll;
}
.header_hamb_cont_inr{
      width: 100%;
      min-height: 100vh;
}
.hamb_cct_ttl_cont.l_clm2_md_1{
      margin-right: 0;
}
.hamb_cct_ttl_ja::before{
      background-color: #fff;
}
.hamb_cct_lst{
      margin-left: 5%;
      margin-right: 0;
      
}
.hamb_cct_lst::before{
      content: "";
      display: block;
      position: absolute;
      height: 100%;
      width: 1px;
      background-color: #fff;
      left: -7.5%;
      top: 0;
      bottom: 0;
      margin: auto;
}
.hamb_cct_lst_itm + .hamb_cct_lst_itm{
      margin-top: 30px;
}
.hamb_cct_lst_txt{
      padding-right: 20px;
      width: 50%;
}

.hamb_logo{
      width: 100%;
      max-width: 420px;
}
.hamb_copy{
      margin-top:auto;
}
.hamb_sitemap_top_lst_div{
      width: 30%;
      margin-right: 5%;
}
.hamb_sitemap_top_lst_div:nth-child(3n){
      margin-right: 0;
}
.hamb_sitemap_top_lst_dt{
      font-weight: bold;
}
.hamb_sitemap_top_lst_dd{
      padding-top: 20px;
}
.hamb_sitemap_top_lst_itm + .hamb_sitemap_top_lst_itm{
      margin-top: 15px;
}
.hamb_sitemap_top_lst_inr{
      font-size: 1.2rem;
      font-weight: 500;
      transition: color .2s;
      display: block;
      padding: 3px 0;
}
.hamb_sitemap_top_lst_inr:hover{
      color: #FAA66B;
}
.hamb_sitemap_btm_lst_itm{
      width: 30%;
      margin-right: 5%;
}
.hamb_sitemap_btm_lst_itm:nth-child(3n){
      margin-right: 0;
}
.hamb_sitemap_btm_lst_itm:nth-child(n+4){
      margin-top: 20px;
}
.hamb_sitemap_btm_lst_itm_inr{
      transition: color .2s;
}
.hamb_sitemap_btm_lst_itm_inr:hover{
      color: #FAA66B;
}
@media (max-width: 896px){
      .l_clm2_md_1.hamb_cct_lst{
            margin-top: 50px;
            margin-left: 0;
      }
      .hamb_cct_lst::before{
            display: none;
      }

}
@media (max-width: 576px){
      .hamb_sitemap_top_lst_div{
            width: 100%;
            margin-right: 0;
            cursor: pointer;
      }
      .hamb_sitemap_top_lst_div + .hamb_sitemap_top_lst_div{
            border-top: 1px solid #ccc;
            margin-top: 20px;
            padding-top: 20px;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb{
            position: relative;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb:first-child:before{
            top: 0;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb:first-child::after{
            top: 0;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb::before{
            content: "";
            display: block;
            position: absolute;
            height: 20px;
            width: 2px;
            background-color: #FAA66B;
            right: 9px;
            top: 20px;
            border-radius: 2px;
            transition: transform .2s;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb::after{
            content: "";
            display: block;
            position: absolute;
            height: 20px;
            width: 2px;
            background-color: #FAA66B;
            right: 9px;
            top: 20px;
            transform: rotate(90deg);
            border-radius: 2px;
            transition: transform .2s;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb.js_open::before{
            transform: rotate(90deg);
      }
      .hamb_sitemap_top_lst_dd{
            padding-top: 15px;
      }
      .hamb_sitemap_btm_lst_itm{
            width: 100%;
            margin-right: 0;
            border-top: 1px solid #ccc;
            margin-top: 20px;
            padding-top: 20px;
      }
      .hamb_sitemap_btm_lst_itm + .hamb_sitemap_btm_lst_itm{
            margin-top: 20px;
            padding-top: 20px;
      }
      .hamb_sitemap_btm_lst_itm:last-child{
            border-bottom: 1px solid #ccc;
            padding-bottom: 20px;
      }
      .hamb_sitemap_btm_lst_itm_inr{
            display: block;
            width: 100%;
      }

      .l_clm2_md_1.hamb_cct_lst{
            margin-top: 30px;
            padding-top: 30px;
            border-top: 1px solid #4D4D4D;
      }
      .hamb_cct_lst_txt{
            width: 100%;
      }
      .g_cct_lst_btn{
            width: 100%;
            margin-top: 20px;
      }
}


/*============================================================================================
      Footer
=============================================================================================*/
.footer_cont_inr{
      border-top: 1px solid #ECE6DC;
      padding-top: 120px;
      padding-bottom: 120px;
}
.footer_cont_inr::before{
      content: "";
      display: block;
      position: absolute;
      top: -80px;
      right: 0px;
      height: 120px;
      width: 120px;
      background: url(../img/top/footer_potori.png) no-repeat;
      background-size: contain;
}
.footer_ttl_en{
      width: 150px;
      margin-left: 10px;
}
.footer_ttl_ja{
      font-size: 4rem;
      font-weight: 500;
}
.footer_icon{
      position: absolute;
      height: 40px;
      width: 40px;
      bottom: 20px;
      right: 0;
}
.footer_icon a{
      transition: opacity .2s;
}
.footer_icon a:hover{
      opacity: .6;
}
.footer_map_lst_main_ttl{
      font-weight: 500;
}
.footer_map_lst_main_ttl a{
      transition: color .2s;
}
.footer_map_lst_main_ttl a:hover{
      color: #FAA66B;
}
.footer_map_sub_lst{
      margin-top: 15px;
}
.footer_map_sub_lst_inr{
      font-size: 1.2rem;
      transition: color .2s;
}
.footer_map_sub_lst_inr:hover{
      color: #FAA66B;
}
.footer_map_lst{
      width: 100%;
      max-width: 500px;
}
.footer_map_lst_itm{
      width: 30%;
      margin-right: 5%;
}
.footer_map_lst_itm:nth-child(3n){
      margin-right: 0;
}
.footer_map_lst_itm:nth-child(n+4){
      margin-top: 10px;
}
.footer_policy_inr{
      font-size: 1rem;
      transition: color .2s;
}
.footer_policy_inr:hover{
      color: #FAA66B;
}
.footer_copy{
      font-size: 1rem;
}
@media (max-width: 896px){
      .footer_cont_inr{
            border-top: 1px solid #ECE6DC;
            padding-top: 80px;
            padding-bottom: 80px;
      }
}
@media (max-width: 576px){
      .footer_cont_inr{
            padding-bottom: 15px;
      }
      .footer_ttl_ja {
            font-size: 3rem;
      }
      .footer_icon {
            position: absolute;
            height: 30px;
            width: 30px;
            bottom: 15px;
            right: 0;
      }
      .footer_map_lst_itm {
            width: 47.5%;
            margin-right: 5%;
      }
      .footer_map_lst_itm:nth-child(3n){
            margin-right: 5%;
      }
      .footer_map_lst_itm:nth-child(2n){
            margin-right: 0;
      }
      .footer_map_lst_itm:nth-child(n+3){
            margin-top: 50px;
      }
      .footer_map_lst_itm_btm.footer_map_lst_itm:nth-child(n+3){
            margin-top: 10px;
      }

      .footer_map_lst{
            margin-top: 50px !important;
      }
}

/*============================================================================================
      Contents
=============================================================================================*/
/*    MV
=====================================================*/
.scroll_cont{
      position: absolute;
      height: 100vh;
      width: 100%;
      z-index: -999999;
}
.scroll_cont_inr{
      position: relative;
      max-width: 1110px;
      margin: auto;
      height: 100%;
}
.scroll {
      position: absolute;
      right: 0;
      bottom: 20px;
}
.top_scroll_potori_img{
      position: absolute;
      bottom: 0;
      right: 50px;
      width: 30px;
}
.scroll-text {
      color: #222;
      letter-spacing: 2px;
      text-align: center;
      transform: rotate(90deg);
      font-size: 1.2rem;
      font-weight: 500;
}
.scroll-border {
      position: relative;
      top: 20px;
      width: 100%;
      height: 100px;
      overflow: hidden;
}
.scroll-border::before {
      content: "";
      display: block;
      position: absolute;
      width: 1px;
      height: 40px;
      top: 0;
      left: 0;
      right: 0;
      background: #333;
      animation: scrollbar 2.0s ease-in-out infinite;
      margin: auto;
}
@keyframes scrollbar {
      0% {
      height: 0;
      top: 0;
      }
      50% {
      height: 100%;
      }
      100% {
      top: 100%;
      }
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_scroll_potori_img{
            right: 40px;
            width: 30px;
      }
}

/*    About
=====================================================*/
.top_about_sec{
      padding-top: 160px;
}
.top_about_cont{
      width: 100%;
      max-width: 680px;
      padding-left: 80px;
}
.top_about_btn::before{
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      right: -14px;
      height: 27px;
      width: 17px;
      background: url(../img/top/about_potori.png) no-repeat;
      background-size: contain;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_about_cont{
            padding-left: 0px;
            padding-right: 60px;
      }
      .top_about_sec{
            padding-top: 120px;
      }
      .g_ttl_h2_ja {
            font-size: 2.6rem;
      }
}

/*    Beginner
=====================================================*/
.top_beginner_btn::before{
      content: "";
      display: block;
      position: absolute;
      bottom: -10px;
      right: -30px;
      height: 46px;
      width: 44px;
      background: url(../img/top/beginner_potori.png) no-repeat;
      background-size: contain;
      z-index: -1;
}
.top_biginner_cont{
      width: 100%;
      max-width: 680px;
      padding-left: 80px;
      margin-left: auto;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_biginner_cont{
            padding-left: 0px;
            margin-left: auto;
      }
}
/*    Service
=====================================================*/
.top_service_sec{
      overflow: hidden;
}
.top_service_mv{
      width: 96vw;
      margin-right: calc(50% - 50vw);
      border-top-left-radius: 10px;
      border-bottom-left-radius: 10px;
      overflow: hidden;
}
.top_service_mv img{
      height: 100%;
      object-fit: cover;
      max-height: 580px;
}
.top_service_ttl_en{
      font-size: 5rem;
      font-weight: bold;
      letter-spacing: 4px;
      position: absolute;
      bottom: 0;
      right: 0;
      transform: translateY(50%);
}
.top_service_img_potori{
      position: absolute;
      top: -50px;
      left: 0;
      width: 105px;
      height: 90px;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_service_ttl_en{
            font-size: 4rem;
      }
}
/*    letter
=====================================================*/
.top_letter_btn::before{
      content: "";
      display: block;
      position: absolute;
      top: -40px;
      right: 0px;
      height: 58px;
      width: 66px;
      background: url(../img/top/letter_potori.png) no-repeat;
      background-size: contain;
      z-index: -1;
}

/*    Blog
=====================================================*/
.top_blog_btn::before{
      content: "";
      display: block;
      position: absolute;
      top: -55px;
      right: 0px;
      height: 80px;
      width: 80px;
      background: url(../img/top/blog_potori.png) no-repeat;
      background-size: contain;
      z-index: 1;
}

/*    Contact
=====================================================*/
.contact_btn::before{
      content: "";
      display: block;
      position: absolute;
      top: -30px;
      right: 0px;
      height: 50px;
      width: 56px;
      background: url(../img/top/contact_potori.png) no-repeat;
      background-size: contain;
      z-index: 1;
}


/*============================================================================================
      下層ページ
=============================================================================================*/
/*    ココハレ文通
=====================================================*/
.letter_bnr_cont_outer::before{
      content: "";
      display: block;
      position: absolute;
      bottom: -30px;
      left: -20px;
      width: 115px;
      height: 100px;
      background: url(../img/letter/plan_potori.png) no-repeat;
      background-size: contain;
      z-index: 10;
}
.letter_bnr_cont{
      max-width: 100%;
      margin: auto;
      box-shadow: 0 3px 6px #00000015;
}
.letter_bnr_cont_txtarea{
      width: 50%;
      padding: 30px;
      padding-right: 10px;
}
.letter_bnr_cont_txt{
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 2.2;
}
.letter_bnr_cont_imgarea{
      width: 50%;
}
.letter_bnr_cont_imgarea_btn{
      position: absolute;
      bottom: 40px;
      right: 0;
}
.letter_bnr_cont_imgarea_btn_inr{
      display: block;
      background-color: #FAA66B;
      border: 1px solid #FAA66B;
      color: #fff;
      padding: 15px;
      padding-right: 50px;
      font-weight: bold;
      transition: color .2s, backGround .2s;
}
.letter_bnr_cont_inr:hover .letter_bnr_cont_imgarea_btn_inr{
      display: block;
      background-color: #fff;
      color: #FAA66B;
}
.letter_bnr_cont_imgarea_btn_inr::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 20px;
      height: 20px;
      width: 20px;
      background: url(../img/common/wh_arrow.png) no-repeat;
      background-size: contain;
}
.letter_bnr_cont_inr:hover .letter_bnr_cont_imgarea_btn_inr::before{
      background: url(../img/common/ora_arrow.png) no-repeat;
      background-size: contain;
}

@media (max-width: 896px){
      .letter_bnr_cont_txt{
            font-size: 1.5rem;
      }
      .letter_plan_lst{
            margin-top: 40px !important;
            padding-top: 40px;
            border-top: 1px solid #3F342D;
      }
}
@media (max-width: 576px){
      .letter_bnr_cont_txtarea{
            width: 100%;
            padding: 30px;
            padding-right: 30px;
            order: 2;
      }
      .letter_bnr_cont_txt{
            font-size: 1.8rem;
      }
      .letter_bnr_cont_imgarea{
            width: 100%;
      }
      .letter_bnr_cont_imgarea_img img{
            height: 220px;
            object-fit: cover;
      }
      .letter_bnr_cont_outer::before {
            bottom: -30px;
            left: -60px;
      }
      .letter_bnr_cont_imgarea_btn {
            position: absolute;
            bottom: 0px;
            right: 0;
      }
}


/*    wp_pagenavi
=====================================================*/
.wp-pagenavi{
      display: flex;
      justify-content: center;
      margin-top: 60px;
}
.current{
      padding: 12px 15px;
      border: 1px solid #000;
      color: #222;
      margin: 0 5px;
      line-height: 1;
      font-weight: bold;
}
.page{
      padding: 12px 15px;
      border: 1px solid #000;
      color: #fff;
      background-color: #000;
      margin: 0 5px;
      line-height: 1;
      font-weight: bold;
}
@media (max-width: 896px){
      .wp-pagenavi{
            margin-top: 50px;
      }
}
@media (max-width: 576px){}

/*    お問い合わせ
=====================================================*/
.contact_txt_req{
      display: inline-block;
      padding: 0px 8px;
      border-radius: 5px;
      background-color: #FAA66B;
      margin-right: 5px;
      color: #fff;
      font-weight: bold;
}


/*ContactForm7カスタマイズ*/
/*    ContactForm7カスタマイズ
=====================================================*/
table.CF7_table{
	width:100%;
	margin:0 auto;
	/* border: 3px solid #e5e5e5; */
}

table.CF7_table tr{
	border-top: 1px solid #99999990;
}
table.CF7_table tr:last-child{
	border-bottom: 1px solid #99999990;
}
.contact_txtarea{
      padding-bottom: 0;
      position: relative;
      top: -198px;
}
/* @media screen and (-webkit-min-device-pixel-ratio:0){
      .contact_txtarea{
            padding-bottom: 0;
            position: relative;
            top: -198px;
      }
}
@supports (-ms-ime-align: auto){
      .contact_txtarea{
            padding-bottom: 0;
            position: relative;
            top: -198px;
      }
  } */

@-moz-document url-prefix() {
      .contact_txtarea{
            padding-bottom: 0;
            position: relative;
            top: 0px;
      }
}
::-webkit-full-page-media, :future, :root .contact_txtarea{
      padding-bottom: 0;
      position: relative;
      top: 0px;
}

table.CF7_table th{
      display: flex;
      width: 230px;
      height: 100%;
      justify-content: space-between;
      align-items: center;
      background-color: #fff;
      padding: 20px 0;
	/* border-top: 1px solid #e5e5e5; */
      vertical-align: top;
      font-weight: bold;
      margin-right: 20px;
}
table.CF7_table td{
      /* background-color: #fff; */
      border: none;
      padding: 20px 0;
	/* border-top: 1px solid #e5e5e5; */
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	/* border: 1px solid #d8d8d8; */
}

.CF7_table ::placeholder {
	color:#797979;
}

.CF7_table th p{
      width: 100%;
      display: flex;
      justify-content: space-between;
}
/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 0px 8px;
	background: #FAA66B;/*オレンジ*/
	color: #fff;
	margin-left:1em;
      border-radius: 5px;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 0px 8px;
	background: #bdbdbd;/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-left:1em;
      border-radius: 5px;
}

.wpcf7-list-item{
      margin-left: 0;
      margin-right: 15px;
}
.has-free-text{
      display: block;
      margin-right: 0;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color:#ebedf5;/*ブルーグレー*/
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:95%;
	}
	.CF7_table tr, .CF7_table td, table.CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
      display: block !important;
	background-color:#ebedf5;
      padding-bottom: 0 !important;
	}
      .contact_txtarea{
      position: static !important;
      top: 0 !important;
      }
      .CF7_table th p{
            width: auto;
            display: block;
      }
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#FAA66B;/* オレンジ*/
      border: 1px solid #FAA66B !important;
      width: 100%;
      max-width: 255px;
      padding: 17px 0;
      border-radius: 5px;
	border:0;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
      transition: color .2s, backGround .2s;
      color: #fff;

}
.wpcf7 input.wpcf7-submit:hover{
      color: #FAA66B;
      background-color: #fff;
}
.CF7_btn{
	text-align:center;
	margin-top:60px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}
.screen-reader-response p{
      text-align: center;
      margin-bottom: 20px;
}
.screen-reader-response ul{
      display: none;
}
.wpcf7-response-output{
      text-align: center;
      margin-top: 20px;
}
.wpcf7-textarea{
      color: #222;
}
.wpcf7-not-valid-tip{
      display: block;
      color: #D90A27;
}

.wpcf7-response-output{
      position: fixed;
      width: 92vw;
      max-width: 1110px;
      top: 100px;
      left: 50%;
      transform: translateX(-50%);
      background-color: #fff;
      z-index: 999;
      border-width: 4px !important;
      box-shadow: 0 3px 6px #00000020;
      margin: 0 !important;
}
@media screen and (max-width: 768px){
      .wpcf7-response-output{
            top: 100px;
      }
}


.kh-meter{margin:18px 0; font-family:inherit;}
.kh-meter__top{display:flex; justify-content:flex-end; font-weight:700; color:#2a3749; margin-bottom:6px;}
.kh-meter__track{position:relative; height:12px; background:#edf2f7; border-radius:999px; overflow:hidden;}
.kh-meter__fill{position:absolute; inset:0 auto 0 0; width:0; background:linear-gradient(90deg,#3aa0d8,#45c7c1); border-radius:999px;}
.kh-meter__dot{position:absolute; top:50%; transform:translate(-50%,-50%); width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 0 0 3px rgba(58,160,216,.9);}
.kh-meter__ends{display:flex; justify-content:space-between; font-size:12px; color:#6b7280; margin-top:6px;}
/* 軸ごとの色（必要なら調整） */
.kh-meter[data-color="EI"] .kh-meter__fill{background:linear-gradient(90deg,#3aa0d8,#45c7c1);}
.kh-meter[data-color="NS"] .kh-meter__fill{background:linear-gradient(90deg,#f2b705,#f0cf59);}
.kh-meter[data-color="TF"] .kh-meter__fill{background:linear-gradient(90deg,#8b5cf6,#a78bfa);}
.kh-meter[data-color="JP"] .kh-meter__fill{background:linear-gradient(90deg,#10b981,#34d399);}
.kh-meter[data-color="EI"] .kh-meter__dot{box-shadow:0 0 0 3px rgba(58,160,216,.9);}
.kh-meter[data-color="NS"] .kh-meter__dot{box-shadow:0 0 0 3px rgba(242,183,5,.9);}
.kh-meter[data-color="TF"] .kh-meter__dot{box-shadow:0 0 0 3px rgba(139,92,246,.9);}
.kh-meter[data-color="JP"] .kh-meter__dot{box-shadow:0 0 0 3px rgba(16,185,129,.9);}