/* ==========================================================================
  Font
  ========================================================================== */

/* ==========================================================================
  Foundation
  ========================================================================== */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,dd2,
del,
details,
dfn,
div,
dl,
dt,dt2,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;
    text-decoration: none;

    border: 0;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section
{
    display: block;
}

body
{
    line-height: 1;
    /* overflow: hidden; */
}
body.menu-open {
  overflow: hidden;
  height: 100vh;
  position: fixed;
  width: 100%;
}
ol,
ul
{
    list-style: none;
}

blockquote,
q
{
    quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before
{
    content: '';
    content: none;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

main
{
    display: block;
}

html
{
    font-size: 62.5%;

    overflow: auto;
}

*
{
    box-sizing: border-box;
    padding: 0;

    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;

    -webkit-appearance: none;
}

img
{
    display: block;

    width: 100%;
    height: auto;
}

*
{
    font-family: 'Noto Serif JP', serif;

    box-sizing: border-box;
    padding: 0;

    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;

    -webkit-appearance: none;
}

body
{
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
}

/* Windows */

@font-face
{
    font-family: YuGothicM;
    font-weight: normal;

    src: local('YuGothic-Medium'), local('Yu Gothic Medium'), local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}

@font-face
{
    font-family: YuGothicM;
    font-weight: bold;

    src: local('YoGothic-Bold'), local('Yu Gothic'); /* Chrome用 */
}

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

*
{
    font-size: 1.8rem;
    line-height: 1.5;

    color: #333;
}

*
{
    word-break: break-word;
}

body
{
    font-family: 'Noto Serif JP', serif;
    font-size: 1.6rem;

    color: #333;
}

a
{
    transition: .3s;
}

a:hover
{
    opacity: .7;
}

/* ==========================================================================
  Layout
  ========================================================================== */

.l-footer
{
    width: 100%;
    padding: 70px 0 100px;

    color: #655222;
    background: #e7dec8;
}

.l-footer .p-footer-row02__table span
{
    font-size: 1.4rem;
    font-weight: 400;

    display: inline-block;

    margin-top: 4px;

    color: #655222;
}

.l-header
{
    position: fixed;
    z-index: 99999;
    top: 0;

    width: 100%;
    height: 100px;

}

.l-main
{
    margin-top: 100px;
}

.l-main.home {
  margin-top: 0;
}

.l-main__inner
{
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ==========================================================================
  Object
  ========================================================================== */

/* Components
  ----------------------------------------------------------------- */
 
.c-backto
{
    font-weight: 700;

    display: table;
    display: -ms-flexbox;
    display: flex;

    max-width: 360px;
    margin-top: 56px;
    margin-right: auto;
    margin-left: auto;
    padding: 24px 0;

    color: #fff;
    border-radius: 50px;
    background-color: #a08646;

    -ms-flex-pack: center;

        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
}

.c-backto i,
.c-backto span
{
    color: #fff;
}

.c-backto i
{
    margin-right: 50px;
    margin-left: -50px;
}

.c-brown-btn
{
    font-size: 1.5rem;
    line-height: 45px;

    display: inline-block;

    max-width: 300px;
    height: 45px;
    margin: auto;
    padding: 0 40px;

    text-align: center;

    color: #fff;
    border-radius: 25px;
    background-color: #655222;
}

.c-faq h1
{
  font-size: 3.2rem;
  color: #222222;

  padding-bottom: 16px;

  text-align: center;

  color: #a08646;
  border-bottom: 1px solid #CCC3A0;
  position: relative;
  padding-bottom: .5em;
  margin-bottom: 1em;
}
.c-faq h1::after {
    content: '';
    width: 100px;
    height: 5px;
    display: block;
    background: #794944;
    margin: auto;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
}

.c-faq dl dt,
.c-faq dl dd
{
    position: relative;

    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 64px;
}

.c-faq dl dt::before,
.c-faq dl dd::before
{
    font-family: 'Noto Serif JP', serif;
    font-size: 4.0rem;

    position: absolute;
    top: 8px;
    left: 0;
}

.c-faq dl dt {
  border-bottom: 1px solid #DDDDDD;
}

.c-faq dl dt::before
{
    content: 'Q.';

    color: #AD9B5B;
}

.c-faq dl dd
{
    color: #707070;
}

.c-faq dl dd::before
{
    content: 'A.';

    color: #C9C4B0;
}

.c-list
{
    margin-top: 24px;
    padding: 30px;

    border: 3px solid #a08646;
    border-radius: 8px;
}

.c-list li
{
    position: relative;

    padding-left: 32px;
}

.c-list li::before
{
    position: absolute;
    top: .5em;
    left: 0;

    width: 12px;
    height: 12px;

    content: '';

    border-radius: 100%;
    background-color: #a08646;
}

.c-list li:not(:nth-of-type(1))
{
    margin-top: 16px;
}

.c-lower-mv
{
    position: relative;

    height: 30vh;

    background-image: url('../images/common/lower-mv.jpg');
    background-repeat: no-repeat;
    background-size: cover;
}

.c-lower-mv h1
{
    font-size: 4.0rem;
    font-weight: 500;
    colof: #794944;
    font-family: 'Noto Serif JP', serif;

    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 90%;

    display: inline-block;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: auto;

    vertical-align: middle;
  
  color: #794944;

}

.c-lower-mv h1 br
{
    display: none;
}

.c-reserve
{
    padding: 0 24px;

}

.c-reserve__wrap
{
    max-width: 1240px;
    margin: 0 auto 70px;
    background: #fff;
}

.c-reserve__box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    padding: 60px 0;

    -ms-flex-align: center;

        align-items: center;
  background: #FBFAF6;
}


.c-reserve__box p
{
    font-size: 1.5rem;
    line-height: 1.5;

    text-align: center;

    color: #333;
}

.c-reserve__box i img
{
    width: 100%;
    margin-top: 28px;

    object-fit: contain;
}

.c-reserve__box span
{
    font-size: 1.8rem;
    font-weight: 700;

    margin-top: 4px;

    color: #666;
}

.c-reserve__row02
{
    width: 100%;
}

.c-reserve__row02-box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    padding: 60px 0;

    -ms-flex-align: center;

        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
}

.c-reserve__row02-box:nth-of-type(1)
{
    background: #645755;
}

.c-reserve__row02-box:nth-of-type(1) a
{
    color: #41444b;
}

.c-reserve__row02-box:nth-of-type(1) h2
{
    font-size: 2.4rem;
    font-weight: 500;

    color: #fff;
}

.c-reserve__row02-box:nth-of-type(1) p
{
    font-size: 1.4rem;
    line-height: 1.5;

    max-width: 367px;

    color: #fff;
}

.c-reserve__row02-box:nth-of-type(2)
{
    background: url('../images/common/calendar.svg') no-repeat;
    background-color: #e7dec8;
    background-position: 10% 0;
}

.c-reserve__row02-box:nth-of-type(2) a
{
    color: #655222;
}

.c-reserve__row02-box:nth-of-type(2) h2
{
    font-size: 2.4rem;
    font-weight: 700;

    color: #655222;
}

.c-reserve__row02-box:nth-of-type(2) p
{
    font-size: 1.4rem;
    line-height: 1.5;

    max-width: 367px;
    margin-top: 23px;

    color: #655222;
}

.c-reserve__row02-box a
{
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 60px;

    display: block;

    width: 100%;
    max-width: 300px;
    height: 60px;
    margin-top: 10px;

    text-align: center;

    border-radius: 30px;
    background: #fff url(../images/top/arrow-reserve.svg) no-repeat right 1em center / 36px auto;
}

.c-reserve__sub
{
    font-size: 2.4rem;
    font-weight: 700;
}

.c-reserve__img
{
    width: 70px;
    height: 70px;
    margin: 27px;

  /* display: none; */
}

.c-reserve__img img
{
    width: 100%;
    height: 100%;

    object-fit: contain;
}

.c-reserve__linkto
{
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 60px;

    display: block;

    width: 100%;
    max-width: 300px;
    height: 60px;
    margin: 10px auto 0;

    text-align: center;

  
    color: #fff;
    border-radius: 30px;
    background: #01c32a url("../images/top/arrow-line.svg") no-repeat right 1em center / 36px auto;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
}

.c-reserve__btn
{
    line-height: 41px;

    height: 45px;

    text-align: center;

    color: #FFF;
    background: #a08646;
    border-radius: 5px;
}

.c-row
{
    display: -ms-flexbox;
    display: flex;

    margin-top: 40px;

    -ms-flex-pack: center;

        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.c-row__item:not(:nth-of-type(3n))
{
    margin-right: 30px;
}

.c-row__item span
{
    font-weight: 700;

    color: #455a64;
}

.c-table__wrap
{
    display: -ms-flexbox;
    display: flex;

    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    border-left: 1px solid #707070;

    -ms-flex-align: center;

        align-items: center;
}

.c-table__wrap:last-child
{
    border-bottom: 1px solid #707070;
}

.c-table__wrap dt
{
    width: 60%;
    padding: 24px 32px;

    border-right: 1px solid #707070;
    background-color: #fafafa;
}

.c-table__wrap dd
{
    font-size: 2.4rem;
    font-weight: 700;
    width: 40%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    color: #a08646;
    align-self: stretch !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.c-table__wrap dd+dd {
    border-left: 1px solid #333;
}
.c-table__subheader dt{
    padding: 12px!important;
}
.c-table__subheader dt, .c-table__subheader dd {
    background: #ededed !important;
    border: 0px !important;
    font-size: 1.8rem;
    padding: 0 0;
    color: #333!important;
}


.c-table__wrap dt2
{
    width: 30%;
    padding: 55px 18px;

    border-right: 1px solid #707070;
    background-color: #fafafa;
}

.c-table__wrap dd2
{
    font-size: 1.4rem;
    font-weight: 400;

    width: 70%;
    margin-right: auto;
    margin-left: auto;
	padding: 0px 10px;
    text-align: left;
}

.c-table2__wrap {
  display: flex;
  border-top: 1px solid #707070;
  border-left: 1px solid #707070;
  border-right: 1px solid #707070;
}

.c-table2__wrap:last-child {
  border-bottom: 1px solid #707070;
}

.c-table2__wrap dt {
  width: 30%;
  padding: 16px;
  border-right: 1px solid #707070;
  background-color: #fafafa;
  font-weight: bold;
}

.c-table2__wrap dd {
  width: 35%;
  margin: 0;
  padding: 16px;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  color: #a08646;
}

/* dd同士の間に縦線 */
.c-table2__wrap dd + dd {
  border-left: 1px solid #707070;
}

/* ---------------------- */
/* スマホ対応 (768px以下) */
/* ---------------------- */
@media screen and (max-width: 768px) {
  .c-table2__wrap {
    flex-direction: column;   /* 縦並び */
    border-left: 1px solid #707070;
    border-right: 1px solid #707070;
  }

  .c-table2__wrap dt,
  .c-table2__wrap dd {
    width: 100%;
    border-right: none;
    border-left: none;
    text-align: left;
    font-size: 1.6rem;
  }

  .c-table2__wrap dd + dd {
    border-left: none;        /* 縦並び時は縦線を消す */
    border-top: 1px solid #707070; /* 横罫線を追加 */
  }
}


.c-title-lv1
{
    font-size: 3.2rem;
     color: #222222;
    font-weight: 500;
    font-family: 'Noto serif JP', serif;
    border-bottom: 1px solid #CCC3A0;
    width: 992px;
    max-width: 90%;
    margin: 0 auto;

    position: relative;
    z-index: 2;

    text-align: center;

    padding-bottom: 40px;
    margin-bottom: 1em;
}

.c-title-lv1:after
{
    position: absolute;
    z-index: -1;
    left: 0; right: 0;
    top: 100%; margin: auto;

    display: block;

    width: 100px;
    height: 5px;
    background: #794944; 

    content: '';
}

.c-title-lv2
{
    font-size: 2.4rem;
    font-weight: 500;
    color: #794944;
  

    margin-bottom: 20px;
    padding: 5px 0 5px 15px;

    border-left: 3px solid #794944;
}

.c-title-lv2:not(:nth-of-type(1))
{
    margin-top: 48px;
}

.c-title-lv2:nth-of-type(1)
{
    margin-top: 80px;
}

/* Project
  ----------------------------------------------------------------- */

.p-footer-row02
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;

        justify-content: space-between;
}

.p-footer-row02__content p,
.p-footer-row02__content span,
.p-footer-row02__content ol,
.p-footer-row02__content li
{
    color: #655222;
}

.p-footer-row02__content__ttl
{
    font-size: 2.4rem;
    font-weight: 700;
}

.p-footer-row02__content span
{
    font-size: 1.2rem;
    font-weight: 700;

    display: block;

    margin-top: 10px;

    letter-spacing: 1px;
}

.p-footer-row02__content .c-reserve__btn
{
    font-size: 1.2rem;
    line-height: 36px;

    display: block;

    width: 150px;
    height: 40px;
    margin-top: 8px;
}

.p-footer-row02__tel
{
    width: 247px;
    height: 32px;
    margin-top: 34px;
}

.p-footer-row02__tel img
{
    width: 100%;
    height: auto;

    object-fit: contain;
}

.p-footer-row02__time
{
    margin-top: 14px;
}

.p-footer-row02__time li
{
    font-size: 1.2rem;
}

.p-footer-row02__time li + li
{
    margin-top: 8px;
}

.p-footer-row02__caution
{
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 32px;
    background: #794944;
}

.p-footer-row02__caution li
{
    font-size: 1.2rem;
  
    color: #FFF;
    padding: 8px;
}

.p-footer-row02__caution li + li
{
    margin-top: 8px;
}

.p-footer-row02__table
{
    width: 740px;
    max-width: 740px;

    border: 1px solid #655222;
}

.p-footer-row02__table tr:nth-of-type(1)
{
    height: 40px;

    background: #655222;
}

.p-footer-row02__table tr:nth-of-type(2)
{
    height: 87px;

    border-bottom: 1px dashed #655222;
    background: rgba(255, 255, 255, .3);
}

.p-footer-row02__table tr:nth-of-type(3)
{
    line-height: 1.5;

    height: 110px;

    background: rgba(255, 255, 255, .3);
}

.p-footer-row02__table tr th,
.p-footer-row02__table tr td
{
    vertical-align: middle;
}

.p-footer-row02__table tr th
{
    font-size: 1.5rem;
    font-weight: 700;

    text-align: center;

    color: #fff;
}

.p-footer-row02__table tr th:first-of-type
{
    width: 178px;
}

.p-footer-row02__table tr th:not(:first-of-type)
{
    width: calc(75% / 7);
}

.p-footer-row02__table tr td
{
    text-align: center;

    color: #655222;
}

.p-footer-row02__table tr td:first-of-type
{
    font-weight: 700;
}

.p-footer-row02__table tr td:not(:last-of-type)
{
    border-right: 1px solid #655222;
}

.p-footer-bottom
{
    display: -ms-flexbox;
    display: flex;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    margin-right: 20px;
    margin-left: auto;
}

.p-footer-bottom a
{
    font-size: 1.4rem;

    padding: 2px 20px;

    color: #655222;
}

.p-footer-bottom a + a
{
    border-left: 1px solid #655222;
}

.p-footer-copyright
{
    margin-top: 20px;
}

.p-footer-copyright p
{
    font-size: 1.2rem;

    text-align: center;
}

.p-footer-cap
{
    font-size: 1.2rem;
    line-height: 1.75;

    margin-top: 12px;
}

.p-header
{
    display: -ms-flexbox;
    display: flex;

    max-width: 1366px;
    height: 100px;
    margin: 0 auto;
    padding: 0 10px;
  
    background: rgba(255,255,255,.6);

    -ms-flex-align: center;

        align-items: center;
}

.p-header-left
{
    display: -ms-flexbox;
    display: flex;

    width: 25%;
    min-width: 230px;

    -ms-flex-align: center;

        align-items: center;
}

.p-header-right
{
    width: 70%;
}

.p-header-right.active
{
    transform: translateX(0);
    overflow-y: auto;
}

.p-header-logo
{
    width: 140px;
    min-width: 140px;
    height: 70px;
    padding: 10px;
}

.p-header-caution
{
    font-size: 1rem;

    display: -ms-flexbox;

    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 8px;

    background: #794944;
    color: #FFF;

    -ms-flex-pack: justify;

        justify-content: space-between;
}

.p-header-caution li
{
    color: #FFF;
}

.p-header-caution li + li
{
    margin-top: 4px;
}

.p-header-menu
{
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100px;

    -ms-flex-align: center;

        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
}

.p-header-menu__sp-logo
{
    display: none;

    width: 70%;
    margin: 0 auto;
}

.p-header-menu__sp-logo img
{
    width: 100%;
    height: 100%;
    max-height: 72px;

    object-fit: contain;
}

.p-header-menu__main
{
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -ms-flex-pack: justify;

        justify-content: space-between;
}

.p-header-menu__main a
{
    font-size: 1.3rem;

    display: block;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;

    text-align: center;

    color: #333;
}

.p-header-menu__main .c-reserve__btn
{
    line-height: 36px;
    display: none;
    margin: 16px;
    width: 240px;
    height: 50px;

    color: #FFF;
}

.p-header-menu__tel
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-align: center;

        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
}

.p-header-menu__tell-wrap
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-pack: center;

        justify-content: center;
}

.p-header-menu__tell-wrap i img
{
    width: 245px;
    height: 32px;
    margin-right: 8px;

    object-fit: contain;
}

.p-header-menu__tell-wrap span
{
    font-size: 1.2rem;

    text-align: center;
}


/* --- 新header(2025.06.09) PCホバー&SPアコーディオン形式 --- */
/* --- 共通 --- */
.p-header-menu__main .nav-group {
  position: relative;
}
.p-header-menu__main .nav-submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  background-color: #fff;
  border: 1px solid #ddd;
  z-index: 1000;
}
.p-header-menu__main .nav-submenu li a {
  display: block;
  padding: 10px 15px;
  font-size: 14px;
  white-space: nowrap;
  color: #333;
  text-decoration: none;
}
.p-header-menu__main .nav-submenu li a:hover {
  background-color: #f5f5f5;
}
.p-header-menu__main .c-reserve__btn
{
    display: none;
}
/* --- PC用: ホバーで展開 --- */
/* --- PC共通 --- */
@media screen and (min-width: 1120px) {
  .p-header-menu__main{
    align-items: center;
    display: flex;
;

  }
  /* aタグをブロック化し、メニューバー全体をホバー可能に */
  .p-header-menu__main .nav-group > a {
    /* display: block; */
    padding: 18px 4px;
    text-decoration: none;
    position: relative;
  }

  /* サブメニューの配置を文字キチキチ→nav-groupの下に整えて出す */
  .p-header-menu__main .nav-submenu {
    display: none;
    position: absolute;
    top: 100%; /* 親aの下にピタッと */
    left: 0;
    min-width: 200px;
    background-color: #fff;
    /* border: 1px solid #ddd; */
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
  }

  /* ホバー時に展開（hover対象は nav-group 全体） */
  .p-header-menu__main .nav-group.has-submenu:hover > .nav-submenu {
    display: block;
  }

  /* サブメニュー内のリンク */
  .p-header-menu__main .nav-submenu li a {
    display: block;
    padding: 10px 15px;
    font-size: 14px;
    color: #333;
    white-space: nowrap;
    text-decoration: none;
  }

  .p-header-menu__main .nav-submenu li a:hover {
    background-color: #f8f8f8;
  }
}


/* --- SP用: アコーディオン展開 --- */
@media screen and (max-width: 1120px) {
  .p-header-menu__main .nav-group {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .p-header-menu__main .nav-group {
    border-bottom: 1px solid #eee;
  }

  .p-header-menu__main .nav-group > a {
    display: flex; /* ← これで横並び整える */
    justify-content: center; /* 中央寄せ */
    align-items: center;
    position: relative;
    padding: 15px;
    font-size: 1.4rem;
  }

  .p-header-menu__main .nav-group.has-submenu > a::after {
    content: '＋';
    margin-left: 8px; /* ← 文字と被らないよう間隔 */
    font-size: 10px;
    color: #aaa;
  }

  .p-header-menu__main .nav-group.active > a::after {
    content: '－';
  }

  /* ✅ここが重要：positionを完全に解除し、自然に流れるブロック表示に */
  .p-header-menu__main .nav-submenu {
    display: none;
    position: static !important;  
    background-color: #fff;
    padding-bottom: 10px;
    border: 0px solid #eee;
    overflow: hidden; /* 高さアニメのため必要 */

    
  }

  .p-header-menu__main .nav-group.active .nav-submenu {
    display: flex!important;
    flex-direction: column;
    align-items: center;
  }

  .p-header-menu__main .nav-submenu li a {
    font-size: 1.2rem;
    padding: 8px 0;
    display: block;
    color: #666;
  }
}

.p-header-btn
{
    position: relative;

    display: none;

    width: 30px;
    height: 22px;

    cursor: pointer;
}

.p-header-btn span
{
    position: absolute;
    left: 0;

    width: 100%;
    height: 3px;

    transition: all .5s;

    border-radius: 4px;
    background-color: #212121;
}

.p-header-btn span:nth-of-type(1)
{
    top: 0;
}

.p-header-btn span:nth-of-type(2)
{
    top: 9px;
}

.p-header-btn span:nth-of-type(3)
{
    bottom: 0;
}

.p-header-btn.active
{
    position: relative;
    z-index: 9999;
}

.p-header-btn.active span:nth-of-type(1)
{
    top: -10px;

    transform: translateY(20px) rotate(-45deg);
}

.p-header-btn.active span:nth-of-type(2)
{
    opacity: 0;
}

.p-header-btn.active span:nth-of-type(3)
{
    top: 30px;

    transform: translateY(-20px) rotate(45deg);
}

.current
{
    position: relative;
}

.current:before
{
    position: absolute;
    bottom: -10px;
    left: 50%;

    width: 10px;
    height: 10px;

    content: '';
    transform: translateX(-50%);

    border-radius: 50%;
    background: #a08646;
}

.tb-responsive
{
    display: table;

    width: auto;
    width: 700px;
    height: 325px;
    margin: 0 2px;

    border-collapse: collapse;

    white-space: normal;
    white-space: nowrap;

    border: 2px solid #e0e0e0;
}

.tb-responsive__wrap
{
    overflow-x: scroll;

    margin-top: 60px;
}

.tb-responsive__wrap::-webkit-scrollbar
{
    width: 10px;
    height: 10px;
}

.tb-responsive__wrap::-webkit-scrollbar-track
{
    background-color: #f2f2f2;
}

.tb-responsive__wrap::-webkit-scrollbar-thumb
{
    border-radius: 10px;
    background: #bfbfbf;
}

.tb-responsive tr:not(:last-child)
{
    border-bottom: 2px solid #e0e0e0;
}

.tb-responsive tr td
{
    padding: 7px;

    word-break: break-all;

    border-right: 2px solid #e0e0e0;
}

.tb-responsive tr td span
{
    font-size: 1.4rem;
}

.tb-responsive b,
.tb-responsive strong,
.tb-responsive .strong
{
    font-weight: bold;
}

.tb-responsive .red
{
    color: #f00;
}

/*表*/

.entry-content table
{
    width: 100%;
    margin-top: 60px;
    margin-bottom: 1.5em;

    border: 2px solid #e0e0e0;
}

.entry-content table .red
{
    color: #f00;
}

/*表をレスポンシブに*/

.entry-content table.tb-responsive
{
    display: block;
    overflow-x: auto;

    width: 100%;

    white-space: nowrap;

    -webkit-overflow-scrolling: touch;
}

.entry-content table caption
{
    font-size: .75em;

    margin: 0 0 7px;

    letter-spacing: 1px;

    color: #9fa6b4;
}

.entry-content tr:not(:last-child)
{
    border-bottom: 2px solid #e0e0e0;
}

.entry-content td
{
    padding: 7px;

    vertical-align: middle;
    word-break: break-all;

    border-right: 2px solid #e0e0e0;
}

.entry-content td:last-child,
.entry-content th:last-child
{
    border-right: 0;
}

.entry-content th
{
    padding: 7px;

    border-right: 2px solid #e0e0e0;
    border-bottom: 2px solid #e0e0e0;
    background-color: #f8f9fa;
}

.entry-content table.is-style-stripes
{
    border: none;
}

.p-company__box__logo
{
    width: 300px;
    margin: 0 auto;
}

.p-companny-row02
{
    max-width: 983px;
    margin: 0 auto;
}

.p-companny-row02__content
{
    text-align: left;
}

.p-companny-row02__content h3
{
    font-size: 3.5rem;
    font-weight: 700;

    margin-bottom: 21px;
}

.p-companny-row02__content p
{
    font-size: 1.8rem;
    line-height: 1.5;

    margin-bottom: 30px;

    color: #9d9d9d;
}

.p-companny-row02__content ol p,
.p-companny-row02__content ol li
{
    font-size: 1.6rem;
    line-height: 2.5;

    margin-bottom: 0;

    color: #3b4043;
}

.p-companny-list
{
    font-size: 1.8rem;

    max-width: 995px;
    margin: 0 auto;
    margin-top: 15px;

    text-align: left;

    border-top: 2px solid #98a6b5;
}

.p-companny-list__wrap
{
    padding: 20px;

    border-bottom: 1px solid #cdd6dd;
}

.p-companny-list dt
{
    font-weight: 700;

    color: #333;
}

.p-companny-list dd
{
    color: #3b4043;
}

.p-home-access__row02-content h3
{
    font-size: 2.2rem;
    font-weight: 700;

    text-align: center;
}

.p-company-flow h2
{
    margin-bottom: 80px;
}

.p-company-flow__box
{
    margin-bottom: 50px;
}

.p-company-flow__box-img
{
    width: 50%;
}

.p-company-flow__box-img img
{
    max-width: 500px;
}

.p-company-flow__box-content
{
    width: 50%;
}

.p-company-flow__box-content span
{
    font-size: 4rem;
    font-weight: 500;

    margin-bottom: 20px;

    letter-spacing: .8px;

    color: #a08646;
}

.p-company-flow__box-content p
{
    font-size: 1.8rem;
    line-height: 1.7;

    max-width: 500px;

    color: #424242;
}

.p-access__row02-content h3
{
    margin-top: 40px;
}

.p-ed-name
{
    font-size: 2rem;
    font-weight: 700;

    color: #a08646;
}

.p-ed-description
{
    font-size: 1.6rem;

    margin-bottom: 24px;
}

.p-ed-description:before
{
    margin-left: 1em;

    content: 'ー';

    color: #a08646;
}

.p-fee p,
.p-fee li
{
    font-size: 1.5rem;
    line-height: 1.7;

    color: #333;
}

.p-fee-title
{
    text-align: center;

    letter-spacing: 2px;

    color: #222222;
    padding-bottom: .5em;
    border-bottom: 1px solid #CCC3A0;
    position: relative;
}

.p-fee-title::after {
  content: '';
  width: 100px;
  height: 5px;
  background: #794944;
  margin: auto;
  display: block;
  position: absolute;
  top: 100%;
  left: 0;right: 0;
}

.p-fee-sub
{
    font-weight: 700;
    line-height: 1;

    color: #212121;
}

.p-fee-list a
{
    font-size: clamp(1.5rem, 5vw, 2.4rem);
    font-weight: 500;
    line-height: 1;

    display: block;

    margin-top: 50px;
    padding: 18px 36px;

    cursor: pointer;

    color: #fff;
    background: #a08646;
}

.p-fee-list a i
{
    float: right;

    width: 22px;

    text-align: center;

    color: #fff;
}

.p-fee-list a .fa-angle-up
{
    transition: all .5s;
}

.p-fee-list a .fa-angle-up.active
{
    transform: rotate(180deg);
}

.p-fee-list a small
{
    font-size: .66em;

    color: #fff;
}

.p-fee-list .c-table
{
    display: none;
}

.p-fee-list .c-table .c-table__wrap dt
{
    background: #fafafa;
}

.p-fee-list .c-table .c-table__wrap dt span
{
    font-size: 1.5rem;
}

.p-fee-caution
{
    font-weight: 700;

    margin-top: 41px;

    border: 2px solid #a08646;
}

.p-fee-caution__title
{
    font-size: 2.4rem;

    color: #a08646;
    background-color: #ebebeb;
}

.p-fee-caution__box
{
    margin: auto;

    text-align: center;
}

.p-fee-caution__box p
{
    font-size: 2.4rem;
    line-height: 1.25;

    letter-spacing: 1.2px;

    color: #212121;
}

.p-fee-caution__box p span
{
    font-size: 2.4rem;

    color: #ff9800;
}

.p-fee-caution__box p small
{
    font-size: 1.8rem;
}

.p-fee-caution__box span
{
    font-size: 1.8rem;
    line-height: 1.66;

    letter-spacing: .9px;

    color: #707070;
}

.p-herpes-block
{
    display: -ms-flexbox;
    display: flex;

    border-radius: 8px;
}

.p-herpes-block:not(:nth-of-type(1))
{
    margin-top: 8px;
}

.p-herpes-block:nth-of-type(1)
{
    margin-top: 32px;
}

.p-herpes-block div
{
    padding: 16px;
}

.p-herpes-block div:nth-of-type(1)
{
    width: 30%;

    text-align: center;

    color: #fff;
    background-color: #a08646;
}

.p-herpes-block div:nth-of-type(2)
{
    width: 70%;

    background-color: #ebebeb;
}

.p-home-mv
{
    position: relative;

    height: 100vh;

    background: url('../images/top/mv.jpg');
    background-size: cover;
}

.p-home-mv__inner
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    max-width: 590px;
    height: 100vh;
    margin: 0 auto;

    -ms-flex-pack: center;

        justify-content: center;
}

.p-home-mv__box
{
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    margin-top: 93px;
}

.p-home-mv__box a
{
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 60px;

    display: block;

    width: 330px;
    height: 60px;
    margin: 0 auto;

    text-align: center;

    color: #FFF;
    border-radius: 5px;
    background: #AF9D5C;
    
}

.p-home-mv__box a + a
{
    margin-left: 20px;
}

.p-home-partner
{
    position: absolute;
    top: 100px;
    left: 0;
    width: 100%;
    z-index: 2;
    background: rgba(160, 134, 70, 0.7);
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

.p-home-partner__inner
{
    max-width: 1140px;
    margin: 0 auto;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
p.p-home-partner__label{
    color: #fff;
}
    
.p-home-partner__button
{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    padding: 8px 30px;
    color: #a08646;
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .16);
    text-decoration: none;
}

.p-home-partner__button::after
{
    position: absolute;
    top: 50%;
    right: 20px;
    display: inline-block;
    width: 8px;
    height: 8px;
    content: '';
    transform: translateY(-50%) rotate(45deg);
    border-top: 2px solid #bea86f;
    border-right: 2px solid #bea86f;
}

.p-home-partner__button:hover
{
    opacity: .95;
}

.p-home-guide
{
    position: fixed;
    right: 0;
    bottom: 0;

    display: -ms-flexbox;

    display: flex;
    border-radius: 5px 0 0 0;
    background: #794944;
    z-index: 99;
    padding-right: 50px;
}

.p-home-guide br:nth-of-type(2) {
  display: none;
}

.p-home-guide__right
{
    display: -ms-flexbox;
    display: flex;

    padding: 11px;

    background: #AF9D5C;

    -ms-flex-align: center;

        align-items: center;
  
    position: absolute; 
    width:30px;
    height: calc(100% - 24px);
    right: 17px; top: 0; bottom: 0; 
    margin: auto;
    border-radius: 5px;
  
}

.p-home-guide__right img
{
    width: 10px;
    height: 14px;
}

.p-home-guide p
{
    font-weight: 600;
    line-height: 1.5;

    display: -ms-flexbox;

    display: flex;
    color: #FFF;

    width: 100%;
    padding: 20px;

    text-align: left;

    -ms-flex-align: center;

        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
}

.p-home-news {
    margin: 73px auto 0;
}
.p-home-news iframe
{
    max-width: 800px;
    margin: 10px auto 0;
    display: block;
}

.p-home-news__linkto
{
    display: block;

    width: 100%;
    padding: 20px 16px;

    border-bottom: 1px solid #bdbdbd;
}

.p-home-news__linkto:first-of-type
{
    margin-top: 30px;
}

.p-home-news__linkto time
{
    font-weight: 700;

    display: block;

    color: #707070;
}

.p-home-news__linkto span
{
    font-size: 1.5rem;

    display: block;

    margin-top: 12px;

    color: #707070;
}

.p-home-strength
{
    padding: 30px 0 100px;
}

.p-home-strength__heading
{
    position: relative;
    z-index: 50;
    top: 68px;
    left: 50%;

    transform: translateX(-50%);

    border-radius: 16px;
}

.p-home-strength__heading .c-title-lv1
{
    position: relative;
    z-index: 5;
}

.p-home-strength__content
{
    position: relative;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    max-width: 1240px;
    padding: 75px 70px;

    border-radius: 105px;
    background: #fff;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
}

.p-home-strength__box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    width: calc(100% / 3 - 40px);
    margin-top: 37px;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(1) .p-home-strength__icon
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(1) .p-home-strength__icon::before
{
    font-size: 6rem;
    font-weight: 500;

    display: block;

    content: '01';

    color: #794944;
}

.p-home-strength__icon
{
    width: 160px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.p-home-strength__icon img
{
    width: 160px;
    height: 160px;
    margin-top: 8px;

    object-fit: contain;
}

.p-home-strength__title
{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;

    min-height: 60px;
    margin-top: 20px;

    text-align: center;

    color: #a08646;
}

.p-home-strength__text
{
    line-height: 1.5;

    margin-top: 15px;
}

.p-home-strength__box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    width: calc(100% / 3 - 40px);
    margin-top: 37px;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(2) .p-home-strength__icon
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(2) .p-home-strength__icon::before
{
    font-size: 6rem;
    font-weight: 500;

    display: block;

    content: '02';

    color: #794944;
}

.p-home-strength__icon
{
    width: 160px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.p-home-strength__icon img
{
    width: 160px;
    height: 160px;
    margin-top: 8px;

    object-fit: contain;
}


.p-home-strength__text
{
    line-height: 1.5;

    margin-top: 15px;
}

.p-home-strength__box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    width: calc(100% / 3 - 40px);
    margin-top: 37px;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(3) .p-home-strength__icon
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(3) .p-home-strength__icon::before
{
    font-size: 6rem;
    font-weight: 500;

    display: block;

    content: '03';

    color: #794944;
}

.p-home-strength__icon
{
    width: 160px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.p-home-strength__icon img
{
    width: 160px;
    height: 160px;
    margin-top: 8px;

    object-fit: contain;
}
\

.p-home-strength__text
{
    line-height: 1.5;

    margin-top: 15px;
}

.p-home-strength__box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    width: calc(100% / 3 - 40px);
    margin-top: 37px;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(4) .p-home-strength__icon
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(4) .p-home-strength__icon::before
{
    font-size: 6rem;
    font-weight: 500;

    display: block;

    content: '04';

    color: #794944;
}

.p-home-strength__icon
{
    width: 160px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.p-home-strength__icon img
{
    width: 160px;
    height: 160px;
    margin-top: 8px;

    object-fit: contain;
}

.p-home-strength__text
{
    line-height: 1.5;

    margin-top: 15px;
}

.p-home-strength__box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    width: calc(100% / 3 - 40px);
    margin-top: 37px;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(5) .p-home-strength__icon
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(5) .p-home-strength__icon::before
{
    font-size: 6rem;
    font-weight: 500;

    display: block;

    content: '05';

    color: #794944;
}

.p-home-strength__icon
{
    width: 160px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.p-home-strength__icon img
{
    width: 160px;
    height: 160px;
    margin-top: 8px;

    object-fit: contain;
}


.p-home-strength__text
{
    line-height: 1.5;

    margin-top: 15px;
}

.p-home-strength__box
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    width: calc(100% / 3 - 40px);
    margin-top: 37px;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(6) .p-home-strength__icon
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-align: center;

        align-items: center;
}

.p-home-strength__box:nth-of-type(6) .p-home-strength__icon::before
{
    font-size: 6rem;
    font-weight: 700;

    display: block;

    content: '06';

    color: #e7dec8;
    text-shadow: 1px 1px 0 #a08646, -1px 1px 0 #a08646, 1px -1px 0 #a08646, -1px -1px 0 #a08646, 1px 0 0 #a08646, 0 1px 0 #a08646, -1px 0 0 #a08646, 0 -1px 0 #a08646;
}

.p-home-strength__icon
{
    width: 160px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.p-home-strength__icon img
{
    width: 160px;
    height: 160px;
    margin-top: 8px;

    object-fit: contain;
}
.p-home-strength__text
{
    line-height: 1.5;

    margin-top: 15px;
}

.p-home-schedule
{
    max-width: 900px;
    margin: 0 auto;
    padding: 86px 10px 51px;
}

.p-home-schedule table
{
    width: 100%;
    margin-top: 67px;

    border: 1px solid #a08646;
}

.p-home-schedule table tr:nth-of-type(2)
{
    height: 103px;

    border-bottom: 1px dashed #a08646;
}

.p-home-schedule table tr:nth-of-type(3)
{
    line-height: 1.5;

    height: 103px;
}

.p-home-schedule table td,
.p-home-schedule table th
{
    vertical-align: middle;
}

.p-home-schedule table td:not(:last-of-type),
.p-home-schedule table th:not(:last-of-type)
{
    border-right: 1px solid #a08646;
}

.p-home-schedule table td span,
.p-home-schedule table th span
{
    font-size: 1.6rem;
    font-weight: 400;

    display: inline-block;

    margin-top: 4px;

    color: #a08646;
}

.p-home-schedule table th
{
    font-weight: 700;

    height: 48px;

    text-align: center;

    color: #fff;
    background: #a08646;
}

.p-home-schedule table th:first-of-type
{
    width: 178px;
}

.p-home-schedule table th:not(:first-of-type)
{
    width: calc(80% / 7);
}

.p-home-schedule table td
{
    font-size: 2rem;
    font-weight: 700;

    text-align: center;

    color: #a08646;
}

.p-home-access
{
    max-width: 1240px;
    margin: 0 auto;
    padding: 73px 0 123px;
}

.p-home-access__row02
{
    display: -ms-flexbox;
    display: flex;

    margin-top: 86px;
}

.p-home-access__row02-content,
.p-home-access__row02-img
{
    width: 100%;
}

.p-home-access__row02-content
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;

    -ms-flex-pack: center;

        justify-content: center;
}

.p-home-access__row02-content h2
{
    font-size: 2.2rem;
    font-weight: 700;

    text-align: center;
}

.p-home-access__row02-content p
{
    font-size: 1.8rem;
    line-height: 1.5;

    width: 70%;
    margin: 47px auto 0;

    text-align: center;
}

.p-home-access__map
{
    position: relative;

    overflow: hidden;

    height: 0;
    margin: 52px 0 20px 0;
    padding-top: 30px;
    padding-bottom: 40.25%;
}

.p-home-access__map iframe,
.p-home-access__map object,
.p-home-access__map embed
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.p-home-access__linkto
{
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 120px;
    margin-top: 80px;
    padding: 0 49px 0 74px;

    background: #a08646;

    -ms-flex-align: center;

        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
}

.p-home-access__linkto-about
{
    font-size: 2.4rem;
    font-weight: 700;

    color: #fff;
}

.p-home-access__linkto-direction
{
    font-weight: 700;

    display: -ms-flexbox;

    display: flex;

    width: 230px;
    height: 45px;

    color: #a08646;
    border-radius: 23px;
    background: #fff;

    -ms-flex-align: center;

        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
}

.p-home-access__linkto-direction::after
{
    display: block;

    width: 6px;
    height: 12px;
    margin-left: 40px;

    content: '';

    background: url('../images/top/arrow.svg') no-repeat;
    background-size: contain;
}

.c-list strong
{
    font-weight: 700;
}

.c-list span
{
    font-weight: 700;

    text-decoration: underline;

    color: #f44336;
}
.c-list .simple-c-list
{
	font-weight: normal;
	text-decoration: underline;
	color: #333;
}
.p-online-grid
{
    display: -ms-grid;
    display: grid;

    padding: 20px;

    border: 3px solid #a08646;
    border-radius: 10px;

    -ms-grid-columns: 1fr 1fr;

        grid-template-columns: 1fr 1fr;
}

.p-online-grid__box
{
    padding-bottom: 20px;
    padding-left: 20px;

    text-align: center;
}

.p-online-grid__box:nth-child(2n-1)
{
    padding-left: 0;

    border-right: 1px dashed #a08646;
}

.p-online-grid__box:nth-child(-n+2)
{
    border-bottom: 1px dashed #a08646;
}

.p-online-grid__box span
{
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 64px;

    display: block;

    width: 64px;
    height: 64px;
    margin: 22px auto;

    color: #fff;
    border-radius: 32px;
    background-color: #a08646;
}

.p-online-grid__box img
{
    display: inline-block;

    width: auto;
    height: 90px;
}

.p-online-grid__box p
{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;

    margin-top: 20px;

    color: #3b4043;
}

.p-online-cap p
{
    font-size: 1.6rem;
    line-height: 1.75;

    margin-top: 40px;

    color: #333;
}

.p-underline
{
    font-weight: 700;

    background: linear-gradient(transparent 80%, #fdeb3b 80%);
}

.p-online-table
{
    width: 100%;

    border-collapse: collapse;
}

.p-online-table td
{
    font-size: 1.4rem;
    font-weight: 700;

    width: 25%;
    height: 50px;

    text-align: center;
    vertical-align: middle;

    color: #333;
    border: 1px solid #a08646;
}

.p-online-form
{
    padding: 50px 0 60px;

    text-align: center;

    background: #ebebeb;
}

.p-online-form h1
{
    font-size: 3.2rem;
    font-weight: 700;

    margin-bottom: 28px;

    color: #a08646;
}

.p-online-form p
{
    font-size: 1.8rem;
    line-height: 1.5;

    margin-bottom: 32px;

    color: #333;
}

.p-online-form a
{
    font-weight: 700;

    display: inline-block;

    width: 368px;
    height: 80px;
    padding: 15px;

    color: #fff;
    border-radius: 40px;
    background: #a08646;
}

.p-online-about
{
    margin: 80px 0;
    padding: 40px;

    text-align: center;

    background-color: #bdbdbd;
}

.p-online-about h2
{
    font-size: 3.2rem;
    font-weight: 700;

    color: #007584;
}

.p-online-about p
{
    margin-top: 16px;
}

.p-online-about a
{
    position: relative;

    display: block;

    width: 240px;
    margin-top: 16px;
    margin-right: auto;
    margin-left: auto;
    padding: 16px;

    transition: .3s;
    text-align: center;

    color: #007584;
    border-radius: 50px;
    background-color: #fff;
}

.p-online-about a::after
{
    position: absolute;
    top: 48%;
    right: 32px;

    display: inline-block;

    width: 8px;
    height: 8px;

    content: '';
    transform: rotate(45deg) translateY(-50%);

    border-top: 2px solid #007584;
    border-right: 2px solid #007584;
}

.p-online-about a:hover
{
    color: #fff;
    background-color: #007584;
}

.p-online-about a:hover::after
{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.p-pill__caution
{
    width: 100%;
    padding: 20px;

    border-radius: 10px;
    background-color: #fceee8;
}

.p-pill__caution li
{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2;

    color: #f44336;
}

.p-pill-ttl
{
    font-size: 2.4rem;
    font-weight: 700;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    margin-top: 34px;

    color: #ff9800;
    border-bottom: 3px solid #ff9800;
}

.p-pill-description
{
    font-size: 1.8rem;

    margin-top: 12px;
    padding: 30px;

    border: 3px solid #a08646;
    border-radius: 8px;
}

.p-pill-table
{
    font-size: 1.5rem;
    font-weight: 700;
}

.p-urethritis__ballon,
.p-chlamydia__ballon
{
    max-width: 1020px;
    margin: 0 auto;
    margin-top: -70px;

    -ms-flex-pack: justify;

        justify-content: space-between;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}

.p-urethritis__ballon .c-row__item:nth-of-type(3n),
.p-chlamydia__ballon .c-row__item:nth-of-type(3n)
{
    margin-right: 30px;
}

.p-chlamydia__ballon
{
    max-width: 780px;
}

.p-venereal-sub
{
    font-weight: 700;

    margin-top: 50px;

    color: #a08646;
}

.p-venereal-av
{
    background-color: #a08646;
}

.p-venereal-av:nth-of-type(2)
{
    background-color: #e7dec8;
}

.p-venereal-av:nth-of-type(2) p
{
    color: #212121;
}

.p-venereal-av p
{
    color: #fff;
}

.p-venereal-av a
{
    position: relative;

    display: block;

    width: 240px;
    padding: 16px;

    transition: .3s;
    text-align: center;

    color: #a08646;
    border-radius: 50px;
    background-color: #fff;
}

.p-venereal-av a::after
{
    position: absolute;
    top: 48%;
    right: 32px;

    display: inline-block;

    width: 8px;
    height: 8px;

    content: '';
    transform: rotate(45deg) translateY(-50%);

    border-top: 2px solid #e7dec8;
    border-right: 2px solid #e7dec8;
}

.p-venereal-av a:hover
{
    color: #fff;
    background-color: #e7dec8;
}

.p-venereal-av a:hover::after
{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.p-venereal-box
{
    position: relative;

    margin-top: 80px;

    border: 3px solid #a08646;
    border-radius: 16px;
}

.p-venereal-box__title,
.p-venereal-box p
{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;

    position: absolute;
    top: -30px;
    left: 50%;

    width: 220px;
    height: 60px;
    padding: 18px;

    transform: translateX(-50%);
    text-align: center;

    border: 3px solid #a08646;
    border-radius: 50px;
    background-color: #fff;
}

.p-venereal-box__list
{
    padding: 80px 52px;
}

.p-venereal-box__list li
{
    position: relative;

    padding-left: 32px;
}

.p-venereal-box__list li::before
{
    position: absolute;
    left: 0;

    content: '●';

    color: #a08646;
}

.p-venereal-box__list li:not(:nth-of-type(1))
{
    margin-top: 16px;
}

.p-venereal-box__fee
{
    font-size: 3.2rem;
    font-weight: 500;

    box-sizing: content-box;
    padding: 32px;

    text-align: center;

    color: #fff;
    border-radius: 0 0 13px 13px;
    background-color: #a08646;
}

.p-venereal-box__fee span
{
    font-size: 2.4rem;

    color: #fff;
}

.p-venereal-grid
{
    display: -ms-grid;
    display: grid;

    border: 3px solid #a08646;

    -ms-flex-align: center;

        align-items: center;
}

.p-venereal-grid__list
{
    padding: 30px;

    border-right: 1px dotted #a08646;
}

.p-venereal-grid__list li
{
    position: relative;

    padding-left: 32px;
}

.p-venereal-grid__list li::before
{
    position: absolute;
    left: 0;

    content: '●';

    color: #a08646;
}

.p-venereal-grid__list li:not(:nth-of-type(1))
{
    margin-top: 16px;
}

.p-venereal-grid__fee
{
    font-size: 2.4rem;
    font-weight: 500;

    text-align: center;

    color: #a08646;
}

.p-venereal-grid__fee--lv2
{
    padding: 16px;

    border-top: 2px solid #a08646;
    background-color: #e7dec8;
}

.p-venereal-grid__set
{
    font-size: 2.4rem;
    font-weight: 700;

    padding: 16px;

    text-align: center;

    color: #fff;
    border-top: 2px solid #a08646;
    background-color: #a08646;
}

.p-venereal-caution
{
    display: block;

    margin-bottom: 32px;
}

.l-lower__cap p
{
    font-size: 1.8rem;

    margin-top: 35px;
}

.p-worries-grid
{
    display: -ms-grid;
    display: grid;

    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;

    grid-gap: 30px;
}

.p-worries-grid__box
{
    position: relative;

    height: 508px;
    padding: 25px 34px 44px;

    text-align: center;

    color: #3b4043;
    border: 1px solid #bdbdbd;
    border-radius: 10px;
    box-shadow: 0 3px 6px #00029;
}

.p-worries-grid__box img
{
    display: inline-block;

    width: 154px;
}

.p-worries-grid__box h3
{
    font-size: 2.4rem;
    font-weight: 700;

    margin-top: 24px;
}

.p-worries-grid__box ol
{
    position: absolute;
    top: 297px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    margin: auto;

    text-align: left;
}

.p-worries-grid__box li
{
    font-size: 1.6rem;
    line-height: 2;
}

.p-worries-grid__box li:before
{
    font-size: .8rem;

    margin: 4px 12px;

    content: '●';

    color: #98a6b5;
}

.p-worries-grid__box a
{
    font-size: 1.5rem;
    line-height: 45px;

    position: absolute;
    right: 0;
    bottom: 44px;
    left: 0;

    display: block;

    width: 82%;
    height: 45px;
    margin: auto;

    color: #fff;
    border-radius: 25px;
    background-color: #655222;
}

.p-worries-other
{
    margin-top: 27px;
}

.p-worries-other__box
{
    display: block;

    max-width: 500px;
}

/* Utility
  ----------------------------------------------------------------- */

.u-align-left
{
    font-size: 1.4rem;

    display: block;

    margin-top: 16px;

    color: #707070;
}

.u-align-right
{
    font-size: 1.4rem;

    display: table;

    margin-top: 16px;
    margin-left: auto;

    color: #707070;
}

.u-orange-caution
{
    font-size: 2.4rem;
    font-weight: 700;

    color: #ff9800;
}

.u-red
{
    font-weight: 400;

    text-decoration: none;

    color: #f44336;
}

.u-font-red
{
    font-weight: 700;

    color: #f44336;
}

.u-font-orange
{
    font-weight: 700;

    color: #ff9800;
}

.u-underline
{
    text-decoration: underline;
}

.u-bold
{
    font-weight: 700;
}

.u-hidden-l_pc
{
    display: none !important;
}

.u-mt1
{
    margin-top: 1px;
}

.u-mt2
{
    margin-top: 2px;
}

.u-mt3
{
    margin-top: 3px;
}

.u-mt4
{
    margin-top: 4px;
}

.u-mt5
{
    margin-top: 5px;
}

.u-mt6
{
    margin-top: 6px;
}

.u-mt7
{
    margin-top: 7px;
}

.u-mt8
{
    margin-top: 8px;
}

.u-mt9
{
    margin-top: 9px;
}

.u-mt10
{
    margin-top: 10px;
}

.u-mt11
{
    margin-top: 11px;
}

.u-mt12
{
    margin-top: 12px;
}

.u-mt13
{
    margin-top: 13px;
}

.u-mt14
{
    margin-top: 14px;
}

.u-mt15
{
    margin-top: 15px;
}

.u-mt16
{
    margin-top: 16px;
}

.u-mt17
{
    margin-top: 17px;
}

.u-mt18
{
    margin-top: 18px;
}

.u-mt19
{
    margin-top: 19px;
}

.u-mt20
{
    margin-top: 20px;
}

.u-mt21
{
    margin-top: 21px;
}

.u-mt22
{
    margin-top: 22px;
}

.u-mt23
{
    margin-top: 23px;
}

.u-mt24
{
    margin-top: 24px;
}

.u-mt25
{
    margin-top: 25px;
}

.u-mt26
{
    margin-top: 26px;
}

.u-mt27
{
    margin-top: 27px;
}

.u-mt28
{
    margin-top: 28px;
}

.u-mt29
{
    margin-top: 29px;
}

.u-mt30
{
    margin-top: 30px;
}

.u-mt31
{
    margin-top: 31px;
}

.u-mt32
{
    margin-top: 32px;
}

.u-mt33
{
    margin-top: 33px;
}

.u-mt34
{
    margin-top: 34px;
}

.u-mt35
{
    margin-top: 35px;
}

.u-mt36
{
    margin-top: 36px;
}

.u-mt37
{
    margin-top: 37px;
}

.u-mt38
{
    margin-top: 38px;
}

.u-mt39
{
    margin-top: 39px;
}

.u-mt40
{
    margin-top: 40px;
}

.u-mt41
{
    margin-top: 41px;
}

.u-mt42
{
    margin-top: 42px;
}

.u-mt43
{
    margin-top: 43px;
}

.u-mt44
{
    margin-top: 44px;
}

.u-mt45
{
    margin-top: 45px;
}

.u-mt46
{
    margin-top: 46px;
}

.u-mt47
{
    margin-top: 47px;
}

.u-mt48
{
    margin-top: 48px;
}

.u-mt49
{
    margin-top: 49px;
}

.u-mt50
{
    margin-top: 50px;
}

.u-mt51
{
    margin-top: 51px;
}

.u-mt52
{
    margin-top: 52px;
}

.u-mt53
{
    margin-top: 53px;
}

.u-mt54
{
    margin-top: 54px;
}

.u-mt55
{
    margin-top: 55px;
}

.u-mt56
{
    margin-top: 56px;
}

.u-mt57
{
    margin-top: 57px;
}

.u-mt58
{
    margin-top: 58px;
}

.u-mt59
{
    margin-top: 59px;
}

.u-mt60
{
    margin-top: 60px;
}

.u-mt61
{
    margin-top: 61px;
}

.u-mt62
{
    margin-top: 62px;
}

.u-mt63
{
    margin-top: 63px;
}

.u-mt64
{
    margin-top: 64px;
}

.u-mt65
{
    margin-top: 65px;
}

.u-mt66
{
    margin-top: 66px;
}

.u-mt67
{
    margin-top: 67px;
}

.u-mt68
{
    margin-top: 68px;
}

.u-mt69
{
    margin-top: 69px;
}

.u-mt70
{
    margin-top: 70px;
}

.u-mt71
{
    margin-top: 71px;
}

.u-mt72
{
    margin-top: 72px;
}

.u-mt73
{
    margin-top: 73px;
}

.u-mt74
{
    margin-top: 74px;
}

.u-mt75
{
    margin-top: 75px;
}

.u-mt76
{
    margin-top: 76px;
}

.u-mt77
{
    margin-top: 77px;
}

.u-mt78
{
    margin-top: 78px;
}

.u-mt79
{
    margin-top: 79px;
}

.u-mt80
{
    margin-top: 80px;
}

.u-mt81
{
    margin-top: 81px;
}

.u-mt82
{
    margin-top: 82px;
}

.u-mt83
{
    margin-top: 83px;
}

.u-mt84
{
    margin-top: 84px;
}

.u-mt85
{
    margin-top: 85px;
}

.u-mt86
{
    margin-top: 86px;
}

.u-mt87
{
    margin-top: 87px;
}

.u-mt88
{
    margin-top: 88px;
}

.u-mt89
{
    margin-top: 89px;
}

.u-mt90
{
    margin-top: 90px;
}

.u-mt91
{
    margin-top: 91px;
}

.u-mt92
{
    margin-top: 92px;
}

.u-mt93
{
    margin-top: 93px;
}

.u-mt94
{
    margin-top: 94px;
}

.u-mt95
{
    margin-top: 95px;
}

.u-mt96
{
    margin-top: 96px;
}

.u-mt97
{
    margin-top: 97px;
}

.u-mt98
{
    margin-top: 98px;
}

.u-mt99
{
    margin-top: 99px;
}

.u-mt100
{
    margin-top: 100px;
}

.u-mb1
{
    margin-bottom: 1px;
}

.u-mb2
{
    margin-bottom: 2px;
}

.u-mb3
{
    margin-bottom: 3px;
}

.u-mb4
{
    margin-bottom: 4px;
}

.u-mb5
{
    margin-bottom: 5px;
}

.u-mb6
{
    margin-bottom: 6px;
}

.u-mb7
{
    margin-bottom: 7px;
}

.u-mb8
{
    margin-bottom: 8px;
}

.u-mb9
{
    margin-bottom: 9px;
}

.u-mb10
{
    margin-bottom: 10px;
}

.u-mb11
{
    margin-bottom: 11px;
}

.u-mb12
{
    margin-bottom: 12px;
}

.u-mb13
{
    margin-bottom: 13px;
}

.u-mb14
{
    margin-bottom: 14px;
}

.u-mb15
{
    margin-bottom: 15px;
}

.u-mb16
{
    margin-bottom: 16px;
}

.u-mb17
{
    margin-bottom: 17px;
}

.u-mb18
{
    margin-bottom: 18px;
}

.u-mb19
{
    margin-bottom: 19px;
}

.u-mb20
{
    margin-bottom: 20px;
}

.u-mb21
{
    margin-bottom: 21px;
}

.u-mb22
{
    margin-bottom: 22px;
}

.u-mb23
{
    margin-bottom: 23px;
}

.u-mb24
{
    margin-bottom: 24px;
}

.u-mb25
{
    margin-bottom: 25px;
}

.u-mb26
{
    margin-bottom: 26px;
}

.u-mb27
{
    margin-bottom: 27px;
}

.u-mb28
{
    margin-bottom: 28px;
}

.u-mb29
{
    margin-bottom: 29px;
}

.u-mb30
{
    margin-bottom: 30px;
}

.u-mb31
{
    margin-bottom: 31px;
}

.u-mb32
{
    margin-bottom: 32px;
}

.u-mb33
{
    margin-bottom: 33px;
}

.u-mb34
{
    margin-bottom: 34px;
}

.u-mb35
{
    margin-bottom: 35px;
}

.u-mb36
{
    margin-bottom: 36px;
}

.u-mb37
{
    margin-bottom: 37px;
}

.u-mb38
{
    margin-bottom: 38px;
}

.u-mb39
{
    margin-bottom: 39px;
}

.u-mb40
{
    margin-bottom: 40px;
}

.u-mb41
{
    margin-bottom: 41px;
}

.u-mb42
{
    margin-bottom: 42px;
}

.u-mb43
{
    margin-bottom: 43px;
}

.u-mb44
{
    margin-bottom: 44px;
}

.u-mb45
{
    margin-bottom: 45px;
}

.u-mb46
{
    margin-bottom: 46px;
}

.u-mb47
{
    margin-bottom: 47px;
}

.u-mb48
{
    margin-bottom: 48px;
}

.u-mb49
{
    margin-bottom: 49px;
}

.u-mb50
{
    margin-bottom: 50px;
}

.u-mb51
{
    margin-bottom: 51px;
}

.u-mb52
{
    margin-bottom: 52px;
}

.u-mb53
{
    margin-bottom: 53px;
}

.u-mb54
{
    margin-bottom: 54px;
}

.u-mb55
{
    margin-bottom: 55px;
}

.u-mb56
{
    margin-bottom: 56px;
}

.u-mb57
{
    margin-bottom: 57px;
}

.u-mb58
{
    margin-bottom: 58px;
}

.u-mb59
{
    margin-bottom: 59px;
}

.u-mb60
{
    margin-bottom: 60px;
}

.u-mb61
{
    margin-bottom: 61px;
}

.u-mb62
{
    margin-bottom: 62px;
}

.u-mb63
{
    margin-bottom: 63px;
}

.u-mb64
{
    margin-bottom: 64px;
}

.u-mb65
{
    margin-bottom: 65px;
}

.u-mb66
{
    margin-bottom: 66px;
}

.u-mb67
{
    margin-bottom: 67px;
}

.u-mb68
{
    margin-bottom: 68px;
}

.u-mb69
{
    margin-bottom: 69px;
}

.u-mb70
{
    margin-bottom: 70px;
}

.u-mb71
{
    margin-bottom: 71px;
}

.u-mb72
{
    margin-bottom: 72px;
}

.u-mb73
{
    margin-bottom: 73px;
}

.u-mb74
{
    margin-bottom: 74px;
}

.u-mb75
{
    margin-bottom: 75px;
}

.u-mb76
{
    margin-bottom: 76px;
}

.u-mb77
{
    margin-bottom: 77px;
}

.u-mb78
{
    margin-bottom: 78px;
}

.u-mb79
{
    margin-bottom: 79px;
}

.u-mb80
{
    margin-bottom: 80px;
}

.u-mb81
{
    margin-bottom: 81px;
}

.u-mb82
{
    margin-bottom: 82px;
}

.u-mb83
{
    margin-bottom: 83px;
}

.u-mb84
{
    margin-bottom: 84px;
}

.u-mb85
{
    margin-bottom: 85px;
}

.u-mb86
{
    margin-bottom: 86px;
}

.u-mb87
{
    margin-bottom: 87px;
}

.u-mb88
{
    margin-bottom: 88px;
}

.u-mb89
{
    margin-bottom: 89px;
}

.u-mb90
{
    margin-bottom: 90px;
}

.u-mb91
{
    margin-bottom: 91px;
}

.u-mb92
{
    margin-bottom: 92px;
}

.u-mb93
{
    margin-bottom: 93px;
}

.u-mb94
{
    margin-bottom: 94px;
}

.u-mb95
{
    margin-bottom: 95px;
}

.u-mb96
{
    margin-bottom: 96px;
}

.u-mb97
{
    margin-bottom: 97px;
}

.u-mb98
{
    margin-bottom: 98px;
}

.u-mb99
{
    margin-bottom: 99px;
}

.u-mb100
{
    margin-bottom: 100px;
}


/* ===== price_list.php ===== */
.ui-pricing{
  --accent:#a08646;
  --danger:#e74c4c;
  --border:#707070;
  --text:#2f2f2f;
  --muted:#8a8a8a;
  --headBg:#f1f1f1;
  --pillBg:#e9e9e9;
  --cols: 3;

}

.ui-pricing{
    padding: 16px 0px;
    padding-bottom: 28px;
}

.ui-pricing__inner{
  max-width: 820px;
  margin: 0 auto;
  border: 1px solid var(--border);
  padding: 34px 34px 26px;
  background: #fff;
}

.ui-pricing__pill{
  width: min(560px, 86%);
  margin: 0 auto 20px;
  padding: 14px 22px;
  text-align: center;
  color: #fff;
  background: var(--accent);
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
  font-size: 28px;
}

.ui-pricing__sub{
  text-align: center;
  color: var(--text);
  font-size: 24px;
  font-weight: 800;
  margin: 6px 0 18px;
}

.ui-pricing__table{
  border: 1px solid var(--border);
  display: grid;
  grid-template-columns: repeat(var(--cols), 1fr);
  overflow: hidden;
  background: #fff;
}

.ui-pricing__col{
  display: grid;
  grid-template-rows: 54px 1fr;
  min-height: 188px;
}

.ui-pricing__col{
  border-left: 1px solid var(--border);
}
.ui-pricing__col:first-child{
  border-left: 0;
}

.ui-pricing__head{
  background: var(--headBg);
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #3a3a3a;
  font-size: 18px;
  border-bottom: 1px solid var(--border);
}

.ui-pricing__body{
  padding: 16px 14px 14px;
  display: grid;
  gap: 8px;
  align-content: start;
}

.ui-pricing__price{
  text-align: center;
  font-weight: 900;
  font-size: 22px;
  line-height: 1.15;
}

.ui-pricing__priceNum{
  font-size: 26px;
  letter-spacing: .01em;
}

.ui-pricing__tax{
  text-align: center;
  color: var(--muted);
  font-weight: 700;
  font-size: 14px;
}

.ui-pricing__totalPill{
  margin-top: 10px;
  background: var(--pillBg);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 10px;
}

.ui-pricing__totalLabel{
  color: #6f6f6f;
  font-weight: 800;
  font-size: 14px;
}

.ui-pricing__totalValue{
  color: #2d2d2d;
  font-weight: 900;
  font-size: 22px;
}

.ui-pricing__footer{
  text-align: center;
  margin-top: 18px;
  font-size: 20px;
  font-weight: 800;
  color: #4a4a4a;
  letter-spacing: .02em;
}

/* ===== responsive (横並び固定＆縮小) ===== */
@media (max-width: 720px){
  .ui-pricing__pill{
    font-size: 20px;
  }
  .ui-pricing__sub{
    font-size: 18px;
  }
  .ui-pricing__price{
    font-size: 10px;
    font-weight: 100;
  }
  .ui-pricing__priceNum{
    font-size: 20px;
    font-weight: 200;
  }
  .ui-pricing__totalValue{
    font-size: 14px;
    font-weight: 800;
  }

  .ui-pricing__inner{
    padding: 18px 14px 14px;
  }

  /* 横並び固定：ここは変えない */
  .ui-pricing__table{
    grid-template-columns: repeat(var(--cols, 3), 1fr);
  }

  /* 縮小すると外側に余白が必要になるので調整 */
  .ui-pricing__inner{
    margin: 0 auto;
  }
  .ui-pricing__totalPill{
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }

  
}




/* plugin
  ----------------------------------------------------------------- */

@media screen and (min-width: 768px)
{
    img.p-home-mv__logo {
        width: 50%;
        margin: 0 auto;
    }
    .l-lower
    {
        width: 60%;
        max-width: 1000px;
        margin-top: 80px;
        margin-right: auto;
        margin-bottom: 120px;
        margin-left: auto;
    }

    .l-lower__cap
    {
        text-align: center;
    }

    .p-company__box
    {
        margin-top: 100px;
    }

    .p-companny-row02
    {
        display: -ms-grid;
        display: grid;

        margin-top: 83px;

        -ms-grid-columns: 452px 1fr;

            grid-template-columns: 452px 1fr;
        grid-gap: 65px;
    }

    .p-companny-list__wrap
    {
        display: -ms-grid;
        display: grid;

        -ms-grid-columns: 1fr 80%;

            grid-template-columns: 1fr 80%;
    }

    .p-company-flow
    {
        width: 100%;
        max-width: 1240px;
        margin: 40px auto;
        padding: 0 20px 40px;
    }

    .p-company-flow__box
    {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
    }

    .p-company-flow__box:nth-child(2n)
    {
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    }

    .p-company-flow__box:nth-child(2n) .p-company-flow__box-content
    {
        max-width: 500px;
        margin: 0 0 0 auto;
    }

    .p-company-flow__box:nth-child(2n - 1) img
    {
        margin: 0 0 0 auto;
    }

    .p-fee-title
    {
        font-size: 4rem;

        margin-top: 100px;
    }

    .p-fee-sub
    {
        font-size: 3.2rem;

        margin-top: 61px;
    }

    .p-fee-caution
    {
        display: -ms-flexbox;
        display: flex;

        height: 111px;
    }

    .p-fee-caution__title
    {
        line-height: 111px;

        width: 65%;
        padding-left: 27px;

        text-align: left;

        border-right: 1px dashed #a08646;
        border-bottom: none;
    }

    .p-venereal-av
    {
        display: -ms-flexbox;
        display: flex;

        padding: 40px 0;

        -ms-flex-pack: distribute;

            justify-content: space-around;
        -ms-flex-align: center;
            align-items: center;
    }

    .p-venereal-av p
    {
        font-size: 2.4rem;
    }

    .p-venereal-grid
    {
        -ms-grid-columns: 70% 30%;
            grid-template-columns: 70% 30%;
    }

    .l-lower__cap p
    {
        text-align: center;
    }

    .p-worries-grid
    {
        margin-top: 47px;

        -ms-grid-columns: 1fr 1fr 1fr;

            grid-template-columns: 1fr 1fr 1fr;
    }

    .p-worries-grid__box
    {
        width: 100%;
    }

    .worries_lower
    {
        width: 100%;
        max-width: 1200px;
    }

    .p-worries-other
    {
        display: -ms-flexbox;
        display: flex;

        margin-left: 50px;
    }

    .p-worries-other__box
    {
        margin-right: 50px;
    }

    .u-hidden-pc
    {
        display: none;
    }
}

@media screen and (min-width: 1120px)
{
    .c-row__item
    {
        position: relative;

        width: 240px;
        height: 200px;

        background-image: url('../images/common/cloud.png');
        background-repeat: no-repeat;
        background-size: contain;
    }

    .c-row__item span
    {
        position: absolute;
        position: absolute;
        top: 50%;
        left: 50%;

        transform: translate(-50%, -50%);
        text-align: center;
    }
}

@media screen and (min-width: null)
{
    .p-home-schedule table th:not(:first-of-type)
    {
        width: calc(60% / 7);
    }
}

@media screen and (max-width: 1280px)
{
    .p-home-strength__content
    {
        width: calc(100% - 32px);
        margin: 0 auto;
    }
}

@media screen and (max-width: 1120px)
{
    .l-header
    {
        height: 80px;
    }

    .l-main
    {
        margin-top: 80px;
    }

    .c-row
    {
        display: block;

        width: 100%;
        padding: 30px 10px;

        text-align: left;

        background-color: #e7dec8;
    }

    .c-row__item
    {
        width: 100%;

        background-image: none;
    }

    .c-row__item:not(:last-of-type)
    {
        margin-bottom: 20px;
    }

    .c-row__item span
    {
        font-size: 1.8rem;
    }

    .c-row__item span::before
    {
        display: inline-block;

        width: 12px;
        height: 12px;
        margin-right: 10px;

        content: '';

        border-radius: 100%;
        background-color: #455a64;
    }

    .p-footer-row02
    {
        -ms-flex-direction: column;
            flex-direction: column;

        -ms-flex-align: center;

            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
    }

    .p-footer-row02__content
    {
        -ms-flex-direction: column;
            flex-direction: column;

        width: 100%;

        -ms-flex-align: center;

            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
    }

    .p-footer-row02__content p,
    .p-footer-row02__content span,
    .p-footer-row02__content ol,
    .p-footer-row02__content li
    {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .p-footer-row02__content__ttl
    {
        margin: 0 auto;
    }

    .p-footer-row02__content span
    {
        margin: 10px auto 0;
    }

    .p-footer-row02__content .c-reserve__btn
    {
        width: 100%;
        max-width: 300px;
        margin: 8px auto 0;
    }

    .p-footer-row02__tel
    {
        margin: 34px auto 0;
    }

    .p-footer-row02__time
    {
        margin: 14px auto 0;
    }

    .p-footer-row02__caution
    {
        margin: 32px auto 0;
    }

    .p-footer-row02__table
    {
        width: 100%;
        margin-top: 50px;

        border: none;
    }

    .p-footer-bottom
    {
        margin: 20px auto 0;
    }

    .p-footer-cap
    {
        margin: 12px auto;
    }

    .p-header
    {
        height: 80px;

        -ms-flex-pack: justify;

            justify-content: space-between;
    }

    .p-header-right
    {
        transition: .5s;
        transform: translateX(100%);
    }

    .p-header-menu
    {
        position: absolute;
        top: 0;
        right: 0;

        -ms-flex-direction: column;

            flex-direction: column;

        width: 100%;
        max-width: 500px;
        height: 100vh;
        padding: 75px 16px 45px;

        background: #fff;
    }

    .p-header-menu__sp-logo
    {
        display: block;
    }

    .p-header-menu__main
    {
        -ms-flex-direction: column;
            flex-direction: column;

        height: 80%;
        padding: 0;

        -ms-flex-align: center;

            align-items: center;
    }

    .p-header-menu__main a
    {
        font-weight: 700;
        line-height: 2;
    }

    .p-header-menu__main .c-reserve__btn
    {
        display: block;
    }

    .p-header-menu__tell-wrap
    {
        width: 100%;
        max-width: 343px;
        margin-top: 40px;
        padding: 18px;

        border: 3px solid #a08646;
        border-radius: 8px;
    }

    .p-header-btn
    {
        display: block;
    }

    .current:before
    {
        content: none;
    }

    .p-herpes-block
    {
        display: block;

        width: 100%;
    }

    .p-herpes-block:not(:nth-of-type(1))
    {
        margin-top: 24px;
    }

    .p-herpes-block div:nth-of-type(1)
    {
        width: 100%;
    }

    .p-herpes-block div:nth-of-type(2)
    {
        width: 100%;
        padding: 24px 10%;
    }

    .p-home-mv
    {
        background-position: 50% 50%;
    }

    .p-home-mv__inner
    {
        width: 90%;
    }

    .p-home-mv__box
    {
        margin-top: 50px;
    }

    .p-home-guide
    {
        font-size: 1.8rem;
        line-height: 1.4;

        bottom: 10px;

        -ms-flex-pack: justify;

            justify-content: space-between;
    }

    .p-home-guide__right
    {
        padding: 11px;
    }

    .p-home-access__row02-content p
    {
        width: 100%;
        padding: 0 20px;
    }

    .p-urethritis__ballon,
    .p-chlamydia__ballon
    {
        width: calc(100% - 30px);
    }

    .u-hidden-l
    {
        display: none;
    }

    .u-hidden-l_pc
    {
        display: block;
    }
}

@media screen and (max-width: 768px)
{
    
    .l-lower
    {
        width: 90%;
        margin-top: 40px;
        margin-right: auto;
        margin-bottom: 120px;
        margin-left: auto;
        text-align: center;

    }

    .l-main__inner
    {
        padding: 0 15px;
    }

    .p-home-partner
    {
        top: 80px;
    }

    .p-home-partner__inner
    {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 12px 16px;
    }

    .p-home-partner__label
    {
        font-size: 1.5rem;
    }

    .p-home-partner__button
    {
        width: 70%;
        max-width: 320px;
    }

    .p-home-partner__button::after
    {
        right: 18px;
    }

    .c-backto i
    {
        margin-right: 30px;
    }

    .c-lower-mv h1
    {
        font-size: 3rem;
    }

    .c-reserve__box
    {
        padding: 40px 8px;
    }

    .c-reserve__box p
    {

        text-align: left;
        letter-spacing: .9px;
    }
  
  
    .c-reserve__wrap {
      display: block;
    }
  

    .c-reserve__row02
    {
        -ms-flex-direction: column;
            flex-direction: column;
    }

    .c-reserve__row02-box
    {
        width: 100%;
        padding: 40px 8px;
    }

    .c-reserve__row02-box:nth-of-type(1)
    {
        -ms-flex-order: 2;
            order: 2;
    }

    .c-reserve__row02-box:nth-of-type(1) p
    {
        text-align: left;
    }

    .c-reserve__row02-box:nth-of-type(2) p
    {
        text-align: left;
    }

    .c-table__wrap dt
    {
        font-size: 1.5rem;

        padding: 24px 16px;
    }

    .c-table__wrap dd
    {
        font-size: 1.3rem;
    }

    .c-title-lv1
    {
        font-size: 2.8rem;
    }

    .c-title-lv1:before
    {
        width: 40px;
        height: 40px;
    }

    .p-footer-row02__table tr:nth-of-type(2)
    {
        height: 40px;
    }

    .p-footer-row02__table tr:nth-of-type(3)
    {
        height: 80px;
    }

    .p-footer-row02__table tr th
    {
        font-size: 1.3rem;
    }

    .p-footer-row02__table tr th:first-of-type
    {
        width: 100px;
        padding-right: 16px;
    }

    .p-footer-row02__table tr th:not(:first-of-type)
    {
        width: calc(70% / 7);
    }

    .p-footer-row02__table tr td:first-of-type
    {
        font-size: 1rem;
    }

    .p-footer-row02__table tr td:first-of-type span
    {
        font-size: 1rem;
    }

    .p-footer-bottom
    {
        margin: 74px auto 0;
    }

    .p-footer-bottom a
    {
        padding: 2px 8px;
    }

    .tb-responsive
    {
        width: 330px;
        height: 250px;
    }

    .tb-responsive tr td
    {
        font-size: 1.3rem;

        width: 50px;
        padding: 0;

        vertical-align: middle;
    }

    .tb-responsive tr td span
    {
        font-size: 1.1rem;
    }

    .entry-content table
    {
        font-size: 1.4rem;
    }

    .p-company__box
    {
        margin: 70px 0;
    }

    .l-lower + .p-company__box
    {
        margin-top: -70px;
    }

    .p-companny-row02
    {
        margin: 40px 16px;
    }

    .p-companny-row02__content
    {
        margin-top: 40px;
    }

    .p-companny-row02__content h3
    {
        font-size: 2.4rem;
    }

    .p-companny-list__wrap
    {
        text-align: center;
    }

    .p-companny-list__wrap dd
    {
        margin-top: 16px;
    }

    .p-companny-list__wrap:nth-child(4) dd
    {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;

        text-align: center;
    }

    .p-company-flow
    {
        margin-top: 70px;
    }

    .p-company-flow__box
    {
        max-width: 500px;
        margin: 50px auto;
    }

    .p-company-flow__box-img
    {
        width: 100%;
    }

    .p-company-flow__box-content
    {
        width: 90%;
        margin: 0 auto 30px;

        text-align: center;
    }

    .p-company-flow__box-content p
    {
        width: 100%;
        font-size: 1.3rem;

        text-align: center;
    }

    .p-ed-description:before
    {
        margin-left: 0;
    }

    .p-fee-title
    {
        font-size: 2.8rem;

        margin-top: 80px;
    }

    .p-fee-sub
    {
        font-size: 2.4rem;

        margin-top: 86px;
    }

    .p-fee-list .c-table .c-table__wrap dt
    {
        font-size: 1.5rem;

        padding: 24px 16px;
    }

    .p-fee-list .c-table .c-table__wrap dd
    {
        font-size: 1.3rem;

        padding: 0 4px;
    }

    .p-fee-list .c-table .c-table__wrap dd br
    {
        display: none;
    }

    .p-fee-caution
    {
        display: block;

        height: 191px;
    }

    .p-fee-caution__title
    {
        line-height: 80px;

        width: 100%;

        text-align: center;

        border-bottom: 1px solid #a08646;
    }

    .p-fee-caution__box
    {
        padding: 25px;
    }

    .p-home-mv__logo
    {
        width: 80%;
        margin: 0 auto;
    }

    .p-home-mv__box
    {
        display: block;

        margin-top: 50px;
        padding-left: 0;
    }

    .p-home-mv__box a
    {
        margin: 0 auto;
    }

    .p-home-mv__box a + a
    {
        margin-top: 20px;
        margin-left: auto;
    }

    .p-home-guide
    {
        font-size: 1.4rem;
    }

    .p-home-guide p
    {
        width: 100%;
        padding: 11px;
    }

    .p-home-news
    {
        margin: 50px auto 0;
    }

    .p-home-strength__heading
    {
        border: none;
    }

    .p-home-strength__content
    {
        width: 100%;
        padding: 30px 0;

        border: none;
    }

    .p-home-strength__content:before
    {
        content: none;
    }

    .p-home-strength__box
    {
        width: 100%;
    }

    .p-home-strength__box
    {
        width: 100%;
    }

    .p-home-strength__box
    {
        width: 100%;
    }

    .p-home-strength__box
    {
        width: 100%;
    }

    .p-home-strength__box
    {
        width: 100%;
    }

    .p-home-strength__box
    {
        width: 100%;
    }

    .p-home-schedule
    {
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }

    .p-home-schedule table tr:nth-of-type(2)
    {
        height: 50px;
    }

    .p-home-schedule table tr:nth-of-type(3)
    {
        height: 50px!important;
    }

    .p-home-schedule table td,
    .p-home-schedule table th
    {
        font-size: 1.5rem;

        color: #212121;
    }

    .p-home-schedule table th
    {
        color: #fff;
    }

    .p-home-schedule table th:first-of-type
    {
        width: 100px;
        min-width: 70px;
        padding-right: 10px;
    }

    .p-home-schedule table td:nth-of-type(1)
    {
        font-size: 1rem;
    }

    .p-home-schedule table td:nth-of-type(1) span
    {
        font-size: 1rem;
    }

    .p-home-access
    {
        padding: 40px 0 40px;
    }

    .p-home-access__row02
    {
        display: block;

        margin-top: 40px;
    }

    .p-home-access__row02-content,
    .p-home-access__row02-img
    {
        width: 100%;
    }

    .p-home-access__row02-content
    {
        padding: 0 15px;
    }

    .p-home-access__row02-content p
    {
        margin: 24px auto 0;
    }

    .p-home-access__row02-img
    {
        margin-top: 30px;
    }

    .p-home-access__row02-img img
    {
        height: 400px;

        object-fit: cover;
        object-position: 100% 100%;
    }

    .p-home-access__map
    {
        margin: 40px 0 0 0;
        padding-bottom: 90%;
    }

    .p-home-access__linkto
    {
        -ms-flex-direction: column;
            flex-direction: column;

        height: 246px;
        margin-top: 0;
        padding: 0 40px;

        -ms-flex-pack: center;

            justify-content: center;
    }

    .p-home-access__linkto-about
    {
        line-height: 1.5;

        text-align: center;
    }

    .p-home-access__linkto-direction
    {
        margin-top: 30px;
    }

    .p-online-grid
    {
        padding: 8px;
    }

    .p-online-grid__box
    {
        padding-bottom: 16px;
        padding-left: 8px;
    }

    .p-online-grid__box span
    {
        font-size: 2.4rem;
        line-height: 40px;

        width: 40px;
        height: 40px;
        margin: 16px auto;
    }

    .p-online-grid__box img
    {
        height: 45px;
    }

    .p-online-grid__box p
    {
        font-size: 1.4rem;
        font-weight: 400;

        letter-spacing: -.6px;
    }

    .p-online-form p
    {
        margin: 0 14px;
        margin-bottom: 24px;

        text-align: left;
    }

    .p-online-about a
    {
        width: 100%;
        margin-top: 16px;
    }

    .p-venereal-sub
    {
        margin-top: 24px;
    }

    .p-venereal-av
    {
        padding: 40px;
    }

    .p-venereal-av a
    {
        width: 100%;
        margin-top: 16px;
    }

    .p-venereal-grid__list
    {
        border-right: none;
    }

    .p-venereal-grid__fee
    {
        padding: 16px;

        border-top: 1px dotted #a08646;
    }

    .p-worries-grid
    {
        margin-top: -47px;

        -ms-grid-columns: 1fr;

            grid-template-columns: 1fr;
    }

    .p-worries-grid__box
    {
        width: calc(100% - 32px);
        margin: 0 auto;
        padding: 25px 20px 44px;
    }

    .worries_lower
    {
        margin-bottom: 80px;
    }

    .p-worries-other__box
    {
        margin-bottom: 20px;
    }

    .u-hidden-sp
    {
        display: none;
    }
}

@media screen and (max-width: 768px) and (max-width: 600px)
{
    .p-fee-list .c-table .c-table__wrap dd br
    {
        display: block;
    }
}

@media screen and (max-width: 600px)
{
    .c-lower-mv h1 br
    {
        display: BLOCK;
    }
}
@media screen and (min-width: 768px){
.br-sp {display: none; }
}
.c-recruit dl dd {
    color: #707070;
    border-bottom: 2px dotted #a08646;
}
.c-recruit dl dt, .c-faq dl dd {
    /* position: relative; */
    padding-top: 24px;
    padding-bottom: 24px;
    /* padding-left: 64px; */
}
.c-category-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 24px 0;
  gap: 16px;
}

.c-category-list li {
  flex: 1 1 calc(33.333% - 16px);
  max-width: calc(33.333% - 16px);
}

@media screen and (max-width: 768px) {
  .c-category-list li {
    flex: 1 1 calc(50% - 16px);
    max-width: calc(50% - 16px);
  }
}

.c-category-list a {
  display: block;
  padding: 12px 4px 12px 26px;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-decoration: none;
  font-size: 1.3rem;
  color: #333;
  position: relative;
  transition: background-color 0.2s, border-color 0.2s;
}

.c-category-list a {
  height: 4.5em; /* 2行分 + 余白 (15px × 2 + 行間) */
  overflow: hidden;
  line-height: 1.5;
  display: flex;
  align-items: center;
}

.c-category-list a::after {
  content: "》";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  color: #999;
}

.c-category-list a:hover {
  background-color: #f0f0f0;
  border-color: #ccc;
}
