@charset "utf-8";
/* 
Theme Name: genova_tpl
File: style.css
Author: Genova Design
Author URL: https://genova.co.jp/
Description: Genova 2021 Wordpress template
Version: 1.0
*/
/*-----------------------------------------------------------
■ 1 Html
-----------------------------------------------------------*/
/*--------------------------------------
	general
--------------------------------------*/
/*reset*/
html {
  color: #000;
  background: #FFF
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, figure, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
fieldset, img {
  border: 0
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal
}
ol, ul {
  list-style: none
}
caption, th {
  text-align: left
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal
}
q:before, q:after {
  content: ''
}
abbr, acronym {
  border: 0;
  font-variant: normal
}
sup {
  vertical-align: text-top
}
sub {
  vertical-align: text-bottom
}
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%
}
legend {
  color: #000
}
#yui3-css-stamp.cssreset {
  display: none
}
html {
  font-size: 62.5%;
}

.fnt-notoSans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.fnt-zen {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-style: normal;  
}

.fnt-arial {
  font-family: Arial, Helvetica, sans-serif;
}
body {
  position: relative;
 font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 150%;
  color: #120000;
  letter-spacing: 0.03em;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}





*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
a {
  text-decoration: none;
  color: #333;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
}
a[href^="tel:"] {
  pointer-events: none;
  cursor: text;
}
a:focus, *:focus {
  outline: none;
}
a:hover img {
  opacity: 0.8;
}
img {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}
p {
  margin-bottom: 20px;
}
p:last-child {
  margin-bottom: 0;
}
table {
  width: 100%;
}
strong {
  font-weight: bold;
}
@media screen and (max-width: 767px) {

  a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
  .auto_height {
    height: auto !important;
  }
}


@media screen and (max-width: 349px) {
body {
  font-size: 15px;

}
}

/*--------------------------------------
	icons
--------------------------------------*/
@font-face {
  font-family: 'icomoon';
  src: url('./libs/icomoon/icomoon.eot');
  src: url('../libs/icomoon/icomoon.eot#iefix') format('embedded-opentype'), url('./libs/icomoon/icomoon.ttf') format('truetype'), url('./libs/icomoon/icomoon.woff') format('woff'), url('./libs/icomoon/icomoon.svg#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class*='icon-']:not([class*='eicon-']):not([class*='elementor-icon-'])::before {
  display: inline-block;
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-home::before {
  content: "\e90b";
}
.icon-blog::before {
  content: "\e900";
}
.icon-category::before {
  content: "\e901";
}
.icon-check::before {
  content: "\e902";
}
.icon-checked::before {
  content: "\e903";
}
.icon-down::before {
  content: "\e904";
}
.icon-facebook::before {
  content: "\e905";
}
.icon-google::before {
  content: "\e906";
}
.icon-line::before {
  content: "\e907";
}
.icon-twitter::before {
  content: "\e908";
}
.icon-arrow02::before {
  content: "\e909";
}
.icon-arrow01::before {
  content: "\e910";
}
.icon-search::before {
  content: "\e911";
}
.icon-tag::before {
  content: "\e912";
}
.icon-checkbox-unchecked::before {
  content: "\ea53";
}
.icon-checkbox-checked::before {
  content: "\ea52";
}
.radio-unchecked::before {
  content: "\ea56";
}
.radio-checked::before {
  content: "\ea54";
}
.radio-checked2::before {
  content: "\ea55";
}
/*--------------------------------------
	shortcuts
--------------------------------------*/
/*margin */
.mb0 {
  margin-bottom: 0px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb65 {
  margin-bottom: 65px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb75 {
  margin-bottom: 75px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb85 {
  margin-bottom: 85px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb95 {
  margin-bottom: 95px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
/* float */
.fr {
  float: right !important;
}
.fl {
  float: left !important;
}
/* clear */
.clearfix {
  *zoom: 1;
}
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
.cl {
  clear: both !important;
}
/* text indent */
.textHide {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
/* text-align */
.tac {
  text-align: center !important;
}
.tar {
  text-align: right !important;
}
.tal {
  text-align: left !important;
}
/* font-weight */
.fb {
  font-weight: bold !important;
}
.half {
  display: inline-block;
}
/*Pc/sp change*/
.sp {
  display: none;
}
.mb {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
@media screen and (max-width: 480px) {
  .mb {
    display: block;
  }
  .pcm {
    display: none;
  }
}
/*--------------------------------------
	container / wrapper
--------------------------------------*/
.container {
  width: 100%;
  max-width: 1140px;
  padding: 0 30px;
  margin: 0 auto;
}
.container::after {
  content: "";
  display: block;
  clear: both;
}
#wrapper {
  height: 100%;
}
@media (max-width: 767px) {
  .container {
    padding: 0 20px;
  }
}
/*--------------------------------------
	text color
--------------------------------------*/
.txt_color {
  color: #94C789;
}
.txt_link {
  vertical-align: top;
  text-decoration: underline !important;
  font-weight: bold;
  color: #94C789 !important;
}
.txt_link:hover {
  text-decoration: none !important;
}
.catch_title {
  text-align: center;
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.15em;
  color: #FFAEA2;
}
/*-----------------------------------------------------------
■ 2 Header
-----------------------------------------------------------*/
/*--------------------------------------
	general
--------------------------------------*/
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #fff;
  z-index: 1000;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
}
/* container */
.header__main-container {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
.header__main-container {
  padding: 0px 30px;
}

/* menu */
.menu-text {}
/* sub menu */
header .g-nav > li > .up-menu sub {
  color: #94C789;
}
@media screen and (max-width: 767px) {
  /* container */
  .header__main-container {
    padding: 0px;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  #navigation {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
    padding-bottom: 0px;
    background: #fff;
    z-index: 998;
	width:100%;
  }
  .nav-Opened #navigation {
    opacity: 1;
    visibility: visible;
  }
}
/*--------------------------------------
	logo
--------------------------------------*/
header .header__logo {
  padding-right: 20px;
}
header .header__logo img {
  width: 100%;
  max-width: 250px;
}
/*--------------------------------------
	nav
--------------------------------------*/
header .header__nav nav ol {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  align-items: center;
}
header .header__nav nav ol > li:hover {}
header .header__nav nav ol > li.page_item .menu-text, header .header__nav nav ol > li:hover .menu-text {
  color: #3A7813;
}
header .header__nav nav ol .sub-menu li:hover .menu-text {
  color: #7AD1BF !important;
}
header .header__nav nav ol > li .up-menu {
  position: relative;
  width: auto;
  vertical-align: middle;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 1.2;
  white-space: normal;
  color: #120000;
  cursor: pointer;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
  font-weight: 500;
	display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 0 20px;
  white-space: normal; 
}

header .header__nav nav ol > li > .up-menu a, header .header__nav nav ol > li > .up-menu span {
  display: inline;
  padding: 0;
  margin: 0;
  color: #120000;
}

header .header__nav nav ol > li > .up-menu sub {
  display: block;
  padding-top: 10px;
  font-size: 10px;
  letter-spacing: 0.25em;
}
.sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  width: 284px;
  height: auto;
  padding: 25px 25px 30px;
  box-shadow: 0 1px 5px rgb(0 0 0 / 10%);
  visibility: hidden;
  opacity: 0;
  background: #FFF4EE;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  border-radius: 25px;
  display: block;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sub-menu::before {
  content: "";
  background: url(img/top/menu_polygon.png) no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  width: 80px;
  height: 47px;
  position: absolute;
  top: -23px;
  left: 50%;
  margin-left: -40px;
  z-index: -1;
}
.sub-menu .menu-item {
  width: 46%;
  padding: 5px 0;
}
.sub-menu a {
  font-size: 16px;
  color: #222222;
  padding: 8px 0;
  border-bottom: 1px solid #E38423;
  display: block;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}
header .header__nav nav ol > li:hover .sub-menu .menu-text {
  color: #222222;
}
.menu-item-has-children {
  position: relative;
}
.menu-item-has-children:hover .sub-menu {
  visibility: visible;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  header .header__nav nav ol {
    height: 80px;
  }
  header .header__nav nav ol > li dl {
    pointer-events: none;
  }
  header .header__nav nav ol .menu-item .up-menu {
    position: relative;
  }
  header .header__nav nav ol .menu-item .up-menu::after {
    content: "";

    width: 4px;
    height: 24px;
    position: absolute;
    top: 13px;
    right: 0;
  }
  header .header__nav nav ol .sub-menu a:hover {
    color: #E38423;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
  }
  .menu-item-has-children:hover::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -20px;
    width: 100%;
    height: 40px;
  }
  header .header__nav nav ol .menu-item:last-child .up-menu::after {
    display: none;
  }
}
@media screen and (max-width: 1299px) and (min-width: 768px) {
  .sub-menu a, header .header__nav nav ol > li .up-menu {
    font-size: 1.6vw;
  }
  .sub-menu {
    width: 244px;
    padding: 12px 25px 15px;
  }
  .sub-menu .menu-item {
    padding: 2px 0;
  }
  .sub-menu::before {
    top: -16px;
  }
  header .header__nav nav ol .menu-item .up-menu::after {
    top: 1vw;
  }
  header .header__nav nav ol > li > .up-menu a, header .header__nav nav ol > li > .up-menu span {
    padding: 1.6rem 15px;
  }
  .header__right {
    width: 22vw;
  }
}
@media screen and (max-width: 767px) {
  header .header__nav {
    padding: 30px 20px;
  }
  header .header__nav nav ol {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  header .header__nav nav ol > li {
    position: relative;
    width: 100%;
    border-left: none;
  }
  header .header__nav nav ol > li > .up-menu {
    display: block;
    width: 100%;
    height: auto;
    padding: 20px 0;
    text-align: left;
    font-size: 20px;
  }
  header .header__nav nav ol > li > .up-menu:hover {}
  header .header__nav nav ol > li > .up-menu a, header .header__nav nav ol > li > .up-menu span {
    padding: 0px;
  }
  header .header__nav nav ol > li > .up-menu span {
    margin: 0;
  }
  header .header__nav nav ol > li > span {
    position: relative;
  }
  header .header__nav nav ol > li .up-menu .menu-text, header .header__nav nav ol > li > .up-menu sub {}
  header .header__nav nav ol > li.page_item .menu-text, header .header__nav nav ol > li.hover .menu-text {

  }
  header .header__nav nav ol > li.page_item .menu-text, header .header__nav nav ol > li.hover .sub-menu a {}
  header .header__nav nav ol > li + li {
    margin-left: 0px;
  }
  header .header__nav nav ol > li ul li {}
  .menu-item-has-children .up-menu::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 16px;
    border-bottom: 2px solid #222;
    border-left: 2px solid #222;
    margin-top: -14px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -moz-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
  }
  .menu-item-has-children.hover .up-menu::after {
    margin-top: -3px;
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .sub-menu {}
  header .header__nav nav ol > li .sub-menu a {
    padding: 10px 0;
    text-align: left;
  }
  header .header__nav nav ol > li .sub-menu a:hover {
    text-decoration: none;
  }
  header .header__nav nav ol > li dl {
    position: relative;
    top: 0;
    padding: 0;
    background: none;
  }
  header .header__nav nav ol > li dl li {
    padding-left: 0;
  }
  header .header__nav nav ol > li dl li::before {
    display: none;
  }
  header .header__nav nav ol > li dt {
    display: none;
  }
  header .header__nav nav ol > li .sub-menu {
    display: none;
    top: 0;
    padding: 20px 20px 30px;
    border-radius: 0;
    position: relative;
    width: 100%;
    transform: translateX(0);
    left: 0;
  }
  .sub-menu::before {
    top: -19px;
  }
  header .header__nav nav ol > li.hover .sub-menu {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    visibility: visible;
    opacity: 1;
  }
  header .header__nav nav ol > li .sub-menu li {
    display: block;
  }
  .sub-menu .menu-item {}
  header .header__nav nav ol > li .sub-menu li:first-child {
    border-top: 0px;
  }
  header .header__nav nav ol > li .sub-menu a {
    display: block;
  }
  header .header__nav nav ol > li.hover > span + dl, header .header_menu .header__nav nav ol > li > span:hover + dl {
    opacity: 1;
    pointer-events: auto;
  }
}
/*--------------------------------------
	toggle menu
--------------------------------------*/
header .toggle-menu {
  display: none;
}
.toggle-menu__trigger, .toggle-menu__trigger span {
  display: inline-block;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  -webkit-transition: all .4s;
  transition: all .4s;
}
.toggle-menu__trigger {
  position: relative;
  display: block;
  width: 38px;
  height: 24px;
  padding: 0;
  border: 0px;
  margin: 0;
  text-align: center;
  background: none;
}
.toggle-menu__trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #94C789;
}
.toggle-menu__trigger span:nth-of-type(1) {
  top: 0;
}
.toggle-menu__trigger span:nth-of-type(2) {
  top: 10px;
}
.toggle-menu__trigger span:nth-of-type(3) {
  bottom: 0;
}
.toggle-menu.active .toggle-menu__trigger span:nth-of-type(1) {
  -moz-transform: translateY(10px) rotate(-45deg);
  -ms-transform: translateY(10px) rotate(-45deg);
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}
.toggle-menu.active .toggle-menu__trigger span:nth-of-type(2) {
  opacity: 0;
}
.toggle-menu.active .toggle-menu__trigger span:nth-of-type(3) {
  -moz-transform: translateY(-10px) rotate(45deg);
  -ms-transform: translateY(-10px) rotate(45deg);
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
}
@media screen and (max-width: 767px) {
  header .toggle-menu {
    display: block;
  }
}
/*-----------------------------------------------------------
■ 3 Footer
-----------------------------------------------------------*/
#header p, #footer p {
  margin-bottom: 0;
}
#header img, #footer img {
  width: 80%;
  height: auto;
}
.d__flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .d__flex {
    display: block;
  }
}
#header {
  margin: 0 auto;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.16);
}
#header .logo {
  width: 329px;
  position: absolute;
  top: 0;
  left: 10px;
  z-index: 1001;
}
#header p {
  margin-bottom: 0;
}
@media screen and (max-width: 1299px) and (min-width: 768px) {
  #header .logo {
    width: 254px;
    top: 9px;
  }
}
@media screen and (max-width: 767px) {
  #header {
    box-shadow: none;
    top: 0;
  }
  #header .header__wrap {
    position: relative;
  }
  #header .header__wrap::before {
    content: "";
    background: #fff;
    height: 64px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
  }
  #header .logo {
    width: 214px;
    top: 6px;
  }
}
.site-header__nav .navigation__container,
.site-header__nav .header__nav,
.site-header__nav .header__nav > nav {
  display: contents;
}
.navigation__container .header__nav {
  margin-right: 10px;
}
.navigation__container .h-TelMail {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  width: 400px;
}
.navigation__container .h-TelMail div {
  width: 50%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.navigation__container .h-TelMail div a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  height: 80px;
  align-items: center;
}
.navigation__container .h-TelMail div a i, .navigation__container .h-TelMail div a span {
  display: block;
}
.navigation__container .h-TelMail div a i img, .navigation__container .h-TelMail div a span img {
  vertical-align: middle;
}
.navigation__container .h-TelMail div a i {
  margin-right: 10px;
}
.navigation__container .h-TelMail .h-tel {
  background: #7AD1BF;
}
.navigation__container .h-TelMail .h-tel a {
  letter-spacing: 0;
}
.navigation__container .h-TelMail .h-tel a i {
  width: 21px;
}
.navigation__container .h-TelMail .h-mail {
  background: #4CB19C;
}
.navigation__container .h-TelMail .h-mail a i {
  width: 36px;
}
.navigation__container .h-TelMail .h-mail a:hover {
  opacity: .5;
}
@media screen and (max-width: 1299px) and (min-width: 768px) {
  .navigation__container .h-TelMail {
    width: 26vw;
  }
  .navigation__container .h-TelMail div a {
    font-size: 1.3vw;
    height: 60px;
  }
  .navigation__container .h-TelMail div a i {
    margin-right: 0.5vw;
  }
  .navigation__container .h-TelMail .h-tel a i {
    width: 2vw;
  }
  .navigation__container .h-TelMail .h-mail a i {
    width: 2.6vw;
  }
}
@media screen and (max-width: 767px) {
  .navigation__container {
    display: block;
    padding-top: 65px;
    padding-bottom: 0;
  }
}
#footer {
  position: relative;
  z-index: 4;
  background: #fff;
  padding-top: 63px;
  padding-bottom: 60px;
}
#footer .wrap {
  padding-bottom: 33px;
}
#footer .logo {
  width: 329px;
  margin-bottom: 16px;
}
#footer .note-s {
  font-size: 10px;
  line-height: 32px;
  margin-bottom: -1px;
}
#footer .sitemap a {
  font-size: 10px;
  padding-right: 18px;
}
#footer .sitemap.bnr__shared a:after {
width: 10px;
height: 10px;
}
#footer .copyright {
  font-size: 10px;
  font-weight: 500;
  position: absolute;
  bottom: 32px;
  right: 0;
}
@media screen and (min-width: 768px) and (max-width: 1299px)  {
	#footer .wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
  #footer .copyright {
    right: 75px;
  }
}


@media screen and (max-width: 767px) {
  #footer {
   padding: 50px 0 20vw;
  }
  #footer .logo {
    margin-left: 0;
    width: 80%;
    max-width: 226px;
    margin-bottom: 10px;
  }
  #footer .note-s {
    margin-bottom: 0px;
  }
  #footer .wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
  #footer .copyright {
    position: relative;
            bottom: 0;
  }
}

@media screen and (max-width: 349px) {

}

.header-ct {

 
}


/*-----------------------------------------------------------
■ 3 Other Common Elements
-----------------------------------------------------------*/
/*--------------------------------------
	conversion section
--------------------------------------*/
.conversion {
  padding: 53px 0 61px;
  text-align: center;
  background: #ccc;
  background-size: cover;
}
.conversion .conversion__title {
  margin-bottom: 25px;
  font-size: 34px;
  letter-spacing: 0.15em;
  line-height: 1.6;
  color: #fff;
}
.conversion .conversion__text {
  margin-top: 30px;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2;
  color: #fff;
}
.conversion .conversion__list {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.conversion .conversion__list li + li {
  margin-left: 1%;
}
@media screen and (max-width: 767px) {
  .conversion .conversion__title {
    font-size: 28px;
  }
  .conversion .conversion__list {
    max-width: 535px;
    margin: 0 auto;
  }
  .conversion .conversion__list {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .conversion .conversion__list li + li {
    margin-top: 10px;
    margin-left: 0%;
  }
}
/*-----------------------------------------------------------
■ 4 Elementor overwrite
-----------------------------------------------------------*/
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 0 !important;
}
.elementor img {
  width: auto !important;
}
.elementor-image-box-wrapper {
  display: block !important;
}
.elementor-widget-image-box .elementor-image-box-content {
  text-align: left !important;
}
.elementor-image-box-title {
  padding: 10px 20px;
  margin-bottom: 20px;
  overflow: hidden;
  font-size: 18px;
  line-height: 1.4;
  color: #fff;
  background: #3dc2b7;
}
.elementor-image-box-img {
  float: right;
  display: block !important;
  width: auto !important;
  max-width: 300px;
  margin: 0 0 10px 20px !important;
  text-align: center;
  text-align: right;
}
.img_l .elementor-image-box-img {
  float: left;
  margin: 0 20px 10px 0 !important;
}
.auto_width .elementor-image-box-img {
  width: auto !important;
}
.elementor-widget-image .elementor-image > a, .elementor-widget-image .elementor-image figure > a {
  display: inline-block !important;
}
.elementor-widget-image .elementor-image > a:hover img, .elementor-widget-image .elementor-image figure > a:hover img {
  opacity: 0.8 !important;
}
.elementor-slideshow__header {
  width: calc(100% - 50px) !important;
  padding-left: 0em !important;
  padding-right: 0em !important;
}
.elementor-text-editor ul {
  list-style: inside;
}
@media screen and (max-width: 767px) {
  .elementor-image-box-img, .img_l .elementor-image-box-img {
    float: none;
    width: 100% !important;
    max-width: 100%;
    margin: 0 auto 20px !important;
    text-align: center;
  }
}
.bg-parallax {
  position: relative;
  z-index: -1;
}
.bg-parallax .img-parallax {
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.bg-parallax .img-parallax img {
  width: 100% !important;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  object-fit: cover;
  z-index: 0;
  transform: translateZ(0);
}
.mlr {
  margin-left: auto;
  margin-right: auto;
}
/*=============================================
 * slick
 *=============================================*/
/* Slider */
.slick-loading .slick-list {

}
/* Arrows */
.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  bottom: -30px;
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 1;
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
  opacity: 1;
}
.slick-prev:before, .slick-next:before {
  content: '';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  background-size: cover;
  font-family: "fontello";
  font-size: 20px;
  line-height: 30px;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: block;
  background-color: #b83a00;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
}
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: .25;
}
.slick-prev {
  left: 0;
}
.slick-prev:before {
  content: '';
}
.slick-next {
  right: 0;
}
.slick-next:before {
  content: '';
}
/* Dots */
.slick-dots {
  position: absolute;
  bottom: -22px;
  left: 0;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 0;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  margin: 0 7px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 13px;
  height: 13px;
  cursor: pointer;
  color: transparent;
  outline: none;
  border-radius: 50%;
  border: 1px solid #fff;
  background: #fff;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li.slick-active button {
  background: #d13b3b;
  border: 1px solid #d13b3b;
}
@media only screen and (max-width: 767px) {
  .slick-dots li {
    margin: 0 6px;
  }
  .slick-dots li button {
    width: 10px;
    height: 10px;
  }
}
.toggleMenu {
  display: none;
}
@media screen and (max-width: 767px) {
  .toggleMenu {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .toggleMenu {
    width: 64px;
    height: 64px;
    box-sizing: border-box;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1000;
    background: #fff;
  }
  .menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    margin: 0;
    width: 64px;
    height: 64px;
    background: #3A7813;
  }
  .menu-trigger span {
    position: absolute;
    left: 17px;
    width: 32px;
    height: 2px;
    background: #fff;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 22px;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 31px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 22px;
  }
  .toggleMenu.active .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(5px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
    top: 32px;
  }
  .toggleMenu.active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .toggleMenu.active .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-3px) rotate(45deg);
    transform: translateY(-3px) rotate(45deg);
    bottom: 28px;
  }
}
body.nav-Opened, body.nav-Opened *, body.nav-Opened *:hover, body.nav-Opened *:focus, body.nav-Opened *:active {
  touch-action: none !important;
  pointer-events: none !important;
}
body.nav-Opened .toggleMenu, body.nav-Opened .header__wrap, body.nav-Opened .header__wrap *, body.nav-Opened .header_logo, body.nav-Opened .header_logo * {
  touch-action: auto !important;
  pointer-events: visible !important;
}
body.nav-Opened {
  overflow: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: none !important;
  pointer-events: none !important;
}
.wrap {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}



.img-object {
    background-size: cover;
    background-position: center center;
    position: relative;
}

.img-object img {
    object-fit: cover;
    width: 100% !important;
    height: 100% !important;
}
@media screen and (min-width: 768px) {
    .img-object img {
        position: absolute;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
    }
}


/*=============================================
 * text vertical
 *=============================================*/

.txt-vertical {
  cursor: vertical-text;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
          text-orientation: upright;
  word-wrap: break-word;
}
.txt-vertical .int {
  writing-mode: lr-tb;
  -o-writing-mode: horizontal-tb;
  -ms-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  -moz-writing-mode: horizontal-tb;
  -webkit-writing-mode: horizontal-tb;
  display: inline-block;
  text-align: center;
  line-height: 1.1em;
	letter-spacing: 0.1em;
}
.txt-normal .int {
  height: 1.1em;
}
.txt-vertical-x > * {
  writing-mode: rl-tb;
  -o-writing-mode: vertical-tb;
  -ms-writing-mode: vertical-tb;
  -ms-writing-mode: rl-tb;
  -moz-writing-mode: vertical-tb;
  -webkit-writing-mode: vertical-tb;
 
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
	 transform: rotate(90deg);
  display: inline-block;
  white-space: nowrap;
  word-wrap: break-word;
  width: 1px;
  line-height: 1;
}
.txt-vertical .txt-latin {
  cursor: vertical-text;
  direction: rtl;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: sideways-right;
  -o-text-orientation: sideways-right;
  -ms-text-orientation: upright;
  -ms-text-orientation: sideways-right;
  -moz-text-orientation: sideways-right;
  -webkit-text-orientation: sideways-right;
  letter-spacing: 0em;
}
@-moz-document url-prefix() {
  .txt-vertical .txt-latin {
    position: relative;
    left: 4px;
  }
}

@media screen and (min-width: 768px) {
  .txt-vertical-pc {
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
            text-orientation: upright;
    word-wrap: break-word;
	 
  }
	
	.txt-vertical-pc .int {
		writing-mode: lr-tb;
		-o-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		-moz-writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		display: inline-block;
		text-align: center;
		line-height: 1;
		letter-spacing: 0.1em;	
		margin-bottom: 0.3em;
	}
	
  .txt-vertical-pc .txt-latin {
    direction: rtl;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
    letter-spacing: 0.25em;
  }
}





/* iPhone X */
@media only screen and (min-device-width: 375px) and (min-device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) {
footer::after {
	height: 36px;
	content: '';
	background: #DDF6F1;
	position: fixed;
	bottom: 0px;
	left: 0;
	right: 0;
	z-index: 7;
}
#ft-fixed {
	bottom: calc(env(safe-area-inset-bottom) - 0px);
}
}

/* iPhone XR */
@media only screen and (min-device-width: 414px) and (min-device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait) {
footer::after {
	height: 36px;
	content: '';
	background: #DDF6F1;
	position: fixed;
	bottom: 0px;
	left: 0;
	right: 0;
	z-index: 7;
}
#ft-fixed {
	bottom: calc(env(safe-area-inset-bottom) - 0px);
}
}

/* iPhone 11 */
@media only screen and (-webkit-min-device-pixel-ratio: 3), only screen and (min-device-pixel-ratio: 3), only screen and (-webkit-min-device-pixel-ratio: 4.770833333333333), only screen and (min-resolution: 458dpi), only screen and (min-resolution: 3dppx) {
footer::after {
	height: 36px;
	content: '';
	background: #DDF6F1;
	position: fixed;
	bottom: 0px;
	left: 0;
	right: 0;
	z-index: 7;
}
#ft-fixed {
	bottom: calc(env(safe-area-inset-bottom) - 0px);
}
}

@media screen and (min-width: 768px) {
footer:after {
	display: none;
}
}
@media screen and (min-width: 768px) and (max-width: 1299px) {
	#header {
		top: 0;
		left: 0;
		right: 0;
		width: auto;
	}
}

.cl-orange {
  color: #F76405;
}
.cl-green {
  color: #3A7813;
}
.cl-lightgreen {
  color: #6DA14D;
}


.d__flex {
  display: flex;
}
@media screen and (max-width: 767px) {
  .d__flex {
    display: block;
  }
}

.d__flex.jus {
  justify-content: space-between;
}

.d__flex.dir {
  flex-direction: row-reverse;
}

img {
  width: 100%;
  height: auto;
}

#ft-fixed {
  width: 100%;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 123;
  background: #000;
}
#ft-fixed ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #ft-fixed {
    width: 64px;
    position: fixed;
    bottom: 150px;
    left: auto;
  }
  #ft-fixed ul {
    display: block;
  }
  #ft-fixed ul li {
    margin-bottom: -1px;
    cursor: pointer;
  }
   #ft-fixed ul li#pagetop:hover {
    opacity: .6;
   }
}


.contact__frame {
  background: url("./img/contact_bg.jpg") no-repeat center;
  background-size: cover;
  padding: 60px 0 63px;
  text-align: center;
  color: #fff;
}
.contact__frame .title__c {
  margin-bottom: 49px;
}
.contact__frame .note {
  font-size: 24px;
  margin-bottom: 43px;
}
.contact__frame .contact__frame-wrap {
  max-width: 937px;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}
.contact__frame .contact__frame-wrap p {
  width: 49%;
}
.contact__frame .contact__frame-wrap p span {
  color: #F76405;
  position: relative;
  display: inline-block;
  padding-left: 81px;
}
.contact__frame .contact__frame-wrap p span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%);
}
.contact__frame .contact__frame-wrap p a {
  padding: 20px 0;
  display: flex;
  transition: all 0.3s ease;
  background: #fff;
  border-radius: 90px;
  line-height: 1;
  height: 114px;
  justify-content: center;
  align-items: center;
}
.contact__frame .contact__frame-wrap a:hover {
  text-decoration: none;
}
.contact__frame .contact__frame-wrap .contact__frame-tel span {
  font-size: 46px;
  padding-left: 60px;
}
.contact__frame .contact__frame-wrap .contact__frame-tel span::before {
  background: url("./img/icon_tel2.png") no-repeat center;
  background-size: 100% auto;
  width: 72px;
  height: 72px;
  left: -23px;
}
.contact__frame .contact__frame-wrap .contact__frame-contact a:hover {
  opacity: 0.5;
}
.contact__frame .contact__frame-wrap .contact__frame-contact span {
  font-size: 33px;
}
.contact__frame .contact__frame-wrap .contact__frame-contact span::before {
  background: url("./img/icon_mail2.png") no-repeat center;
  background-size: 100% auto;
  width: 72px;
  height: 72px;
}
@media screen and (max-width: 767px) {
  .contact__frame {
    padding: 50px 0 60px;
  }
  .header-ct {

  }
  .contact__frame .title__c {
    margin-bottom: 25px;
  }
  .contact__frame .note {
    font-size: 20px;
    margin-bottom: 25px!important;
    line-height: 128%;
  }
  .contact__frame .contact__frame-wrap {
    margin-bottom: 0;
    width: 90%;
  }
  .contact__frame .contact__frame-wrap p {
    width: 100%;
    margin-top: 10px;
  }
  .contact__frame .contact__frame-wrap p span {
    padding-left: 37px;
  }
  .contact__frame .contact__frame-wrap p span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -5px;
  }
  .contact__frame .contact__frame-wrap p a {
    padding: 19px 0;
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: center;
    height: 72px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-tel span {
    font-size: 32px;
    padding-left: 30px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-tel span::before {
    top: 58%;
    width: 45px;
    height: 45px;
    left: -25px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-contact a:hover {
    opacity: 1;
  }
  .contact__frame .contact__frame-wrap .contact__frame-contact span {
    font-size: 24px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-contact span::before {
    width: 45px;
    height: 45px;
    left: -15px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1299px) {
  .contact__frame {
    padding-left: 20px;
    padding-right: 20px;
  }
  .contact__frame .contact__frame-wrap p span {
    padding-left: 55px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-tel span {
    padding-left: 30px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-tel span::before,
  .contact__frame .contact__frame-wrap .contact__frame-contact span::before {
    width: 50px;
    height: 50px;
  }

  .contact__frame .contact__frame-wrap .contact__frame-tel span {
    font-size: 36px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-contact span {
    font-size: 26px;
  }
}

@media screen and (max-width: 349px) {
  .contact__frame .note {
    font-size: 18px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-tel span {
    font-size: 28px;
  }
  .contact__frame .contact__frame-wrap .contact__frame-contact span {
    font-size: 20px;
  }
}
/* --- プロフィールセクションのスタイル --- */
.kd-profile-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    max-width: 800px;
    margin: 40px auto;
    color: #333;
    background-color: #fff;
    box-sizing: border-box;
}
.kd-profile-wrapper * { box-sizing: border-box; }

/* 緑色のヘッダー */
.kd-profile-header {
    background-color: #7cbd2a; /* テーマカラーの緑 */
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 18px;
    margin-bottom: 30px;
}

/* 上部：写真と情報のレイアウト */
.kd-profile-top {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 30px;
    padding: 0 10px;
}

/* 写真エリア */
.kd-profile-img-box {
    width: 30%;
    flex-shrink: 0;
    text-align: center;
}
.kd-profile-img-box img {
    width: 100%;
    max-width: 200px;
    height: auto;
    border-radius: 50%; /* 丸く切り抜き */
    border: 3px solid #eef7ff; /* 薄い青の枠線 */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* 右側：テキスト情報エリア */
.kd-profile-info {
    width: 70%;
}

/* 名前周り */
.kd-doc-role {
    font-size: 16px;
    margin-bottom: 5px;
    font-weight: bold;
}
.kd-doc-name {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 20px;
}
.kd-doc-kana {
    font-size: 16px;
    font-weight: normal;
    display: block;
    margin-top: 5px;
}

/* 経歴リスト */
.kd-history-list {
    margin-bottom: 20px;
    font-size: 15px;
}
.kd-history-row {
    display: flex;
    margin-bottom: 8px;
}
.kd-year {
    width: 60px; /* 年号の幅 */
    font-weight: bold;
    flex-shrink: 0;
}
.kd-event {
    padding-left: 10px;
}

/* メッセージ文章 */
.kd-profile-msg {
    font-size: 14px;
    line-height: 1.8;
    color: #444;
    text-align: justify;
}

/* 所属団体のタイトル（青文字） */
.kd-affiliate-title {
    text-align: center;
    font-size: 20px;
    color: #008db7; /* 水色 */
    margin: 40px 0 20px;
    font-weight: normal;
}

/* 所属団体リスト */
.kd-affiliate-list {
    list-style: none;
    padding: 0 20px;
    margin: 0;
    font-size: 14px;
}
.kd-affiliate-list li {
    padding: 10px 0;
    border-bottom: 1px dashed #ddd; /* 点線 */
    position: relative;
    padding-left: 15px;
}
.kd-affiliate-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #333;
}

/* スマホ対応 */
@media (max-width: 600px) {
    .kd-profile-top {
        flex-direction: column;
        align-items: center;
    }
    .kd-profile-img-box {
        width: 100%;
        margin-bottom: 20px;
    }
    .kd-profile-info {
        width: 100%;
    }
    .kd-doc-name {
        font-size: 24px;
        text-align: center;
    }
    .kd-doc-role {
        text-align: center;
    }
    .kd-history-list {
        font-size: 14px;
    }
}
/* --- 共通コンテナ --- */
.kd-wrapper-v3 {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    max-width: 800px;
    margin: 0 auto;
    color: #333;
    line-height: 1.6;
    box-sizing: border-box;
}
.kd-wrapper-v3 * { box-sizing: border-box; }

/* --- 1. 特徴セクション（緑枠） --- */
.kd-features-section {
    margin-bottom: 60px;
}

/* ヘッダーデザイン */
.kd-feature-header-box {
    border: 2px solid #7cbd2a; /* 外枠の緑 */
    padding: 20px 10px;
    text-align: center;
    position: relative;
    margin-bottom: 30px;
}
.kd-feature-header-text {
    background-color: #fff;
    display: inline-block;
    padding: 0 10px;
}
.kd-feature-small-title {
    display: block;
    font-size: 14px;
    margin-bottom: 5px;
    color: #fff; /* 背景が緑になる部分 */
}
/* タイトル部分の緑背景帯 */
.kd-feature-title-bg {
    background-color: #7cbd2a;
    color: #fff;
    padding: 5px 20px;
    font-size: 22px;
    font-weight: normal;
    display: inline-block;
}
/* 「ここが違う！」を枠の上に配置する調整 */
.kd-feature-header-box::before {
    content: "ここが違う！";
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #7cbd2a;
    color: #fff;
    padding: 0 15px;
    font-size: 14px;
    line-height: 24px;
}

/* 3カラムレイアウト */
.kd-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3等分 */
    gap: 20px;
    align-items: flex-start;
}
.kd-feature-col {
    text-align: center;
}
.kd-feature-img {
    width: 100%;
    height: auto;
    margin-bottom: 15px;
    border: 1px solid #eee;
}
.kd-feature-col-title {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.4;
}
.kd-feature-col-text {
    font-size: 13px;
    text-align: left;
    line-height: 1.6;
}

/* --- 2. Q&Aセクション --- */
.kd-qa-section {
    margin-bottom: 50px;
    padding: 0 10px;
}
.kd-qa-title {
    text-align: center;
    font-size: 32px;
    font-family: "Times New Roman", Times, serif; /* セリフ体 */
    margin-bottom: 40px;
    color: #333;
    position: relative;
}
/* タイトルの下線装飾（画像の雰囲気に合わせる） */
.kd-qa-title::after {
    content: "";
    display: block;
    width: 60px;
    height: 1px;
    background-color: #333;
    margin: 10px auto 0;
}

.kd-qa-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.kd-qa-item {
    margin-bottom: 30px;
}

/* 質問 (Q) */
.kd-question {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 16px;
}
.kd-icon-q {
    background-color: #7cbd2a; /* 緑色 */
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    text-align: center;
    line-height: 24px;
    font-size: 14px;
    font-weight: bold;
    margin-right: 10px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* 回答 (A) */
.kd-answer {
    display: flex;
    align-items: flex-start;
    font-size: 15px;
    color: #333;
}
.kd-icon-a {
    background-color: #c4a789; /* 茶色ベージュ */
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    text-align: center;
    line-height: 24px;
    font-size: 14px;
    font-weight: bold;
    margin-right: 10px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* --- レスポンシブ（スマホ対応） --- */
@media (max-width: 600px) {
    .kd-features-grid {
        grid-template-columns: 1fr; /* 1列にする */
        gap: 40px;
    }
    .kd-feature-col {
        padding: 0 10px;
    }
    .kd-feature-title-bg {
        font-size: 18px;
    }
    .kd-question {
        font-size: 15px;
    }
    .kd-answer {
        font-size: 14px;
    }
}
/* --- 全体の基本スタイル --- */
.kd-wrapper-v2 {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    max-width: 800px;
    margin: 0 auto;
    color: #333;
    line-height: 1.6;
    box-sizing: border-box;
}
.kd-wrapper-v2 * { box-sizing: border-box; }

/* --- 1. ノート風デザイン（破折とは） --- */
.kd-note-section {
    padding: 20px;
    margin-bottom: 50px;
}
.kd-note-paper {
    background-color: #fff;
    position: relative;
    padding: 40px 30px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
    border-radius: 2px;
    /* 罫線 */
    background-image: linear-gradient(transparent 96%, #dce6ef 96%);
    background-size: 100% 2.5rem;
    background-attachment: local;
    line-height: 2.5rem;
}
/* 紙の重なり */
.kd-note-paper::before, .kd-note-paper::after {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: #fff;
    border: 1px solid #eee;
    z-index: -1;
    border-radius: 2px;
}
.kd-note-paper::before { transform: rotate(-1.5deg); }
.kd-note-paper::after { transform: rotate(1.5deg); z-index: -2; }

/* ノート見出し */
.kd-note-header { text-align: center; margin-bottom: 2rem; line-height: 1.4; }
.kd-note-highlight-yellow {
    background-color: #ffea2a;
    font-weight: bold;
    padding: 2px 10px;
    display: inline-block;
}
.kd-note-title-sub { font-size: 18px; margin-bottom: 5px; }
.kd-note-title-main { font-size: 24px; }

/* リスト */
.kd-note-list { list-style: none; padding: 0; margin: 0; }
.kd-note-list li {
    display: flex;
    align-items: flex-start;
    padding-top: 5px; /* 罫線合わせ */
}
.kd-check {
    min-width: 25px;
    color: #f0ad4e;
    font-weight: bold;
    font-size: 20px;
    margin-right: 5px;
    line-height: 2.5rem;
    margin-top: -5px;
}
.kd-note-text { margin: 0; font-size: 16px; line-height: 2.5rem; }
.kd-text-red { color: #e74c3c; }

/* --- 2. 原因セクション（青背景） --- */
.kd-cause-section {
    background: linear-gradient(to bottom, #eef7ff, #ffffff);
    padding: 40px 20px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 50px;
}
.kd-cause-img {
    width: 40%;
    flex-shrink: 0;
}
.kd-cause-img img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}
.kd-cause-box {
    background-color: #fff;
    padding: 25px;
    border: 1px solid #ddd;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    font-size: 14px;
}
.kd-cause-item { margin-bottom: 15px; }
.kd-cause-title { font-weight: bold; display: block; margin-bottom: 2px; }

/* --- 3. 移植ポイントセクション（緑ヘッダー） --- */
.kd-point-section { margin-bottom: 50px; }
.kd-green-header {
    background-color: #7cbd2a;
    color: #fff;
    text-align: center;
    padding: 20px;
    position: relative;
    margin-bottom: 30px;
}
.kd-tag-small {
    background-color: #004d25;
    font-size: 12px;
    padding: 2px 8px;
    display: inline-block;
    margin-bottom: 5px;
}
.kd-header-title {
    font-size: 24px;
    font-weight: bold;
    margin: 0;
}
/* ポイント詳細 */
.kd-point-content { text-align: center; padding: 0 20px; }
.kd-point-img-wrap {
    max-width: 300px;
    margin: 0 auto 20px;
}
.kd-point-img-wrap img { width: 100%; height: auto; border-radius: 4px; }
.kd-point-sub-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
.kd-cols-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    text-align: left;
    font-size: 14px;
}

/* スマホ対応 */
@media (max-width: 600px) {
    .kd-note-text { font-size: 15px; line-height: 2rem; }
    .kd-note-paper { padding: 30px 15px; background-size: 100% 2rem; }
    .kd-check { line-height: 2rem; margin-top: -2px; }
    
    .kd-cause-section { flex-direction: column; }
    .kd-cause-img { width: 100%; margin-bottom: 20px; }
    
    .kd-cols-3 { grid-template-columns: 1fr; }
}
/* --- スタイル定義 (他の場所に影響しないよう.kd-prefixをつけています) --- */
.kd-container {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    max-width: 800px;
    margin: 0 auto;
    color: #333;
    line-height: 1.6;
    box-sizing: border-box;
    background-color: transparent;
}

.kd-container * {
    box-sizing: border-box;
}

/* --- 緑色のヘッダー部分 --- */
.kd-header {
    background-color: #7cbd2a; /* 画像の緑色 */
    color: #fff;
    text-align: center;
    padding: 40px 20px 60px; /* 下に三角形用の余白 */
    position: relative;
}

.kd-header-sub {
    font-size: 14px;
    margin-bottom: 5px;
}

.kd-header-highlight {
    background-color: #fff;
    color: #1a2a75; /* 濃い青 */
    font-weight: bold;
    font-size: 20px;
    padding: 2px 10px;
    display: inline-block;
    margin: 5px 0;
}

.kd-header-main {
    font-size: 26px;
    margin-top: 15px;
    font-weight: bold;
    line-height: 1.5;
}

.kd-brand-tag {
    background-color: #004d25; /* 濃い緑 */
    color: #fff;
    padding: 2px 8px;
    font-style: italic;
    margin: 0 5px;
}

/* 下向きの三角形 */
.kd-header::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 30px 0 30px;
    border-color: #7cbd2a transparent transparent transparent;
    z-index: 10;
}

/* --- 真ん中のタイトル部分 --- */
.kd-mid-section {
    text-align: center;
    padding: 60px 20px 40px;
    background-color: #fff;
}

.kd-mid-small {
    font-size: 16px;
    margin-bottom: 5px;
    display: block;
}

.kd-mid-tag {
    background-color: #004d25;
    color: #fff;
    padding: 2px 10px;
    font-size: 16px;
    display: inline-block;
    margin-bottom: 15px;
    font-weight: bold;
}

.kd-mid-title-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.kd-mid-title {
    font-size: 32px;
    font-weight: bold;
    color: #333;
    line-height: 1.3;
    text-align: center;
}

/* 斜めの線 */
.kd-line-slash {
    width: 2px;
    height: 60px;
    background-color: #000;
    transform: rotate(25deg);
    display: inline-block;
}
.kd-line-slash.right {
    transform: rotate(-25deg);
}

/* --- クリップボード風デザイン --- */
.kd-board-outer {
    background-color: #3e2f1e; /* こげ茶色の枠 */
    padding: 15px;
    border-radius: 15px;
    position: relative;
    margin: 20px 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.kd-board-paper {
    background-color: #fff;
    border-radius: 4px;
    padding: 40px 20px 20px;
    position: relative;
    background-image: linear-gradient(#e9e9e9 1px, transparent 1px);
    background-size: 100% 3em; /* 罫線の間隔 */
    background-position: 0 1.5em; /* 線の開始位置調整 */
}

/* クリップ（金具） */
.kd-clip {
    position: absolute;
    top: -10px;
    width: 14px;
    height: 25px;
    background: linear-gradient(to bottom, #ddd, #999);
    border-radius: 8px;
    border: 1px solid #666;
    z-index: 5;
}
.kd-clip.left { left: 20%; }
.kd-clip.right { right: 20%; }

/* ボード内のタイトル */
.kd-board-title {
    text-align: center;
    margin-bottom: 30px;
    background-color: #fff; /* 線を消すため背景白 */
    padding: 10px;
    display: inline-block;
    width: 100%;
}

.kd-board-title h3 {
    margin: 0;
    font-size: 18px;
    color: #333;
}

.kd-board-highlight-blue {
    background-color: #0f1c55; /* 濃紺 */
    color: #fff;
    padding: 2px 10px;
    margin: 0 5px;
    display: inline-block;
}

.kd-text-red {
    color: #e74c3c;
    font-weight: bold;
    font-size: 1.2em;
}

/* リスト部分 */
.kd-check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.kd-check-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0;
    padding: 15px 10px;
    /* 罫線に合わせて配置するための調整 */
    line-height: 1.8;
    background-color: rgba(255,255,255,0.8); /* 文字が見やすいように背景を少し透過 */
    border-bottom: 1px dashed #ddd; /* 補助的な線 */
}

/* チェックマーク */
.kd-check-mark {
    min-width: 20px;
    color: #f0ad4e; /* オレンジゴールド */
    font-weight: bold;
    font-size: 20px;
    margin-right: 10px;
    margin-top: -2px;
}

.kd-highlight-text {
    color: #d9534f; /* 赤っぽい文字 */
    font-weight: bold;
}

/* --- レスポンシブ対応（スマホ） --- */
@media (max-width: 600px) {
    .kd-header-main { font-size: 20px; }
    .kd-header-highlight { font-size: 16px; }
    .kd-mid-title { font-size: 24px; }
    .kd-line-slash { height: 40px; }
    .kd-board-paper { padding: 40px 10px 10px; }
    .kd-check-list li { font-size: 14px; }
}
  /* --- 共通コンテナ --- */
  .treatment-page-wrapper {
    width: 100%;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #fff;
    box-sizing: border-box;
  }

  /* --- 上部：最新接着治療セクション --- */
  .treat-top-section {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
    text-align: center;
  }

  .treat-note {
    font-size: 12px;
    margin-bottom: 30px;
    text-align: center;
    display: block;
  }

  .treat-main-title {
    font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 28px;
    margin-bottom: 50px;
    display: inline-block;
    position: relative;
    padding-bottom: 10px;
  }
  /* タイトルの下の青い線 */
  .treat-main-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: #005580; /* 濃い青 */
    margin: 10px auto 0 auto;
  }

  /* 治療法ボックスのラッパー */
  .treat-boxes-wrapper {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
  }

  /* 個別の箱 */
  .treat-box {
    border: 3px solid #b38f66; /* 茶色の枠線 */
    padding: 20px;
    width: 45%;
    min-width: 320px;
    box-sizing: border-box;
    position: relative;
    background-color: #fff;
  }

  /* 「歯根破折」ラベル */
  .treat-box-label {
    position: absolute;
    top: -15px;
    left: -3px; /* 枠線に合わせる */
    background-color: #b38f66;
    color: #fff;
    font-weight: bold;
    padding: 5px 20px;
    font-size: 16px;
  }

  .treat-box-content {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-top: 20px;
    text-align: left;
  }

  .treat-box-img {
    width: 40%;
    height: auto;
    border-radius: 4px;
  }

  .treat-box-text {
    width: 60%;
    font-size: 13px;
    line-height: 1.5;
  }
  .treat-box-title {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
    text-align: center;
    display: block;
  }
  .treat-step-arrow {
    text-align: center;
    color: #b38f66;
    font-size: 16px;
    line-height: 1;
    margin: 2px 0;
  }

  /* --- 下部：症状チェックセクション --- */
  .symptom-section {
    background-color: #dbeecf; /* 薄い緑色 */
    padding: 60px 20px;
  }

  .symptom-container {
    max-width: 1000px;
    margin: 0 auto;
  }

  /* ⚠️ タイトル */
  .symptom-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    color: #333;
  }
  .symptom-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: #ff9900;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    margin-right: 10px;
    font-size: 18px;
    font-weight: bold;
  }
  .symptom-highlight {
    color: #cc0000; /* 赤文字 */
  }

  /* コンテンツエリア（リストと女性写真） */
  .symptom-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }

  /* 左側：吹き出しリスト */
  .symptom-list {
    flex: 1;
    min-width: 300px;
    padding-right: 40px;
  }

  .symptom-item {
    background-color: #fff;
    padding: 15px 20px;
    margin-bottom: 15px;
    border-radius: 5px;
    position: relative;
    font-weight: bold;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.05);
    font-size: 16px;
  }
  /* 吹き出しの三角（右向き） */
  .symptom-item::after {
    content: '';
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    border-style: solid;
    border-width: 8px 0 8px 10px;
    border-color: transparent transparent transparent #fff;
  }

  .text-red {
    color: #cc0000;
  }

  /* 右側：女性の写真 */
  .symptom-image-area {
    flex: 0 0 350px; /* 幅固定 */
    text-align: center;
  }
  .symptom-woman-img {
    width: 100%;
    height: auto;
    max-width: 300px;
    display: block;
    margin: 0 auto;
    /* 写真の背景をなじませる処理（もし切り抜きでない場合） */
    mix-blend-mode: multiply; 
  }

  /* --- スマホ対応 --- */
  @media (max-width: 768px) {
    .treat-boxes-wrapper {
      flex-direction: column;
      align-items: center;
    }
    .treat-box {
      width: 100%;
    }
    .symptom-content {
      flex-direction: column;
    }
    .symptom-list {
      padding-right: 0;
      width: 100%;
      margin-bottom: 30px;
    }
    .symptom-item::after {
      /* スマホ時は右の三角を消して下向きにするか、消す */
      display: none; 
    }
    .symptom-image-area {
      flex: 1;
      width: 100%;
    }
  }
 /* --- 全体のフォント設定 --- */
  .promo-wrapper {
    font-family: "Hiragino Mincho ProN", "HGS Mincho E", "Yu Mincho", "Times New Roman", serif;
    width: 100%;
    box-sizing: border-box;
    line-height: 1.6;
    color: #333;
  }

  /* =========================================
     上部セクション（ブルーラジカル紹介）
     ========================================= */
  .promo-top-section {
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
    margin-bottom: 0;
  }

  /* 左側：画像エリア */
  .promo-image-col {
    flex: 1;
    min-width: 300px;
    background-color: #000; /* 画像読み込み前の背景黒 */
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .promo-image-col img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  /* 右側：テキストエリア */
  .promo-text-col {
    flex: 1;
    min-width: 300px;
    padding: 40px 30px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .promo-main-title {
    font-size: 24px;
    font-weight: normal;
    margin-bottom: 20px;
    line-height: 1.4;
    text-align: center;
    color: #000;
  }
  
  .promo-desc {
    font-size: 15px;
    text-align: justify; /* 両端揃え */
    font-family: "Helvetica Neue", Arial, sans-serif; /* 本文はゴシック系が読みやすい場合が多いですが、画像に合わせ明朝系にするならここを削除 */
    line-height: 1.8;
  }

  /* =========================================
     下部セクション（背景画像＋キャッチコピー）
     ========================================= */
  .promo-bottom-hero {
    position: relative;
    width: 100%;
    /* ▼▼ 背景画像のURLをここに設定 ▼▼ */
    background-image: url('/wp-content/uploads/2-1-scaled.jpg');
    background-size: cover;
    background-position: center;
    padding: 80px 20px;
    text-align: center;
    box-sizing: border-box;
  }

  /* 背景画像を少し暗くして文字を読みやすくする場合のオーバーレイ（必要なければ削除可） */
  .promo-bottom-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.4); /* 白っぽく透過 */
    z-index: 1;
  }

  .promo-hero-content {
    position: relative;
    z-index: 2; /* オーバーレイより上に */
    max-width: 800px;
    margin: 0 auto;
    font-weight: bold;
  }

  /* 赤いタグ（専門医による...） */
  .promo-red-tag {
    background-color: #e60012;
    color: #fff;
    display: inline-block;
    padding: 5px 10px;
    font-size: 18px;
    margin-bottom: 5px;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  }

  /* サブコピー（40代以上の...） */
  .promo-sub-copy {
    font-size: 18px;
    margin: 20px 0;
    font-style: italic;
    color: #000;
    text-shadow: 1px 1px 0 #fff;
  }

  /* キャッチコピー1行目 */
  .promo-catch-row {
    margin-bottom: 25px;
    font-size: 24px;
    line-height: 1.5;
    text-shadow: 2px 2px 0 #fff; /* 白縁取りで視認性アップ */
  }
  
  /* 「最先端治療」青背景 */
  .promo-blue-highlight {
    background-color: #4169e1; /* ロイヤルブルー */
    color: #fff;
    padding: 2px 5px;
    margin-right: 5px;
    text-shadow: none;
  }
  
  /* 緑の下線テキスト */
  .promo-green-underline {
    color: #006400; /* 濃い緑 */
    border-bottom: 3px solid #006400;
    display: inline-block;
  }

  /* 「保険治療」赤文字 */
  .promo-red-text {
    color: #ff0000;
    border-bottom: 1px solid #ff0000; /* 薄い下線 */
  }

  /* 黄色タグ（先端のケイデンタルなど） */
  .promo-yellow-tag {
    background-color: #ffcc00; /* 濃い黄色 */
    color: #fff;
    display: inline-block;
    padding: 5px 15px;
    font-size: 20px;
    margin-bottom: 15px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
  }

  /* フッターテキスト */
  .promo-footer-text {
    margin-top: 30px;
    font-size: 16px;
    color: #000;
    text-shadow: 1px 1px 0 #fff;
  }

  /* スマホ対応 */
  @media (max-width: 768px) {
    .promo-top-section {
      flex-direction: column;
    }
    .promo-image-col, .promo-text-col {
      width: 100%;
    }
    .promo-catch-row {
      font-size: 18px;
    }
    .promo-red-tag, .promo-yellow-tag {
      font-size: 16px;
    }
  }
 /* --- コンテナ全体 --- */
  .lp-banner-container {
    background: linear-gradient(180deg, #e6f4ff 0%, #ffffff 100%); /* 背景の薄い青グラデーション */
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    max-width: 800px; /* バナーの最大幅 */
    margin: 0 auto;
    padding: 30px 20px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden; /* はみ出し防止 */
  }

  /* --- ヘッダー（緑の質問帯）エリア --- */
  .lp-header-area {
    position: relative;
    margin-bottom: 40px;
    padding-right: 120px; /* イラスト分の余白 */
  }

  /* 緑の帯 */
  .lp-green-box {
    background-color: #99cc00; /* 明るい緑 */
    color: #ffffff;
    font-weight: bold;
    font-size: 18px;
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 4px;
    display: inline-block; /* 文字幅に合わせる場合 */
    width: 100%;
    box-sizing: border-box;
    position: relative;
  }
  .lp-green-box::after {
    /* 帯の下の白い線（装飾） */
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: rgba(255,255,255,0.5);
  }

  /* 右上のイラスト（困っている人） */
  .lp-header-illustration {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: auto;
    z-index: 2;
  }

  /* --- オレンジの斜め帯（解決します！） --- */
  .lp-orange-arrow {
    background: linear-gradient(90deg, #ffcc00, #ff9900);
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    padding: 15px 10px;
    margin: 20px auto 30px auto;
    width: 90%;
    position: relative;
    transform: rotate(-2deg); /* 少し斜めにする */
    box-shadow: 3px 3px 0px rgba(0,0,0,0.1);
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
  }
  /* 矢印の形状を作る（擬似要素） */
  .lp-orange-arrow::after {
    content: '';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    border-left: 20px solid #ff9900;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
  }

  /* --- メインタイトル（最先端の...） --- */
  .lp-main-title {
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    color: #000;
    margin-bottom: 40px;
    font-family: "Ryumin", "Times New Roman", serif; /* 明朝体風 */
    text-shadow: 2px 2px 0px #fff, -1px -1px 0 #fff; /* 白縁取り */
  }
  .lp-main-title span {
    color: #ff9900; /* 「抜かない」の強調色 */
  }

  /* --- コンテンツエリア（2カラム） --- */
  .lp-content-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end; /* 下揃え */
  }

  /* 左側：チェックボックスとCTA */
  .lp-left-column {
    flex: 1;
    min-width: 280px;
    padding-right: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  /* 黒いチェックボックス */
  .lp-check-item {
    background-color: #001133; /* 濃紺/黒 */
    color: #ffffff;
    padding: 15px;
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
  }
  .lp-check-icon {
    border: 2px solid #ffffff;
    width: 20px;
    height: 20px;
    margin-right: 15px;
    position: relative;
    flex-shrink: 0;
  }
  .lp-check-icon::after {
    /* チェックマーク */
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 6px;
    height: 12px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }

  /* 赤いCTAボタン */
  .lp-cta-button {
    background-color: #cc0000; /* 赤 */
    color: #ffffff;
    text-align: center;
    padding: 15px;
    font-weight: bold;
    font-size: 18px;
    margin-top: 20px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
    display: block;
    text-decoration: none;
  }

  /* 右側：院長写真 */
  .lp-right-column {
    flex: 0 0 300px; /* 写真の幅 */
    text-align: center;
    position: relative;
  }

  .lp-doctor-title {
    font-family: serif;
    font-size: 14px;
    color: #000;
    margin-bottom: 5px;
  }
  .lp-doctor-name {
    font-family: serif;
    font-size: 20px;
    font-weight: bold;
    color: #000;
    margin-bottom: 10px;
  }

  .lp-doctor-img {
    width: 100%;
    height: auto;
    display: block;
    /* 写真の下部を少しぼかすか、切り抜き画像の使用を想定 */
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
  }

  /* --- スマホ対応 --- */
  @media (max-width: 768px) {
    .lp-header-area {
      padding-right: 0;
    }
    .lp-header-illustration {
      position: relative;
      display: block;
      margin: 0 auto 20px auto; /* 帯の上に配置 */
      width: 100px;
    }
    .lp-orange-arrow {
      font-size: 20px;
      width: 95%;
    }
    .lp-main-title {
      font-size: 24px;
    }
    .lp-content-wrapper {
      flex-direction: column;
    }
    .lp-left-column {
      padding-right: 0;
      width: 100%;
      margin-bottom: 30px;
    }
    .lp-right-column {
      width: 100%;
      max-width: 300px;
      margin: 0 auto;
    }
  }
  .custom-price-table-wrapper {
    width: 100%;
    overflow-x: auto; /* スマホで横スクロールできるようにする */
    margin: 20px 0;
  }
 .custom-price-table {
    width: 100%;
    border-collapse: collapse; /* 枠線を重ねる */
    min-width: 500px; /* スマホでも極端に潰れないように最小幅を設定 */
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.5;
  }
  .custom-price-table th {
    background-color: #000000;
    color: #ffffff;
    padding: 15px;
    border-right: 1px solid #444; /* 列ごとの区切り線（薄く） */
    text-align: center;
    font-weight: normal;
    white-space: nowrap; /* テキストの折り返し防止 */
  }
  .custom-price-table th:last-child {
    border-right: none;
  }
  .custom-price-table td {
    background-color: #dcdcdc; /* 画像に近いグレー */
    color: #333333;
    padding: 15px;
    border: 1px solid #c0c0c0; /* 薄い枠線 */
    text-align: center;
  }
  /* --- 全体のコンテナ設定 --- */
  .br-flow-container {
    background-color: #0077c8; /* 背景色：ブルー */
    color: #ffffff; /* 文字色：白 */
    padding: 40px 20px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    box-sizing: border-box;
  }

  /* メインタイトル */
  .br-flow-main-title {
    text-align: center;
    color: #000000; /* タイトルは黒 */
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
  }

  /* --- 各ステップの枠 --- */
  .br-flow-step {
    position: relative;
    padding-left: 60px; /* バッジの分だけ右にずらす */
    margin-bottom: 50px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  /* 左側の点線（装飾） */
  .br-flow-step::before {
    content: '';
    position: absolute;
    top: 0;
    left: 24px; /* バッジの中心線に合わせる */
    width: 2px;
    height: 100%;
    border-left: 2px dotted #8ccafeb3; /* 薄い点線 */
    z-index: 0;
  }
  .br-flow-step:last-child::before {
    display: none; /* 最後のステップは線を消す */
  }

  /* --- STEPバッジ（青い丸） --- */
  .br-flow-badge {
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #2b55d6 0%, #103db5 100%);
    border-radius: 50%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.1;
    z-index: 1;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  }
  .br-flow-badge span {
    font-size: 10px;
    display: block;
  }
  .br-flow-badge strong {
    font-size: 18px;
  }

  /* --- ステップタイトル --- */
  .br-flow-title {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 15px 0;
    padding-top: 10px; /* バッジとの位置合わせ */
  }

  /* --- コンテンツエリア（画像とテキスト） --- */
  .br-flow-content {
    display: flex;
    flex-wrap: wrap; /* スマホで折り返す */
    gap: 20px;
  }

  /* 画像エリア */
  .br-flow-image {
    flex: 0 0 300px; /* PCでの画像幅固定 */
    max-width: 100%;
  }
  .br-flow-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
  }

  /* テキストエリア */
  .br-flow-text {
    flex: 1; /* 残りの幅を使う */
    min-width: 250px;
    font-size: 14px;
  }

  /* リストのスタイル調整 */
  .br-flow-text ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: disc;
  }
  .br-flow-text li {
    margin-bottom: 5px;
  }

  /* 注釈テキスト */
  .br-flow-note {
    font-size: 13px;
    opacity: 0.9;
    margin-top: 10px;
  }

  /* --- スマホ表示時の調整 --- */
  @media (max-width: 768px) {
    .br-flow-step {
      padding-left: 0; /* インデント解除 */
      margin-bottom: 40px;
    }
    .br-flow-step::before {
      display: none; /* スマホでは点線を消す（レイアウト崩れ防止） */
    }
    .br-flow-badge {
      position: relative; /* 配置を相対に戻す */
      margin-bottom: 10px;
    }
    .br-flow-image {
      flex: 1 1 100%; /* 画像を横幅いっぱいに */
    }
    .br-flow-main-title {
      font-size: 20px;
    }
  }
  /* アクセス案内セクションのスタイル */
  .access-info-section {
    background-color: #f5f5f5; /* 背景色：薄いグレー */
    color: #333333; /* 文字色：濃いグレー */
    padding: 60px 20px;
    text-align: center;
    font-family: "Helvetica Neue", Arial, sans-serif;
  }

  .access-info-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
    color: #000000;
    line-height: 1.4;
  }

  .access-info-text {
    max-width: 800px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 2;
    text-align: justify; /* 両端揃えで見栄えを整える */
  }

  /* スマホ表示の調整 */
  @media (max-width: 768px) {
    .access-info-text {
      text-align: left; /* スマホでは左揃え */
    }
  }
  /* --- 全体のコンテナ --- */
  .ci-container {
    background-color: #0078d7; /* 画像に近い鮮やかな青 */
    color: #ffffff;
    font-family: "Helvetica Neue", Arial, sans-serif;
    padding: 40px 20px;
    box-sizing: border-box;
    line-height: 1.6;
  }

  /* --- ヘッダー（医院名） --- */
  .ci-header {
    text-align: center;
    margin-bottom: 40px;
  }
  .ci-header-sub {
    font-size: 16px;
    font-weight: normal;
    display: block;
    margin-bottom: 5px;
  }
  .ci-header-main {
    font-size: 26px;
    font-weight: bold;
    margin: 0;
  }

  /* --- 上部コンテンツエリア（写真と情報） --- */
  .ci-top-section {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 50px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  /* 左側：写真グリッド（マップ削除に伴い4枚配置） */
  .ci-photos {
    flex: 1;
    min-width: 300px;
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列 */
    grid-template-rows: auto auto;  /* 2行 */
    gap: 5px;
  }
  .ci-photo-item {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3; /* 写真の比率を固定 */
    background-color: #ccc; /* 仮の色 */
    object-fit: cover;
    border: 1px solid #fff; /* 白い枠線 */
  }

  /* 右側：テキスト情報 */
  .ci-info-text {
    flex: 1.2;
    min-width: 300px;
    font-size: 15px;
  }
  .ci-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .ci-info-list li {
    margin-bottom: 20px;
    position: relative;
    padding-left: 15px;
  }
  /* リストの黒丸（・）を白丸で表現 */
  .ci-info-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
  }
  .ci-access-detail {
    display: block;
    margin-left: 0;
    margin-top: 5px;
    line-height: 1.8;
  }

  /* --- 下部：診療時間テーブル --- */
  .ci-hours-section {
    max-width: 1000px;
    margin: 0 auto;
  }
  .ci-hours-title {
    text-align: center;
    font-size: 18px;
    margin-bottom: 15px;
  }

  .ci-table-wrapper {
    width: 100%;
    overflow-x: auto; /* スマホで横スクロール */
  }

  .ci-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ffffff;
    font-size: 15px;
  }

  .ci-table th, .ci-table td {
    border: 1px solid #ffffff;
    padding: 15px;
    text-align: center;
    vertical-align: middle;
  }

  .ci-table th {
    background-color: rgba(255, 255, 255, 0.1); /* 少し明るくしてヘッダー感を出す */
    font-weight: normal;
    width: 30%;
  }

  /* 注釈 */
  .ci-footer-note {
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
  }

  /* --- スマホ表示調整 --- */
  @media (max-width: 768px) {
    .ci-top-section {
      flex-direction: column; /* 縦並びにする */
      gap: 30px;
    }
    .ci-photos {
      order: 1; /* 写真を上に */
    }
    .ci-info-text {
      order: 2; /* テキストを下に */
    }
    .ci-table th, .ci-table td {
      padding: 10px 5px;
      font-size: 13px;
    }
  }
 /* --- 共通設定 --- */
  .section-container {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    width: 100%;
    box-sizing: border-box;
  }

  /* =========================================
     1. よくある質問 (FAQ) セクション
     ========================================= */
  .faq-section {
    background-color: #dddddd; /* 背景：薄いグレー */
    color: #333;
    padding: 60px 20px;
  }

  .faq-title-area {
    text-align: center;
    margin-bottom: 40px;
  }
  .faq-title-jp {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    display: block;
    margin-bottom: 5px;
  }
  .faq-title-en {
    font-size: 18px;
    font-weight: bold;
    color: #555;
  }

  .faq-list {
    max-width: 800px;
    margin: 0 auto;
  }

  .faq-item {
    margin-bottom: 30px;
  }

  /* 質問 (Q) */
  .faq-q {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
    font-weight: bold;
    color: #000;
  }
  .faq-icon-q {
    background-color: #e53935; /* アイコン：赤 */
    color: #fff;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 15px;
    flex-shrink: 0; /* 縮まないように */
    border-radius: 2px;
  }

  /* 回答 (A) */
  .faq-a {
    display: flex;
    align-items: flex-start;
  }
  .faq-icon-a {
    background-color: #fff;
    color: #000;
    border: 1px solid #333;
    width: 28px; /* ボーダー分調整 */
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 15px;
    flex-shrink: 0;
    border-radius: 2px;
  }
  .faq-text {
    padding-top: 2px; /* アイコンと高さ合わせ */
    font-size: 15px;
  }

  /* =========================================
     2. 医院長紹介 (Profile) セクション
     ========================================= */
  .prof-section {
    background-color: #000099; /* 背景：濃い青 */
    color: #ffffff;
    padding: 60px 20px;
  }

  .prof-title-area {
    text-align: center;
    margin-bottom: 50px;
  }
  .prof-title-jp {
    font-size: 26px;
    font-weight: bold;
    display: block;
  }
  .prof-title-en {
    font-size: 20px;
    font-weight: normal;
  }

  /* コンテンツエリア（写真と経歴） */
  .prof-content {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    max-width: 1000px;
    margin: 0 auto 40px auto;
    justify-content: center;
  }

  /* 写真エリア */
  .prof-image-area {
    flex: 0 0 300px; /* 幅固定 */
    display: flex;
    flex-direction: column;
  }
  .prof-photo {
    width: 100%;
    height: auto;
    border: 1px solid #fff;
    display: block;
  }
  /* 名前帯 */
  .prof-name-bar {
    background: linear-gradient(to right, #0056b3, #003380);
    color: #fff;
    padding: 10px;
    margin-top: 10px;
    border-left: 4px solid #fff;
  }
  .prof-role {
    font-size: 14px;
    display: block;
  }
  .prof-name {
    font-size: 20px;
    font-weight: bold;
  }

  /* 経歴テキストエリア */
  .prof-text-area {
    flex: 1;
    min-width: 300px;
    font-size: 14px;
    line-height: 1.8;
  }

  .prof-history-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
  }
  .prof-history-table td {
    vertical-align: top;
    padding-bottom: 5px;
  }
  .prof-year {
    width: 60px;
    font-weight: bold;
  }

  .prof-affiliations {
    margin-top: 20px;
  }
  .prof-affiliations div {
    margin-bottom: 2px;
  }

  /* 下部メッセージ */
  .prof-message {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.8;
    text-align: justify;
  }

  /* スマホ対応 */
  @media (max-width: 768px) {
    .prof-content {
      flex-direction: column;
      align-items: center;
    }
    .prof-image-area {
      width: 100%;
      max-width: 300px;
    }
    .prof-text-area {
      width: 100%;
    }
  }
/* --- 攻略ガイドのスタイル定義 --- */
.kd-guide-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    max-width: 800px;
    margin: 40px auto;
    color: #333;
    background-color: #fff;
    border: 1px solid #ddd; /* 外枠の薄い線 */
    padding: 40px 30px;
    box-sizing: border-box;
}
.kd-guide-wrapper * { box-sizing: border-box; }

/* タイトル */
.kd-guide-title {
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    margin: 0 0 40px 0;
    padding-bottom: 15px;
    position: relative;
    letter-spacing: 1px;
}
/* タイトル下の緑の線 */
.kd-guide-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%; /* 線の長さを調整 */
    width: 80%;
    height: 3px;
    background-color: #7cbd2a;
}

/* 各セクション */
.kd-guide-section {
    margin-bottom: 30px;
}

/* 見出し（チェックボックス付き） */
.kd-guide-head {
    display: flex;
    align-items: flex-start; /* アイコンとテキストの上揃え */
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.5;
}
/* チェックボックスアイコン */
.kd-guide-icon {
    background-color: #555; /* 濃いグレー */
    color: #fff;
    min-width: 20px;
    height: 20px;
    border-radius: 3px;
    text-align: center;
    line-height: 20px;
    font-size: 12px;
    margin-right: 10px;
    margin-top: 3px; /* テキストとの位置調整 */
    flex-shrink: 0;
}

/* テキスト本体 */
.kd-guide-body {
    padding-left: 30px; /* アイコン分インデント */
    font-size: 14px;
    line-height: 1.7;
}
.kd-guide-text {
    margin: 0 0 8px 0;
    /* [1]などが飛び出さないようにぶら下がりインデント */
    padding-left: 1.8em;
    text-indent: -1.8em;
}
.kd-num {
    font-weight: bold;
    margin-right: 5px;
}

/* スマホ対応 */
@media (max-width: 600px) {
    .kd-guide-wrapper { padding: 20px 15px; }
    .kd-guide-title { font-size: 20px; }
    .kd-guide-head { font-size: 15px; }
    .kd-guide-body { padding-left: 0; margin-top: 5px; }
    .kd-guide-text { font-size: 13px; }
}
/* --- 料金表セクションのスタイル --- */
.kd-price-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    max-width: 800px;
    margin: 40px auto;
    color: #333;
    box-sizing: border-box;
}
.kd-price-wrapper * { box-sizing: border-box; }

/* タイトル */
.kd-price-title {
    text-align: center;
    font-size: 24px;
    font-weight: normal; /* 画像に合わせて少し細めに */
    margin-bottom: 30px;
    position: relative;
    padding-bottom: 15px;
}
/* タイトル下の青い線 */
.kd-price-title::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background-color: #2b5688; /* 落ち着いた青 */
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* 料金テーブル */
.kd-price-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1); /* ほんの少し影をつける */
}

/* ヘッダー行 */
.kd-price-table thead th {
    background-color: #7cbd2a; /* 緑色 */
    color: #fff;
    padding: 15px;
    font-weight: normal;
    font-size: 16px;
    text-align: center;
    border: none;
}
/* 左のカラム（項目名） */
.kd-price-table thead th:first-child {
    width: 60%;
    text-align: center;
}

/* ボディ行 */
.kd-price-table tbody td {
    padding: 20px 15px;
    border-bottom: 1px solid #eee;
    font-size: 18px;
}

/* 左のカラム（部位） */
.kd-price-table tbody td:first-child {
    text-align: center;
    font-weight: normal;
}

/* 右のカラム（金額） */
.kd-price-table tbody td:last-child {
    text-align: right;
    padding-right: 40px; /* 右端の余白 */
    font-family: "Times New Roman", Times, serif; /* 数字は明朝系で綺麗に見せる */
    letter-spacing: 1px;
}

/* 税抜きの小さい文字 */
.kd-tax-note {
    font-size: 12px;
    font-family: sans-serif; /* ここはゴシックに戻す */
    margin-left: 5px;
    color: #666;
}

/* 下部の注釈リスト */
.kd-price-notes {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: #333;
}
.kd-price-notes li {
    margin-bottom: 5px;
    padding-left: 1em;
    text-indent: -1em; /* 2行目が頭出しされるように調整 */
}

@media (min-width: 768px) {
	.sub-menu{
		width:343px !important;
		display:block !important;
	}
	.sub-menu li{
		width:100% !important;
	}
}
/* スマホ対応 */
@media (max-width: 600px) {
	header .header__nav nav ol > li.hover .sub-menu{
		display:block;
	}
		.sub-menu li{
		width:100% !important;
	}
    .kd-price-table tbody td {
        font-size: 16px;
        padding: 15px 10px;
    }
    .kd-price-table tbody td:last-child {
        padding-right: 15px;
    }
    .kd-price-notes {
        font-size: 12px;
    }
}
.video_wrapper {
  padding-top: 56.25%;
  position: relative;
}
.width_max{
    max-width: 1140px;
    text-align: center;
    margin: 0 auto;
    margin-top: 30px;
}
.video_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
  .lp-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    color: #333;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
  }
  
  .lp-wrapper * {
    box-sizing: border-box;
  }

  .lp-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* --- ヘッダー（空の背景）エリア --- */
  .lp-header {
    /* 背景画像をここに設定してください */
    background: linear-gradient(to bottom, #2ca9e1, #87cefa); 
    background-image: url('/wp-content/uploads/1-2-scaled.jpg'); /* ★実際の青空画像URLに差し替え */
    background-size: cover;
    background-position: center;
    padding: 40px 20px;
    text-align: center;
    color: #fff;
    position: relative;
  }

  .clinic-name {
    display: inline-block;
    background: rgba(255, 255, 255, 0.9);
    color: #8cbd00; /* ロゴの緑色 */
    padding: 5px 20px;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    border: 2px solid #fff;
  }

  .lp-header h2 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  }

  .lp-header h2 span {
    color: #ffeb3b; /* 黄色強調 */
    font-size: 2.2rem;
    display: block;
    margin-top: 10px;
  }

  .hero-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
  }

  .hero-text ul {
    list-style: none;
    padding: 0;
    text-align: left;
    font-weight: bold;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  }

  .hero-text li {
    margin-bottom: 10px;
    font-size: 1.1rem;
  }

  .hero-img-circle {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 5px solid #fff;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  }
  
  .orange-badge {
    position: absolute;
    bottom: -10px;
    right: -10px;
    background: #ff9800;
    color: #fff;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 2;
  }

  /* --- 中段（並木道）エリア --- */
  .lp-middle {
    /* 背景画像をここに設定してください */
    background: url('/wp-content/uploads/2-2-scaled.jpg') no-repeat center center; /* ★実際の並木道画像URLに差し替え */
    background-size: cover;
    padding: 60px 20px;
    color: #fff;
    text-align: center;
    position: relative;
  }
  
  /* 画像の上に文字を読みやすくするための暗いフィルター */
  .lp-middle::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4);
  }

  .middle-content {
    position: relative; /* フィルターの上に表示 */
    z-index: 1;
    max-width: 1000px;
    margin: 0 auto;
  }

  .lp-middle h3 {
    font-size: 1.8rem;
    color: #ffeb3b;
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
  }

  .lp-middle p {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.8;
    background: rgba(0, 100, 0, 0.6); /* 緑色の半透明背景 */
    display: inline-block;
    padding: 15px;
    margin-bottom: 20px;
  }
  
  .middle-images {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
  }

  .photo-card {
    background: #fff;
    padding: 5px;
    transform: rotate(-3deg);
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    width: 200px;
  }
  
  .photo-card:nth-child(2) {
    transform: rotate(3deg);
  }

  /* --- 下段（お悩みチェック）エリア --- */
  .lp-checklist {
    background-color: #aedcebc7; /* 水色背景 */
    padding: 60px 20px;
  }

  .checklist-container {
    max-width: 900px;
    margin: 0 auto;
  }

  .checklist-title {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 40px;
    color: #333;
  }
  
  .checklist-title span {
    color: #ff9800;
    font-size: 1.6rem;
  }

  .checklist-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; /* 画像を下揃え */
    flex-wrap: wrap;
  }

  .checklist-items {
    flex: 1;
    min-width: 300px;
  }

  .check-item {
    background: #fff;
    margin-bottom: 15px;
    padding: 12px 20px;
    border-radius: 4px;
    position: relative;
    font-weight: bold;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
    /* 吹き出しの矢印部分 */
  }

  .check-item::after {
    content: '';
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #fff;
  }

  .checklist-woman {
    width: 300px;
    text-align: center;
    margin-top: 20px;
  }

  /* --- スマホ向け調整 (レスポンシブ) --- */
  @media screen and (max-width: 768px) {
    .lp-header h2 { font-size: 1.4rem; }
    .lp-header h2 span { font-size: 1.6rem; }
    .hero-text ul { text-align: center; }
    
    .checklist-flex {
      flex-direction: column;
      align-items: center;
    }
    
    .checklist-items {
      width: 100%;
    }
    
    .check-item::after {
      /* スマホでは矢印を下向きに変更 */
      right: 50%;
      top: auto;
      bottom: -10px;
      transform: translateX(50%);
      border-width: 10px 10px 0 10px;
      border-color: #fff transparent transparent transparent;
    }
    
    .checklist-woman {
      width: 200px;
      margin-left: auto; /* 右寄せにする */
    }
  }
  /* =========================================
     このブロック専用のスタイル
     ========================================= */
  .lp-part-2-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    color: #333;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  
  .lp-part-2-wrapper * {
    box-sizing: border-box;
  }

  .lp-part-2-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* --- 掲示板セクション --- */
  .lp-board-section {
    /* ★掲示板の背景画像がない場合は、以下のURLをそのまま使うか、削除して background-color: #f9f9f9; 等にしてください */
   background-color: #fffaf0;
    padding: 6% 8% 8%; /* 枠の内側に文字が収まるように調整 */
    max-width: 800px;
    margin: 40px auto 80px;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; /* 明朝体 */
    min-height: 400px; /* 背景画像の高さに合わせて調整してください */
  }

  .board-content {
    /* 背景画像の上に文字を乗せるための調整 */
  }

  .lp-board-section h3 {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 30px;
    font-weight: bold;
    color: #333;
  }

  .lp-board-section h3 span {
    display: inline-block;
    background-color: #003399; /* 濃い青 */
    color: #fff;
    padding: 2px 8px;
    margin: 0 5px;
    font-family: sans-serif; /* 数字はゴシックで見やすく */
  }

  .board-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .board-list li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 25px;
    line-height: 1.8;
    font-size: 1.1rem;
    font-weight: bold;
    color: #444;
  }

  /* チェックマーク */
  .board-list li::before {
    content: '✔';
    color: #ff9800; /* オレンジ */
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.2rem;
    font-weight: bold;
  }

  /* 青背景の強調テキスト */
  .highlight-blue {
    background-color: #003399;
    color: #fff;
    padding: 2px 6px;
    margin: 0 2px;
    font-size: 0.95em;
  }

  /* --- 7つのポイント詳細セクション --- */
  .lp-points-detail {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px 60px;
  }

  .point-item {
    margin-bottom: 60px;
    padding-bottom: 40px;
    border-bottom: 1px dashed #ccc; /* 点線の区切り */
  }
  
  .point-item:last-child {
    border-bottom: none;
  }

  .point-flex {
    display: flex;
    align-items: flex-start;
    gap: 40px;
  }

  .point-img {
    flex: 0 0 200px; /* PCでの画像幅 */
    text-align: center;
  }

  .point-text {
    flex: 1;
  }

  .point-text h4 {
    font-size: 1.4rem;
    margin-bottom: 20px;
    font-weight: bold;
    color: #333;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

  /* ポイント番号 */
  .point-num {
    font-size: 1.2rem;
    color: #555;
    margin-right: 15px;
    font-family: serif;
    display: flex;
    align-items: center;
  }
  
  .point-num::after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 1.2rem;
    background: #ccc;
    margin-left: 15px;
  }

  .point-text p {
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
    margin: 0;
  }

  /* --- スマホ向け調整 (レスポンシブ) --- */
  @media screen and (max-width: 768px) {
    .lp-board-section {
      width: 94%;
      padding: 30px 20px;
      background-size: cover; 
      border-radius: 10px;
      /* 背景画像がスマホで崩れる場合は単色にするなどの調整も可 */
    }
    
    .lp-board-section h3 { font-size: 1.3rem; }
    .board-list li { font-size: 0.95rem; }

    .point-flex {
      flex-direction: column; /* 縦並び */
      align-items: center;
      gap: 20px;
    }

    .point-img {
      flex: 0 0 auto;
      width: 160px; /* スマホでの画像サイズ */
    }

    .point-text {
      width: 100%;
    }
    
    .point-text h4 {
      font-size: 1.2rem;
      border-bottom: 2px solid #eee;
      padding-bottom: 10px;
      display: block; /* 縦並び用に変更 */
    }
    
    .point-num {
      margin-bottom: 5px;
      font-weight: normal;
      font-size: 1rem;
    }
    
    .point-num::after { display: none; }
  }
.lp-part-3-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    color: #333;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    overflow-x: hidden;
    box-sizing: border-box;
    padding: 20px;
  }
  
  .lp-part-3-wrapper * {
    box-sizing: border-box;
  }

  .lp-part-3-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* --- 1. 導入メッセージボックス --- */
  .intro-box {
    border: 3px solid #0056b3; /* 濃い青枠 */
    padding: 20px;
    margin-bottom: 60px;
    display: flex;
    gap: 30px;
    align-items: center;
    background: #fff;
  }

  .intro-text {
    flex: 1;
  }

  .intro-text h3 {
    font-size: 1.4rem;
    color: #ff9800; /* オレンジ */
    margin-bottom: 15px;
    font-weight: bold;
    line-height: 1.4;
  }

  .intro-text p {
    font-size: 1rem;
    margin-bottom: 0;
  }
  
  .intro-highlight {
      background: linear-gradient(transparent 60%, #ffff00 60%);
      font-weight: bold;
  }

  .intro-img {
    flex: 0 0 250px;
  }

  /* --- 2. 静脈内鎮静法とは --- */
  .what-is-section {
    border: 2px solid #004080;
    margin-bottom: 60px;
  }

  .section-header-blue {
    background: #004080;
    color: #fff;
    padding: 10px 20px;
    font-size: 1.3rem;
    font-weight: bold;
  }

  .what-is-content {
    padding: 30px;
    text-align: center;
  }

  .what-is-content p {
    text-align: left;
    margin-bottom: 20px;
  }

  .what-is-img {
    margin-top: 20px;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }

  /* --- 3. ノート風チェックリスト --- */
  .notebook-section {
    background-color: #fdfdfd;
    background-image: linear-gradient(#e8e8e8 1px, transparent 1px);
    background-size: 100% 2rem; /* 罫線の幅 */
    border: 1px solid #ddd;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 40px;
    margin: 0 auto 60px;
    max-width: 700px;
    position: relative;
    /* クリップのような装飾（CSSで表現） */
  }
  
  .notebook-section::before {
      content: '';
      position: absolute;
      top: -15px; left: 50%; transform: translateX(-50%);
      width: 100px; height: 30px;
      background: rgba(255,255,255,0.5);
      border: 1px solid #ccc;
      box-shadow: 0 2px 2px rgba(0,0,0,0.1);
      transform: translateX(-50%) rotate(-1deg);
  }

  .notebook-title {
    background: #ffff00; /* 黄色マーカー */
    display: inline-block;
    padding: 2px 10px;
    font-weight: bold;
    font-size: 1.2rem;
    margin-bottom: 30px;
    text-align: center;
    width: 100%;
  }

  .notebook-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .notebook-list li {
    padding: 10px 0 10px 30px;
    font-weight: bold;
    position: relative;
    line-height: 2rem; /* 罫線に合わせる */
  }

  .notebook-list li::before {
    content: '✔';
    color: #ff9800;
    position: absolute;
    left: 0;
    top: 10px;
    font-size: 1.2rem;
  }

  /* --- 4. IVとDIV --- */
  .iv-div-section {
    border: 1px solid #004080;
    padding: 20px;
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 60px;
  }
  
  .iv-div-title {
      font-weight: bold;
      font-size: 1.1rem;
      margin-bottom: 10px;
      border-bottom: 1px solid #ccc;
      padding-bottom: 5px;
      display: block;
  }

  .iv-div-img {
      flex: 0 0 120px;
  }

  /* --- 5. 流れセクション --- */
  .flow-section {
    margin-bottom: 40px;
  }

  .flow-title {
    border: 2px solid #004080;
    padding: 10px 20px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 40px;
    position: relative;
  }
  
  /* 三角矢印 */
  .flow-step-arrow {
      text-align: center;
      color: #004080;
      font-size: 2rem;
      margin: -20px 0 20px;
  }

  .flow-step {
    border: 2px solid #004080;
    padding: 20px;
    margin-bottom: 40px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: #fff;
    position: relative;
  }

  /* ステップ間の矢印 */
  .flow-step:not(:last-child)::after {
    content: '▼';
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    color: #004080;
    font-size: 1.5rem;
  }

  .step-content {
    flex: 1;
  }

  .step-label {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .step-num {
      background: #004080;
      color: #fff;
      border-radius: 50%;
      width: 30px; height: 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: 10px;
      font-family: Arial, sans-serif;
  }

  .step-img {
    flex: 0 0 150px;
  }
  
  .step-img img {
      border: 1px solid #ccc;
  }

  /* --- スマホ向け調整 (レスポンシブ) --- */
  @media screen and (max-width: 768px) {
    .lp-part-3-wrapper { padding: 15px; }

    .intro-box { flex-direction: column-reverse; /* 画像を上に */ gap: 15px; text-align: center; }
    .intro-img { flex: 0 0 auto; width: 100%; max-width: 300px; }
    
    .iv-div-section { flex-direction: column-reverse; text-align: left; }
    .iv-div-img { width: 100px; align-self: center; }

    .flow-step { flex-direction: column-reverse; }
    .step-img { width: 100%; max-width: 250px; margin: 0 auto; }
    .step-content { width: 100%; }
    .step-label { display: block; }
  }
  /* =========================================
     このブロック専用のスタイル (Part 4)
     ========================================= */
  .lp-part-4-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.8;
    color: #444;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
    box-sizing: border-box;
    /* 全体の背景色（薄いグレー） */
    background-color: #f4f4f4; 
    padding: 60px 20px;
  }
  
  .lp-part-4-wrapper * {
    box-sizing: border-box;
  }

  .lp-part-4-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  }

  /* --- タイトル --- */
  .safety-title {
    text-align: center;
    margin-bottom: 50px;
  }

  .safety-title h3 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #333;
    display: inline-block;
    padding-bottom: 10px;
    border-bottom: 3px solid #0056b3; /* 下線（青） */
    margin: 0;
  }

  /* --- コンテンツエリア（フレックスボックス） --- */
  .safety-content {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: flex-start; /* 上揃え */
    gap: 40px;
  }

  /* --- 左側：テキストカード --- */
  .safety-text-card {
    background: #fff;
    padding: 40px;
    flex: 1; /* 幅を自動調整 */
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); /* ほんのり影 */
    border-radius: 4px;
  }

  .safety-subtitle {
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 20px;
    display: block;
    color: #000;
  }

  .safety-text-card p {
    margin-bottom: 20px;
    font-size: 0.95rem;
    text-align: justify; /* 両端揃え */
  }

  /* リストスタイル */
  .safety-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
  }

  .safety-list li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 10px;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  /* アスタリスクマーク */
  .safety-list li::before {
    content: '＊';
    position: absolute;
    left: 0;
    top: 0;
    color: #666;
    font-weight: bold;
  }

  /* --- 右側：画像エリア --- */
  .safety-img-area {
    flex: 0 0 400px; /* PCでの画像幅固定 */
  }

  /* --- スマホ向け調整 (レスポンシブ) --- */
  @media screen and (max-width: 768px) {
    .lp-part-4-wrapper {
      padding: 40px 15px;
    }
    
    .safety-title h3 {
      font-size: 1.3rem;
      border-bottom-width: 2px;
    }

    .safety-content {
      flex-direction: column; /* 縦並び */
      gap: 30px;
    }

    .safety-text-card {
      padding: 25px;
      width: 100%;
    }

    .safety-img-area {
      flex: 0 0 auto;
      width: 100%;
      text-align: center;
    }
    
    .safety-img-area img {
        max-width: 100%;
        /* スマホで見やすいように少し高さを抑える場合 */
        /* max-height: 300px; object-fit: cover; */
    }
  }
  /* =========================================
     このブロック専用のスタイル (Part 5: Q&A)
     ========================================= */
  .lp-part-5-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    color: #333;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    overflow-x: hidden;
    box-sizing: border-box;
    padding: 60px 20px;
    background-color: #fff;
  }
  
  .lp-part-5-wrapper * {
    box-sizing: border-box;
  }

  .lp-part-5-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: 1px solid #eee;
    padding: 3px;
    background: #fff;
  }

  /* --- タイトル --- */
  .faq-title {
    text-align: center;
    margin-bottom: 50px;
    font-size: 1.8rem;
    font-weight: bold;
    color: #444;
  }

  /* --- Q&Aリスト --- */
  .faq-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .faq-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
    gap: 20px;
  }

  /* 左側：テキストエリア */
  .faq-text-area {
    flex: 1;
  }

  /* 質問 (Q) */
  .faq-q {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-weight: bold;
    color: #d32f2f; /* 赤文字 */
    font-size: 1.1rem;
  }

  /* 回答 (A) */
  .faq-a {
    display: flex;
    align-items: flex-start;
    color: #333;
    font-size: 1rem;
    line-height: 1.8;
  }

  /* アイコン (Q / A) */
  .faq-icon {
    background-color: #0056b3; /* 濃い青背景 */
    color: #fff;
    padding: 4px 0;
    width: 30px;
    text-align: center;
    margin-right: 15px;
    font-weight: bold;
    font-size: 1rem;
    flex-shrink: 0; /* 縮まないようにする */
    line-height: 1.2;
  }

  .faq-icon.q-icon {
    /* Qアイコン特有のスタイルがあればここへ */
  }
  
  .faq-icon.a-icon {
    background-color: #007bb6; /* Aは少し明るい青にする場合 */
  }

  /* 右側：画像エリア */
  .faq-img-area {
    flex: 0 0 160px; /* PCでの画像の幅 */
  }

  .faq-img-area img {
      width: 100%;
      height: auto;
      object-fit: cover;
  }

  /* --- スマホ向け調整 (レスポンシブ) --- */
  @media screen and (max-width: 768px) {
    .lp-part-5-wrapper {
      padding: 40px 15px;
    }
    
    .faq-title {
      font-size: 1.5rem;
    }

    .faq-item {
      flex-direction: column; /* 縦並びに変更 */
      gap: 15px;
    }
    
    .faq-img-area {
        flex: 0 0 auto;
        width: 100%;
        max-width: 300px; /* 画像が大きくなりすぎないように */
        margin: 0 auto;
    }
  }
  
  /* =========================================
     このブロック専用のスタイル (Part 6)
     ========================================= */
  .lp-part-6-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    color: #333;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
    box-sizing: border-box;
    background-color: #fff;
    padding-bottom: 80px;
  }
  
  .lp-part-6-wrapper * {
    box-sizing: border-box;
  }

  .lp-part-6-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* --- 1. チェックリスト（注意事項） --- */
  .caution-wrapper {
    max-width: 800px;
    margin: 60px auto 80px;
    padding: 0 20px;
  }

  .caution-box {
    border: 3px solid #0056b3; /* 濃い青枠 */
    padding: 30px;
    background: #fff;
    position: relative;
  }

  .caution-title {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 25px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
  }

  .caution-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .caution-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
    font-size: 0.95rem;
    line-height: 1.6;
    font-weight: bold;
    color: #444;
  }

  /* チェックボックスアイコン */
  .caution-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 20px;
    height: 20px;
    background: #333; /* 黒いボックス */
    border-radius: 3px;
  }
  
  .caution-list li::after {
    content: '✔';
    position: absolute;
    left: 4px;
    top: 0px;
    color: #fff;
    font-size: 14px;
  }

  /* --- 2. ドクター紹介 --- */
  .doctor-section {
    /* 背景画像：花畑 */
    background: url('/wp-content/uploads/10-scaled.jpg') no-repeat center center;
    background-size: cover;
    padding: 60px 20px;
    margin-bottom: 0;
  }

  .doctor-card {
    max-width: 800px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.95);
    padding: 0;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-radius: 4px;
    overflow: hidden;
  }

  .section-bar-blue {
    background: #0056b3;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 1.2rem;
    font-weight: bold;
  }

  .doctor-profile {
    display: flex;
    padding: 30px;
    gap: 30px;
    align-items: flex-start;
  }

  .doctor-img {
    flex: 0 0 200px;
    border: 1px solid #ccc;
    padding: 5px;
    background: #fff;
  }

  .doctor-info {
    flex: 1;
  }

  .doctor-name {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 15px;
    border-bottom: 1px dashed #ccc;
    padding-bottom: 10px;
  }
  
  .doctor-name small {
    font-size: 0.9rem;
    font-weight: normal;
    margin-left: 10px;
  }

  .doctor-titles {
    font-size: 0.9rem;
    margin-bottom: 20px;
    line-height: 1.8;
  }

  .doctor-cert-list {
    list-style: none;
    padding: 0;
    font-size: 0.85rem;
    color: #555;
  }

  .doctor-cert-list li::before {
    content: '● ';
    color: #0056b3;
  }

  /* --- 3. 麻酔医紹介 --- */
  .anesthe-section {
    /* 背景画像：デスク作業 */
    background: url('/wp-content/uploads/2-2-scaled.jpg') no-repeat center center;
    background-size: cover;
    padding: 60px 20px;
    position: relative;
  }
  
  /* 背景を少し暗くする場合 */
  .anesthe-section::before {
    content: '';
    position: absolute;
    top:0; left:0; right:0; bottom:0;
    background: rgba(255,255,255,0.4);
  }

  .anesthe-container {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  /* --- 4. 料金表 --- */
  .price-section {
    max-width: 800px;
    margin: 80px auto 40px;
    padding: 0 20px;
  }

  .price-title {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: #444;
    margin-bottom: 40px;
  }
  
  .price-title span {
      display: block;
      font-size: 1.1rem;
      margin-top: 5px;
      color: #666;
  }
  
  .price-title::after {
      content: '';
      display: block;
      width: 60px;
      height: 3px;
      background: #0056b3;
      margin: 20px auto 0;
  }

  /* 料金ボックス */
  .price-box-blue {
    background: #004080;
    color: #fff;
    padding: 30px;
    margin-bottom: 30px;
  }
  
  .price-list-white {
      list-style: none;
      padding: 0;
      margin: 0;
      font-weight: bold;
      line-height: 2;
  }
  
  .price-note {
      font-size: 0.8rem;
      margin-top: 15px;
      display: block;
      font-weight: normal;
  }

  /* オプション料金リスト */
  .option-price-dl {
      display: grid;
      grid-template-columns: 140px 1fr;
      gap: 15px 20px;
      border-top: 1px solid #eee;
      padding-top: 20px;
  }
  
  .option-price-dl dt {
      font-weight: bold;
      color: #333;
  }
  
  .option-price-dl dd {
      margin: 0;
      font-size: 0.95rem;
  }

  /* --- スマホ向け調整 --- */
  @media screen and (max-width: 768px) {
    .caution-box { padding: 20px; }
    .caution-title { font-size: 1.2rem; }
    .caution-list li { font-size: 0.9rem; }

    .doctor-profile {
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    
    .doctor-img {
      flex: 0 0 auto;
      width: 100%;
      max-width: 250px;
    }

    .doctor-name { border-bottom: none; }
    .doctor-cert-list { text-align: left; display: inline-block; }
    
    .option-price-dl {
        grid-template-columns: 1fr; /* 1列にする */
        gap: 5px;
    }
    
    .option-price-dl dt {
        margin-top: 15px;
        border-bottom: 1px solid #eee;
        padding-bottom: 5px;
        color: #0056b3;
    }
  }
  /* =========================================
     このブロック専用のスタイル (Part 8: Reasons)
     ========================================= */
  .lp-reason-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.8;
    color: #333;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  
  .lp-reason-wrapper * {
    box-sizing: border-box;
  }

  .lp-reason-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* --- 上部：選ばれる理由 --- */
  .reason-top-section {
    background-color: #f0f6fa; /* 薄い青グレー背景 */
    padding: 60px 20px;
  }

  .reason-container {
    max-width: 1000px;
    margin: 0 auto;
  }

  .reason-title {
    text-align: center;
    margin-bottom: 50px;
    font-size: 1.8rem;
    font-weight: bold;
    color: #333;
    position: relative;
    padding-bottom: 15px;
  }

  .reason-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: #0056b3; /* 青い下線 */
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .reason-content {
    display: flex;
    align-items: center; /* 垂直方向中央揃え */
    justify-content: center;
    gap: 0; /* 隙間なしで重ねるレイアウト等のため */
    position: relative;
  }

  .reason-img-area {
    flex: 0 0 50%;
    z-index: 1;
  }

  .reason-img-area img {
    width: 100%;
    display: block;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
  }

  .reason-text-box {
    flex: 0 0 50%;
    background: #fff;
    padding: 40px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    z-index: 2;
    margin-left: -50px; /* 画像に少し被せる */
    border: 1px solid #eee;
  }

  .reason-text-box p {
    font-size: 0.95rem;
    margin-bottom: 20px;
    text-align: justify;
  }

  .director-sign {
    text-align: right;
    font-weight: bold;
    margin-top: 30px;
    font-size: 1rem;
  }
  
  .director-sign span {
      margin-left: 20px;
  }

  /* --- 下部：メッセージ（ノート背景） --- */
  .reason-bottom-section {
    /* 背景画像：ノートと木目 */
    background: url('/wp-content/uploads/1-2-scaled.jpg') no-repeat center center;
    background-size: cover;
    padding: 80px 20px;
    position: relative;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8); /* 文字を読みやすくする影 */
  }

  /* 背景を少し暗くするオーバーレイ */
  .reason-bottom-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4); 
    z-index: 1;
  }

  .message-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
    font-weight: bold;
    font-size: 1.1rem;
    line-height: 2;
  }

  .message-content p {
    margin-bottom: 30px;
  }

  .indent-text {
    padding-left: 1em;
    display: block;
  }

  /* --- スマホ向け調整 (レスポンシブ) --- */
  @media screen and (max-width: 768px) {
    .reason-content {
      flex-direction: column; /* 縦並び */
    }

    .reason-img-area {
      flex: 0 0 100%;
      width: 100%;
      margin-bottom: 20px;
    }

    .reason-text-box {
      flex: 0 0 100%;
      width: 100%;
      margin-left: 0; /* 被せを解除 */
      padding: 30px 20px;
    }
    
    .reason-bottom-section {
        padding: 60px 20px;
    }
    
    .message-content {
        font-size: 1rem;
    }
  }

  /* 全体のスタイル定義 */
  .dental-lp-wrapper {
    width: 100%;
    max-width: 1000px; /* PCでの最大幅 */
    margin: 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #fff;
  }

  .dental-lp-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
  }

  /* セクション1: トップメイン画像 (女性) */
  .gbr-hero {
    position: relative;
    width: 100%;
    /* ここに女性の背景画像を設定してください */
    background-image: url('/wp-content/uploads/f356b26ed696b6409a9678e3f9679528.png'); 
    background-size: cover;
    background-position: center;
    height: 400px; /* スマホでの高さ */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  
  @media (min-width: 768px) {
    .gbr-hero { height: 500px; }
  }

  .gbr-hero-text {
    background: rgba(255, 255, 255, 0.7);
    padding: 20px;
    border-radius: 8px;
  }
  
  .gbr-hero h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    color: #000;
  }
  
  .gbr-tagline {
    background-color: #4CAF50; /* 緑色のマーカー風 */
    color: #fff;
    padding: 2px 8px;
    display: inline-block;
  }

  /* セクション2: GBRとは (手術室背景) */
  .gbr-about {
    position: relative;
    /* ここに手術室/ライトの背景画像を設定してください */
    background-image: url('/wp-content/uploads/10-scaled.jpg');
    background-size: cover;
    background-position: center;
    padding: 60px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .gbr-about-box {
    background: rgba(255, 255, 255, 0.9);
    padding: 30px;
    max-width: 800px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  }

  .gbr-about-content {
    flex: 1;
    min-width: 300px;
  }

  .gbr-about-image {
    flex: 0 0 250px;
    margin: 0 auto;
  }
  
  .gbr-about h3 {
    font-size: 1.5rem;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }

  .highlight-marker {
    background: linear-gradient(transparent 60%, #ccffcc 60%);
    font-weight: bold;
  }

  /* セクション3: 抜歯理由 (青帯ヘッダー) */
  .extraction-header {
    background-color: #004080; /* 濃い青 */
    color: #fff;
    text-align: center;
    padding: 30px 10px;
    margin-bottom: 30px;
    position: relative;
  }

  .extraction-header::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #004080;
  }

  .extraction-header p {
    font-size: 0.9rem;
    margin-bottom: 5px;
    color: #ddd;
  }
  
  .extraction-header h2 {
    font-size: 1.6rem;
    margin: 0;
  }

  /* 理由リスト (番号付きリスト) */
  .reason-list {
    padding: 0 20px 50px;
  }

  .reason-item {
    margin-bottom: 25px; /* 空白を画像より詰めています */
    border-bottom: 1px solid #eee;
    padding-bottom: 25px;
  }
  
  .reason-item:last-child {
    border-bottom: none;
  }

  .reason-title {
    background-color: #00569c; /* 少し明るい青 */
    color: #fff;
    padding: 10px 15px;
    font-size: 1.2rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
  }

  .point-badge {
    display: inline-block;
    border: 1px solid #fff;
    padding: 2px 6px;
    font-size: 0.7rem;
    margin-right: 10px;
    line-height: 1.2;
    text-align: center;
  }
  
  .point-badge span {
    display: block;
    font-size: 1rem;
    font-weight: bold;
  }

  .reason-content {
    padding: 0 10px;
    font-size: 0.95rem;
  }
  
  .reason-img-wrapper {
    margin-top: 15px;
    text-align: center;
  }
  
  .reason-img-wrapper img {
    margin: 0 auto;
    max-width: 300px; /* イラストの最大幅 */
  }

  /* レスポンシブ微調整 */
  @media (max-width: 600px) {
    .gbr-about-box {
      flex-direction: column;
    }
    .gbr-hero h2 { font-size: 1.5rem; }
    .extraction-header h2 { font-size: 1.3rem; }
    .reason-title { font-size: 1rem; }
  }


  /* 全体のラッパー */
  .post-extraction-wrapper {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #fff;
  }

  /* 共通設定：画像 */
  .post-extraction-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
  }

  /* ヘッダー（青帯・三角付き） */
  .pe-header {
    background-color: #004080; /* 濃い青 */
    color: #fff;
    text-align: center;
    padding: 30px 10px;
    margin-bottom: 40px;
    position: relative;
  }

  .pe-header::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #004080;
  }

  .pe-header h2 {
    font-size: 1.6rem;
    margin: 0;
    line-height: 1.4;
  }

  /* 導入テキストとチェックリスト */
  .pe-intro {
    padding: 0 20px 30px;
    max-width: 800px;
    margin: 0 auto;
  }

  .pe-intro p {
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
  }

  .pe-checklist {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: table; /* 中央寄せ用 */
  }

  .pe-checklist li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1rem;
  }

  .pe-checklist li::before {
    content: '✔'; /* チェックマーク */
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    height: 22px;
    background-color: #333;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 22px;
    font-size: 14px;
  }

  /* 治療法の選択肢エリア */
  .treatment-list {
    padding: 0 20px 50px;
    max-width: 900px;
    margin: 0 auto;
  }

  .treatment-item {
    margin-bottom: 40px; /* 元画像より大幅に余白を詰めています */
    border-bottom: 1px dashed #ccc;
    padding-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
  }

  .treatment-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }

  /* PCレイアウト：左にテキスト、右に画像 */
  .treatment-text-area {
    flex: 1;
    min-width: 300px;
  }

  .treatment-img-area {
    flex: 0 0 300px; /* 画像の幅 */
    width: 100%;
  }

  .treatment-title {
    font-size: 1.3rem;
    color: #004080;
    font-weight: bold;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
  }

  .treatment-title::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid #004080;
    border-radius: 50%;
    margin-right: 10px;
  }

  .implant-note {
    margin-top: 15px;
    font-size: 0.9rem;
    color: #444;
    background: #f9f9f9;
    padding: 15px;
    border-radius: 5px;
  }

  /* レスポンシブ対応 */
  @media (max-width: 768px) {
    .pe-header h2 { font-size: 1.3rem; }
    
    .treatment-item {
      flex-direction: column; /* スマホでは縦並び */
    }
    
    .treatment-img-area {
      flex: auto;
      width: 100%;
      max-width: 400px;
      margin: 0 auto;
    }
    
    .pe-checklist li { font-size: 0.95rem; }
  }


  /* 全体のコンテナ */
  .flow-container {
    max-width: 800px; /* PCでの最大幅 */
    margin: 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    box-sizing: border-box;
  }

  /* ヘッダー（濃い青の帯） */
  .flow-header {
    background-color: #1a3e6e; /* 画像に合わせた濃い青 */
    color: #fff;
    padding: 15px 20px;
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
    border-radius: 4px 4px 0 0;
    margin-bottom: 20px;
  }

  /* 各ステップのボックス */
  .flow-box {
    border: 2px solid #aebfd1; /* 薄い青グレーの枠線 */
    padding: 20px;
    position: relative;
    background: #fff;
    border-radius: 4px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    /* 空白を詰めるため、高さは自動(auto)になります */
  }

  /* 番号の円 */
  .flow-number {
    flex-shrink: 0;
    width: 35px;
    height: 35px;
    background-color: #1a3e6e;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
    margin-top: -2px; /* テキストとの位置微調整 */
  }

  /* テキストエリア */
  .flow-text {
    font-size: 15px;
    width: 100%;
  }

  /* 下向きの矢印 */
  .flow-arrow {
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 18px solid #1a3e6e; /* 矢印の色 */
    margin: 10px auto; /* 上下の余白 */
  }

  /* スマホ表示の調整 */
  @media (max-width: 600px) {
    .flow-box {
      padding: 15px;
      gap: 10px;
    }
    .flow-text {
      font-size: 14px;
    }
    .flow-header {
      font-size: 1em;
    }
  }


  /* === 全体のコンテナ設定 === */
  .lp-container {
    max-width: 900px;
    margin: 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #fff;
    box-sizing: border-box;
  }
  
  .lp-container img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* === 1. 質問セクション === */
  .lp-question-area {
    text-align: center;
    padding: 40px 10px;
    position: relative;
  }
  
  .lp-question-text {
    color: #e67e22; /* オレンジ */
    font-weight: bold;
    font-size: 1.4em;
    display: inline-block;
    position: relative;
    padding: 0 30px;
  }
  
  /* 斜めの線装飾 */
  .lp-question-text::before,
  .lp-question-text::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 2px;
    height: 40px;
    background-color: #333;
    transform: translateY(-50%) rotate(25deg);
  }
  .lp-question-text::before { left: 0; }
  .lp-question-text::after { right: 0; transform: translateY(-50%) rotate(-25deg); }


  /* === 2. アンサー（青帯）セクション === */
  .lp-answer-banner {
    background-color: #0f3b68; /* 濃い青 */
    color: #ff5a36; /* 赤オレンジ */
    text-align: center;
    padding: 30px 20px;
    font-weight: bold;
    font-size: 1.6em;
    line-height: 1.4;
    position: relative;
    /* 下の矢印のために余白を確保 */
    margin-bottom: 40px; 
  }
  
  /* 下向きの三角（吹き出し） */
  .lp-answer-banner::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 15px solid #0f3b68;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    z-index: 2;
  }

  /* === 3. 特徴ヘッダー === */
  .lp-feature-header {
    background-color: #0f3b68;
    color: #fff;
    text-align: center;
    padding: 25px 10px;
    margin-top: 0; /* お問い合わせを削除したので詰める */
    position: relative;
  }
  .lp-feature-title {
    font-size: 1.5em;
    margin: 0;
    font-weight: normal;
  }
  .lp-feature-subtitle {
    font-size: 0.9em;
    opacity: 0.9;
    display: block;
    margin-bottom: 5px;
  }
  /* 下向き三角 */
  .lp-feature-header::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 15px solid #0f3b68;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    z-index: 2;
  }

  /* === 4. 特徴グリッド（6つのパネル） === */
  .lp-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* PCは3列 */
    gap: 20px;
    padding: 40px 20px;
    text-align: center;
  }

  .lp-grid-item {
    background: #fff;
    /* 必要なら枠線を追加 */
    /* border: 1px solid #eee; */
  }

  .lp-grid-img-area {
    background-color: #eee;
    width: 100%;
    aspect-ratio: 4 / 3; /* 画像比率を固定 */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-weight: bold;
    margin-bottom: 10px;
    overflow: hidden;
  }
  
  .lp-grid-img-area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .lp-grid-text {
    font-size: 0.95em;
    line-height: 1.4;
    text-align: left; /* PCでは左揃え */
    font-weight: normal;
  }

  /* === スマホ対応 === */
  @media (max-width: 768px) {
    .lp-question-text { font-size: 1.2em; padding: 0 20px; }
    .lp-answer-banner { font-size: 1.3em; margin-bottom: 30px; }
    
    /* グリッドを1列に */
    .lp-grid-container {
      grid-template-columns: repeat(1, 1fr); /* スマホは1列 */
      gap: 30px;
      padding: 30px 20px;
    }
    .lp-grid-text {
      text-align: center; /* スマホでは中央揃えが見やすい */
    }
  }


  /* === ベース設定 === */
  .lp-container {
    max-width: 900px;
    margin: 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #fff;
    box-sizing: border-box;
  }
  
  .lp-container img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* === 1. 治療の流れセクション === */
  .lp-flow-header {
    background-color: #1a3e6e; /* 画像の濃い青 */
    color: #fff;
    text-align: center;
    padding: 12px;
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 40px;
  }

  /* ステップグリッド */
  .lp-step-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* PCは3列 */
    gap: 20px; /* カード間の隙間 */
    padding: 0 20px 50px 20px;
  }

  .lp-step-card {
    background: #fff;
    position: relative;
    /* 画像がないため枠線を追加して視認性を向上 */
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 15px; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); /* ほんのり影 */
  }

  .lp-step-text {
    font-size: 0.9em;
    line-height: 1.6;
    text-align: left;
    font-weight: bold; /* テキストのみなので少し太くして読みやすく */
    color: #333;
  }

  /* === 2. メリット・デメリット共通スタイル === */
  .lp-section-title {
    text-align: center;
    font-size: 1.4em;
    margin: 40px 0 20px 0;
    font-weight: normal;
  }

  .lp-info-box {
    background-color: #fff;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin: 0 20px 40px 20px;
    padding: 20px;
    position: relative;
  }

  /* 「ポイント」ラベル */
  .lp-point-label {
    background-color: #3b76c4; /* 青 */
    color: #fff;
    font-size: 0.75em;
    padding: 3px 15px;
    border-radius: 2px;
    display: inline-block;
    margin-bottom: 10px;
    font-weight: bold;
  }

  .lp-info-text {
    font-size: 0.85em;
    margin: 0;
    line-height: 1.8;
  }

  /* === 3. まとめ（賞状風枠） === */
  .lp-certificate-wrapper {
    padding: 20px;
    margin-top: 20px;
  }

  .lp-certificate-box {
    border: 4px double #8b5a2b; /* 茶色の二重線 */
    padding: 40px 30px;
    text-align: center;
    position: relative;
    background-color: #fffbf0; /* 薄いクリーム色 */
  }

  /* 上部の赤いシール装飾 */
  .lp-certificate-box::before {
    content: '★'; /* 簡易的な星マーク */
    font-size: 20px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: #a03030; /* 赤色 */
    border-radius: 50%;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    border: 2px solid #fff;
  }

  .lp-cert-title {
    color: #a03030; /* 赤文字 */
    font-size: 1.3em;
    font-weight: bold;
    margin-bottom: 10px;
    display: inline-block;
  }
  
  .lp-cert-sub {
    font-size: 0.9em;
    margin-bottom: 5px;
    font-style: italic;
    color: #555;
  }

  /* 中央揃えのリスト */
  .lp-cert-list {
    text-align: center;
    display: inline-block;
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 10px;
    font-weight: bold;
    color: #333;
  }
  
  .lp-cert-list span {
    display: block;
  }

  .lp-cert-body {
    font-size: 0.9em;
    margin-top: 10px;
    margin-bottom: 20px;
    line-height: 1.8;
  }

  .lp-cert-merit-title {
    color: #8b5a2b;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 1em;
  }
  
  .lp-cert-merit-text {
    font-size: 0.85em;
    line-height: 1.6;
  }

  /* === スマホ対応 === */
  @media (max-width: 768px) {
    .lp-step-grid {
      grid-template-columns: 1fr; /* スマホは1列 */
      gap: 15px;
    }
    .lp-certificate-box {
      padding: 30px 15px;
    }
  }


  /* === ベース設定（共通） === */
  .lp-container {
    max-width: 900px;
    margin: 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #fff;
    box-sizing: border-box;
  }
  
  .lp-container img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  /* === 1. こんな方にオススメ（クリップボード風） === */
  .lp-recommend-wrapper {
    padding: 40px 20px;
    text-align: center;
  }

  .lp-clipboard-box {
    border: 8px solid #3e2b1d; /* 濃い茶色の枠 */
    border-radius: 15px;
    background-color: #fff;
    padding: 0;
    max-width: 700px;
    margin: 0 auto;
    position: relative;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  }

  /* クリップ部分の装飾 */
  .lp-clipboard-box::before {
    content: '';
    display: block;
    width: 120px;
    height: 15px;
    background-color: #5d4037;
    border-radius: 0 0 10px 10px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  /* クリップの金具 */
  .lp-clipboard-box::after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-color: #ccc;
    border-radius: 50%;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: inset 0 0 5px rgba(0,0,0,0.3);
  }

  .lp-recommend-title {
    font-size: 1.3em;
    font-weight: bold;
    padding: 30px 10px 15px 10px;
    border-bottom: 2px solid #ddd; /* ノートのヘッダー線 */
    margin: 0 20px;
  }

  .lp-recommend-list {
    text-align: left;
    padding: 20px 40px;
    list-style: none;
    margin: 0;
    /* ノートの罫線風背景 */
    background-image: linear-gradient(#e0e0e0 1px, transparent 1px);
    background-size: 100% 3em; /* 罫線の間隔 */
    line-height: 3em; /* 行間を罫線に合わせる */
  }

  .lp-recommend-list li {
    position: relative;
    padding-left: 1.5em;
    font-weight: bold;
    font-size: 0.95em;
  }

  /* オレンジのチェックマーク */
  .lp-recommend-list li::before {
    content: '✔';
    color: #f39c12;
    position: absolute;
    left: 0;
    font-size: 1.2em;
    top: 0;
  }

  /* === 2. 料金セクション === */
  .lp-price-wrapper {
    text-align: center;
    padding: 40px 20px;
    border-top: 1px solid #ccc;
    position: relative;
    margin-top: 30px;
  }

  /* 金額アイコン（円マーク） */
  .lp-price-icon {
    width: 50px;
    height: 50px;
    background-color: #d4ac0d; /* ゴールド */
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5em;
    font-weight: bold;
    margin: -65px auto 10px auto; /* 線の上に配置 */
    position: relative;
    z-index: 2;
    border: 3px solid #fff;
  }

  .lp-price-title {
    font-size: 1.4em;
    font-weight: bold;
    margin: 0;
  }
  .lp-price-sub {
    font-size: 0.8em;
    color: #666;
    margin-bottom: 20px;
  }

  /* 料金テーブル */
  .lp-price-table {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    border-collapse: collapse;
    font-size: 1em;
  }
  
  .lp-price-table th {
    background-color: #0f3b68; /* 濃い青 */
    color: #fff;
    padding: 12px;
    border: 1px solid #0f3b68;
    width: 40%;
  }
  
  .lp-price-table td {
    border: 1px solid #ccc;
    padding: 15px;
    font-weight: bold;
    background-color: #fff;
  }

  /* === 3. 院長紹介セクション === */
  .lp-director-section {
    position: relative;
    /* 背景画像（壁の賞状）のダミーURL。ご自身の背景画像に変更してください */
    background: url('/wp-content/uploads/1-2-scaled.jpg') no-repeat center center;
    background-size: cover;
    padding: 50px 20px;
  }

  /* 背景を少し暗くするオーバーレイ（文字を読みやすくするため） */
  .lp-director-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.3); 
  }

  .lp-director-box {
    background-color: #fff;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  }

  .lp-director-header {
    background-color: #0f3b68;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-weight: bold;
    font-size: 1.2em;
  }

  .lp-director-content {
    padding: 30px;
  }

  /* プロフィールエリア（写真＋テキスト） */
  .lp-profile-flex {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    align-items: flex-start;
  }

  .lp-profile-img {
    width: 200px;
    flex-shrink: 0;
  }
  .lp-profile-img img {
    width: 100%;
    height: auto;
    border: 1px solid #ddd;
    padding: 3px;
  }

  .lp-profile-text {
    flex-grow: 1;
  }

  .lp-director-name {
    font-size: 1.4em;
    font-weight: bold;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
  }
  .lp-director-name span {
    display: block;
    font-size: 0.7em;
    font-weight: normal;
    margin-top: 5px;
  }

  .lp-profile-desc {
    font-size: 0.9em;
    line-height: 1.7;
    margin-bottom: 15px;
  }

  /* 所属団体リスト */
  .lp-org-title {
    color: #0f3b68;
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 15px;
    text-align: center;
  }

  .lp-org-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.9em;
    line-height: 1.8;
    display: grid;
    /* PCでは2列にして見やすくする（画像は1列だが長いので2列推奨。1列が良ければここを調整） */
    grid-template-columns: 1fr; 
  }
  
  .lp-org-list li {
    padding-left: 1.2em;
    position: relative;
  }
  
  .lp-org-list li::before {
    content: '◆'; /* 菱形のマーク */
    position: absolute;
    left: 0;
    font-size: 0.8em;
    color: #333;
    top: 0;
  }

  /* === スマホ対応 === */
  @media (max-width: 768px) {
    .lp-recommend-list {
      padding: 20px;
      line-height: 2em; /* スマホでは行間を少し狭める */
      background-size: 100% 2em;
    }
    
    .lp-profile-flex {
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    
    .lp-director-name {
      text-align: center;
    }

    .lp-org-list {
      text-align: left; /* リストは左揃えの方が見やすい */
    }
  }
.iframe-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  /* 例えばYouTube動画のアスペクト比16:9の場合 */
  padding-top: 56.25%; 
}
.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 新ヘッダーのナビスタイルはPC（768px以上）のみ適用 */
@media (min-width: 768px) {
  .site-header__nav-item {
    /* PC用のスタイル（SVGアイコン、EN表記等） */
  }

  .site-header__nav-list {
    display: flex;
    /* PC用レイアウト */
  }

  /* SP用CONTACTをPC非表示 */
  .site-header .header-ct.sp {
    display: none;
  }
}

/* ===== 新ヘッダー：PC専用スタイル ===== */
@media (min-width: 768px) {
  .site-header .header-ct.sp {
    display: none;
  }
}

/* ===== 新ヘッダー：SP ===== */
/* ===== 新ヘッダー：SP ===== */
@media (max-width: 767px) {
  /* CTAボタン非表示 */
  .site-header__cta {
    display: none;
  }
  /* HOMEアイコン（SVG）非表示 */
  .site-header__nav-icon {
    display: none;
  }
  /* 英語サブラベル非表示 */
  .site-header__nav-en {
    display: none;
  }
  /* 日本語ラベルは旧テーマのスタイルに任せる */
  .site-header__nav-jp {
    display: inline;
    font-size: inherit;
    color: inherit;
  }
  /* navigation__containerはSPではblock（旧テーマ通り） */
  .navigation__container {
    display: block;
  }
  /* up-menuはSPではblock（旧テーマ通り） */
  header .header__nav nav ol > li .up-menu {
    display: block;
    flex-direction: unset;
    align-items: unset;
    gap: unset;
  }
}

.site-header__nav-en {
  color: #95B0DB !important;
}
.site-header__nav-item--home .site-header__nav-jp{  color: #95B0DB !important;}

#wrapper, .site-wrapper{
padding-top:20px !important;
}

@media screen and (max-width:767px){
	#wrapper, .site-wrapper{
padding-top:60px !important;
}
}