@charset "utf-8";

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 300;
    color: #333;
}

.mincho {
    font-family: "Noto Serif JP", serif;
}

p {
    font-size: 16px;
    line-height: 1.6em;
}

b {
    font-weight: 700;
}

a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.color-orange,
a.color-orange:hover {
    color: #da6700 !important;
}

.color-red,
a.color-red:hover {
    color: #d80a0a;
}

.color-grn,
a.color-grn:hover {
    color: #387f64;
}

.color-yel,
a.color-yel:hover {
    color: #fffa6e;
}

.pc-none {
    display: none;
}

.sp-none {
    display: block;
}

.sp-marker {
    background: inherit;
}

.wp-block-image img {
	width: 100%;
}

.link_btn {
    width: 100%;
    margin: 0 auto;
    display: block;
    background: #715546;
    text-align: center;
    color: #ffffff;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 30px;
}
.link_btn:hover {
    background: #715546;
    color: #ffffff !important;
}

.siteHeader {
    border-bottom: none;
    box-shadow: none;
    padding: 0;
}
.header_right_btn_wrap a i {
    margin-right: 5px;
}
.header_right_btn_wrap a.btn01 {
    display: flex;
    text-align: center;
    background: #da6700;
    color: #ffffff;
    padding: 15px;
    font-weight: bold;
    align-items: center;
    justify-content: center;
}
.header_right_btn_wrap a.btn03 {
    display: flex;
    text-align: center;
    background: #715546;
    color: #ffffff;
    padding: 15px;
    font-weight: bold;
    margin: 10px 0px;
    align-items: center;
    justify-content: center;
}
.header_right_btn_wrap a.btn02 {
    display: flex;
    text-align: center;
    background: #387f64;
    color: #ffffff;
    padding: 15px;
    font-weight: bold;
    align-items: center;
    justify-content: center;
}

.header_right_btn_wrap a i {
    font-size: 21px;
}

.tel-attention {
    background: #387f64;
    color: #fff;
    padding: 10px;
    margin: 10px auto 0 !important;
    line-height: 1.2;
}

footer .navbar-header .headerRight .leftbox {
    margin-right: 20px;
}

.tel-attention .color {
    color: #ffff61;
}

.siteHeader .siteHeadContainer,
footer .navbar-header {
    padding: 20px 50px;
}

.navbar-brand {
    float: none;
}

.navbar-brand p {
    font-size: 14px;
    line-height: 1.5em;
}

.headerRight {
    float: none;
    color: #333;
    font-size: 14px;
    display: flex;
}

.headerRight .inner_box01 {
    margin-right: 20px;
}

.headerRight .telHead {
    background: #003869;
    color: #fff;
    font-size: 13px;
    line-height: 1em;
    padding: 4px;
}

.headerRight ul li {
    line-height: 1.5;
}

.headerRight ul li span {
    color: #4e4a46;
    font-weight: bold;
}

.headerRight ul li span.ico {
    color: #715546;
}

.headerRight ul li span.bg {
    background: #715546;
    color: #fff;
    font-size: 0.8em;
    line-height: 1;
    padding: 1px 5px;
    margin-right: 0.5em;
    border-radius: 50px;
}

.headerRight ul li:first-child span.ico:before {
    content: "";
    display: inline-block;
    background: url(../images/ico-time@2x.png) no-repeat;
    background-size: 100%;
    width: 16px;
    height: 16px;
    position: relative;
    top: 3px;
    margin: 0 3px 0 0;
}

.headerRight ul li:last-child span:before {
    content: "";
    display: inline-block;
    background: url(../images/ico-calendar@2x.png) no-repeat;
    background-size: 100%;
    width: 16px;
    height: 16px;
    position: relative;
    top: 3px;
    margin: 0 3px 0 0;
}

.headerRight .tel {
    text-align: right;
}

.headerRight .tel img {
    width: 286px;
    max-width: 100%;
}

.about-reserve {
    background: #ffffcd;
    font-size: 0.8em;
    padding: 0.5em 1em;
    line-height: 1.5;
}

.nav-container,
#gMenu_outer {
    background: #272F3C;
    width: 100%;
}

.header_scrolled .nav-container {
    position: fixed;
    z-index: 9999;
    top: 0;
}

.gMenu_outer,
.gMenu,
.gMenu_outer nav {
    float: none;
    display: block;
    min-height: auto !important;
}

.gMenu {
    display: flex;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
}

.gMenu li {
    text-align: center;
    position: relative;
    float: none;
}

.gMenu > li {
    border-left: dashed 1px #fff;
}

.gMenu > li:last-child {
    border-right: dashed 1px #fff;
}

.postNextPrev {
    margin-top: 40px;
}

.scrolled .gMenu > li > ul.sub-menu {
    margin-top: 0;
}

.midashi-line h2,
.midashi h2 {
    color: #403e3e;
    font-size: 2.5em;
    border-top: none;
    border-bottom: none;
    line-height: 1.5;
}

.midashi-line {
    display: flex;
    align-items: center;
}

.midashi-line:before,
.midashi-line:after {
    content: "";
    height: 1px;
    background: #403e3e;
    width: 70px;
    display: inline-block;
}

.midashi-line:before {
    margin-right: 0.4em;
}

.midashi-line:after {
    margin-left: 0.4em;
}

.home-nayami,
.home-soudan,
.home-menu {
    padding: 40px 0 60px;
}

.footer-before {
    border-top: solid 1px #715546;
    padding: 80px 0;
}

.footer-before .container > div {
    width: 920px;
    max-width: 100%;
    margin: 0 auto;
}

footer .headerRight {
    color: #333;
    font-size: 14px;
    display: block;
}

.home-soudan .figure-7 {
    width: 628px;
    max-width: 90%;
}

.midashi-border {
    border-bottom: solid 1px;
    font-size: 1.4em;
    font-weight: bold;
    padding-bottom: 0.5em;
}

.bg-brown {
    background: #715546;
    color: #fff;
    padding: 0.5em;
}

.bg-brown p {
    font-size: 1.5em;
    font-weight: bold;
}

.home-nayami .d-flex {
    width: 70%;
    margin: 0 auto 50px;
    border-left: solid 1px #d7d7d7;
    border-top: solid 1px #d7d7d7;
}

.home-nayami .d-flex .inner {
    border-bottom: solid 1px #d7d7d7;
    border-right: solid 1px #d7d7d7;
    position: relative;
    color: #387f64;
    font-weight: 600;
    padding: 15px 10px;
}

.home-nayami .d-flex .inner:after {
    content: none;
    /*display: block;
	background: url(../images/ico-arrow1@2x.png) no-repeat;
	background-size: 100%;
	width: 55px;
	height: 55px;
	position: absolute;
	right: 0;
	bottom: 0;*/
}

.home-nayami .d-flex .inner a {
    font-weight: bold;
    color: #387f64;
    padding: 1em;
}

.home-nayami .d-flex .inner figure img {
    height: 130px;
}

.imagemap {
    width: 819px;
    max-width: 100%;
}

.home-point {
    padding: 60px 0;
    margin-top: 60px;
}

.home-point .head {
    font-weight: bold;
    font-size: 1.4em;
    line-height: 1.4;
    min-height: 62px;
}

.device-mobile .gMenu > li {
    padding: 0;
}

.device-mobile .gMenu > li a {
    padding: 14px 1em;
    display: block;
}

.device-mobile.scrolled .gMenu > li {
    padding: 0;
}

.gMenu li .sub-menu li {
    width: 100%;
    font-size: 14px;
    border-right: none;
    text-align: left;
}

.gMenu li .sub-menu li a {
    top: 0;
    display: block;
    padding: 1em;
    border-bottom: solid 1px #fff;
    color: #fff;
    background: #387f64;
}

.gMenu li .sub-menu li:last-child a {
    border-bottom: none;
}

.gMenu > li > ul.sub-menu {
    box-shadow: none;
    min-width: 270px;
    top: 60px;
}

.gMenu li li {
    background-color: rgba(255, 255, 255, 0);
}

.gMenu > li.menu-item-has-children::after {
    content: none;
}

.gMenu > li.menu-item-has-children > a {
    pointer-events: none;
}

.gMenu li .sub-menu li:after {
    content: none;
}

.gMenu li a {
    color: #fff;
    font-weight: bold;
}

.gMenu > li .gMenu_name {
    letter-spacing: 0.5px;
    font-size: 17px;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    text-align: center;
    display: flex;
}

.gMenu > li:before {
    content: none;
}

.gMenu a:active,
.gMenu a:focus,
.gMenu a:hover {
    color: #fff;
    opacity: 0.8;
}

.header_scrolled .gMenu > li {
    border-left: none;
    width: auto;
}

.header_scrolled .gMenu > li:last-child {
    border-right: none;
}

div.bg-head .text-center {
    position: relative;
}

div.bg-head .text-center::after {
    content: "";
    width: 0;
    height: 0;
    border: solid transparent;
    border-width: 30px 25px;
    border-top-color: #13643a;
    position: absolute;
    bottom: -66px;
    left: 0;
    right: 0;
    margin: auto;
}

.bg-head p {
    font-size: 2em;
    line-height: 1.5em;
}

.bg-head p .color {
    color: #13643a;
    font-size: 1.3em;
}

.taikoban {
    border-bottom: dotted 1px #ddd;
    margin-bottom: 2em;
    padding-bottom: 0.5em;
}

.taikoban h3 {
    border-bottom: none;
    color: #13643a;
    font-weight: bold;
    font-size: 1.5em;
}

.taikoban h3:after {
    content: none;
}

.taikoban .border-left {
    border-left: solid 8px #13643a !important;
    padding: 0 0 0 1em;
}

.taikoban .border-left small {
    font-size: 14px;
    display: block;
    line-height: 1.4em;
}

.taikoban .border-left b {
    font-size: 20px;
}

.kodawari-head {
    display: table;
    table-layout: fixed;
}

.kodawari-head div {
    display: table-cell;
    vertical-align: middle;
    width: 34px;
}

.post-name-ems .kodawari-head div,
.case .kodawari-head div {
    width: 48px;
}

.kodawari-head h3 {
    display: table-cell;
    vertical-align: middle;
}

.kodawari-head div .number {
    font-family: "Questrial", sans-serif;
    background: #13643a;
    color: #fff;
    text-align: center;
    display: block;
    line-height: 34px;
    font-size: 28px;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    font-weight: bold;
}

.post-name-ems .kodawari-head div .number,
.case .kodawari-head div .number {
    width: 48px;
    height: 48px;
    line-height: 48px;
    font-size: 40px;
}

.kodawari-head h3 {
    color: #13643a;
    border-bottom: none;
    font-size: 1.4em;
    font-weight: bold;
}

.post-name-ems .kodawari-head h3,
.case .kodawari-head h3 {
    font-size: 1.6em;
}

.kodawari-head h3:after {
    content: none;
}

.profile-ttl {
    color: #e56a20;
    font-weight: bold;
    font-size: 2.2em;
}

.profile-bg {
    background: #f9f6ee;
}

.profile-bg .profile-sign {
    width: 154px;
}

h4.simple-head {
    background: #003869;
    color: #fff;
    font-weight: 700;
    font-size: 1.4em;
    border: none;
}

div.simple-head {
    background: #f3ecd9;
    border-radius: 5px;
    display: table;
    table-layout: fixed;
}

div.simple-head div {
    display: table-cell;
    vertical-align: middle;
    width: 34px;
}

div.simple-head div .number {
    font-family: "Questrial", sans-serif;
    background: #fff;
    color: #305e31;
    text-align: center;
    display: block;
    line-height: 34px;
    font-size: 28px;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    font-weight: bold;
}

div.simple-head h3 {
    color: #305e31;
    font-weight: bold;
    font-size: 1.5em;
    border-bottom: none;
}

div.simple-head h3:after {
    content: none;
}

.flow-box {
    border: solid 2px #003869;
    position: relative;
    margin-bottom: 40px;
}

.flow-box-main {
    background: #003869;
    color: #fff;
}

.flow-box-sub,
.flow-box-sub .d-sm-flex.bg-off {
    background: #f6f6f6;
}

.flow-box-main .d-sm-flex,
.flow-box-sub .d-sm-flex {
    background: #fff;
    color: #333;
}

.flow-box h4 {
    color: #22a4ff;
    border-bottom: solid 1px #ccc;
    font-size: 2em;
}

.flow-box h4 small {
    font-size: 60%;
    font-weight: 700;
}

.flow-box::after {
    content: "";
    width: 0;
    height: 0;
    border: solid transparent;
    border-width: 30px 60px;
    border-top-color: #22a4ff;
    position: absolute;
    bottom: -62px;
    left: 0;
    right: 0;
    margin: auto;
}

.flow-box.last::after {
    content: none;
}

.flow-box p.price {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.3em;
}

.flow-box p.price small {
    font-size: 65%;
    font-weight: 700;
}

.text-decoration {
    border-bottom: solid 1px;
}

.tel {
    font-size: 1.2em;
}

.tel a {
    color: #003869;
}

.logo2 {
    width: 328px;
    max-width: 100%;
}

.post-name-access .googlemap {
    height: 480px;
}

.indoorview {
    height: 480px;
}

.footer_before {
    background: #f4f0db;
    color: #444;
}

.footer_before p {
    font-size: 13px;
}

.siteFooter {
    border-top: solid 1px #1E2127;
    background: #fff;
    padding-top: 50px;
}

.siteFooter .container {
    overflow: hidden;
    text-align: center;
}

.siteFooter .navbar-brand p {
    font-size: 12px;
}

.siteFooter .footer_text1,
.siteFooter .footer_text2 {
    color: #007549;
    font-size: 24px;
    font-weight: 900;
    display: flex;
    align-items: center;
    white-space: pre;
    gap: 10px;
    margin: 30px 0 10px;
}

.siteFooter .footer_text2 {
    font-size: 32px;
    margin: 0 0 30px;
}

.siteFooter .footer_text1:before,
.siteFooter .footer_text1:after,
.siteFooter .footer_text2:before,
.siteFooter .footer_text2:after {
    content: '';
    display: block;
    border-bottom: solid 1px #87D49E;
    width: 100%;
}

.siteFooter .footer_holiday>div {
    background: linear-gradient(150deg, #18181B 34.44%, #1C1E23 58.81%, #272F3C 98.78%, #334155 131.93%), #1C1E23;
    padding: 0 10px;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
}

.siteFooter small {
    font-size: 12px;
}

.siteFooter .footer_info_bnrList {
    margin: 30px 0 30px;
    gap: 15px;
}

.siteFooter .footer_info_bnrList>div {
    width: 274px;
    max-width: 80%;
    text-align: left;
}

.siteFooter .footer_info_bnrList>div p {
    font-size: 12px;
    margin-bottom: .5em;
}

.siteFooter .footer_info_bnrList>div:last-child {
    margin-top: 8px;
}

.siteFooter .footer_info_bnrList>div a {
    display: block;
    margin-bottom: 10px;
}

.siteFooter .footer_syojyo>div {
    margin-bottom: 30px;
}

.siteFooter .footer_syojyo .head {
    background: linear-gradient(150deg, #18181B 34.44%, #1C1E23 58.81%, #272F3C 98.78%, #334155 131.93%), #1C1E23;
    padding: 0 10px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

.siteFooter .footer_syojyo p {
    text-align: left;
    font-size: 14px;
}

.siteFooter .footer_syojyo p a {
    color: #007549;
    text-decoration: underline;
}

.siteFooter .footer_syojyo p a.nolink {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

.siteFooter .footer_syojyo p a.nolink:after {
    content: '✏️';
    display: inline-block;
}

.footerMenu {
    background: #272F3C;
}

.footerMenu .container {
    border-top: none;
}

.footerMenu .footer-head {
    font-size: 18px;
    margin: 1.5em 0 1.2em;
    text-align: left;
    color: #fff;
}

.footerMenu .footer-head a {
    color: #fff;
}

.footerMenu .footer-head:first-child {
    margin-top: 0;
}

.footerMenu ul {
    overflow: hidden;
}

.footerMenu ul li {
    margin-bottom: 0.2em;
    float: none;
    text-align: left;
}

.footerMenu li:first-child a {
    border-left: none;
    padding-left: 0;
}
.footerMenu li:last-child a {
    border-right: none;
}

.footerMenu li a {
    color: #fff;
    font-size: 14px;
    line-height: 1em;
    border: none;
    padding: 0;
}

.sectionBox {
    background: #000;
    font-size: 13px;
    color: #fff;
}

.sidebar-head {
    border-bottom: solid 1px #dedede;
}

.sidebar-head .sidebar-title {
    font-size: 1.2em;
    border-left: solid 4px;
    line-height: 1em;
    padding-left: 0.5em;
}

.page-header_pageTitle,
h1.page-header_pageTitle:first-child {
    font-weight: bold;
}

.sidebar-title {
    color: #387f64;
    border-bottom: solid 1px;
    padding-bottom: 10px;
}

.veu_postList .postList_date {
    font-size: 0.8em;
    color: #503828;
}

.entry-meta_items_term .btn {
    background: #503828 !important;
    color: #fff !important;
}

.media .media-body .media-heading {
    clear: unset;
    border: none;
}

.news-list li p {
    font-size: 14px;
    line-height: 1.4em;
}

.news-list li a {
    color: #333;
}

.news-list li,
.sidebar-menu li,
.sidebarblock.blog-category a {
    border-bottom: dotted 1px #dedede;
    padding: 1em;
}

.sidebarblock.blog-category a {
    display: block;
    color: #333;
}

.news-list li:last-child,
.sidebar-menu li:last-child,
.sidebarblock.blog-category a:last-child {
    border-bottom: none;
}

.sidebarblock {
    border: solid 1px #ddd;
}

.sidebar-menu li {
    margin: 0;
    padding: 0.7em 1em;
}

.sidebar-menu li a {
    color: #333;
    font-size: 14px;
    display: block;
    line-height: 1.4;
}

.sidebar-menu li .tel {
    color: #da6700;
    font-weight: bold;
    font-size: 1.7em;
    white-space: pre;
}

h5.subhead {
    font-size: 2em;
    font-weight: bold;
}

.number-head {
    display: table;
    table-layout: fixed;
    background: #305e31;
    color: #fff;
}

.number-head .number {
    display: table-cell;
    vertical-align: middle;
    background: #f3ecd9;
    color: #305e31;
    width: 7%;
    font-weight: bold;
    font-size: 2.2em;
    line-height: 1em;
}

.number-head h3 {
    display: table-cell;
    vertical-align: middle;
    border-bottom: none;
    box-shadow: none;
    font-size: 1.8em;
}

.number-head h3:after {
    content: none;
}

.simple-head.sub-head {
    font-size: 1.8em;
}

.font-middle {
    font-size: 1.2em;
}

.font-middle2 {
    font-size: 1.6em;
}

.color-orn {
    color: #e56a20;
}

.color-blue {
    color: #003869;
}

h5.subhead small {
    font-size: 0.5em;
    display: inline-block;
}

.price-container {
    border-top: solid 1px #305e31;
}

.price-border-none {
    border-top: none;
}

h5.border-left {
    border-left: solid 8px #305e31 !important;
    padding-left: 0.5em;
    font-weight: bold;
    font-size: 1.5em;
}

table {
    table-layout: fixed;
}

.table-prof th,
.table-prof td {
    font-size: 16px;
    border-bottom: solid 1px #dedede;
    border-right: solid 1px #dedede;
    vertical-align: top;
}

.table-prof .table-head td,
div.table-head {
    background: #76583a;
    color: #fff;
    border-right: solid 1px #dedede;
}

div.table-head {
    border-right: none;
    font-weight: bold;
}

.post-name-woman .table-prof th,
.post-name-woman .table-prof td {
    vertical-align: middle;
}

.table-prof {
    border-top: solid 1px #dedede;
    border-left: solid 1px #dedede;
}

.table-prof th {
    background: #fcf9f1;
    font-weight: bold;
    color: #000;
}

.border-container {
    border: solid 1px #305e31;
    padding: 1.5em;
}

.bg-radius {
    background: #f3ecd9;
    padding: 2em;
    border-radius: 5px;
}

.list-check li {
    font-size: 1.5em;
    font-weight: bold;
    background: url(../images/shoulder/ico-check@2x.png) no-repeat;
    background-size: 26px;
    background-position: top 8px left;
    padding: 0 0 0 32px;
}

.color-red {
    color: #ff0000;
}

.vk-mobile-nav-menu-btn {
    display: none;
}

.drawer-hamburger:active:focus {
    outline: none;
}

.drawer--left .drawer-hamburger {
    border: none;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: relative;
    padding: 5px 0.75rem 15px;
    margin: 7px auto 0;
    background: url(../images/ico-menu@2x.png) no-repeat;
    background-size: 28px;
    background-position: center;
}

.drawer-nav {
    width: 20rem;
    max-width: 80%;
}

.drawer--left.drawer-open .drawer-hamburger {
    left: 21rem;
}

.drawer--left .drawer-nav {
    left: -20rem;
}

.drawer--top.drawer-open .drawer-nav {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.drawer--left.drawer-open .drawer-nav,
.drawer--left .drawer-hamburger,
.drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.drawer--left.drawer-open .drawer-nav {
    padding: 10px;
    overflow-x: hidden;
}

.menu-block b {
    line-height: 1.4em;
    display: block;
    font-size: 0.85em;
}

.head-ttl .head-1 {
    width: 579px;
    max-width: 100%;
}

.head-ttl .head-2 {
    width: 459px;
    max-width: 100%;
}

.head-ttl .head-3 {
    width: 383px;
    max-width: 100%;
}

.head-ttl .head-4 {
    width: 508px;
    max-width: 85%;
}

.head-ttl .head-5 {
    width: 195px;
    max-width: 100%;
}

.head-ttl {
    border-bottom: none;
    position: relative;
    padding-bottom: 1.2em;
}

.head-ttl:after {
    content: "";
    border-bottom: solid 1px #003869;
    width: 60px;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0.5px;
}

.bg-blue {
    background: #003869;
}

.bg-blue .head-ttl:after {
    border-bottom: solid 1px rgba(255, 255, 255, 0.5);
}

.strong-list li {
    background: #fff;
    width: 30%;
    display: inline-block;
    margin: 40px 1% 10px;
    vertical-align: top;
    position: relative;
    min-height: 175px;
}

.strong-list.merit-list li {
    min-height: auto;
    border: solid 3px #e0e0e0;
}

.strong-list li .inner {
    padding: 60px 0 30px;
}

.strong-list li .strong-no {
    font-family: "Noto Serif JP", serif;
    color: #003869;
    font-size: 40px;
    background: url(../images/strong_bg@2x.png) no-repeat;
    background-size: 100%;
    width: 80px;
    height: 80px;
    display: block;
    line-height: 80px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -30px;
}

.strong-list.merit-list li .strong-no {
    background: url(../images/first/circle_1@2x.png) no-repeat;
    background-size: 100%;
    color: #fff;
}

.strong-list li .inner p {
    font-size: 18px;
    white-space: pre;
}

.strong-list li .color-Lblue {
    font-size: 1.2em;
}

.top-okomari .illust {
    width: 670px;
    max-width: 100%;
}

.top-okomari ul li {
    display: inline-block;
    margin: 0 10px;
    background: #003869;
    border-radius: 10px;
    width: 25%;
}

.top-okomari ul li a {
    display: block;
    color: #fff;
    font-size: 28px;
    line-height: 1em;
    padding: 25px 20px;
    white-space: pre;
}

.top-okomari ul li a:hover {
    text-decoration: none;
}

.suisen-block {
    border: solid 5px #003869;
}

.suisen-block.strong {
    border: none;
}

.suisen-block .head {
    background: #003869;
}

.suisen-block .head .inner {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.suisen-block .head .inner .badge {
    display: table-cell;
    vertical-align: middle;
    width: 80px;
}

.suisen-block .head .inner .badge span {
    font-family: "Noto Serif JP", serif;
    color: #003869;
    font-size: 28px;
    background: url(../images/strong_bg@2x.png) no-repeat;
    background-size: 100%;
    width: 80px;
    height: 80px;
    display: block;
    line-height: 80px;
    white-space: pre;
}

.suisen-block.strong .head .inner .badge span {
    font-size: 40px;
}

.suisen-block .head .inner h5 {
    display: table-cell;
    vertical-align: middle;
    color: #fff;
    font-size: 1.5em;
    font-weight: 700;
}

.suisen-block .profile {
    background: #e9e9e9;
    font-family: "Noto Serif JP", serif;
}

.serif-ttl {
    font-family: "Noto Serif JP", serif;
}

h4.serif-ttl {
    font-size: 1.8em;
    line-height: 1.5em;
}

.suisen-block .profile .ttl {
    color: #003869;
}

.suisen-block .profile .ttl span:before {
    content: "";
    display: inline-block;
    width: 12px;
    border-top: solid 1px #003869;
    height: 1px;
    margin: 0 1em 0 0;
    top: -5px;
    position: relative;
}

.suisen-block .profile .ttl span:after {
    content: "";
    display: inline-block;
    width: 12px;
    border-top: solid 1px #003869;
    height: 1px;
    margin: 0 0 0 1em;
    top: -5px;
    position: relative;
}

.bg-gray {
    background: #f9f9f9;
}

.message-container {
    background: #fff;
    border: solid 5px #e0e0e0;
    padding: 50px;
}

footer .btn-border {
    padding: 15px;
    border-radius: 5px;
}

.btn-border {
    color: #003869 !important;
    display: inline-block;
    border: solid 1px;
    padding: 15px 50px;
    max-width: 100%;
    border-radius: 10px;
}

.btn-border:hover {
    color: #003869;
    text-decoration: none;
}

.ico-map {
    width: 12px;
    display: inline-block !important;
}

.drawer--left.drawer-open .drawer-nav {
    padding: 10px;
    overflow-x: hidden;
    z-index: 999999;
}

.menu-block b {
    line-height: 1.4em;
    display: block;
    font-size: 0.85em;
}

.sp-navbar-header {
    display: block;
    background: #272F3C;
}

.sp-navbar-header ul li {
    width: 25%;
}

.sp-navbar-header ul li p {
    font-size: 15px;
    color: #fff;
    white-space: pre;
}

.sp-navbar-header ul li img {
    height: 24px;
    display: inline-block;
    margin-bottom: 3px;
}

.sp-navbar-header ul li a {
    color: #fff;
    display: block;
    padding: 12px 0 7px;
    border-left: solid 1px rgba(255, 255, 255, 0.2);
}

.sp-navbar-header ul li:first-child {
    background: #3D4B60;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
    background-color: #fff;
    opacity: 0;
}

.drawer--left.drawer-open .drawer-hamburger {
    background: #715546 url(../images/ico-menu@2x.png) no-repeat;
    background-size: 28px;
    background-position: center;
    border-radius: 5px;
    border: none;
    padding: 9px 8px 19px;
    margin: 10px 0 0 0;
}

.drawer--left.drawer-open .drawer-hamburger-icon:after,
.drawer--left.drawer-open .drawer-hamburger-icon:before {
    background-color: #333;
}

.device-pc .gMenu > li > a {
    padding: 20px 15px;
}

.post-name-first .subpage-head {
    background: url(../images/first/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-price .subpage-head {
    background: url(../images/price/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-access .subpage-head {
    background: #dcdcdc;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-type-voice .subpage-head {
    background: url(../images/voice/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-faq .subpage-head {
    background: url(../images/faq/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-access .subpage-head {
    background: url(../images/access/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-type-blog .subpage-head {
    background: url(../images/blog/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-personal .subpage-head {
    background: url(../images/personal/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-sports .subpage-head {
    background: url(../images/sports/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-fracture .subpage-head {
    background: url(../images/fracture/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-sole .subpage-head {
    background: url(../images/sole/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-knee .subpage-head {
    background: url(../images/knee/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-tendonitis .subpage-head {
    background: url(../images/tendonitis/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-shoulder .subpage-head {
    background: url(../images/shoulder/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-waist .subpage-head {
    background: url(../images/waist/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.post-name-neck .subpage-head {
    background: url(../images/neck/teaser@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 400px;
}

.subpage-head {
    position: relative;
}

.subpage-head h2 {
    border-bottom: none;
    border-top: none;
    height: 77px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
}

.post-name-personal .subpage-head h2 {
    height: auto;
    width: 950px;
    max-width: 90%;
}

.post-name-sports .subpage-head h2 {
    height: auto;
    width: 929px;
    max-width: 90%;
}

.post-name-fracture .subpage-head h2 {
    height: auto;
    width: 928px;
    max-width: 90%;
}

.post-name-sole .subpage-head h2 {
    height: auto;
    width: 794px;
    max-width: 90%;
}

.post-name-knee .subpage-head h2 {
    height: auto;
    width: 1064px;
    max-width: 90%;
}

.post-name-tendonitis .subpage-head h2 {
    height: auto;
    width: 840px;
    max-width: 90%;
}

.post-name-shoulder .subpage-head h2 {
    height: auto;
    width: 660px;
    max-width: 90%;
}

.post-name-waist .subpage-head h2 {
    height: auto;
    width: 885px;
    max-width: 90%;
}

.post-name-neck .subpage-head h2 {
    height: auto;
    width: 659.5px;
    max-width: 90%;
}

.subpage-head h2 img {
    height: 100%;
    width: auto;
}

.post-name-personal .subpage-head h2 img,
.post-name-sports .subpage-head h2 img,
.post-name-fracture .subpage-head h2 img,
.post-name-sole .subpage-head h2 img,
.post-name-knee .subpage-head h2 img,
.post-name-tendonitis .subpage-head h2 img,
.post-name-shoulder .subpage-head h2 img,
.post-name-waist .subpage-head h2 img,
.post-name-neck .subpage-head h2 img {
    height: auto;
    width: 100%;
}

.post-name-first .ttl_1 {
    width: 669px;
    max-width: 100%;
}

.post-name-first .ttl_2 {
    width: 333px;
    max-width: 60%;
}

.post-name-first .ttl_3 {
    width: 236px;
    max-width: 45%;
}

.post-name-first .ttl_4,
.ttl_4.strong {
    width: 470px;
    max-width: 80%;
}

.post-name-first .ttl_5,
.post-name-sports .bg-1 .ttl_5,
.post-name-fracture .bg-1 .ttl_5,
.post-name-sole .bg-1 .ttl_5,
.post-name-knee .bg-1 .ttl_5,
.post-name-tendonitis .bg-1 .ttl_5,
.post-name-shoulder .bg-1 .ttl_5,
.post-name-waist .bg-1 .ttl_5,
.post-name-neck .bg-1 .ttl_5 {
    width: 496px;
    max-width: 80%;
}

.post-name-price .ttl_1 {
    width: 431px;
    max-width: 70%;
}

.post-name-price .ttl_2 {
    width: 481px;
    max-width: 75%;
}

.post-name-price .ttl_3 {
    width: 198px;
    max-width: 40%;
}

.post-name-access .ttl_1 {
    width: 494px;
    max-width: 70%;
}

.post-name-access .ttl_2 {
    width: 345px;
    max-width: 55%;
}

.post-name-access .ttl_3 {
    width: 345px;
    max-width: 55%;
}

.post-name-access .ttl_4 {
    width: 623px;
    max-width: 95%;
}

.post-name-faq .ttl_1 {
    width: 313px;
    max-width: 100%;
}

.post-name-personal .ttl_1 {
    width: 597px;
    max-width: 80%;
}

.post-name-personal .ttl_2 {
    width: 842px;
    max-width: 100%;
}

.post-name-personal .ttl_3 {
    width: 690px;
    max-width: 100%;
}

.post-name-sports .ttl_1,
.ttl_1.onayami {
    width: 586px;
    max-width: 100%;
}

.post-name-sports .ttl_2,
.ttl_2.omakase {
    width: 675px;
    max-width: 100%;
}

.post-name-sports .ttl_3 {
    width: 629px;
    max-width: 100%;
}

.post-name-sports .ttl_4,
.ttl_4.after {
    width: 594px;
    max-width: 100%;
}

.post-name-sports .ttl_5,
.ttl_5.voice {
    width: 730px;
    max-width: 100%;
}

.post-name-sports .ttl_6 {
    width: 586px;
    max-width: 100%;
}

.post-name-sports .ttl_7,
.ttl_7.about {
    width: 380px;
    max-width: 70%;
}

.post-name-fracture .ttl_1 {
    width: 819px;
    max-width: 100%;
}

.post-name-fracture .ttl_2 {
    width: 598px;
    max-width: 100%;
}

.post-name-sole .ttl_1 {
    width: 596px;
    max-width: 100%;
}

.post-name-sole .ttl_3,
.post-name-knee .ttl_3,
.post-name-tendonitis .ttl_3,
.post-name-shoulder .ttl_3,
.post-name-waist .ttl_3,
.post-name-neck .ttl_3 {
    width: 598px;
    max-width: 100%;
}

.post-name-knee .ttl_1,
.post-name-tendonitis .ttl_1,
.post-name-shoulder .ttl_1,
.post-name-waist .ttl_1,
.post-name-neck .ttl_1 {
    width: 596px;
    max-width: 100%;
}

.post-name-neck .ttl_2 {
    width: 715px;
    max-width: 100%;
}

.post-name-first .bg-1,
.post-name-sports .bg-1,
.post-name-fracture .bg-1,
.post-name-sole .bg-1,
.post-name-knee .bg-1,
.post-name-tendonitis .bg-1,
.post-name-shoulder .bg-1,
.post-name-waist .bg-1,
.post-name-neck .bg-1 {
    background: url(../images/first/bg_1@2x.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}

.list-check li {
    font-weight: 700;
    background: url(../images/first/icon_check@2x.png) no-repeat;
    background-size: 24px;
    font-size: 1.4em;
    background-position: top 10px left;
    padding-left: 34px;
}

.underline {
    border-bottom: solid 1px;
}

h4.head-border {
    color: #22a4ff;
    border-bottom: solid 1px;
    font-size: 2em;
}

.table-1 {
    border-top: none;
    border: solid 1px #003869;
}

.table-1 th {
    background: #003869;
    color: #fff;
    font-size: 1.4em;
    border-bottom: none;
}

.table-1 td {
    border-right: solid 1px #003869;
    border-bottom: solid 1px #003869;
}

.table-1 td h4:after {
    content: "";
    display: block;
    border-top: solid 1px #ccc;
    width: 40px;
    margin: 10px auto;
}

.table-1 td p {
    font-size: 1.9em;
    line-height: 1.2em;
}

.table-1 td p small {
    font-weight: 700;
    font-size: 60%;
}

.table-2 {
    border-top: solid 1px #ccc;
}

.table-2 th,
.table-2 td {
    border-bottom: dotted 1px #ccc;
    font-size: 1em;
    padding: 1.5em;
}

.table-2 th {
    font-weight: 700;
}

.table-2 tr:last-child th,
.table-2 tr:last-child td {
    border-bottom: solid 1px #ccc;
}

.access-box {
    position: relative;
}

.access-box:after {
    content: "";
    display: block;
    background: url(../images/access/arrow_1@2x.png) no-repeat;
    background-size: 100%;
    width: 40px;
    height: 30px;
    position: absolute;
    right: -20px;
    top: 35%;
    z-index: 5;
}

.last.access-box:after {
    content: none;
}

.access-box-container .access-box {
    width: 25%;
    padding: 0 15px;
    vertical-align: top;
}

.breadcrumb {
    background: #f6f6f6;
}

.article__item a:hover {
    color: #22a4ff;
}

.post-type-voice .article__item {
    width: 90%;
    margin: 0 auto 30px;
}

.article__item {
    margin: 0 auto 30px;
}

.article__item .category a,
.single-voice article .category a,
.single-blog article .category a {
    background: #003869;
    color: #fff;
    font-size: 13px;
    line-height: 1em;
    display: inline-block;
    padding: 5px;
}

.article__item .category a:hover,
.single-voice article .category a:hover,
.single-voice .single-pagenav a:hover,
.single-blog article .category a:hover,
.single-blog .single-pagenav a:hover {
    text-decoration: none;
}

.single-voice h4.single-ttl,
.single-blog h4.single-ttl {
    border-bottom: solid 1px #ccc;
    font-size: 2em;
}

.single-voice article,
.single-voice .single-pagenav {
    width: 90%;
    margin: 0 auto;
}

.single-voice .single-footer,
.single-blog .single-footer {
    border-top: solid 1px #ccc;
}

.single-voice .single-pagenav a,
.single-blog .single-pagenav a {
    color: #003869;
    font-weight: 700;
    display: block;
    border: solid 1px;
    border-radius: 5px;
    padding: 1em 2em;
    margin: 0.5em 0;
}

.single-voice .single-pagenav .next,
.single-blog .single-pagenav .next {
    background: url(../images/voice/ico-next@2x.png) no-repeat;
    background-size: 7px;
    background-position: right 1em center;
}

.single-voice .single-pagenav .prev,
.single-blog .single-pagenav .prev {
    background: url(../images/voice/ico-prev@2x.png) no-repeat;
    background-size: 7px;
    background-position: left 1em center;
}

.faq-container .question {
    border-bottom: solid 1px #ccc;
    font-size: 1.8em;
    background: url(../images/faq/question@2x.png) no-repeat;
    background-size: 42px;
    background-position: top left;
    padding-left: 54px;
    min-height: 42px;
}

.faq-container .answer {
    background: url(../images/faq/answer@2x.png) no-repeat;
    background-size: 42px;
    background-position: top left;
    padding-left: 54px;
    min-height: 42px;
}

ul.monthly-archive-list li {
    margin-bottom: 0;
}

.border-blue {
    border: solid 5px #003869;
    background: #fff;
}

.marker {
    background: #f3ff6c;
}

.voice-block {
    border: solid 5px #e0e0e0;
}

.vk-mobile-nav-menu-btn {
    display: none !important;
}

.noimage {
    display: block;
    background: #ddd;
    width: 100%;
    height: 100%;
}

area {
    outline: none;
}

.ico-insta a {
    display: block;
    height: 60px;
    margin: -10px 0 0 10px;
    border: solid 3px #e8e8e8;
    border-radius: 10px;
    padding: 5px;
}

.ico-insta a img {
    height: 100%;
    width: auto;
}

.pagenation ul {
    padding: 0;
    display: flex;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.pagenation ul li {
    list-style: none;
    padding: 0 0.5em;
}

.home-news {
    background: #f9f9f9;
    padding: 20px 0;
}

.home-news .d-md-flex {
    border: solid 1px #387f64;
    border-radius: 8px;
    overflow: hidden;
}

.home-news .head {
    background: #387f64;
    color: #fff;
    text-align: center;
    width: 200px;
    padding: 10px;
    border-radius: 5px 0 0 5px;
    position: relative;
    min-height: 80px;
}

.home-news .head a {
    position: absolute;
    text-align: center;
    font-size: 0.8em;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
    background: #fff;
    display: inline-block;
    margin: 0 auto;
    color: #387f64;
    border-radius: 99px;
    padding: 2px 10px;
    text-decoration: none;
    font-weight: bold;
    width: 120px;
}

.home-news .inner {
    background: #fff;
    padding: 10px 15px;
    width: calc(100% - 200px);
    border-radius: 0 5px 5px 0;
}

.home-news .inner .date {
    width: 150px;
}

.home-news .inner .text {
    width: calc(100% - 150px);
}

.home-news .inner .text a {
    color: #333;
}

.fv {
    padding-left: 10%;
    position: relative;
}

.fv-spimage {
    max-width: 1000px;
    margin: 0 auto 1rem;
}

.fv .fv-title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.feature-container {
    border: solid 1px #da6700;
    margin-bottom: 30px;
}

.feature-container .head {
    background: #da6700;
    color: #fff;
    padding: 0.8em;
}

.feature-container .head h3 {
    border: none;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

.feature-container .head h3:after {
    content: none;
}

.feature-container .inner {
    background: #fff;
    padding: 30px;
}

.border-red {
    border: solid 1px #d80a0a;
    padding: 20px;
    background: #fff;
}

.border-orange {
    border: solid 1px #da6700;
    padding: 30px;
    font-size: 1.2em;
}

.border-orange i {
    color: #da6700;
    width: 24px;
    position: relative;
    top: 7px;
}

.marker {
    background: #fff799;
}

.borderHead {
    border-bottom: solid 1px;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}

.img-insole-scan {
    max-width: 700px;
    margin: 0 auto;
}

.triangle {
    border-top: 35px solid #715546;
    border-right: 60px solid transparent;
    border-bottom: 0 solid transparent;
    border-left: 60px solid transparent;
    width: 60px;
    height: 40px;
    margin: 0 auto;
}

.featuresHead {
    background: #715546;
    font-family: "Noto Serif JP", serif;
    border-left: solid 7px #715546;
    color: #fff;
    margin-bottom: 30px;
}

.featuresHead .featureNumber {
    background: url(../images/first/bg-1@2x.png) no-repeat;
    background-size: cover;
    background-position: right;
    padding: 15px 25px;
    width: 120px;
}

.featuresHead .featureNumber img {
    width: 40px;
}

.featuresHead .text {
    width: calc(100% - 120px);
}

.featuresHead .text p {
    font-size: 1.5em;
}

table {
    border-top: solid 1px #e2e2e2;
    border-right: solid 1px #e2e2e2;
}

table th {
    background: #f9f9f9;
    font-weight: bold;
    text-align: center;
    border-left: solid 1px #e2e2e2;
    border-bottom: solid 1px #e2e2e2;
}

table td {
    text-align: center;
    border-left: solid 1px #e2e2e2;
    border-bottom: solid 1px #e2e2e2;
}

.bg-head-container {
    width: 100%;
}

.bg-head-container .bg {
    background: #387f64;
    padding: 1em;
    color: #fff;
    width: 10%;
    text-align: center;
}

.bg-head-container .inner {
    background: #f9f9f9;
    padding: 1em;
    font-weight: bold;
    width: 90%;
}

.bg-head-container .inner small {
    font-size: 0.8em;
}

.youtube {
    height: 380px;
}

.btn-grn,
.btn-grn:hover {
    color: #387f64;
    border: solid 1px;
    padding: 0.8em 1em;
    width: 240px;
    max-width: 70%;
    margin: 30px auto 0;
    display: inline-block;
}

.media-list img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.staff-name p {
    font-size: 2em;
    font-weight: bold;
}

.staff-name p small {
    font-weight: bold;
    font-size: 0.6em;
}

.staff-name p .yakusyoku {
    color: #fff;
    font-size: 0.5em;
    background: #da6700;
    font-weight: normal;
    padding: 0.2em 0.8em;
    position: relative;
    top: -3px;
}

.staff_link_btn__wrapper a.staff_link_btn {
    background: #da6700;
    color: #ffffff;
    font-size: 18px;
    text-align: center;
    width: 48%;
    height: 46px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    position: relative;
}

.staff_link_btn__wrapper a.staff_link_btn:before {
    content: "";
    width: 16px;
    height: 16px;
    background: url(../images/arrow.png) no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

small.font-bold {
    font-weight: bold;
}

.bg-red {
    background: #d80a0a;
    color: #fff;
    padding: 0.8em;
}

.bg-red h3 {
    border: none;
    padding: 0;
}

.bg-red h3:after {
    content: none;
}

.jiko-figure_1 {
    width: 628px;
    max-width: 100%;
}

.template-symptom .border-orange,
.post-name-insole .border-orange {
    padding: 80px 30px 30px;
    margin-top: -80px;
}

.post-name-first .template-symptom .border-orange {
    padding: 20px 30px;
    margin-top: -60px;
}

.post-name-first .template-symptom .border-orange ul li ul {
    list-style: disc;
    padding-left: 20px;
}

.post-name-first .template-symptom .border-orange ul li ul li {
    margin: 0;
}

.btn-list a {
    background: #387f64;
    color: #fff;
    border-radius: 50px;
    height: 50px;
    line-height: 50px;
    padding: 0 40px;
    margin: 0 10px 5px;
    display: inline-block;
    font-size: 1.2em;
}

.template-symptom .onayami-head,
.post-name-insole .onayami-head {
    background: #fff;
    display: inline-block;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.post-name-first .ttl-reason {
    width: 840px;
    max-width: 80%;
}

.yel-arrow {
    width: 400px;
    max-width: 70%;
}

.font-large h5,
.font-large .h5 {
    font-size: 1.5em;
}

.font-large h4,
.font-large .h4 {
    font-size: 1.8em;
}

.sym-bnt-1 {
    width: 1024px;
    max-width: 100%;
}

h3,
h4,
h5 {
    line-height: 1.4;
}

.sym-figure-1 {
    width: 424px;
    max-width: 80%;
}

.fukidashi {
    width: 140px;
}

.btn-bg,
.btn-bg:hover {
    color: #fff;
    background: #387f64;
    display: inline-block;
    width: 280px;
    padding: 1em;
    max-width: 70%;
    text-align: center;
}

a.color {
    color: #715546;
    text-decoration: underline;
}

.voice-list img {
    width: auto;
    height: 150px;
    margin-bottom: 20px;
}

.voice-list .inner {
    border: solid 2px #90aadc;
    padding: 20px;
    position: relative;
}

.voice-list .inner:before {
    content: "";
    display: inline-block;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #90aadc;
    border-left: 20px solid transparent;
    width: 40px;
    height: 20px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
}

.voice-list .inner2 {
    border: solid 2px #d795c9;
}

.voice-list .inner2:before {
    border-bottom: 20px solid #d795c9;
}

.sym-bnr-2 {
    width: 580px;
    max-width: 90%;
}

.tab-group,
.tab-group-vertical {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    zoom: 1; /* Fix for IE7 */
    *display: inline; /* Fix for IE7 */
    width: 100%;
}

.tab-group {
    display: table;
    border-top: 1px solid #da6700;
    border-left: 1px solid #da6700;
    border-bottom: 1px solid #da6700;
}

.tab-group > li {
    width: 11.1%;
    line-height: 1.4;
    display: table-cell;
    vertical-align: middle;
}

.tab-group > li,
.tab-group-vertical > li {
    border-right: 1px solid #da6700;
    position: relative;
    margin: 0;
}

.tab-group > li.active {
    background-color: #da6700;
}

.tab-group > li.active > a,
.tab-group > li.active > a:hover,
.tab-group > li.active > a:focus,
.tab-group-vertical > li.active > a,
.tab-group-vertical > li.active > a:hover,
.tab-group-vertical > li.active > a:focus {
    color: #fff;
    display: block;
}
.tab-group > li > a,
.tab-group-vertical > li > a {
    border-radius: 0;
    color: #da6700;
    padding: 0.5em;
    display: block;
}

.tab-group li + li {
    margin-left: -1px;
}

.tab-group > li:not(:first-child):not(:last-child),
.tab-group > li:not(:first-child):not(:last-child) > a:hover {
    border-radius: 0;
}
.tab-group > li:first-child,
.tab-group > li:first-child > a:hover {
    margin-left: 0;
}
.tab-group > li:first-child:not(:last-child),
.tab-group > li:first-child:not(:last-child) > a:hover {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.tab-group > li:last-child:not(:first-child),
.tab-group > li:last-child:not(:first-child) > a:hover {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.tab-group-vertical > li {
    display: block;
    float: none;
    width: 100%;
    max-width: 100%;
    text-align: center;
}
.tab-group-vertical > li + li {
    margin-top: -1px;
    margin-left: 0px;
}

.tab-group-vertical > li:not(:first-child):not(:last-child),
.tab-group-vertical > li:not(:first-child):not(:last-child) > a:hover {
    border-radius: 0;
}
.tab-group-vertical > li:first-child:not(:last-child),
.tab-group-vertical > li:first-child:not(:last-child) > a:hover {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.tab-group-vertical > li:last-child:not(:first-child),
.tab-group-vertical > li:last-child:not(:first-child) > a:hover {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 4px;
}

.tab-content a {
    display: block;
    position: relative;
    color: #fff;
}

.tab-content a .title {
    position: absolute;
    background: rgba(0, 0, 0, 0.5) url(../images/symptom/list/arrow@2x.png) no-repeat;
    background-size: auto 100%;
    background-position: right center;
    bottom: 0;
    width: 100%;
    padding: 0.8em 5em 0.8em 1em;
}

.tab-content a .title p {
    font-size: 1.2em;
}

.dropdown-menu.show {
    width: 100%;
}

.btn-secondary,
.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show > .btn-secondary.dropdown-toggle {
    background-color: #da6700;
    border-color: #da6700;
    width: 100%;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: #da6700;
}

.page_top_btn {
    background-color: #272F3C;
    outline: solid 1px #ffffff;
    box-shadow: none;
}

.dropdown-menu.show {
    z-index: 99999;
}

.dropdown-menu {
    padding: 0;
}

.dropdown-menu .dropdown-item {
    font-size: 1em;
    padding: 0.7em 1em;
    border-bottom: solid 1px #eee;
}

.dropdown-menu .dropdown-item a {
    color: #da6700;
}

.elementor.elementor-126 {
    width: 100%;
}

.voice-inner {
    border: solid 2px #90aadc;
    padding: 20px;
    position: relative;
    margin-left: 20px;
}

.voice-inner:before {
    content: "";
    display: inline-block;
    border-top: 20px solid transparent;
    border-right: 20px solid #90aadc;
    border-bottom: 20px solid transparent;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -20px;
    margin: auto;
}

.content-container .content {
    display: none;
}
.content-container .content.show {
    display: block;
}

.tab-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 40px;
}

.tab-container .tab {
    width: calc(33.3% - 10px);
    text-align: center;
    border: solid 1px #387f64;
    color: #387f64;
    border-radius: 4px;
    padding: 10px;
}

.tab-container .tab:last-child {
    color: #da6700;
    border: solid 1px #da6700;
}

.tab-container .tab:last-child.active {
    background: #da6700;
}

.tab-container .tab.active {
    background: #387f64;
    color: #fff;
}

.staffList {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
}

.staffList article {
    border: solid 1px #ddd;
    padding: 10px;
    border-radius: 4px;
}

.staffList article a {
    color: #333;
}

.staffList article .thumbnail {
    margin: 0 0 5px;
}

.staffList article .thumbnail img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: top;
}

.staffList article .staff-title {
    margin: 0;
}

.staffList article .staff-title .kana {
    font-size: 0.8em;
}

.staffList article .staff-content {
    color: #387f64;
}

.staffList article .staff-content:before {
    content: "#";
    display: inline-block;
}

.insole-voice {
    width: 80%;
    margin: 0 auto;
}

.item-lineup {
    border: solid 1px #3c7d62;
}

.item-lineup .head {
    background: #3c7d62;
    color: #fff;
    padding: 0.5em;
}

.item-lineup .head p {
    font-size: 1.5em;
}

.item-lineup .inner {
    padding: 20px;
}

.insole-flow .arrow figure {
    position: relative;
}

.insole-flow .arrow figure:after {
    content: "";
    display: inline-block;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 30px solid #3c7d62;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -30px;
    z-index: 5;
    margin: auto;
}

.font-large {
    font-size: 1.8em;
}

.pagenation {
    font-weight: bold;
}

.pagenation a {
    color: #3c7d62;
}

.wpcf7 table th {
    text-align: left;
    width: 25%;
}

input[type="submit"],
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="submit"]:active:focus {
    width: 280px;
    padding: 15px;
    max-width: 80%;
    background: #387f64;
    color: #fff;
    font-weight: bold;
}

input[type="submit"]:hover {
    opacity: 0.7;
}

.grecaptcha-badge {
    display: none !important;
}

.bnr_or,
.bnr_or:hover {
    background: #da6700;
    color: #fff;
    display: inline-block;
    padding: 15px 10px 17px;
    width: 240px;
    line-height: 1;
    margin: 30px 0 20px;
    max-width: 80%;
}
.sp-fixed-btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}

/* のびたろう */

.font-40 {
    font-size: 40px;
}

.font-24 {
    font-size: 24px;
}

.font-20 {
    font-size: 20px;
}

.font-30 {
    font-size: 30px;
}

.grn-arrow {
    width: 110px;
}

.border-grn {
    border: solid 5px #387f64;
    padding: 30px;
    font-size: 1.2em;
}

.border-org {
    border: solid 5px #da6700;
    padding: 30px;
    font-size: 1.2em;
}

.introduction {
    text-align: center;
    line-height: 3rem;
    font-weight: bold;
}
.introduction p {
    font-size: 20px;
    line-height: 3rem;
    font-weight: bold;
}
.introduction p .font-40 {
    font-size: 40px;
}
.nobitarou .plus img {
    max-width: 320px;
}
.nobitarou .featuresHead {
    padding-top: 10px;
    padding-bottom: 10px;
}

.nobitarou .featuresHead-2 {
    background: #715546;
    font-family: "Noto Serif JP", serif;
    border-left: solid 7px #715546;
    color: #fff;
    font-size: 24px;
    margin-bottom: 30px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.nobitarou .bg-brown-2 {
    background: #715546;
    color: #fff;
    font-size: 24px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.nobitarou .w-75 {
    margin: 0 auto;
}

.nobitarou .supplement .nobi-img {
    width: 350px;
}

.nobitarou .onayami-head {
    background: #fff;
    display: inline-block;
    padding-left: 0.5em;
    padding-left: 0.5em;
}
.border-orange-1 {
    border: solid 1px #da6700;
    padding: 30px;
    font-size: 1.2em;
}

.border-orange-1 i {
    color: #da6700;
    width: 24px;
    position: relative;
    top: 7px;
}

.nobitarou .border-orange-1 {
    padding: 80px 30px 30px;
    margin-top: -65px;
}
.nobitarou .border-orange-1 ul {
    width: 57%;
    margin: 0 auto;
}
ul {
    list-style: none;
}

.center {
    margin: 0 auto;
}

.nobitarou-link img {
    max-width: 500px;
}

/* ----------------------

 酸素カプセル

-----------------------*/
.o2 .fv {
    padding-left: 0;
}

.o2 .border-orange-1 ul {
    width: 42%;
}

.o2 .bg-head-container .bg {
    width: 30%;
}

.inner-gry {
    background: #f9f9f9;
    padding: 1em;
    font-weight: bold;
    width: 100%;
}

.arrow-sankaku::after {
    left: 3px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #d80a0a;
    border-right: 2px solid #d80a0a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.w-300px img {
    width: 300px;
}

.o2-link figure {
    position: relative;
    display: inline-block;
    margin-right: 20px;
    width: 100%;
}
.o2-link figure img {
    max-width: 100%;
    vertical-align: top;
}
.o2-link figure figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 10px 20px;
    font-size: 86%;
    color: #333;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 30px;
}

.o2-link img:hover {
    opacity: 0.6;
    transition-duration: 0.3s;
}

.page-id-412 .featuresHead {
    background: #131da1;
    border-left: solid 7px #131da1;
}

.page-id-412 .color-orange {
    color: #131da1 !important;
}

.page-id-412 .border-orange-1 {
    border: solid 1px #131da1;
}

.page-id-412 .border-orange-1 i {
    color: #131da1;
}

.page-id-412 .color-grn {
    color: #131da1;
}

.page-id-412 .bg-head-container .bg {
    background: #131da1;
}

.page-id-412 .hikaku-table tr th:first-child {
    background: #131da1;
}

.page-id-412 .hikaku-table thead th:nth-child(2),
.page-id-412 .hikaku-table thead th:nth-child(3) {
    background: #131da1;
}

.page-id-412 .btn-entry {
    background: #131da1;
}

/* ----------------------
 料金表
-----------------------*/
.page-price .link-btn {
    width: 100%;
}

.w160img img {
    width: 160px;
}

.option .bg-head-container .bg {
    background: #387f64;
    padding: 1em;
    color: #fff;
    width: 100px;
    text-align: center;
}

/* ----------------------
 スタッフスケジュール
-----------------------*/
.colap {
    border-collapse: collapse;
}

.balloon1 {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: 7px 10px;
    /* min-width: 120px; */
    max-width: 100%;
    color: #fff;
    font-size: 16px;
    background: #715546;
    border-radius: 15px;
}

.balloon1:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #715546;
}

.balloon1 p {
    margin: 0;
    padding: 0;
}

/*====================================================================
	アコーディオン
	====================================================================*/
.s_02 .accordion_one {
    max-width: 1024px;
    margin: 0 auto;
}
.s_02 .accordion_one .accordion_header {
    margin: 0;
    position: relative;
}

.s_02 .accordion_one .accordion_header:hover {
    opacity: 0.8;
}
.s_02 .accordion_one .accordion_header .i_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    box-sizing: border-box;
    transition: transform 0.25s ease;
    transform-origin: center center;
    background-color: transparent;
}
.s_02 .accordion_one .accordion_header .i_box::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #888;
    border-bottom: 2px solid #888;
    transform: rotate(45deg);
    margin-top: -3px;
    transition: border-color 0.15s ease;
}
.s_02 .accordion_one .accordion_header:hover .i_box::before {
    border-color: #555;
}
.s_02 .accordion_one .accordion_header.open .i_box {
    transform: rotate(180deg);
}
/* 元の .one_i およびその擬似要素は新デザインでは使用しない */
.s_02 .accordion_one .accordion_header .i_box .one_i,
.s_02 .accordion_one .accordion_header .i_box .one_i:before,
.s_02 .accordion_one .accordion_header .i_box .one_i:after,
.s_02 .accordion_one .accordion_header.open .i_box .one_i:before,
.s_02 .accordion_one .accordion_header.open .i_box .one_i:after {
    display: none;
}
.s_02 .accordion_one .accordion_inner {
    display: none;
    /* padding: 30px 30px;
	border-left: 2px solid #db0f2f;
	border-right: 2px solid #db0f2f;
	border-bottom: 2px solid #db0f2f;
	box-sizing: border-box; */
}
/* .s_02 .accordion_one:nth-of-type(2) .accordion_inner {
	border-left: 2px solid #ff9a05;
	border-right: 2px solid #ff9a05;
	border-bottom: 2px solid #ff9a05;
  }
  .s_02 .accordion_one:nth-of-type(3) .accordion_inner {
	border-left: 2px solid #1c85d8;
	border-right: 2px solid #1c85d8;
	border-bottom: 2px solid #1c85d8;
  } */
/* .s_02 .accordion_one .accordion_inner .box_one {
	height: 300px;
  } */
.s_02 .accordion_one .accordion_inner p.txt_a_ac {
    margin: 0;
    padding: 1rem;
    background-color: #f5f5f5;
    border-bottom: dashed 1px #fff;
}
@media screen and (max-width: 1024px) {
    .s_02 .accordion_one .accordion_header {
        font-size: 14px;
    }
    /* 新デザインでは i_box のサイズはデフォルト(24x24)を維持 */
}
@media screen and (max-width: 767px) {
    .s_02 .accordion_one .accordion_header {
        font-size: 14px;
        text-align: left;
        /* padding: 15px 60px 15px 15px; */
    }
}

/* /アコーディオン */

/* 交通事故 */
.intro_jiko h4 {
    text-align: center;
}

.jiko .template-symptom .border-orange {
    margin-bottom: 120px;
}

.jiko .template-symptom .border-orange ul {
    margin: 0 auto;
    max-width: 70%;
}

.jiko h4 {
    text-align: center;
}

.jiko .bg-head-container .bg {
    background: #387f64;
    padding: 1em;
    color: #fff;
    width: 30%;
    text-align: center;
}

.jiko_support .bg-brown {
    background: #715546;
    color: #fff;
    padding: 0.5em;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.jiko_support .marker {
    background: #f2e166;
}

.jiko .kanchi {
    width: 100%;
    height: 0;
    padding-top: calc(300 / 1000 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
    background: url(../images/trafficaccident/figure_15@2x.jpg) center center / cover no-repeat;
    position: relative;
}

.jiko .kanchi .h4 {
    position: absolute;
    top: 40%;
    left: 20%;
    font-size: 32px;
}

.jiko .smile img {
    width: 60%;
    margin: 0 auto;
}

.btn_youtube {
    display: flex;
    /* margin: 0 auto; */
    padding: 20px 40px;
    background-color: #fff;
    border: solid 1px #da1725;
    color: #da1725;
    max-width: 400px;
    width: 90%;
    justify-content: space-around;
    font-weight: bold;
    position: relative;
}

.btn_youtube::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 7px;
    height: 7px;
    border-top: 3px solid #da1725;
    border-right: 3px solid #da1725;
    transform: rotate(45deg);
    margin-top: -5px;
}

.post-name-segaup .wrapper {
    width: 100%;
    margin: 30px auto;
    font-size: 1.6rem;
    line-height: 1.5;
}
.post-name-segaup .text_wrapper {
    position: relative;
    margin-bottom: 45px;
}
.post-name-segaup .text {
    height: 90px;
    overflow: hidden;
}
.post-name-segaup .show_more,
.post-name-segaup .show_more2 {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 30px;
    padding-top: 60px;
    text-align: center;
    line-height: 30px;
    background: linear-gradient(180deg, rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 70%);
    cursor: pointer;
    transition: bottom 0.2s;
}
.post-name-segaup .active {
    background: none;
    bottom: -30px;
}

.post-name-segaup .btn_read {
    padding: 20px 80px;
    background-color: #387f64;
    color: #fff;
    font-weight: bold;
}
.btn {
    border: solid 1px #387f64;
    color: #387f64;
    margin-top: 10px;
}
/***nobitaro***/
.post-name-nobitaro .wrapper {
    width: 100%;
    margin: 30px auto;
    font-size: 1.6rem;
    line-height: 1.5;
}
.post-name-nobitaro .text_wrapper {
    position: relative;
    margin-bottom: 45px;
}
.post-name-nobitaro .text {
    height: 90px;
    overflow: hidden;
}
.post-name-nobitaro .show_more,
.post-name-nobitaro .show_more2 {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 30px;
    padding-top: 60px;
    text-align: center;
    line-height: 30px;
    background: linear-gradient(180deg, rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 70%);
    cursor: pointer;
    transition: bottom 0.2s;
}
.post-name-nobitaro .active {
    background: none;
    bottom: -30px;
}

.post-name-nobitaro .btn_read {
    padding: 20px 80px;
    background-color: #387f64;
    color: #fff;
    font-weight: bold;
}

.protein .border-orange-1 ul {
    width: 58%;
}
.top60 {
    margin-top: 60px;
}
.protein .d-md-flex {
    align-items: center;
}
.tokuten {
    margin: 40px 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    border: 2px solid #ccc;
    padding: 30px;
    background-color: #f9f9f9;
}
.tokuten div {
    padding: 0;
}
.tokuten div:last-child {
    padding-left: 40px;
}
.tokuten div:first-child h5 {
    color: #fff;
    font-weight: bold;
    padding: 10px;
    background-color: #ff9326;
}
.adv p {
    line-height: 1em;
    margin: 0 0 40px 0;
}
.adv p span {
    padding: 0.8rem 1rem;
    color: #fff;
    background-image: -webkit-gradient(linear, left top, right top, from(#f83600), to(#f9d423));
    background-image: -webkit-linear-gradient(left, #f83600 0%, #f9d423 100%);
    background-image: linear-gradient(to right, #f83600 0%, #f9d423 100%);
    display: block;
    font-size: 30px;
    font-weight: bold;
    line-height: 1em;
}
.segaupFlow .inner {
    border: solid 1px #387f64;
    border-radius: 50%;
    height: 255px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #387f64;
    position: relative;
}
.segaupFlow .inner:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 30px;
    border-color: transparent transparent transparent #387f64;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -45px;
}
.segaupFlow .inner.last:after {
    content: none;
}
.hikaku {
    border-collapse: collapse;
    width: 100%;
    margin: 0 0 60px 0;
}
.hikaku th {
    background-color: #333;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    border: 1px solid #999;
}
.hikaku th:nth-child(2) {
    background-color: #ffc926;
}
.hikaku td {
    border: 1px solid #ccc;
    font-size: 16px;
}
.hikaku td:first-child {
    background-color: #f9f9f9;
}
.hikaku td:nth-child(2) {
    background-color: #ffffbf;
    font-weight: bold;
}

.form_checkbox {
    text-align: left;
    padding-top: 1.5em;
    font-size: 16px;
}

ul.pont-list {
    padding: 0;
    margin: 0 0 40px 20px;
}
ul.pont-list li {
    padding: 0;
    margin: 0 0 10px 0;
    list-style: disc;
}
.protein .pcnon img {
    width: 100%;
    height: auto;
}

.balloon2 {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: 40px;
    max-width: 100%;
    background: #f8f8f8;
}

.balloon2:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #f8f8f8;
}

.img-fukidashi {
    width: 240px;
    max-width: 60%;
    margin: 0 auto;
}

.form-control {
    padding: 0.375rem 0.6rem;
}

.post-name-recruit .siteHeader_logo img,
.post-name-entry .siteHeader_logo img,
.post-name-thanks .siteHeader_logo img {
    max-height: 46px;
}

.post-name-recruit .siteHeader .siteHeadContainer,
.post-name-entry .siteHeader .siteHeadContainer,
.post-name-thanks .siteHeader .siteHeadContainer {
    padding: 15px 50px;
}

.post-name-recruit .bg2 {
    background: #f3fbfc;
    padding: 80px 0;
}

.post-name-recruit .bg3 {
    padding: 80px 0 0;
}
.recruit-ttl .en {
    color: #0db4d9;
    font-weight: bold;
}

.recruit-ttl h2 {
    margin: 0 0 2em;
    font-weight: bold;
    padding: 0;
    border: none;
    letter-spacing: 2px;
}

.post-name-recruit .text h3 {
    font-size: 1.4em;
    border: none;
    padding: 0;
    margin-bottom: 0.8em;
    color: #0db4d9;
    font-weight: 600;
    border-bottom: none;
}

.post-name-recruit .text h3:after {
    content: none;
}

.post-name-recruit .bg4 {
    padding: 300px 0 100px;
    background: #f3fbfc url(../images/recruit/bg2.jpg) no-repeat;
    background-size: 100%;
    background-position: left top;
    margin-top: 60px;
}

.post-name-recruit .bg4 .inner {
    background: #fff;
    padding: 50px 20px;
}

.post-name-recruit .bg4 .inner h5 {
    font-weight: bold;
    font-size: 1.8em;
    line-height: 1.6;
    color: #0db4d9;
}

.post-name-recruit header .btn-entry,
.post-name-entry header .btn-entry,
.post-name-thanks header .btn-entry {
    width: 200px;
}

table.requirements {
    border: none;
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    border-top: solid 1px #dedede;
}

table.requirements th,
table.requirements td {
    border: none;
    border-bottom: solid 1px #dedede;
    padding: 1.5em 1em;
    text-align: left;
    background: none;
    font-size: 1em;
}

table.requirements th {
    color: #387f64;
    width: 30%;
}

table.requirements th .text-nom {
    font-weight: normal;
}

table.requirements td dl dt {
    background: #387f64;
    color: #fff;
    border-radius: 50px;
    padding: 0 5px;
    margin-right: 10px;
    border: none;
    height: 1.5em;
    font-weight: normal;
    font-size: 0.9em;
}

table.requirements td dl dd {
    border: none;
}
.privacy {
    background: #eee;
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    overflow: scroll;
    height: 200px;
    padding: 20px 30px;
}
.privacy p {
    font-size: 0.8em;
}

.btn-entry {
    background: #387f64;
    color: #fff;
    width: 560px;
    height: 90px;
    line-height: 90px;
    display: block;
    margin: 0 auto;
    font-size: 1.2em;
    max-width: 100%;
    font-weight: bold;
}

.btn-entry:hover {
    color: #fff;
}
.link-googlemap a {
    background: #387f64;
    color: #fff;
    font-size: 0.8em;
    border-radius: 50px;
    padding: 5px 15px;
    display: inline-block;
    margin-left: 10px;
}

.entry-header {
    border-bottom: none;
    background: #387f64;
    color: #fff;
    padding: 60px 0;
    font-weight: bold;
}

.single .entry-header {
    background: none;
    color: #333;
    padding: 0;
    font-weight: normal;
}
.blog-author {
    border: solid 1px #387f64;
    margin: 0 0 40px;
    padding: 20px;
}

.blog-author .head {
    color: #387f64;
    border-bottom: solid 1px;
    padding: 0 0 10px;
    margin: 0 0 15px;
    font-weight: bold;
}

.button {
    background: #387f64;
    color: #fff;
    padding: 10px 40px;
    display: inline-block;
    border-radius: 6px;
}

.button:hover {
    color: #fff;
}

.post-name-recruit .siteHeader {
    background-color: transparent;
}
.post-name-recruit .main_img_wrap img {
    margin-top: -90px;
    width: 100%;
}
.post-name-recruit header .btn-entry {
    background: #0db4d9;
    border-radius: 0px;
}
.post-name-recruit .btn-entry {
    background: #0db4d9;
    color: #fff;
    width: 560px;
    height: 90px;
    line-height: 90px;
    display: block;
    margin: 0 auto 0;
    font-size: 1.2em;
    max-width: 100%;
    font-weight: bold;
    border-radius: 20px;
}
.post-name-recruit .bg1 .recruit_flexbox {
    display: flex;
    align-content: center;
    margin-top: 60px;
    margin-bottom: 60px;
}
.post-name-recruit .bg2 img,
.post-name-recruit .bg3 img {
    border-radius: 20px;
}
.post-name-recruit .bg1 .recruit_flexbox .leftbox {
    width: 50%;
}
.post-name-recruit .bg1 .recruit_flexbox .rightbox {
    width: 50%;
    padding: 4%;
}
.post-name-recruit .skyblue_title {
    color: #0db4d9;
    font-weight: 600;
    line-height: 1.8;
    border-bottom: none;
    font-size: 32px;
}
.post-name-recruit table.requirements th {
    color: #0db4d9;
    width: 30%;
}
.post-name-recruit .skyblue_title:after {
    display: none;
}
.post-name-recruit .textbox .yellow_line {
    background: linear-gradient(transparent 60%, #ffea35 60%);
}
.post-name-recruit .link-googlemap a {
    background: #0db4d9;
}
.post-name-recruit table.requirements td dl dt {
    background: #0db4d9;
}
.post-name-recruit .marker {
    background: linear-gradient(transparent 60%, #ffea35 60%);
}
.post-name-entry .entry-header {
    border-bottom: none;
    background: #0db4d9;
    color: #fff;
    padding: 60px 0;
    font-weight: bold;
}
.post-name-entry table.requirements th {
    color: #0db4d9;
    width: 30%;
}
.post-name-entry input[type="submit"] {
    width: 280px;
    padding: 15px;
    max-width: 80%;
    background: #0db4d9;
}
.post-name-entry .btn-primary {
    background-color: #0db4d9;
    border-color: #0db4d9;
}
.present_bnr_wrap {
    text-align: center;
    margin: 40px 0;
}
.present_bnr_wrap .entry_btn {
    margin: 20px 0;
}
.present_bnr_wrap .entry_btn a {
    background: #0db4d9;
    color: #fff;
    width: 60%;
    height: 50px;
    line-height: 50px;
    display: block;
    margin: 0 auto 0;
    font-size: 1.2em;
    max-width: 100%;
    font-weight: bold;
    border-radius: 50px;
}
.present_bnr_wrap .entry_btn a:hover {
    opacity: 0.8;
}

.top_bnrList {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
}

/********************************

身長検査

*********************************/
#height .pc_hidden {
    display: none;
}
#height .sp_hidden {
    display: block;
}
#height .fv {
    padding-left: 0%;
}
#height .orange_text {
    color: #f19807;
}
#height .sky_blue_bk {
    background: #f1f9ff;
    padding: 60px 0px;
}
#height .main_title {
    text-align: center;
    color: #403e3e;
    font-size: 2.5em;
    line-height: 1.5;
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: solid 1px;
    padding-top: 0;
    border: none;
}
#height h3:after {
    display: none;
}
#height .bk_blue_box {
    background: #006cb8;
    padding: 30px;
    border-radius: 10px;
}
#height .flexbox01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
#height .point_box_wrap .point_box {
    background: #ffffff;
    padding: 30px;
    border-radius: 10px;
    margin-bottom: 30px;
}
#height .point_box_wrap .point_box .flexbox01 {
    align-items: inherit;
}
#height .point_box_wrap .point_box h4 {
    position: relative;
    background: #123688;
    padding: 15px;
    border-left: solid 2.6em #5c9ee7;
    color: #ffffff;
    font-weight: bold;
}
#height .point_box_wrap .point_box h5 {
    margin-bottom: 20px;
    font-weight: bold;
    color: #123688;
    font-size: 24px;
}
#height .point_box_wrap .point_box .list_title {
    border-bottom: solid 1px;
    padding-bottom: 5px;
    margin-bottom: 5px;
    font-weight: bold;
}
#height .point_box_wrap .point_box h4 .b_text {
    font-size: 1.3em;
}
#height .point_box_wrap .point_box h4.point01:before {
    content: "01";
    position: absolute;
    padding: 0em;
    color: white;
    font-weight: 900;
    left: -1.5em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.4em;
}
#height .point_box_wrap .point_box h4.point02:before {
    content: "02";
    position: absolute;
    padding: 0em;
    color: white;
    font-weight: 900;
    left: -1.5em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.4em;
}
#height .point_box_wrap .point_box h4.point03:before {
    content: "03";
    position: absolute;
    padding: 0em;
    color: white;
    font-weight: 900;
    left: -1.5em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.4em;
}
#height .point_box_wrap .point_box .point_inner_title {
    text-align: center;
    font-size: 1.4em;
    font-weight: bold;
    margin-bottom: 10px;
    color: #006cb8;
}
#height .flexbox01 .left_box {
    width: 68%;
}
#height .flexbox01 .image_box {
    width: 30%;
}
#height .flexbox02 {
    display: flex;
    justify-content: space-between;
}
#height .flexbox02 .inner_box {
    width: 31%;
}
#height .flexbox02 .inner_box h5 {
    margin-bottom: 10px;
    font-size: 1.3em;
    font-weight: bold;
    color: #122a88;
    text-align: center;
}
#height .flexbox02 .inner_box h5 .type_icon {
    background: #006cb8;
    color: #ffffff;
    padding: 5px 10px;
    font-size: 1.2rem;
    display: block;
    text-align: center;
    margin-bottom: 5px;
}
#height .flexbox03 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#height .flexbox03 .inner_box {
    width: 24%;
    margin-bottom: 20px;
}
#height .flexbox03 .inner_box h5 {
    margin-bottom: 10px;
    font-size: 1.3em;
    font-weight: bold;
    color: #122a88;
    text-align: center;
}
#height .flexbox03 .inner_box h5 .type_icon {
    background: #006cb8;
    color: #ffffff;
    padding: 5px 10px;
    font-size: 1.2rem;
    display: flex;
    justify-content: center;
    margin-bottom: 5px;
    height: 64px;
    align-items: center;
}
#height .contents_wrap01 {
    margin: 50px 0;
}
#height .contents_wrap01 .bk_blue_box .main_title {
    color: #ffffff;
    border-bottom: none;
}
#height .contents_wrap01 .bk_blue_box ul {
    background: #ffffff;
    padding: 40px 40px 20px;
    border-radius: 10px;
}
#height .contents_wrap01 .bk_blue_box ul li {
    font-size: 1.4em;
    font-weight: bold;
}
#height .contents_wrap01 .bk_blue_box ul li:before {
    content: "\f00c";
    color: #f0830f;
    width: 24px;
    position: relative;
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
}
#height .contents_wrap01 .intro_text p {
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    font-size: 1.4em;
    margin-bottom: 0;
}
#height .contents_wrap01 .contents_inner_box {
    margin-top: 50px;
}
.scroll_table table td {
    background: #f8f9fd;
    font-size: 16px;
    padding: 20px 10px;
}
.scroll_table table td .table_title01 {
    display: block;
    text-align: right;
    margin-top: -5px;
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 10px;
    margin-right: 10px;
    font-weight: bold;
}
.scroll_table table td .table_title02 {
    display: block;
    margin-bottom: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: 10px;
    font-weight: bold;
}
.scroll_table table td.title01 {
    background: #7ab6fc;
    color: #ffffff;
    font-weight: bold;
}
.scroll_table table td.title02 {
    background: #ffffff;
    font-weight: bold;
}
.scroll_table table td.title03 {
    background-image: linear-gradient(
        to right top,
        #7ab6fc calc(50% - 0.5px),
        #fff 50%,
        #fff calc(50% + 0.5px),
        #7ab6fc calc(50% + 1px)
    );
    position: relative;
    color: #ffffff;
}
#height .protein_box {
    margin: 30px 0px;
}
#height .protein_box .inner_box {
    display: flex;
    justify-content: space-between;
}
#height .protein_box .inner_box a {
    width: 48%;
}
#height .contents_wrap03 {
    padding: 60px 0;
}
#height .contents_wrap03 .main_title {
    border-bottom: none;
}
#height .contents_wrap03 .flow_box {
    background: #f5f5f5;
    padding: 40px 30px 20px 30px;
    border-radius: 10px;
    position: relative;
    margin-top: 40px;
}
#height .contents_wrap03 .flow_box .numberbox {
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    background: #123688;
    color: #ffffff;
    font-size: 2em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -30px;
    margin-left: -1px;
}
#height .contents_wrap03 .flow_box .flow_item {
    display: flex;
    justify-content: space-between;
}
#height .contents_wrap03 .flow_box .flow_item .left_box {
    width: 48%;
}
#height .contents_wrap03 .flow_box .flow_item .left_box .title {
    font-weight: bold;
    color: #123688;
    border-top: solid 1px;
    border-bottom: solid 1px;
    padding: 10px;
}
#height .contents_wrap03 .flow_box .flow_item .image_box {
    width: 48%;
}
#height .height_btn {
    color: #ffffff;
    padding: 10px 20px;
    font-weight: bold;
    text-align: center;
    background: linear-gradient(180deg, #5c9ee7 0%, #5c9ee7 50%, #428ddf 50%, #428ddf 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 18px;
    margin: 20px 0px;
}
#height .contents_wrap04 .gallery_wrap {
    background: #ffffff;
    border-radius: 10px;
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#height .contents_wrap04 .gallery_wrap .image_box {
    width: 24%;
}
#height .height_offer {
    margin: 60px 0px;
    background: #123688;
    padding-bottom: 40px;
}
#height .height_offer h3 {
    color: #ffffff;
    text-align: center;
    padding-top: 20px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 10px;
}
#height .height_offer .bk_white_box {
    background: #ffffff;
    padding: 10px 40px 40px;
    width: 94%;
    margin: 0 auto;
}
#height .height_offer .bk_white_box .flexbox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
#height .height_offer .bk_white_box .flexbox .box01 {
    width: 60%;
    display: flex;
}
#height .height_offer .bk_white_box .text02 {
    font-size: 38px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 2px;
    margin-left: 25px;
    margin-bottom: 0;
}
#height .height_offer .bk_white_box .text02 .number {
    font-size: 74px;
    color: #f0830f;
    margin: 0 10px;
}
#height .height_offer .bk_white_box .text02 .number_s {
    color: #123688;
    font-size: 56px;
    margin-right: 5px;
}
#height .height_offer .bk_white_box .flexbox .leftbox {
    width: 40%;
}
#height .height_offer .bk_white_box .price_image {
    text-align: center;
    margin-bottom: 20px;
}
#height .height_offer .bk_white_box .text01 {
    background: #f0830f;
    color: #ffffff;
    display: flex;
    padding: 10px 20px;
    font-weight: bold;
    font-size: 26px;
    margin-bottom: 0;
    align-items: center;
}
#height .height_offer .bk_white_box .text03 {
    font-size: 30px;
    text-align: center;
    border-bottom: solid 2px;
    color: #123688;
    font-weight: bold;
    padding-bottom: 5px;
    margin-top: 20px;
}
#height .height_offer .bk_white_box .text04 {
    text-align: center;
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 0;
}
#height .height_offer .bk_white_box .text04 .red_text {
    color: #f05a4a;
    font-size: 1.4em;
}
#height .offer_wrap .present_box .flexbox {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
}
#height .offer_wrap .present_box .flexbox .item_box {
    width: 46%;
    position: relative;
    border: solid #5c9ee7 2px;
    border-radius: 10px;
    padding: 70px 30px 20px;
    margin-bottom: 30px;
    background: #f7fbfe;
}
#height .offer_wrap .present_box .flexbox .item_box h4 {
    width: 100px;
    height: 100px;
    background: #5c9ee7;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#height .offer_wrap .present_box .flexbox .item_box .imagebox {
    width: 300px;
    margin: 0 auto;
}
#height .offer_wrap .present_box .flexbox .item_box p {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    height: 116px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#height .offer_wrap .present_box h3 {
    color: #f05a4a;
    font-weight: bold;
    text-align: center;
    border-bottom: solid 1px;
    font-size: 36px;
    margin-bottom: 80px;
}
#height .contents_wrap05 {
    padding: 60px 0px;
}
#height .contents_wrap05 .flexbox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
#height .offer_wrap .present_box .height_btn {
    padding: 15px 20px;
    font-size: 21px;
    margin: 40px 0px;
}
#height .contents_wrap05 .flexbox .imagebox {
    width: 300px;
}
#height .contents_wrap05 .flexbox .textbox {
    flex: 1;
    padding-left: 40px;
}
#height .contents_wrap05 .contents_inner_box {
    background: #ffffff;
    padding: 40px;
    border-radius: 10px;
}

/********************************

身長検査

*********************************/
#visit_support h3:after {
    display: none;
}
#visit_support .pc_hidden {
    display: none;
}
#visit_support .sp_hidden {
    display: block;
}
#visit_support .orange_text {
    color: #f0830f;
}
#visit_support .main_title {
    text-align: center;
    color: #403e3e;
    font-size: 2.5em;
    line-height: 1.5;
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: solid 1px;
}
#visit_support .fv {
    padding-left: 0%;
}
#visit_support .flexbox01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
#visit_support .flexbox01 .image_box {
    width: 260px;
}
#visit_support .flexbox01 .left_box {
    flex: 1;
    padding-left: 40px;
}
#visit_support .flexbox02 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
#visit_support .flexbox02 .inner_box {
    width: 48%;
    background: #ffffff;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
}
#visit_support .flexbox02 .inner_box p {
    margin-bottom: 0px;
}
#visit_support .flexbox02 .inner_box h4 {
    font-weight: bold;
    border-bottom: solid 1px;
    padding-bottom: 5px;
    margin-bottom: 10px;
}
#visit_support .visit_support_offer {
    margin: 60px 0px;
    background: #10887b;
    padding-bottom: 40px;
}
#visit_support .visit_support_offer h2 {
    color: #ffffff;
    text-align: center;
    padding-top: 20px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 10px;
    border-bottom: none;
    font-size: 3em;
}
#visit_support .visit_support_offer h3:after,
#visit_support .visit_support_offer .bk_white_box h3:after {
    display: none;
}
#visit_support .visit_support_offer .bk_white_box {
    background: #ffffff;
    padding: 30px 40px 10px;
    width: 94%;
    margin: 0 auto;
}
#visit_support .visit_support_offer .bk_white_box h3 {
    text-align: center;
    font-weight: bold;
    font-size: 1.8em;
    border-bottom: solid 2px;
    padding-bottom: 5px;
    margin-bottom: 20px;
}

#visit_support .visit_support_offer .bk_white_box .top_text {
    text-align: center;
    font-size: 1.6em;
    color: #f05a4a;
    font-weight: bold;
    margin-bottom: 0;
}
#visit_support .visit_support_offer .bk_white_box .flexbox {
    display: flex;
    justify-content: center;
    align-items: center;
}
#visit_support .visit_support_offer .bk_white_box .text01 {
    background: #f0830f;
    color: #ffffff;
    display: inline-block;
    padding: 10px 20px;
    font-weight: bold;
    font-size: 26px;
    margin-bottom: 0;
    margin-right: 25px;
}
#visit_support .visit_support_offer .bk_white_box .flexbox .tel_number {
    font-size: 4em;
    font-weight: bold;
    margin-bottom: 0;
}
#visit_support .visit_support_offer .bk_white_box .hour {
    text-align: center;
    font-weight: bold;
}
#visit_support .contents_wrap01 {
    padding: 0px 0px 60px;
}
#visit_support .contents_wrap02 {
    background: #edf5f4;
    padding: 60px 0px;
    position: relative;
}
#visit_support .contents_wrap02 .flexbox02 {
    margin-top: 50px;
}
#visit_support .contents_wrap02 .bottom_box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
#visit_support .contents_wrap02 .bottom_box .image {
    width: 240px;
    margin-left: 40px;
}
#visit_support .contents_wrap02 .bottom_box .text {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0px;
    color: #10887b;
}
#visit_support .contents_wrap02 .target_area {
    background: #ffffff;
    padding: 40px;
    border-radius: 10px;
}
#visit_support .contents_wrap02 .example h4.title {
    color: #10887b;
    font-weight: bold;
    font-size: 22px;
    border-left: solid 3px #10887b;
    padding: 0px 10px;
    margin-bottom: 15px;
}
#visit_support .contents_wrap02 .target_area .main_title {
    font-size: 2.1em;
}
#visit_support .contents_wrap02 .target_area .target_box_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#visit_support .contents_wrap02 .target_area .target_box_wrap .target_box {
    width: 31%;
    margin: 30px 1%;
}
#visit_support .contents_wrap02 .target_area .target_box_wrap .target_box h4 {
    color: #10887b;
    font-weight: bold;
    font-size: 21px;
    text-align: center;
    margin: 10px 0px;
}
#visit_support .contents_wrap02 .price_area {
    background: #ffffff;
    padding: 40px;
    border-radius: 10px;
    margin-top: 60px;
}
#visit_support .contents_wrap02 .price_area .price {
    font-size: 30px;
    font-weight: bold;
    color: #f05a4a;
    margin-bottom: 0;
}
#visit_support .contents_wrap02 .price_area .example p {
    background: #fbf7f4;
    padding: 15px;
    border-radius: 10px;
    font-size: 18px;
    line-height: 1.8;
}
#visit_support .area_wrap {
    padding-top: 60px;
}
#visit_support .area_wrap .main_title {
    background: #f0830f;
    color: #ffffff;
    padding: 15px 10px 10px;
    font-size: 30px;
    line-height: 1.8;
}
#visit_support .area_wrap .orange_area {
    border: solid 1px #f0830f;
}
#visit_support .area_wrap .main_title .orange_text {
    color: #ffffff;
}
#visit_support .area_wrap .orange_area .flexbox {
    display: flex;
    justify-content: space-between;
    padding: 0 40px 40px;
    align-items: center;
}
#visit_support .area_wrap .orange_area .flexbox .left_box {
    width: 48%;
}
#visit_support .area_wrap .orange_area .flexbox .right_box {
    width: 48%;
}
#visit_support .area_wrap .orange_area .flexbox .right_box p {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 0;
}
#visit_support .flow_wrap {
    padding: 60px 0px 30px;
}
#visit_support .flow_wrap .flow_box_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#visit_support .flow_wrap .flow_box_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#visit_support .flow_wrap .flow_box_wrap .flow_box {
    width: 48%;
    margin-bottom: 20px;
    position: relative;
    border: solid 1px #178376;
    padding: 20px;
    border-radius: 10px;
    margin-top: 60px;
}
#visit_support .flow_wrap .flow_box_wrap .flow_box h4 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 10px;
    color: #178376;
}
#visit_support .flow_wrap .flow_box_wrap .flow_box .image {
    margin-bottom: 10px;
}
#visit_support .flow_wrap .flow_box_wrap .flow_box .step_icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    margin-top: -50px;
}
#visit_support .contents_wrap04 {
    padding: 60px 0px;
    background: #fbf7f4;
}
#visit_support .contents_wrap04 .flexbox01 {
    margin-bottom: 0px;
}
#visit_support .contents_wrap04 .reason01,
#visit_support .contents_wrap04 .reason02,
#visit_support .contents_wrap04 .reason03,
#visit_support .contents_wrap04 .reason04,
#visit_support .contents_wrap04 .reason05 {
    background: #ffffff;
    padding: 30px;
    border-radius: 10px;
    margin-bottom: 40px;
    border: 1px solid #10887b;
}
#visit_support .contents_wrap04 .reason_title {
    background: #10887b;
    padding: 10px;
    color: #ffffff;
    font-weight: bold;
}
#visit_support .contents_wrap04 .text01 {
    text-align: center;
    color: #f0830f;
    font-size: 21px;
    margin-bottom: 0;
}
#visit_support .contents_wrap04 .reason02 .image_box {
    display: flex;
    justify-content: space-between;
}
#visit_support .contents_wrap04 .reason02 .image_box .reason_img {
    width: 24%;
}
#visit_support .contents_wrap04 .reason02 .image_box .reason_img .text {
    text-align: center;
    font-weight: bold;
    margin-top: 5px;
}
#visit_support .contents_wrap04 .reason04 .item_box {
    padding: 60px 0 40px 0;
}
#visit_support .contents_wrap04 .reason04 .item_box.border_bot {
    border-bottom: dashed 1px #cccccc;
}
#visit_support .contents_wrap04 .reason04 .item_box .image_box .image {
    text-align: center;
    margin-bottom: 20px;
}
#visit_support .contents_wrap04 .reason04 .item_box .image_box .image img {
    width: 140px;
}
#visit_support .contents_wrap04 .reason04 .item_box .flexbox01 {
    align-items: inherit;
}
#visit_support .contents_wrap04 .reason04 .item_box h5 {
    color: #10887b;
    font-weight: bold;
    font-size: 22px;
    border-left: solid 3px #10887b;
    padding: 0px 10px;
    margin-bottom: 5px;
}
#visit_support .contents_wrap04 .reason04 .item_box .left_box .s_text {
    font-size: 14px;
}
#visit_support .contents_wrap04 .reason04 .item_box .left_box .sbox {
    margin-bottom: 20px;
}
#visit_support .contents_wrap04 .reason04 .item_box .left_box .sbox .title {
    font-weight: bold;
    font-size: 18px;
    border-bottom: solid 1px;
    padding-bottom: 5px;
    margin-bottom: 10px;
}
#visit_support .contents_wrap04 .reason04 .item_box .left_box .sbox .text {
    margin-bottom: 0px;
}
#visit_support .contents_wrap04 .reason04 .item_box table th {
    width: 85px;
    background: #edf5f4;
    color: #10887b;
}
#visit_support .contents_wrap04 .reason04 .item_box table td {
    background: none;
    text-align: left;
    padding: 10px;
}
#visit_support .main_title .orange_text .b_number {
    font-size: 64px;
}
#visit_support .voice_wrap {
    padding: 60px 0;
    background: #edf5f4;
}
#visit_support .voice_wrap .flexbox02 {
    flex-wrap: wrap;
    justify-content: center;
}
#visit_support .voice_wrap .voice_box {
    background: #ffffff;
    padding: 15px 15px 15px;
    border-radius: 10px;
    margin-top: 30px;
    width: 31%;
    margin: 30px 1% 0;
}
#visit_support .voice_wrap .voice_box .image {
    text-align: center;
    margin-bottom: 10px;
}
#visit_support .voice_wrap .voice_box .text {
    margin-bottom: 15px;
}
#visit_support .voice_wrap .voice_box .name {
    margin-bottom: 0px;
    text-align: right;
}
#visit_support .voice_wrap .main_title .s_text {
    display: block;
    font-size: 14px;
}
#visit_support .staff_wrap .flexbox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#visit_support .staff_wrap .flexbox .staff_box {
    width: 48%;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    padding: 1%;
    margin-bottom: 30px;
    display: flex;
}
#visit_support .staff_wrap .flexbox .staff_box .imagebox {
    width: 220px;
    height: 100%;
    margin-right: 15px;
}
#visit_support .staff_wrap .flexbox .staff_box .leftbox {
    width: calc(100% - 235px);
}
#visit_support .staff_wrap .flexbox .staff_box .text01 {
    font-weight: bold;
    margin: 10px 0px;
}
#visit_support .staff_wrap .flexbox .staff_box .name_wrap .title {
    margin-bottom: 0px;
    font-weight: bold;
    color: #10887b;
}
#visit_support .staff_wrap .flexbox .staff_box .name_wrap .name {
    margin-bottom: 0;
}
#visit_support .contents_wrap05 {
    padding: 60px 0px;
}
#visit_support .contents_wrap05 .flexbox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    padding: 2%;
}
#visit_support .contents_wrap05 .flexbox .name_box {
    text-align: center;
    margin-top: 10px;
}
#visit_support .contents_wrap05 .flexbox .name_box .text02 {
    font-weight: bold;
}
#visit_support .contents_wrap05 .flexbox .imagebox {
    width: 300px;
}
#visit_support .contents_wrap05 .flexbox .textbox {
    flex: 1;
    padding-left: 40px;
}
#visit_support .faq_wrap {
    padding: 60px;
    background: #fbf7f4;
}
#visit_support .faq_wrap .faq_box {
    background: #ffffff;
    padding: 20px;
    border-radius: 10px;
    margin-top: 40px;
}
#visit_support .faq_wrap .faq_box h4 {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 21px;
    display: flex;
    align-items: center;
    border-bottom: solid 1px #006cb8;
    padding-bottom: 10px;
}
#visit_support .faq_wrap .faq_box h4 .q_icon {
    background: #006cb8;
    color: #ffffff;
    padding: 2px 15px 10px;
    font-size: 28px;
    margin-right: 10px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
}
#visit_support .faq_wrap .faq_box .a_box {
    display: flex;
    align-items: center;
}
#visit_support .faq_wrap .faq_box .a_box .a_icon {
    color: #f05a4a;
    font-size: 30px;
    margin-right: 10px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    font-weight: bold;
}
#visit_support .faq_wrap .faq_box .a_box .text {
    margin-bottom: 0px;
    flex: 1;
}
.visit_support_header p {
    margin-bottom: 0;
}
.visit_support_header .headerRight {
    align-items: center;
}
.visit_support_header .headerRight .inner_box01 {
    margin-right: 40px;
}
.visit_support_header .header_right_btn_wrap .tel_hour {
    text-align: right;
}
.visit_support_header .header_right_btn_wrap .tel_number {
    font-size: 34px;
    font-weight: bold;
}
.post-name-visit_support .footer-before {
    display: none;
}
.post-name-visit_support .siteFooter .navbar-header {
    display: none !important;
}
.streetview {
    margin-bottom: 40px;
}
.streetview_title {
    line-height: 2.1em;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    margin: 20px;
}
.streetview_title span {
    display: block;
    font-size: 32px;
}
.streetview iframe {
    height: 520px;
}
.googlemap iframe {
    height: 420px;
}
.googlemap .address {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 40px;
}

@media only screen and (max-width: 1220px) {
    .device-pc .gMenu > li > a {
        padding: 20px 10px;
    }
    .gMenu > li .gMenu_name {
        font-size: 15px;
    }
}

/********************************

足と膝の専門外来

*********************************/
.page-id-808 .siteContent {
    padding: 3.5rem 0 0rem;
}
#foot_gairai .sp_br {
    display: none;
}
#foot_gairai .sp_hidden {
    display: block;
}
#foot_gairai .pc_hidden {
    display: none;
}
#foot_gairai .fv {
    padding-left: 0px;
}
#foot_gairai .mg_40 {
    margin: 40px 0px;
}
#foot_gairai .mg_60 {
    margin: 60px 0px;
}
#foot_gairai .bk_green_box {
    background: rgb(143, 195, 31, 0.15);
    padding: 40px;
    border-radius: 10px;
}
#foot_gairai .red_text {
    color: #e60012;
}
#foot_gairai .main_title {
    text-align: center;
    color: #006934;
    font-size: 2.5em;
    line-height: 1.5;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: solid 1px;
    font-weight: bold;
    border-top: none;
    padding-top: 0;
}
#foot_gairai .main_title:after {
    display: none;
}
#foot_gairai h4.m_title {
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
    font-size: 26px;
    margin-top: 20px;
}
#foot_gairai .faq_wrap .faq_box {
    background: #ffffff;
    padding: 20px;
    border-radius: 10px;
    margin-top: 40px;
}
#foot_gairai .faq_wrap .faq_box h4 {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 21px;
    display: flex;
    align-items: center;
    border-bottom: solid 1px #006cb8;
    padding-bottom: 10px;
}
#foot_gairai .faq_wrap .faq_box .a_box {
    display: flex;
    align-items: center;
}
#foot_gairai .faq_wrap .faq_box h4 .q_icon {
    background: #006934;
    color: #ffffff;
    padding: 2px 15px 10px;
    font-size: 28px;
    margin-right: 10px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
}
#foot_gairai .faq_wrap .faq_box .a_box .a_icon {
    color: #ea5514;
    font-size: 30px;
    margin-right: 10px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    font-weight: bold;
}
#foot_gairai .faq_wrap .faq_box .a_box .innerbox {
    width: calc(100% - 45px);
}
#foot_gairai .faq_wrap .faq_box .a_box .text {
    margin-bottom: 0px;
    flex: 1;
}
#foot_gairai .stop_bnr_area {
    margin-top: 40px;
}
#foot_gairai .price_area .visit_support_offer h3 {
    background: #ea5514;
    text-align: center;
    border-bottom: none;
    color: #ffffff;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 10px;
}
#foot_gairai .price_area .visit_support_offer h3:after {
    display: none;
}
#foot_gairai .price_area .visit_support_offer {
    border: solid 1px #ea5514;
    padding-bottom: 20px;
    background: url(https://nakai-sports.com/wp-content/themes/lightning-child/images/foot_gairai/price_bk.jpg);
    background-size: cover;
    background-position: bottom;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box {
    padding: 0 30px;
    position: relative;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox01 {
    display: flex;
    align-items: center;
    justify-content: center;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox01 .text01 {
    margin-bottom: 0;
    background: #231815;
    font-size: 25px;
    color: #ffffff;
    font-weight: bold;
    padding: 5px 40px;
    letter-spacing: 2px;
    margin-right: 20px;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox01 .text02 {
    width: 300px;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .arrow_down_wrap {
    text-align: center;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .arrow_down_wrap img {
    width: 60px;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 {
    display: flex;
    justify-content: center;
    align-items: center;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .leftbox {
    position: relative;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .leftbox .ribbon {
    width: 370px;
    margin-bottom: 0;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .centerbox .off_icon {
    width: 110px;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .centerbox {
    margin: 0 20px;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .text02 {
    font-size: 62px;
    font-weight: bold;
    color: #ea5514;
    margin-bottom: 0;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .text02 .number02 {
    font-size: 28px;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .rightbox .text01 {
    font-size: 25px;
    color: #d7001d;
    font-weight: bold;
    margin-bottom: 0;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .rightbox .text01 .number01 {
    font-size: 36px;
}
#foot_gairai .price_area .visit_support_offer .bk_white_box .flexbox03 .rightbox .text01 .number02 {
    font-size: 36px;
}
.foot_gairai_header .siteHeadContainer {
    padding: 10px 20px;
}
.foot_gairai_header .siteHeader_logo img {
    max-height: 70px;
}
.foot_gairai_header .headerRight {
    width: 490px;
    align-items: center;
}
.foot_gairai_header .headerRight .tel_number {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 0;
    color: #da6700;
}
.foot_gairai_header .headerRight table {
    border: none;
}
.foot_gairai_header .headerRight table th {
    background: none;
    border: none;
    text-align: left;
    padding: 0;
    width: 100px;
    font-size: 18px;
    vertical-align: middle;
}
.foot_gairai_header .headerRight table td {
    background: none;
    border: none;
    text-align: left;
    padding: 0;
    font-size: 16px;
}
.foot_gairai_header .headerRight .header_right_btn_wrap a {
    display: flex;
    width: 180px;
    height: 60px;
    background: #715543;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
}
.foot_gairai_contents_area01 h3 {
    background: #8fc31f;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    color: #ffffff;
    font-weight: bold;
    padding: 10px;
    margin-top: -66px;
    /* position: absolute; */
    width: 76%;
    margin: -66px auto 0;
    font-size: 28px;
    align-items: center;
    line-height: 1;
    letter-spacing: 1px;
}
.foot_gairai_contents_area01 h4 .number {
    font-size: 48px;
}
.foot_gairai_contents_area01 .bk_green_box {
    padding: 0 40px 30px;
    margin-top: 60px;
}
.foot_gairai_contents_area01 .bk_green_box .flexbox {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    align-items: center;
}
.foot_gairai_contents_area01 .bk_green_box .flexbox .leftbox {
    width: 540px;
    padding-right: 30px;
}
.foot_gairai_contents_area01 .bk_green_box .flexbox .leftbox .box01 {
    display: flex;
    justify-content: center;
}
.foot_gairai_contents_area01 .bk_green_box .flexbox .leftbox .box02 {
    display: flex;
    justify-content: space-between;
}
.foot_gairai_contents_area01 .bk_green_box .flexbox .leftbox .imgbox {
    width: 240px;
    text-align: center;
}
.foot_gairai_contents_area01 .bk_green_box .flexbox .leftbox .imgbox .title {
    font-weight: 600;
    font-size: 18px;
}
.foot_gairai_contents_area01 .bk_green_box .flexbox .rightbox {
    width: calc(100% - 540px);
}
.foot_gairai_contents_area02 .orange_line_area {
    border: solid 3px #ea5514;
    border-radius: 10px;
    padding: 40px;
}
.foot_gairai_contents_area02 ul {
    display: flex;
    flex-wrap: wrap;
    margin: 60px 0 20px 0px;
    padding: 0;
}
.foot_gairai_contents_area02 ul li {
    font-size: 21px;
    font-weight: bold;
    width: 50%;
    padding-left: 0px;
}
.foot_gairai_contents_area02 ul li img {
    width: 34px;
    margin-right: 10px;
}
.foot_gairai_contents_area02 .bottom_imagebox {
    display: flex;
}
.foot_gairai_contents_area03 .flexbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.foot_gairai_contents_area03 .flexbox .innerbox {
    width: 48%;
    background: rgb(239, 128, 93, 0.2);
    padding: 20px;
    margin-bottom: 60px;
    position: relative;
}
.foot_gairai_contents_area03 h4.m_title {
    margin-bottom: 70px;
}
.foot_gairai_contents_area03 .flexbox .innerbox h5 {
    margin: 15px 0;
    font-weight: bold;
    line-height: 1.8;
}
.foot_gairai_contents_area03 .flexbox .innerbox .number {
    position: absolute;
    top: -30px;
    font-size: 60px;
    font-weight: bold;
    color: #ea5514;
    left: 0;
    margin-top: -20px;
}
.foot_gairai_contents_area04 .flow_list_area .flow_item {
    border: solid 1px #006934;
    padding: 15px;
    display: flex;
    align-items: center;
}
.foot_gairai_contents_area04 h4.m_title {
    margin-bottom: 10px !important;
}
.foot_gairai_contents_area04 .info_text {
    text-align: center;
    font-size: 19px;
}
.foot_gairai_contents_area04 .flow_list_area .flow_item .image {
    width: 300px;
}
.foot_gairai_contents_area04 .flow_list_area .flow_item .text {
    width: calc(100% - 300px);
    padding-left: 20px;
}
.foot_gairai_contents_area04 .flow_list_area .flow_item .text p {
    margin-bottom: 0px;
}
.foot_gairai_contents_area04 .flow_list_area .flow_item h5 {
    font-weight: bold;
    margin-bottom: 10px;
}
.foot_gairai_contents_area04 .flow_list_area .arrow_down_wrap {
    text-align: center;
    margin: 15px 0px;
}
.foot_gairai_contents_area04 .flow_list_area .arrow_down_wrap img {
    width: 60px;
}
.foot_gairai_contents_area05 .flexbox {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}
.foot_gairai_contents_area05 .inner_box {
    margin-bottom: 20px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    padding: 40px;
}
.foot_gairai_contents_area05 .flexbox .imagebox {
    width: 34%;
}
.foot_gairai_contents_area05 .flexbox .textbox {
    width: 64%;
}
.foot_gairai_contents_area06 {
    background: rgb(252, 227, 205, 0.2);
    padding: 60px 0px;
}
.foot_gairai_contents_area07 {
    margin-top: 60px;
    background: rgb(143, 195, 31, 0.15);
    padding: 60px 0px;
}
.foot_gairai_contents_area07 .inner_white_box {
    background: #ffffff;
    padding: 30px;
    border-radius: 10px;
}
.foot_gairai_contents_area07 .flexbox01 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
    margin-top: 50px;
}
.foot_gairai_contents_area07 .flexbox01 .leftbox {
    display: flex;
    align-items: center;
    margin-right: 10px;
}
.foot_gairai_contents_area07 .flexbox01 .leftbox .qr_code {
    width: 150px;
    margin-bottom: 0;
}
.foot_gairai_contents_area07 .flexbox01 .rightbox {
    display: flex;
    align-items: center;
    margin-left: 10px;
}
.foot_gairai_contents_area07 .flexbox01 .rightbox .tel_number {
    margin-bottom: 0;
    font-size: 36px;
    font-weight: bold;
}
.foot_gairai_contents_area07 .flexbox02 {
    display: flex;
    align-items: center;
    justify-content: center;
}
.foot_gairai_contents_area07 .infotext {
    text-align: center;
    font-weight: bold;
    font-size: 21px;
}
.foot_gairai_contents_area07 .flexbox02 .table_area {
    width: 270px;
}
.foot_gairai_contents_area07 .flexbox02 .table_area table {
    border: none;
}
.foot_gairai_contents_area07 .flexbox02 .table_area table th {
    border: none;
    background: none;
    padding: 5px;
    font-size: 18px;
    text-align: left;
    width: 75px;
}
.foot_gairai_contents_area07 .flexbox02 .table_area table td {
    border: none;
    background: none;
    padding: 5px;
    font-size: 18px;
    text-align: left;
}
.foot_gairai_contents_area07 .name {
    width: 270px;
    text-align: center;
    color: #ffffff;
    background: #ea5514;
    font-size: 25px;
    padding: 5px;
    font-weight: bold;
    margin: 0 20px;
}
#foot_gairai .price_area .container {
    text-align: center;
}
.foot_gairai_before_footer {
    margin: 60px auto;
}
#foot_gairai .price_table_area {
    margin: 60px 0px;
}
#foot_gairai .price_table_area table {
    margin: 0 auto;
    width: 80%;
}
#foot_gairai .price_table_area table th {
    width: 30%;
    font-size: 16px;
    border: solid 1px #cccccc;
}
#foot_gairai .price_table_area table td {
    font-size: 16px;
    text-align: left;
    border: solid 1px #cccccc;
}
#foot_gairai .price_table_area h4 {
    margin: 20px 0 10px 0;
    text-align: center;
}
#foot_gairai .price_table_area p.last_text {
    margin: 0 auto;
    width: 80%;
}

table td.table_title {
    background: #f9f9f9;
    font-weight: bold;
    text-align: center;
}
.post-name-adult .sp_table_br {
    display: none;
}

.hikaku-table {
    padding-bottom: 40px;
}

.hikaku-table th {
    background-color: #fff;
}

.hikaku-table tr th:first-child {
    background: #387f64;
    color: #fff;
    font-weight: bold;
    width: 25%;
}

.hikaku-table thead th:nth-child(2),
.hikaku-table thead th:nth-child(3) {
    background: #387f64;
    color: #fff;
    font-weight: bold;
}

.hyouka-1,
.hyouka-2,
.hyouka-3 {
    font-size: 3rem;
    font-weight: bold;
}

.hyouka-1 {
    color: #715546;
}

.hyouka-2 {
    color: #da6700;
}

.hyouka-3 {
    color: #ff0000;
}

.hikaku-table__text {
    font-weight: bold;
}

.o2-video_box {
    margin: auto;
    text-align: center;
    margin-bottom: 40px;
}

.o2-video_box video {
    max-width: 600px;
    width: 100%;
}

.note-text {
    font-size: 14px;
    line-height: 1.6;
}

.header-tel-2 {
    text-align: right;
}

.header-tel-2_wrapper {
    border: solid 1px #387f64;
    display: inline-flex;
    flex-direction: column;
    padding: 1px;
    width: 286px;
    max-width: 286px;
}

.header-tel-2_top {
    display: flex;
    flex-direction: column;
    color: #387f64;
    font-weight: bold;
    font-size: 1rem;
}

.header-tel-1_top {
    display: flex;
    flex-direction: column;
    color: #da6700;
    font-weight: bold;
    font-size: 1rem;
}

.header-tel-2_top-main {
    font-size: 2.1rem;
    line-height: 1;
    text-align: left;
}

.header-tel-2_top-main small {
    font-size: 45%;
    font-weight: bold;
}

.header-tel-2_note {
    text-align: right;
    font-size: 10px;
    color: #333;
    white-space: pre;
}

.header-tel-2_top-title {
    text-align: left;
    padding-left: 4px;
}

.headerRight .tel {
    display: flex;
    /* align-items: center; */
    flex: 1;
    padding: 1px 4px;
    border: solid 1px #da6700;
    max-width: 286px;
    margin-top: 2px;
}

.headerRight .tel a {
    color: #da6700;
}

.header-tel_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    display: flex;
    align-items: stretch;
    margin-top: 4px;
}

/* headerのモーダル
------------------------------ */

.footer-visit-massage a {
    color: #fff !important;
    display: block;
    padding: 20px;
    text-align: center;
    font-weight: bold;
    font-size: 2rem;
    background: #387f64;
}

.telmodal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}
.telmodal.is-open {
    display: block;
}
.telmodal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}
.telmodal__panel {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 520px);
    max-height: 86vh;
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    padding: 18px 18px 20px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}
.telmodal__close {
    position: sticky;
    top: 0;
    margin-left: auto;
    display: block;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.telmodal__title {
    font-size: 18px;
    margin: 6px 0 14px;
    font-weight: 700;
}
.telmodal__section {
    padding: 14px 0;
    border-top: 1px solid #e6e6e6;
}
.telmodal__section:first-of-type {
    border-top: none;
    padding-top: 0;
}
.telmodal__h {
    font-size: 14px;
    margin: 0 0 10px;
    font-weight: 700;
}
.telmodal__tel {
    display: block;
    font-size: 20px;
    font-weight: 800;
    text-decoration: none;
    padding: 14px 12px;
    margin-bottom: 10px;
    text-align: center;
}
.telmodal a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
    color: #fff !important;
}
.telmodal__tel-1 {
    background: #da6700;
    color: #fff;
}
.telmodal__tel-2 {
    background: #387f64;
    color: #fff;
}
.telmodal__info {
    font-size: 14px;
    line-height: 1.7;
    color: #333;
}
h3.telmodal__h {
    border: none;
}
h3.telmodal__h::after {
    display: none;
}

/* PC・タブレットでは tel リンクを無効化 */
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}

/* スマホサイズのみ tel リンクを有効化 */
@media screen and (max-width: 767px) {
    a[href^="tel:"] {
        pointer-events: auto;
        cursor: pointer;
    }
}

/* ヘッダーの電話番号は同じフォントに固定 */
.header-tel_wrapper a{
  font-family: "Noto Sans JP", "Noto Sans", "Yu Gothic", "Meiryo", sans-serif !important;
  font-weight: 700;                 /* 必要なら */
  font-variant-numeric: tabular-nums; /* 数字の見た目（幅）を揃える */
  letter-spacing: 0;
}

.post-categories .post-categories__item a {
    font-size: .8em;
    color: #387f64;
    border: solid 1px #387f64;
    display: inline-block;
    font-weight: bold;
    padding: 0 5px;
    line-height: 1.6;
    margin-right: 5px;
}

.single .entry-body table {
    margin-bottom: 24px;
}

.single .entry-body table td,
.single .entry-body table th {
    text-align: left;
}

/* 症状テンプレート */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@1,900&display=swap');

.template-symptom-new {
    color: #000;
}
.s-index .section-ttl {
    font-weight: 900;
    font-size: 42px;
    border: none;
    margin: 0;
}
.s-index ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
}
.s-index ul:after {
    content: '';
    display: block;
    background: url(../images/Index.png) no-repeat;
    background-size: 100%;
    width: 122px;
    height: 348px;
    position: absolute;
    right: -100px;
    top: -80px;
    z-index: -1;
}
.s-index ul li {
    border: solid 1px #87D49E;
    border-bottom: none;
    margin: 0;
}
.s-index ul li:nth-child(even) {
    border-left: none;
}
.s-index ul li:nth-last-child(-n+2) {
    border-bottom: solid 1px #87D49E;
}
.s-index ul li a {
    display: flex;
    align-items: center;
    padding: 30px 50px 30px 20px;
    font-weight: bold;
    font-size: 18px;
    gap: 16px;
    color: #000;
    background: rgba(255,255,255,.9) url(../images/ico-arrow-down.png) no-repeat;
    background-size: 24px;
    background-position: right 20px center;
}
.s-index ul li a .number {
    font-family: "Roboto Condensed", sans-serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: italic;
    font-size: 32px;
    color: #387F64;
}
.s-okomari {
    background: url(../images/pc_bg1.jpg) no-repeat;
    background-size: 100% 100%;
    background-position: center top;
    padding: 0 0 100px;
}
.s-okomari .container {
    position: relative;
    padding-top: 100px;
}
.s-okomari .container .section-ttl{
    position: absolute;
    width: 320px;
    right: -40px;
    top: 0;
}
.s-okomari .container .section-ttl .section-ttl-inner {
    position: relative;
}
.s-okomari .container .section-ttl .section-ttl-inner h2 {
    position: absolute;
    border: none;
    margin: 0;
    padding: 0;
    font-size: 36px;
    display: flex;
    gap: 10px;
    left: 80px;
    top: 200px;
}
.s-okomari .container .section-ttl .section-ttl-inner h2>div {
    writing-mode: vertical-rl;
    font-weight: 900;
    background: #fff;
    align-self: flex-start;
    border-right: solid 4px #B3FF50;
    padding: 10px 5px;
}
.s-okomari .container .section-ttl .section-ttl-inner h2>div:first-child {
    order: 1;
}
.s-okomari .container .section-ttl .section-ttl-inner h2>div:last-child {
    margin-top: 40px;
}
.s-okomari .container .section-ttl .section-ttl-inner h2 .color {
    color: #B8990B;
}
.s-okomari .inner {
    position: relative;
    z-index: 10;
}
.s-okomari .inner .head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.s-okomari .inner .head>div {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 900;
    font-size: 32px;
}
.s-okomari .inner .head>div .bg {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 4px 12px;
}
.s-okomari .inner .head>div .bg span {
    color: #E5CE3A;
}
.s-okomari .inner h3 {
    color: #007549;
    font-size: 56px;
    font-weight: 900;
    border: none;
    padding: 0;
    margin: 20px 0 40px;
    font-style: italic;
}
.s-okomari .inner h3:after {
    content: none;
}
.s-okomari .inner p {
    font-size: 18px;
    line-height: 2;
    font-weight: 400;
}
.s-okomari .inner p .marker,
.s-factor .inner .text .marker,
.s-philosophy .step .inner p .marker {
    background:linear-gradient(transparent 60%, #FFF942 60%);
}
.s-factor .head {
    position: relative;
    z-index: 5;
}
.s-okomari .inner p a {
    color: #014B2F;
    text-decoration: underline;
}
.s-onayami {
    background: linear-gradient(90deg, #3E4D54 0%, #1B1C21 100%);
    position: relative;
}
.s-onayami:after {
    content: '';
    display: block;
    background: url(../images/pc_bg2.png) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 122px;
    position: absolute;
    bottom: -122px;
}
.s-onayami .container {
    position: relative;
    padding-top: 100px;
}
.s-onayami .container .section-ttl{
    position: absolute;
    left: -40px;
    top: -40px;
    z-index: 10;
}
.s-onayami .container .section-ttl .section-ttl-inner h2 {
    border: none;
    margin: 0;
    padding: 0;
    font-size: 36px;
    display: flex;
    gap: 10px;
}
.s-onayami .container .section-ttl .section-ttl-inner h2>div {
    writing-mode: vertical-rl;
    font-weight: 900;
    background: rgba(0,0,0,.8);
    color: #fff;
    align-self: flex-start;
    border-right: solid 4px #B3FF50;
    padding: 10px 5px;
}
.s-onayami .container .section-ttl .section-ttl-inner h2>div:first-child {
    order: 1;
}
.s-onayami .container .section-ttl .section-ttl-inner h2>div:last-child {
    margin-top: 80px;
}
.s-onayami .container .section-ttl .section-ttl-inner h2 .color {
    color: #E5CE3A;
}
.s-onayami .onayamiList-container {
    position: relative;
    width: 780px;
    max-width: 100%;
    margin: 0 auto;
}
.s-onayami .onayamiList-container:after {
    content: '';
    display: block;
    background: url(../images/Check.png) no-repeat;
    background-size: 100%;
    width: 391px;
    height: 122px;
    position: absolute;
    left: -60px;
    top: -90px;
}
.s-onayami .onayamiList-container ul {
    margin: 0;
    padding: 40px;
    position: relative;
    background: url(../images/check_bg.png) repeat;
    background-size: 780px;
    z-index: 10;
    margin-bottom: 80px;
}
.s-onayami .onayamiList-container ul:before {
    content: '';
    display: block;
    background: url(../images/arrow2.png) no-repeat;
    background-size: 100%;
    width: 100px;
    height: 102px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -70px;
}
.s-onayami .onayamiList-container ul:after {
    content: '';
    display: block;
    background: url(../images/check_img.png) no-repeat;
    background-size: 100%;
    width: 240px;
    height: 220px;
    position: absolute;
    right: -40px;
    top: -30px;
}
.s-onayami .onayamiList-container ul li {
    color: #212121;
    font-weight: bold;
    font-size: 18px;
    background: url(../images/ico-check.png) no-repeat;
    background-size: 22px;
    background-position: left top 10px;
    padding-left: 30px;
}
.s-onayami .onayamiList-container ul li .color {
    color: #B09706;
    font-size: 20px;
}
.s-onayami .text1 {
    color: #fff;
    font-weight: bold;
    font-size: 36px;
    line-height: 1.6;
    margin-bottom: .8em;
}
.s-onayami .text1 .color {
    color: #FFF942;
}
.s-onayami .text2 {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6;
}
.s-factor {
    background: url(../images/pc_bg3.jpg) repeat-y;
    background-size: 100%;
    padding: 160px 0 80px;
}
.s-factor .container {
    position: relative;
}
.s-factor .container:after {
    content: '';
    display: block;
    background: url(../images/Factor.png) no-repeat;
    background-size: 100%;
    width: 117.5px;
    height: 398px;
    position: absolute;
    left: -20px;
    top: -130px;
}
.s-factor .head>div {
    display: flex;
    align-items: center;
    justify-content: center;
}
.s-factor .head>div .bg {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 4px 12px;
    font-weight: 900;
}
.s-factor .head>div .bg span {
    color: #E5CE3A;
}
.s-factor .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 10px 0 60px;
}
.s-factor .inner {
    background: #FFFFFF;
    box-shadow: 8px 8px 0px rgba(151, 171, 157, 0.5);
    width: 982px;
    max-width: 100%;
    margin: 0 auto 160px;
    padding: 40px 50px;
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: 10;
}
.s-factor .inner .number {
    width: 60px;
    position: absolute;
    left: 20px;
    top: -50px;
}
.s-factor .inner .text {
    width: 55%;
}
.s-factor .inner .text h3 { 
    font-weight: 900;
    font-size: 32px;
    border: none;
    padding: 0;
    margin: 0 0 .4em;
}
.s-factor .inner .text h3:after {
    content: none; 
}
.s-factor .inner .text .tag { 
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
}
.s-factor .inner .text .tag span { 
    background: linear-gradient(150deg, #18181B 34.44%, #1C1E23 58.81%, #272F3C 98.78%, #334155 131.93%), #1C1E23;
    padding: 0 10px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}
.s-factor .inner .text h4 {
    color: #007549;
    font-weight: bold;
    font-size: 22px;
    display: flex;
    background: none;
    border-bottom: solid 1px #87D49E;
    margin: 20px 0;
    padding-bottom: 20px;
    display: flex;
}
.s-factor .inner .text h4:before {
    content: '＝';
}
.s-factor .inner .img {
    width: 476px;
    max-width: 100%;
    position: absolute;
    right: -80px;
    top: 40px;
}
.s-factor .inner .img>div {
    position: relative;
}
.s-factor .inner .img>div:before {
    content: '';
    display: block;
    background: url(../images/img_flame1.png) no-repeat;
    background-size: 100%;
    width: 184.5px;
    height: 159.5px;
    position: absolute;
    left: 0;
    top: 0;
}
.s-factor .inner .img>div:after {
    content: '';
    display: block;
    background: url(../images/img_flame2.png) no-repeat;
    background-size: 100%;
    width: 200px;
    height: 264px;
    position: absolute;
    right: 0;
    bottom: 0;
}
.s-factor .inner.imgLeft {
    justify-content: flex-end;
}
.s-factor .inner.imgLeft .number {
    left: unset;
    right: 20px;
}
.s-factor .inner.imgLeft .img {
    right: unset;
    left: -80px;
}
.s-kankyo {
    background: url(../images/pc_bg4.jpg) no-repeat;
    background-size: cover;
    padding: 0 0 120px;
}
.s-kankyo .head {
    position: relative;
    z-index: 10;
}
.s-kankyo .container {
    padding-top: 80px;
    position: relative;
}
.s-kankyo .container:after {
    content: '';
    display: block;
    background: url(../images/Vicious.png) no-repeat;
    background-size: 100%;
    width: 122px;
    height: 840px;
    position: absolute;
    right: 0;
    top: -50px;
}
.s-kankyo .head>div {
    display: flex;
    align-items: center;
    justify-content: center;
}
.s-kankyo .head>div .bg {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 4px 12px;
    font-weight: 900;
}
.s-kankyo .head>div .bg span {
    color: #E5CE3A;
}
.s-kankyo .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 10px 0 60px;
    color: #fff;
}
.s-kankyo .kankyoList {
    display: flex;
    gap: 20px;
    position: relative;
    z-index: 5;
}
.s-kankyo .kankyoList>div {
    background: rgba(33,41,48,.85) url(../images/content_bg.png) repeat;
    background-size: 383px;
    box-shadow: 8px 8px 0px rgba(151, 171, 157, 0.5);
    padding: 40px 30px 30px;
    color: #fff;
    width: calc(100% / 3);
}
.s-kankyo .kankyoList>div h3 {
    text-align: center;
    color: #B3FF50;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.6;
    padding: 0;
    border: none;
    height: 106px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.s-kankyo .kankyoList>div h3:after {
    content: none;
}
.s-kankyo .kankyoList>div p {
    line-height: 2;
}
.s-kankyo .kankyoList>div .color {
    color: #FFF942;
}
.s-genkai {
    background: url(../images/pc_bg5.png) repeat;
    background-size: 1440px;
    padding: 0 0 220px;
    position: relative;
}
.s-genkai .head {
    position: relative;
    z-index: 5;
}
.s-genkai:after {
    content: '';
    display: block;
    background: url(../images/pc_bg9.png) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 204px;
    position: absolute;
    left: 0;
    bottom: 0;
}
.s-genkai .container {
    position: relative;
    padding-top: 80px;
}
.s-genkai .container:after {
    content: '';
    display: block;
    background: url(../images/Limit.png) no-repeat;
    background-size: 100%;
    width: 123px;
    height: 325.5px;
    position: absolute;
    left: 0;
    top: -60px;
}
.s-genkai .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 50px;
}
.s-genkai .taisyoList {
    margin: 0 0 40px;
    padding: 0;
    display: flex;
    gap: 15px;
    position: relative;
    z-index: 5;
}
.s-genkai .taisyoList li {
    width: calc(100% / 6);
    background: #fff;
    padding: 20px 10px;
    text-align: center;
}
.s-genkai .taisyoList li p {
    font-weight: bold;
    height: 52px;
}
.s-genkai .taisyoList li img {
    height: 88px;
    width: auto;
}
.s-genkai .text1 {
    font-weight: bold;
    font-size: 32px;
    text-align: center;
}
.s-genkai .text1 .color {
    color: #B8990B;
    font-weight: 900;
}
.s-genkai .dekiru-dekinai {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 30px;
}
.s-genkai .dekiru-dekinai>div {
    width: 50%;
    background: #fff;
    box-shadow: 8px 8px 0px rgba(151, 171, 157, 0.5);
    padding: 20px 30px 10px;
    text-align: center;
}
.s-genkai .dekiru-dekinai>div .head {
    background: linear-gradient(150deg, #18181B 34.44%, #1C1E23 58.81%, #272F3C 98.78%, #334155 131.93%), #1C1E23;
    padding: 0 10px;
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    display: inline-block;
    position: relative;
    top: -40px;

}
.s-genkai .dekiru-dekinai>div ul {
    margin: 0;
    padding: 0;
}
.s-genkai .dekiru-dekinai>div ul li {
    font-size: 20px;
    background: url(../images/ico-check.png) no-repeat;
    background-size: 22px;
    background-position: left top 10px;
    padding-left: 30px;
    text-align: left;
}
.s-genkai .dekiru-dekinai>div.dekinai ul li {
    background: url(../images/ico-batsu.png) no-repeat;
    background-size: 22px;
    background-position: left top 7px;
}
.s-genkai .arrow {
    width: 100px;
    margin: 0 auto;
}
.s-genkai .text2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.6;
    text-align: center;
    margin: 0;
}
.s-genkai .kaizen {
    color: #007549;
    font-weight: bold;
    font-size: 22px;
    list-style: disc;
    width: 640px;
    margin: 20px auto;
    max-width: 100%;
}
.s-genkai .kaizen li {
    margin: 0;
}
.s-genkai .text2 .border-bottom {
    border-bottom: solid 4px #B3FF50!important;
    padding-bottom: 10px;
    display: inline-block;
}
.s-philosophy {
    background: url(../images/pc_bg6.png) no-repeat;
    background-size: 100%;
    background-position: bottom center;
    padding-bottom: 80px;
}
.s-philosophy .head>div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
}
.s-philosophy .head>div .bg {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 4px 12px;
    font-weight: 900;
}
.s-philosophy .head>div .bg span {
    color: #E5CE3A;
}
.s-philosophy .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 40px;
}
.s-philosophy .img1 {
    width: 856px;
    max-width: 100%;
    margin: 0 auto 60px;
    position: relative;
    z-index: 5;
}
.s-philosophy .text1 {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    position: relative;
    z-index: 5;
}
.s-philosophy .container {
    border-bottom: solid 1px #87D49E;
    padding-bottom: 60px;
    margin-bottom: 80px;
    position: relative;
}
.s-philosophy .container .head {
    position: relative;
    z-index: 5;
}
.s-philosophy .container:last-child {
    border-bottom: none;
}
.s-philosophy .container:first-child:after {
    content: '';
    display: block;
    background: url(../images/Philosophy.png) no-repeat;
    background-size: 100%;
    width: 154.5px;
    height: 703.5px;
    position: absolute;
    right: 0;
    top: -40px;
}
.s-philosophy .section-ttl {
    position: absolute;
    right: 0;
    top: 0;
}
.s-philosophy .titleLeft .section-ttl {
    right: unset;
    left: 0;
}
.s-philosophy .step.titleLeft .inner .text {
    float: right;
}
.s-philosophy .titleLeft .section-ttl .section-ttl-inner {
    flex-direction: row;
}
.s-philosophy .step .inner {
    width: 90%;
    margin: 0 auto;
}
.s-philosophy .section-ttl .section-ttl-inner h2 {
    border: none;
    margin: 0;
    padding: 0;
    font-size: 36px;
    display: flex;
    gap: 5px;
    flex-direction: row-reverse;
}
.s-philosophy .section-ttl .section-ttl-inner h2>div {
    writing-mode: vertical-rl;
    font-weight: 900;
    background: rgba(0,0,0,.8);
    color: #fff;
    align-self: flex-start;
    border-right: solid 4px #B3FF50;
    padding: 10px 5px;
}
.s-philosophy .section-ttl .section-ttl-inner h2 .color {
    color: #E5CE3A;
}
.s-philosophy .section-ttl .section-ttl-inner {
    display: flex;
    flex-direction: row-reverse;
    gap: 5px;
}
.s-philosophy .section-ttl .section-ttl-inner .section-ttl-img {
    margin-top: -40px;
}
.s-philosophy .section-ttl .section-ttl-inner .section-ttl-img img {
    height: 117px;
    width: auto;
}
.s-philosophy .step .inner .text {
    width: calc(100% - 320px);
    margin-bottom: 60px;
}
.s-philosophy .step .inner p {
    line-height: 2;
}
.s-philosophy .step .inner p.text2,
.s-philosophy .step .inner h4 {
    font-weight: bold;
    color: #007549;
    font-size: 22px;
}
.s-philosophy .step .inner p.text2 {
    line-height: 1.6;
}
.s-philosophy .step .inner p .color {
    color: #B8990B;
}
.s-philosophy .step .inner .checkList {
    margin: 0;
    padding: 30px 40px 20px;
    position: relative;
    background: url(../images/check_bg.png) repeat;
    background-size: 780px;
    border: 1px solid #87D49E;
    box-shadow: 8px 8px 0px rgba(151, 171, 157, 0.5);
}
.s-philosophy .step .inner .checkList li {
    color: #212121;
    font-weight: bold;
    font-size: 18px;
    background: url(../images/ico-check.png) no-repeat;
    background-size: 22px;
    background-position: left top 10px;
    padding-left: 30px;
}
.s-philosophy .step .inner .checkList li .color {
    color: #B09706;
    font-size: 20px;
}
.s-philosophy .step .inner .bgList {
    background: #F8FAFC;
    padding: 20px 20px 10px 50px;
    list-style: disc;
    font-weight: bold;
}
.s-philosophy .step .inner .bgList.half {
    display: flex;
    flex-wrap: wrap;
}
.s-philosophy .step .inner .bgList.half li {
    width: 50%;
}
.s-philosophy .step .inner h3 {
    color: #007549;
    font-weight: 900;
    font-size: 30px;
    border: none;
}
.s-philosophy .step .inner h3:after {
    content: none;
}
.s-philosophy .step .inner table {
    border: none;
    table-layout: auto;
    margin-bottom: 40px;
}
.s-philosophy .step .inner table th {
    border: none;
    background: none;
    border-bottom: solid 1px #B5B5B5;
    font-weight: bold;
    text-align: left;
    padding: 15px 20px;
}
.s-philosophy .step .inner table tr:first-child th {
    border-bottom: solid 1px #000;
    font-size: 18px;
}
.s-philosophy .step .inner table td {
    background: none;
    border: none;
    padding: 15px 20px;
    text-align: left;
    border-bottom: solid 1px #B5B5B5;
}
.clearfix {
    clear: both;
}
.s-option {
    background: #F7F7F7 url(../images/pc_bg9.png) no-repeat;
    background-size: 100% 204px;
    background-position: bottom left;
    padding: 0 0 160px;
}
.s-option .head>div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
}
.s-option .head>div .bg {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 4px 12px;
    font-weight: 900;
}
.s-option .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 40px;
}
.s-option .container {
    position: relative;
}
.s-option .container:after {
    content: '';
    display: block;
    background: url(../images/option.png) no-repeat;
    background-size: 100%;
    width: 154px;
    height: 404.5px;
    position: absolute;
    right: 0;
    top: -190px;
}
.s-option .optionList {
    position: relative;
    z-index: 10;
}
.s-option .optionList h3 {
    color: #007549;
    font-size: 22px;
    text-align: center;
    font-weight: bold;
    border: none;
    padding: 0;
    margin: 0 0 20px;
}
.s-option .optionList h3:after {
    content: none;
}
.s-option .optionList a {
    color: #007549;
    text-decoration: underline;
}
.s-option .title1 {
    margin: 60px 0 20px;
    text-align: center;
    align-items: center;
    justify-content: center;
    display: flex;
    font-size: 32px;
    font-weight: 900;
    gap: 10px;
    color: #007549;
    white-space: pre;
}

.s-option .title1:before,
.s-option .title1:after {
    content: '';
    display: block;
    border: solid 1px #87D49E;
    width: 100%;
}
.s-blog {
    padding: 40px 0 80px;
    border-bottom: solid 1px #87D49E;
}
.s-blog .container {
    position: relative;
}
.s-blog .container:after {
    content: '';
    display: block;
    background: url(../images/Blog.png) no-repeat;
    background-size: 100%;
    width: 154px;
    height: 284.5px;
    position: absolute;
    right: 0;
    top: -100px;
}
.s-blog .head {
    margin-bottom: 60px;
    position: relative;
    z-index: 5;
}
.s-blog .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 20px;
}
.s-blog .head p {
    color: #007549;
    font-size: 22px;
    font-weight: bold;
}
.s-blog .blogList .sc-posts__link img {
    width: 100%;
    height: 280px;
    object-fit: cover;
}
.s-blog .blogList .sc-posts__link h3 {
    color: #000;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.6;
    border: none;
    margin: 10px 0 20px;
}
.s-blog .blogList .sc-posts__link h3:after {
    content: none;
}
.s-syojyo {
    padding: 80px 0;
    background: url(../images/pc_bg8.jpg) repeat;
    background-size: 1440px;
}
.s-syojyo .head {
    margin-bottom: 40px;
}
.s-syojyo .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 20px;
}
.s-syojyo .head p {
    color: #007549;
    font-size: 22px;
    font-weight: bold;
}
.s-syojyo .head>div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
}
.s-syojyo .head>div .bg {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 4px 12px;
    font-weight: 900;
}
.s-syojyo .head>div .bg span {
    color: #E5CE3A;
}
.s-syojyo ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
}
.s-syojyo ul li {
    border: solid 1px #87D49E;
    border-bottom: none;
    margin: 0;
}
.s-syojyo ul li a {
    display: block;
    padding: 30px 50px 30px 20px;
    font-size: 14px;
    gap: 16px;
    color: #000;
    background: rgba(255, 255, 255, .9) url(../images/ico-arrow.png) no-repeat;
    background-size: 9px;
    background-position: right 20px center;
}
.s-syojyo ul li a p {
    margin: 0;
}
.s-syojyo ul li a .title {
    font-size: 20px;
    font-weight: bold;
}
.s-syojyo ul li:nth-child(even) {
    border-left: none;
}
.s-syojyo ul li:nth-last-child(-n+2) {
    border-bottom: solid 1px #87D49E;
}
.s-mv {
    text-align: center;
    position: relative;
    height: 900px;
    margin: 0;
    overflow: hidden;
}
.s-mv:before {
    content: '';
    display: block;
    background: linear-gradient(90deg, #88D49F 0%, #f7f7f7 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -2;
}
.s-mv:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #87D49E 47.25%, rgba(179, 255, 80, 0) 100%);
    mix-blend-mode: plus-darker;
    z-index: -1;
    top: 0;
    left: 0;
    backdrop-filter: blur(10px);
}
.wp-singular .section .wp-block-image.s-mv .mv img {
    width: 100%;
    max-width: 1440px;
    height: 100%!important;
    object-fit: cover;
}
.s-mv .mv {
    position: relative;
    width: 100%;
    height: 100%;
}
.s-mv .mv:after {
    content: '';
    display: block;
    background: url(../images/mv_bg.png) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 15%;
    position: absolute;
    left: 0;
    bottom: -.5px;
}

.s-mv .mv-ttl {
	position: absolute;
    bottom: 0;
	left: 0;
    right: 0;
    margin: auto;
    max-width: 1440px;
}

.s-mv .mv-ttl img {
	max-height: 160px!important;
	width: autol
}

.subpageContent {
	overflow: hidden;
}

@media (max-width: 991px) {
    .s-okomari {
        background: url(../images/sp_bg1.jpg) no-repeat;
        background-size: 100% 100%;
        background-position: center top; 
    }
    .s-okomari .container .section-ttl {
        right: -80px;
    }
    .s-okomari .container .section-ttl .section-ttl-inner h2 {
        font-size: 24px;
        gap: 5px;
        left: 40px;
        top: 110px;
    }
    .s-onayami .container .section-ttl {
        position: relative;
        left: 0;
        top: 0;
    }
    .s-onayami .container .section-ttl .section-ttl-inner h2>div {
        writing-mode: unset;
        padding: 10px 20px;
    }
    .s-onayami .container .section-ttl .section-ttl-inner h2>div:nth-child(2) {
        text-align: right;
        margin-left: 5%;
    }
    .s-onayami .container .section-ttl .section-ttl-inner h2 {
        flex-wrap: wrap;
        justify-content: center;
    }
    .s-onayami .container .section-ttl .section-ttl-inner h2>div {
        border-right: none;
        border-bottom: solid 4px #B3FF50;
    }
    .s-onayami .container .section-ttl .section-ttl-inner h2>div:first-child {
        order: unset;
        margin-right: 5%;
    }
    .s-onayami .container .section-ttl .section-ttl-inner h2>div:last-child {
        margin-top: 0;
    }
    .s-onayami .container .section-ttl {
        left: 0;
        top: 0;
        position: relative;
        margin-bottom: 40px;
    }
    .s-onayami .onayamiList-container:after {
        width: 195px;
        height: 96px;
        position: absolute;
        left: 0;
        right: 0;
        top: -230px;
        margin: auto;
    }
    .s-factor .inner {
        display: block;
    }
    .s-factor .inner .text {
        width: 100%;
    }
    .s-factor .inner .img {
        position: relative;
        right: 0;
        top: 80px;
        margin: 0 auto;
        margin-top: -60px;
    }
    .s-factor .inner.imgLeft .img {
        left: unset;
    }
    .s-kankyo .kankyoList {
        flex-wrap: wrap;
    }
    .s-kankyo .kankyoList>div {
        width: 100%;
    }
    .s-kankyo .kankyoList>div h3 {
        height: unset;
    }
    .s-genkai .taisyoList {
        flex-wrap: wrap;
        justify-content: center;
    }
    .s-genkai .taisyoList li { 
        width: calc(50% - 15px);
        margin: 0;
    }
    .s-philosophy .step .inner {
        width: 100%;
    }
    .s-blog .blogList .sc-posts__link img {
        height: 180px;
    }
}

@media (max-width: 767px) {
    .s-index .section-ttl {
        font-size: 32px;
    }
    .s-index ul {
        grid-template-columns: 1fr;
    }
    .s-index ul li:nth-child(even) {
        border-left: solid 1px #87D49E;
    }
    .s-index ul li:nth-last-child(-n+2) {
        border-bottom: none;
    }
    .s-index ul li:last-child {
        border-bottom: solid 1px #87D49E;
    }
    .s-okomari {
        padding-top: 100px;
        padding-bottom: 60px;
    }
    .s-okomari .container .section-ttl {
        width: 180px;
        right: -40px;
        top: -90px;
    }
    .s-okomari .inner .head>div,
    .s-okomari .inner .head>div .bg {
        font-size: 16px;
    }
    .s-okomari .inner .head {
        flex-wrap: wrap;
        gap: 5px;
    }
    .s-okomari .inner .head>div {
        width: 100%;
    }
    .s-okomari .inner h3 {
        font-size: 28px;
        text-align: left;
        margin-top: 10px;
    }
    .s-onayami .container .section-ttl .section-ttl-inner h2 {
        font-size: 24px;
    }
    .s-onayami .onayamiList-container:after {
        top: -210px;
    }
    .s-onayami .onayamiList-container ul {
        padding: 20px;
        margin-bottom: 50px;
    }
    .s-onayami .onayamiList-container ul li,
    .s-onayami .onayamiList-container ul li .color {
        font-size: 16px;
    }
    .s-onayami .onayamiList-container ul:after {
        width: 120px;
        height: 80px;
        top: -20px;
    }
    .s-onayami .onayamiList-container ul:before {
        width: 60px;
        height: 64px;
        bottom: -40px;
    }
    .s-onayami .text1 {
        font-size: 20px;
    }
    .s-onayami .text2 {
        font-size: 16px;
    }
    .s-onayami:after {
    content: '';
        display: block;
        background: url(../images/pc_bg2.png) no-repeat;
        background-size: 100% 100%;
        height: 66px;
        bottom: -65px;
    }
    .s-onayami {
        padding-bottom: 20px;
    }
    .s-factor {
        padding: 120px 0 10px;
    }
    .s-factor .container:after {
        width: 70px;
        height: 240px;
        left: -10px;
        top: -80px;
    }
    .s-factor .head>div .bg,
    .s-kankyo .head>div .bg,
    .s-philosophy .head>div .bg,
    .s-option .head>div .bg,
    .s-syojyo .head>div .bg {
        font-size: 14px;
    }
    .s-factor .head h2,
    .s-kankyo .head h2,
    .s-genkai .head h2,
    .s-philosophy .head h2,
    .s-option .head h2 {
        font-size: 28px;
        margin-bottom: 40px;
    }
    .s-factor .inner .number {
        width: 30px;
        top: -30px;
    }
    .s-factor .inner {
        padding: 30px 20px;
    }
    .s-factor .inner .text h3 {
        font-size: 22px;
    }
    .s-factor .inner .text .tag span {
        font-size: 14px;
    }
    .s-factor .inner .text h4 {
        font-size: 16px;
    }
    .s-factor .inner {
        margin-bottom: 120px;
    }
    .s-kankyo .container:after {
        width: 70px;
        height: 500px;
        top: -30px;
    }
    .s-kankyo .container {
        padding-top: 60px;
    }
    .s-kankyo {
        background: url(../images/sp_bg4.jpg) no-repeat;
        background-size: cover;
        padding: 0 0 100px;
    }
    .s-genkai .container:after {
        width: 70px;
        height: 190px;
        top: -30px;
    }
    .s-genkai .text1 {
        font-size: 20px;
    }
    .s-genkai .dekiru-dekinai {
        margin-top: 40px;
        flex-wrap: wrap;
    }
    .s-genkai .dekiru-dekinai>div {
        width: 100%;
    }
    .s-genkai .dekiru-dekinai>div .head {
        font-size: 18px;
        top: -30px;
    }

    .s-genkai .dekiru-dekinai>div ul li {
        font-size: 16px;
        background: url(../images/ico-check.png) no-repeat;
        background-size: 22px;
        background-position: left top 6px;
    }
    .s-genkai .arrow {
        width: 60px;
    }
    .s-genkai .text2 {
        font-size: 20px;
    }
    .s-genkai .kaizen {
        font-size: 16px;
        padding-left: 30px;
    }
    .s-genkai:after {
        background: url(../images/pc_bg9.png) no-repeat;
        background-size: 1200px 100%;
    }
    .s-genkai {
        padding-bottom: 100px;
    }
    .s-philosophy .container:first-child:after {
        width: 70px;
        height: 320px;
    }
    .s-philosophy .head h2 {
        margin-top: 10px;
    }
    .s-philosophy .img1 {
        margin-bottom: 30px;
    }
    .s-philosophy .text1 {
        font-size: 16px;
    }
    .s-philosophy .container {
        padding-bottom: 30px;
        margin-bottom: 60px;
    }
    .s-philosophy .section-ttl {
        position: relative;
        right: unset;
        left: 0;
    }
    .s-philosophy .section-ttl .section-ttl-inner {
        display: block;
    }
    .s-philosophy .section-ttl .section-ttl-inner .section-ttl-img {
        margin-top: 0;
        margin-bottom: 10px;
    }
    .s-philosophy .section-ttl .section-ttl-inner .section-ttl-img img {
        height: 60px;
    }
    .s-philosophy .section-ttl .section-ttl-inner h2>div {
        writing-mode: unset;
    }
    .s-philosophy .section-ttl .section-ttl-inner h2 {
        flex-direction: unset;
        flex-wrap: wrap;
        font-size: 24px;
    }
    .s-philosophy .step .inner .text {
        width: 100%;
        margin-top: 10px;
        margin-bottom: 40px;
    }
    .s-philosophy .step .inner .bgList {
        padding-left: 30px;
    }
    .s-philosophy .step .inner h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .s-philosophy .step .inner .checkList {
        padding: 30px 20px 10px;
    }
    .s-philosophy .step .inner .bgList.half li {
        width: 100%;
    }
    .s-option .container:after {
        width: 70px;
        height: 188px;
        top: -100px;
    }
    .s-philosophy {
        padding-bottom: 60px;
    }
    .s-option {
        padding: 20px 0 80px;
    }
    .s-option .optionList h3 {
        margin: 20px 0;
        font-size: 20px;
    }
    .s-option .head h2 {
        margin-bottom: 20px;
    }
    .s-option .title1 {
        font-size: 20px;
    }
    .s-option {
        background: #F7F7F7 url(../images/pc_bg9.png) no-repeat;
        background-size: 100%;
        background-position: bottom left;
    }
    .s-blog .container:after {
        width: 70px;
        height: 130px;
    }
    .s-blog .head h2,
    .s-syojyo .head h2 {
        font-size: 28px;
    }
    .s-blog .head p,
    .s-syojyo .head p {
        font-size: 16px;
    }
    .s-blog .head {
        margin-bottom: 30px;
    }
    .s-blog .blogList .sc-posts__link img {
        height: 240px;
    }
    .s-blog .blogList .sc-posts__link h3 {
        font-size: 16px;
    }
    .s-blog {
        padding: 40px 0;
    }
    .s-syojyo {
        padding: 60px 0;
    }
    .s-syojyo ul {
        grid-template-columns: 1fr;
    }
    .s-syojyo ul li:nth-child(even) {
        border-left: solid 1px #87D49E;
    }
    .s-syojyo ul li:nth-last-child(-n+2) {
        border-bottom: none;
    }
    .s-syojyo ul li:last-child {
        border-bottom: solid 1px #87D49E;
    }
	.s-index ul:after {
		right: -40px;
	}
}

.siteFooter .footer_syojyo p a.nolink {
  color: #999999; /* 好きなグレーに変更可 */
}

/* =============================================
   のびトレ セクション
   ============================================= */

.nobitre-section {
  background: #fff;
  padding: 60px 0 70px;
}

/* 見出し */
.nobitre-section__ttl {
  text-align: center;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.6;
  margin: 0 0 16px;
  color: #333;
  border: none;
  padding: 0;
}
.nobitre-section__ttl:after { content: none; }
.nobitre-section__ttl span { color: #387f64; }

/* リード文 */
.nobitre-lead {
  background: linear-gradient(135deg, #f0faf5, #e8f5ef);
  border-left: 4px solid #387f64;
  border-radius: 0 10px 10px 0;
  padding: 20px 24px;
  margin-bottom: 36px;
  font-size: 15px;
  line-height: 2;
}
.nobitre-lead__emphasis {
  display: block;
  margin-top: 12px;
  font-weight: 900;
  font-size: 15px;
  color: #e67300;
  background: #fff8ee;
  border: 1px dashed #e67300;
  border-radius: 8px;
  padding: 10px 16px;
  text-align: center;
}

/* 検査のみ枠 */
.nobitre-inspection {
  border: 2px solid #387f64;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 32px;
}
.nobitre-inspection__head {
  background: #387f64;
  color: #fff;
  padding: 12px 20px;
  font-weight: 900;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.nobitre-inspection__head .price {
  font-size: 22px;
  margin-left: auto;
}
.nobitre-inspection__body {
  padding: 16px 20px;
  font-size: 14px;
  line-height: 1.8;
  background: #fff;
}

/* =============================================
   プランカード共通
   ============================================= */
.nobitre-card {
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 24px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.09);
  background: #fff;
}

/* カードヘッダー */
.nobitre-card__head {
  padding: 16px 20px;
  color: #fff;
}
.nobitre-card__head--a { background: linear-gradient(135deg, #ff8c00, #e67300); }
.nobitre-card__head--b { background: linear-gradient(135deg, #2e9e6e, #1e7d55); }
.nobitre-card__head--c { background: linear-gradient(135deg, #5b9bd5, #3a7abf); }

.nobitre-card__badge {
  display: inline-block;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
  padding: 2px 10px;
  border-radius: 50px;
  margin-bottom: 6px;
}
.nobitre-card__badge--a { color: #e67300; }
.nobitre-card__badge--b { color: #1e7d55; }
.nobitre-card__badge--c { color: #3a7abf; }

.nobitre-card__name {
  font-size: 22px;
  font-weight: 900;
  display: block;
  letter-spacing: 0.5px;
}
.nobitre-card__sub {
  font-size: 13px;
  opacity: 0.92;
  margin: 4px 0 0;
  display: block;
}

/* 画像＋説明エリア */
.nobitre-card__detail {
  display: flex;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
  background: #fafafa;
  align-items: flex-start;
}
.nobitre-card__img {
  flex-shrink: 0;
  width: 120px;
}
.nobitre-card__img img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.nobitre-card__desc {
  font-size: 14px;
  line-height: 1.9;
  color: #333;
  margin: 0;
  flex: 1;
}

/* =============================================
   コース比較
   ============================================= */
.nobitre-courses {
  padding: 0 16px 16px;
}

.nobitre-course {
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  margin-top: 14px;
  overflow: hidden;
}
.nobitre-course--recommended {
  border: 2px solid #e67300;
}

.nobitre-course__head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #f5f5f5;
  font-size: 14px;
  font-weight: bold;
}
.nobitre-course--recommended .nobitre-course__head {
  background: linear-gradient(135deg, #fff3e0, #ffe0b2);
}

.nobitre-course__label {
  font-size: 13px;
  color: #555;
  font-weight: bold;
}
.nobitre-course__tag {
  font-size: 11px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 50px;
  display: inline-block;
  white-space: nowrap;
}
.nobitre-course__tag--rec   { background: #e67300; color: #fff; }
.nobitre-course__tag--pop   { background: #555;    color: #fff; }
.nobitre-course__tag--trial { background: #999;    color: #fff; }

.nobitre-course__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 14px;
  gap: 8px;
  flex-wrap: wrap;
}

.nobitre-course__price-main {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.nobitre-course__monthly-label { font-size: 12px; color: #888; }
.nobitre-course__monthly {
  font-size: 28px;
  font-weight: 900;
  color: #e67300;
  line-height: 1;
}
.nobitre-course--recommended .nobitre-course__monthly { font-size: 34px; }
.nobitre-course__unit { font-size: 12px; color: #888; }

.nobitre-course__total-wrap { text-align: right; }
.nobitre-course__total {
  font-size: 13px;
  font-weight: bold;
  color: #333;
  display: block;
}
.nobitre-course__saving {
  font-size: 11px;
  color: #e60000;
  font-weight: bold;
  display: block;
}

.nobitre-course__fee {
  padding: 6px 14px 10px;
  font-size: 12px;
  color: #666;
  border-top: 1px dashed #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nobitre-course__fee-free {
  color: #e60000;
  font-weight: 900;
  font-size: 14px;
}

/* 注記 */
.nobitre-note {
  font-size: 12px;
  color: #999;
  text-align: center;
  margin: 8px 0 0;
}

/* =============================================
   PC：コース3列並び
   ============================================= */
@media (min-width: 768px) {
  .nobitre-courses {
    display: flex;
    gap: 12px;
    padding: 16px;
  }
  .nobitre-course {
    flex: 1;
    margin-top: 0;
    display: flex;
    flex-direction: column;
  }
  .nobitre-course__body {
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
  }
  .nobitre-course__total-wrap {
    text-align: left;
  }
  .nobitre-course__fee {
    margin-top: auto;
  }
}

/* =============================================
   スマホ対応
   ============================================= */
@media (max-width: 767px) {
  .nobitre-section { padding: 40px 0 50px; }
  .nobitre-section__ttl { font-size: 18px; }

  .nobitre-card__detail { flex-direction: column; }
  .nobitre-card__img { width: 100%; }
  .nobitre-card__img img { width: 100%; height: 180px; border-radius: 8px; }

  .nobitre-card__name { font-size: 18px; }
  .nobitre-course__monthly { font-size: 24px; }
  .nobitre-course--recommended .nobitre-course__monthly { font-size: 28px; }

  .nobitre-inspection__head { flex-wrap: wrap; }
  .nobitre-inspection__head .price { margin-left: 0; font-size: 20px; }
}


#height .contents_wrap03 .flow_box {
  background: #fff;
}

#height .present_box h3 {
  margin-top: 50px;
}


/* =============================================
   料金ページリニューアル
   ============================================= */
.subpage-mokuji {
    gap: 10px;
    margin: 40px auto 0;
}

.subpage-mokuji li a {
    border: solid 1px #87D49E;
    color: #000;
    padding: 6px 12px;
    font-weight: bold;
}

.subpageNew .head {
    margin-bottom: 40px;
}

.subpageNew .head h2 {
    border: none;
    padding: 0;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
    margin: 10px 0 20px;
}

.subpageNew h3 {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 12px;
    font-weight: 900;
    border-bottom: solid 4px #B3FF50;
}

.subpageNew h3:after {
    content: none;
}

.subpageNew h3 .color {
    color: #E5CE3A;
}

.priceTable>div {
    margin-bottom: 20px;
}

.priceTable .tableHead {
    background: linear-gradient(90deg, #3E4D54 0%, #1B1C21 100%);
    color: #fff;
    font-weight: bold;
    padding: 12px;
}

.priceTable .tableHead .kaisu{
    background: #B3FF50;
    color: #000;
    font-size: .8em;
    padding: 4px 10px;
    border-radius: 99px;
}

.priceTable .tableHead .color {
    color: #B3FF50;
}

.priceTable .tableInner {
    border: solid 1px #1B1C21;
    padding: 12px;
}

.priceTable .tableInner .attention {
    color: #B09706;
    font-weight: bold;
    font-size: .9em;
    padding: 10px;
    margin: 0;
}

.priceTable .tableInner .attention.nom {
    color: #333;
    font-weight: normal;
    font-size: .8em;
}

.priceTable table,
.priceTable table tbody tr th,
.priceTable table tbody tr td {
    border: none;
    table-layout: auto;
}

.priceTable table tbody tr th {
    background: none;
    text-align: left;
    font-weight: normal;
    padding: 8px 10px;
    border-bottom: dashed 1px #ddd;
    font-size: 1em;
}

.priceTable table tbody tr td {
    text-align: right;
    font-weight: bold;
    padding: 8px 10px;
    border-bottom: dashed 1px #ddd;
    color: #007549;
    font-size: 1em;
}

.priceTable table tbody tr td.head {
    border: none;
    background: #007549;
    color: #fff;
    text-align: left;
}

.priceBox .inner {
    border: solid 1px #1B1C21;
    position: relative;
    text-align: center;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 12px;
}

.priceBox>div:first-child .inner {
    border: solid 2px #da6700;
}

.priceBox>div:last-child .inner .mark {
    position: absolute;
    background: #da6700;
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
    display: inline-block;
    font-size: .9em;
    padding: 2px 8px 2px 4px;
    border-radius: 0 0 4px 0;
}

.priceBox .price_attention {
    font-weight: bold;
    color: #007549;
}

.priceBox .inner .price {
    font-size: 1.8em;
}

.priceBox .inner .price small {
    font-size: .6em;
}

.priceBox .inner p {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .subpageNew .head h2 {
        font-size: 28px;
    }

    .subpageNew h3 {
        font-size: 15px;
    }
}


/* 料金ページ 準備中 */
.price-preparation {
    text-align: center;
    padding: 80px 20px;
    margin: 60px 0;
    border: solid 2px #1B1C21;
    border-radius: 4px;
}

.price-preparation__icon {
    font-size: 48px;
    margin-bottom: 16px;
    line-height: 1;
}

.price-preparation__lead {
    font-size: 24px;
    font-weight: 900;
    color: #1B1C21;
    margin-bottom: 16px;
}

.price-preparation__text {
    font-size: 16px;
    color: #555;
    line-height: 1.8;
    margin: 0;
}

/* ================================================
   img4_no-text.png + HTMLテキスト 円内配置版
   common.cssに追記してください
   ================================================ */

.img4-wrap {
     position: relative;
     display: block;
     width: 100%;
     max-width: 860px;
     margin: 0 auto 20px;
   }
   
   .img4-wrap img {
     width: 100%;
     height: auto;
     display: block;
   }
   
   .img4-labels {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     pointer-events: none;
   }
   
   .img4-labels span {
     position: absolute;
     text-align: center;
     font-size: 1.6vw;
     font-weight: 700;
     line-height: 1.5;
     color: #333;
     transform: translateX(-50%);
     bottom: 16%;
   }
   
   .img4-labels span:nth-child(1) { left: 16.5%; }
   .img4-labels span:nth-child(2) { left: 50%; }
   .img4-labels span:nth-child(3) { left: 83.5%; }
   
   @media (min-width: 900px) {
     .img4-labels span { font-size: 15px; }
   }
   
   @media (max-width: 767px) {
     .img4-labels span { font-size: 2.8vw; bottom: 14%; }
   }
   
.symptom-page-title {
     text-align: center;
     font-size: 2.0rem;
     font-weight: 700;
     color: #333;
     padding: 24px 16px 0;
     margin: 0;
     line-height: 1.6;
   }
   
   @media (max-width: 767px) {
     .symptom-page-title {
       font-size: 1.4rem;
     }
   }

/* ===== 回数券 比較テーブル ===== */
.kaisu-compare-wrap {
  margin: 24px 0;
  position: relative;
}

.kaisu-compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

/* ヘッダー行 */
.kaisu-compare-table thead tr th {
  background: linear-gradient(90deg, #3E4D54 0%, #1B1C21 100%);
  color: #fff;
  font-weight: bold;
  padding: 12px 10px;
  text-align: center;
  border: 1px solid #2a2a2a;
  border-left: none !important;
  font-size: .95em;
  line-height: 1.5;
}

/* 左上の空ラベルセル */
.kaisu-compare-table thead tr th.kaisu-label-col {
  width: 30%;
  background: #fff !important;
  border: none !important;
  padding: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

/* 人気列ハイライト */
.kaisu-compare-table thead th.kaisu-popular {
  background: linear-gradient(90deg, #007549 0%, #005a36 100%) !important;
}

/* テーブル上辺の線を消す */
.kaisu-compare-table tbody tr:first-child th {
  border-top: none !important;
}

/* ボディ ラベル列 */
.kaisu-compare-table tbody tr th {
  background: #f5f5f5 !important;
  font-weight: normal;
  text-align: left;
  padding: 12px 10px;
  font-size: .9em;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #ddd !important;
}

/* ボディ 価格列 */
.kaisu-compare-table tbody tr td {
  text-align: center;
  font-weight: bold;
  padding: 12px 10px;
  border: 1px solid #ddd;
  color: #007549;
  font-size: 1.05em;
}

.kaisu-compare-table tbody tr td.kaisu-popular {
  background: #f0faf5;
  border-color: #007549 !important;
  border-left-color: #007549 !important;
}

/* お得度行 */
.kaisu-compare-table .kaisu-merit-row td {
  color: #B09706;
  font-size: .9em;
  font-weight: bold;
  line-height: 1.5;
}

/* 人気列テキスト色 */
.kaisu-compare-table .color {
  color: #B3FF50;
}

/* ラベル列PC/SP出し分け */
.kaisu-compare-table .label-sp { display: none; }

@media (max-width: 767px) {
  /* スクロールエリア */
  .kaisu-scroll-area {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    position: relative;
  }

  /* スワイプヒント */
  .kaisu-compare-wrap::before {
    content: '← スワイプして比較 →';
    display: block;
    text-align: center;
    font-size: .8em;
    color: #888;
    margin-bottom: 8px;
  }

  /* スクロール後にヒントを隠す */
  .kaisu-compare-wrap.scrolled::before {
    display: none;
  }

  .kaisu-compare-table {
    min-width: 520px;
  }
  .kaisu-compare-table .label-pc { display: none; }
  .kaisu-compare-table .label-sp { display: inline; }
  .kaisu-compare-table tbody tr th {
    font-size: .8em;
    padding: 10px 6px;
  }
}

/* ===== 自費治療 比較テーブル ===== */
.jhi-table-title {
  font-size: 1em;
  font-weight: bold;
  margin: 28px 0 8px;
  padding: 10px 14px;
  background: linear-gradient(90deg, #3E4D54 0%, #1B1C21 100%);
  color: #fff;
  border-radius: 2px;
}

.jhi-table-wrap {
  margin-bottom: 8px;
}

.jhi-table-note {
  font-size: .85em;
  color: #B09706;
  font-weight: bold;
  margin: 6px 0 0 0;
  padding: 0 4px;
}

.jhi-compare-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: none !important;
  border-right: none !important;
}

/* 左上空セル */
.jhi-compare-table thead tr td.kaisu-label-col {
  background: transparent;
  border: none;
  padding: 0;
}

/* ヘッダー行 */
.jhi-compare-table thead tr th {
  background: #f5f5f5;
  color: #333;
  font-weight: bold;
  padding: 10px 10px;
  text-align: center;
  border: 1px solid #ddd;
  font-size: .9em;
  line-height: 1.5;
}

.jhi-compare-table thead tr th small {
  display: block;
  font-weight: normal;
  font-size: .85em;
  color: #666;
  margin-top: 2px;
}

/* ボディ ラベル列 */
.jhi-compare-table tbody tr th {
  background: #f5f5f5 !important;
  font-weight: normal;
  text-align: left;
  padding: 10px 10px;
  font-size: .9em;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #ddd !important;
}

/* ボディ 価格列 */
.jhi-compare-table tbody tr td {
  text-align: center;
  font-weight: bold;
  padding: 10px 10px;
  border: 1px solid #ddd;
  color: #007549;
  font-size: 1em;
  line-height: 1.6;
}

.jhi-compare-table tbody tr td small {
  display: block;
  font-size: .8em;
  font-weight: normal;
  color: #555;
}

/* 特徴行は通常色 */
.jhi-compare-table tbody tr:last-child td {
  color: #333;
  font-weight: normal;
  font-size: .85em;
}

@media (max-width: 767px) {
  .jhi-compare-table {
    width: 100%;
    font-size: .85em;
  }
  .jhi-table-title {
    font-size: .95em;
  }
}

/* ===== のびトレ 料金比較表 ===== */
.nobitre-price-table-wrap {
  margin: 32px 0 16px;
}

.nobitre-price-table-title {
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 12px;
  color: #333;
}

.nobitre-price-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.nobitre-price-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: none !important;
  border-right: none !important;
}

@media (max-width: 767px) {
  .nobitre-price-table {
    min-width: 480px;
  }
}

/* 左上空セル */
.nobitre-price-table thead tr td.nobitre-label-col {
  background: transparent;
  border: none;
  padding: 0;
}

/* ヘッダー行 */
.nobitre-price-table thead tr th {
  background: #3d6b4f;
  color: #fff;
  font-weight: bold;
  padding: 10px 10px;
  text-align: center;
  border: 1px solid #2d5240;
  font-size: .9em;
  line-height: 1.5;
}

.nobitre-price-table thead tr th small {
  display: block;
  font-weight: normal;
  font-size: .8em;
  opacity: .85;
  margin-top: 2px;
}

/* 人気列ハイライト */
.nobitre-price-table thead th.nobitre-popular {
  background: #e07b1a;
  border-color: #c06010;
}

/* ボディ ラベル列 */
.nobitre-price-table tbody tr th {
  background: #f5f5f5 !important;
  font-weight: bold;
  text-align: left;
  padding: 10px 10px;
  font-size: .9em;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #ddd !important;
}

/* ボディ 価格列 */
.nobitre-price-table tbody tr td {
  text-align: center;
  font-weight: bold;
  padding: 10px 10px;
  border: 1px solid #ddd;
  color: #3d6b4f;
  font-size: 1em;
  line-height: 1.6;
}

.nobitre-price-table tbody tr td small {
  display: block;
  font-size: .78em;
  font-weight: normal;
  color: #555;
}

/* 人気列（12ヶ月） */
.nobitre-price-table tbody tr td.nobitre-popular {
  background: #fff8f0;
  border-color: #e07b1a !important;
  color: #c06010;
}

/* ===== のびトレ コース説明（写真左・解説右） ===== */
.nobitre-courses-overview {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  margin: 24px 0 32px;
  padding: 24px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
}

.nobitre-courses-overview__img {
  flex: 0 0 200px;
}

.nobitre-courses-overview__img img {
  width: 100%;
  border-radius: 4px;
}

.nobitre-courses-overview__list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.nobitre-courses-overview__item {
  padding: 16px;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  background: #fff;
}

.nobitre-courses-overview__item--a {
  background: #fff8f0;
  border-color: #e07b1a;
}

.nobitre-courses-overview__item--bc {
  background: #f8fbf9;
  border-color: #c8ddd1;
}

.nobitre-courses-overview__name {
  font-weight: bold;
  font-size: 1em;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.nobitre-courses-overview__tag {
  font-size: .75em;
  font-weight: bold;
  color: #e07b1a;
  background: #fff0dc;
  border: 1px solid #e07b1a;
  border-radius: 99px;
  padding: 2px 10px;
  white-space: nowrap;
}

.nobitre-courses-overview__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #fff;
  border-radius: 50%;
  font-size: .85em;
  font-weight: bold;
  flex-shrink: 0;
}

.nobitre-courses-overview__label--a {
  background: #e07b1a;
}

.nobitre-courses-overview__label--bc {
  background: #3d6b4f;
}

.nobitre-courses-overview__desc {
  font-size: .9em;
  color: #555;
  margin: 0;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .nobitre-courses-overview {
    flex-direction: column;
    gap: 16px;
    padding: 16px;
  }
  .nobitre-courses-overview__img {
    flex: none;
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }
}

/* のびトレ 補足テキスト */
.nobitre-supplement-text {
  font-size: .9em;
  color: #555;
  line-height: 1.8;
  margin: 16px 0 24px;
  padding: 12px 16px;
  border-left: 3px solid #e07b1a;
  background: #fffaf5;
}

/* のびトレ検査（シンプル版） */
.nobitre-inspection-simple {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 10px 14px;
  background: #f5f5f5;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: .9em;
  flex-wrap: wrap;
}

.nobitre-inspection-simple__title {
  font-weight: bold;
  color: #333;
  white-space: nowrap;
}

.nobitre-inspection-simple__note {
  color: #666;
  font-size: .9em;
  line-height: 1.6;
}

/* のびトレ表：価格と/月を横並び */
.nobitre-price-line {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  white-space: nowrap;
}

/* のびトレ表：PCではラベル列折り返しなし */
@media (min-width: 768px) {
  .nobitre-price-table tbody tr th {
    white-space: nowrap;
  }
}

/* のびトレ料金表：スワイプヒントを見出し下・テーブル上に表示 */
@media (max-width: 767px) {
  .nobitre-price-scroll.kaisu-compare-wrap::before {
    content: '← スワイプして比較 →';
    display: block;
    text-align: center;
    font-size: .8em;
    color: #888;
    margin-bottom: 8px;
    overflow: visible;
  }
  .nobitre-price-scroll.kaisu-compare-wrap.scrolled::before {
    display: none;
  }
}

/* ===== のびトレ 動画セクション ===== */
.nobitre-video-wrap {
  margin: 32px 0 40px;
  text-align: center;
}

.nobitre-video-title {
  font-size: 1.1em;
  font-weight: bold;
  color: #333;
  margin-bottom: 16px;
}

.nobitre-video-frame {
  position: relative;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
}

.nobitre-video-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 4px;
}

/* page-price：のびトレ期間別比較テーブル ハイライトをオレンジに */
.nobitore-compare-table thead th.kaisu-popular {
  background: linear-gradient(90deg, #e07b1a 0%, #c06010 100%) !important;
}
.nobitore-compare-table tbody td.kaisu-popular {
  background: #fff8f0 !important;
  border-color: #e07b1a !important;
  color: #c06010 !important;
}
.nobitore-compare-table .color {
  color: #ffe0b0 !important;
}

/* ================================================================
   症状一覧: アーカイブページ用（.siteFooter 外でも効くようにする）
   既存の `.siteFooter .footer_syojyo` のスタイルを .symptom-archive-wrap 配下で再定義
   ================================================================ */
.symptom-archive-wrap .footer_syojyo > div {
  margin-bottom: 30px;
}

.symptom-archive-wrap .footer_syojyo .head {
  background: linear-gradient(150deg, #18181B 34.44%, #1C1E23 58.81%, #272F3C 98.78%, #334155 131.93%), #1C1E23;
  padding: 0 10px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.symptom-archive-wrap .footer_syojyo p {
  text-align: left;
  font-size: 14px;
}

.symptom-archive-wrap .footer_syojyo p a {
  color: #007549;
  text-decoration: underline;
}

.symptom-archive-wrap .footer_syojyo p a.nolink {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: #999;
}

.symptom-archive-wrap .footer_syojyo p a.nolink:after {
  content: '✏️';
  display: inline-block;
  margin-left: 2px;
}

/* ================================================================
   症状一覧: 「一覧を見る」リンク（アーカイブ・フッター両対応）
   ================================================================ */
.syojyo-view-all {
  margin: 6px 0 12px;
}

.siteFooter .footer_syojyo .syojyo-view-all a,
.symptom-archive-wrap .footer_syojyo .syojyo-view-all a {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  color: #c86a1f !important;
  text-decoration: none !important;
  padding: 2px 0;
  border-bottom: 1px solid currentColor;
  transition: color .15s, border-color .15s;
}

.siteFooter .footer_syojyo .syojyo-view-all a:hover,
.symptom-archive-wrap .footer_syojyo .syojyo-view-all a:hover {
  color: #a04e0a !important;
  text-decoration: none !important;
}

/* 準備中プレースホルダ */
.syojyo-empty {
  color: #999;
  font-style: italic;
}


/* ================================================================
   症状アーカイブ: 絞り込みビュー（?bui=xxx時のカードグリッド）
   ================================================================ */
.symptom-back-link {
  display: inline-block;
  padding: 8px 20px;
  color: #2e7d5c;
  text-decoration: none;
  border: 1px solid #2e7d5c;
  border-radius: 4px;
  transition: all .15s;
}
.symptom-back-link:hover {
  background: #2e7d5c;
  color: #fff;
  text-decoration: none;
}

.symptom-filter-grid .symptom-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: opacity .15s;
}
.symptom-filter-grid .symptom-card-link:hover {
  opacity: 0.85;
  color: inherit;
  text-decoration: none;
}
.symptom-filter-grid figure {
  margin: 0 0 8px;
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 4 / 3;
  background: #f5f5f5;
}
.symptom-filter-grid figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.symptom-filter-grid .title p {
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}

.symptom-card-draft .symptom-card-link {
  cursor: not-allowed;
  opacity: 0.5;
}
.symptom-card-draft figure {
  filter: grayscale(100%);
}
.symptom-card-draft .title .pencil {
  margin-left: 4px;
  font-size: 0.9em;
}

.symptom-archive-legend {
  text-align: right;
  color: #666;
  font-size: 0.85rem;
  margin-top: 24px;
  padding-right: 8px;
}
.symptom-archive-legend .pencil {
  margin-right: 2px;
}

/* ================================================================
   症状アーカイブ: 絞り込みビュー 新デザイン（帯なし・画像下テキスト）
   ※ MVの完全なコピーを活かすため、帯で隠さず画像下にタイトル配置
   ================================================================ */

/* 絞り込みビュー専用の .title 上書き（既存 .tab-content a .title を無効化） */
.symptom-archive-filter .tab-content a .title {
  position: static;              /* 絶対配置を解除 */
  background: none;              /* 帯の黒背景を消す */
  background-image: none;        /* 矢印画像を消す */
  width: auto;
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
  border-top: 1px solid #eee;    /* 画像との境目をうっすら */
}

.symptom-archive-filter .tab-content a .title p {
  margin: 0;
  font-weight: 600;
  font-size: 1rem;
  color: #333;
  line-height: 1.4;
}

/* オレンジ矢印を疑似要素で追加 */
.symptom-archive-filter .tab-content a .title::after {
  content: '→';
  color: #c86a1f;
  font-size: 1.3rem;
  font-weight: bold;
  margin-left: 8px;
  flex-shrink: 0;
}

/* カード全体を囲むボーダー（デザインの統一感のため） */
.symptom-archive-filter .tab-content .col-6 > a,
.symptom-archive-filter .tab-content .col-md-4 > a {
  display: block;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
  transition: box-shadow .2s;
}

.symptom-archive-filter .tab-content .col-6 > a:hover,
.symptom-archive-filter .tab-content .col-md-4 > a:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  text-decoration: none;
}

.symptom-archive-filter .tab-content a figure {
  margin: 0;
}

.symptom-archive-filter .tab-content a figure img {
  width: 100%;
  height: auto;
  display: block;
}

/* 下書きカードは既存のシンプル表示を維持（変更なし） */

/* ================================================================
   スマホサイドバー: 症状アコーディオン補強
   ================================================================ */

/* 「一覧を見る」リンク（オレンジ色、強調） */
.sidebar-symptom-view-all a {
  color: #c86a1f !important;
  font-weight: 600;
  text-decoration: none;
}

.sidebar-symptom-view-all a:hover {
  color: #a04e0a !important;
}

/* 下書き症状（クリック不可）の表示 */
.s_02 .accordion_inner .box_one p.txt_a_ac a.nolink {
  pointer-events: none;
  cursor: default;
  color: #999 !important;
  text-decoration: none;
}

.s_02 .accordion_inner .box_one p.txt_a_ac a.nolink:after {
  content: '✏️';
  display: inline-block;
  margin-left: 4px;
  font-size: 0.85em;
}

/* スマホサイドバー: 制作中マークの注釈 */
.sidebar-menu li.sidebar-draft-note {
  padding: 8px 0;
  color: #999;
  font-size: 12px;
  text-align: right;
  list-style: none;
  border-bottom: 1px dashed #ddd;
  margin-bottom: 8px;
}

.sidebar-menu li.sidebar-draft-note small {
  font-size: inherit;
}

/* =========================================================
   交通事故セクション（s-traffic）
   むち打ち（頚椎捻挫）ページ等で使用
   既存テーマ（common.css）のトーンに準拠
   ========================================================= */

/* 交通事故セクションが続く場合、直前のoption下の斜め装飾（pc_bg9）を消す */
.s-option.no-slope {
    background-image: none;
    padding-bottom: 80px;
}
/* 斜めを消したoptionの直後に来るs-trafficは、負マージンを打ち消す */
.s-option.no-slope + .s-traffic {
    margin-top: 0;
}

.s-traffic {
    background: #f7f7f7;
    padding: 0 0 240px;
    margin-top: -40px;
    position: relative;
}
.s-traffic .container {
    position: relative;
    z-index: 5;
}

/* option から移設した斜めライン：traffic の下端（＝blogの上）に表示 */
.s-option.no-slope + .s-traffic:after {
    content: '';
    display: block;
    background: url(../images/pc_bg9.png) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 204px;
    position: absolute;
    left: 0;
    bottom: 0;
}

.s-traffic .head {
    margin-bottom: 40px;
}

/* 見出しバッジ：他セクション（s-factor等）と同じ黒地＋黄色span */
.s-traffic .head>div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.s-traffic .head>div .bg {
    background: #1C1E23;
    font-size: 24px;
    color: #fff;
    padding: 4px 12px;
    font-weight: 900;
}

.s-traffic .head>div .bg span {
    color: #E5CE3A;
}

.s-traffic .head h2 {
    border: none;
    padding: 0;
    font-size: 48px;
    font-style: italic;
    font-weight: 900;
    margin: 10px 0 0;
    color: #387f64;
}

/* 本文ブロック */
.s-traffic .inner {
    max-width: 860px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #87D49E;
    box-shadow: 8px 8px 0px rgba(151, 171, 157, 0.5);
    padding: 40px 50px;
}

.s-traffic .inner p {
    font-size: 17px;
    line-height: 1.9;
    margin: 0 0 20px;
}

/* チェックリスト：既存checkListのトーンを踏襲 */
.s-traffic .inner .checkList {
    list-style: none;
    margin: 0 0 25px;
    padding: 0;
}

.s-traffic .inner .checkList li {
    color: #212121;
    font-weight: bold;
    font-size: 18px;
    background: url(../images/ico-check.png) no-repeat;
    background-size: 22px;
    background-position: left top 6px;
    padding: 0 0 0 32px;
    margin-bottom: 14px;
    line-height: 1.7;
}

.s-traffic .inner .checkList li:last-child {
    margin-bottom: 0;
}

.s-traffic .inner .checkList li .color {
    color: #387f64;
}

/* CTAボタン：交通事故ページへ誘導（btn-bgを強調したトーン） */
.s-traffic .traffic-btn {
    color: #fff;
    background: #387f64;
    display: inline-block;
    width: 420px;
    max-width: 90%;
    padding: 1em 1.5em;
    margin: 10px auto 0;
    text-align: center;
    font-size: 19px;
    font-weight: bold;
    border-radius: 6px;
    text-decoration: none;
    box-shadow: 4px 4px 0px rgba(56, 127, 100, 0.3);
    transition: 0.2s;
    position: relative;
}

.s-traffic .traffic-btn:after {
    content: '＞';
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
}

.s-traffic .traffic-btn:hover {
    color: #fff;
    background: #2c6b53;
    box-shadow: 2px 2px 0px rgba(56, 127, 100, 0.3);
    transform: translate(2px, 2px);
}
/* ── スタッフ詳細ページ（2026-08-26 追加）
   写真が無く名前と本文だけだったので、一覧・訪問ページと同じ
   「写真 → 名前 → 役職 → 本文」の並びに合わせた */
.staff-detail {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    max-width: 900px;
    margin: 0 auto 50px;
}
.staff-detail__photo {
    flex: 0 0 300px;
}
.staff-detail__photo img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
}
.staff-detail__body {
    flex: 1;
    min-width: 0;
}
.staff-detail__yaku {
    color: #387f64;
    font-weight: bold;
    margin: 0 0 6px;
}
.staff-detail__name {
    font-size: 1.6em;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 20px;
}
.staff-detail__name .kana {
    font-size: 0.55em;
    font-weight: normal;
    color: #666;
    margin-left: 8px;
}
.staff-detail__lead {
    font-size: 1.15em;
    font-weight: bold;
    margin: 0 0 18px;
}
.staff-detail__msg {
    border-top: 1px solid #e0e0e0;
    padding-top: 18px;
}
.staff-detail__msgttl {
    color: #387f64;
    font-weight: bold;
    font-size: 0.95em;
    margin: 0 0 8px;
}
.staff-detail__msg p {
    margin: 0;
    line-height: 1.9;
}
@media screen and (max-width: 767px) {
    .staff-detail {
        display: block;
    }
    .staff-detail__photo {
        max-width: 260px;
        margin: 0 auto 24px;
    }
    .staff-detail__name {
        font-size: 1.35em;
    }
}


/* プロフィール未入稿のスタッフ（2026-08-26 追加）
   名前だけの空ページに見えないよう、準備中と分かるようにする */
.staff-detail__soon {
    color: #777;
    background: #f7f7f7;
    border-radius: 6px;
    padding: 18px 20px;
    line-height: 1.9;
    margin: 0;
}


/* スタッフ詳細の項目見出し（2026-08-27 追加）
   テンプレートは __item / __itemttl / __list を出しているのに定義が無く、
   見出しと本文が同じ見た目のベタ組みになっていた。
   一覧側（.borderHead.color-grn）と揃える */
.staff-detail__item {
    margin: 0 0 22px;
}
.staff-detail__item:last-child {
    margin-bottom: 0;
}
.staff-detail__itemttl {
    color: #387f64;
    font-weight: bold;
    font-size: 1.02em;
    border-bottom: solid 1px;
    padding-bottom: 0.5em;
    margin: 0 0 0.6em;
}
.staff-detail__item p {
    margin: 0;
    line-height: 1.9;
}
.staff-detail__list {
    margin: 0;
    padding-left: 1.4em;
}
.staff-detail__list li {
    margin-bottom: 0;
    line-height: 1.9;
}
