@charset "UTF-8";

/* Reset-ish */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* Viewport / hero */
.hero, .vh-block {
    min-height: 100svh;
}

/* Images / media */
img, video {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Text wrap for Japanese */
h1, h2, h3, p, li {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Flex safety */
.flex-row>* {
    min-width: 0;
}

/* Safe area for header/footer */
.header, .footer {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    padding-bottom: max(16px, env(safe-area-inset-bottom));
}

html {
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    color: #333333;
    font-family: "Urbanist", "Noto Sans JP", sans-serif;
    background-color: #FFF6EA;
}

img {
    vertical-align: top;
}

*, *::before, *::after {
    box-sizing: border-box;
}

.clearfix::after {
    content: '';
    display: block;
    clear: both;
}

a {
    color: #333333;
    text-decoration: unset;
}

.post, .page {
    margin: 0;
}

/**消すかもここから**/
/*　ハンバーガーメニューボタン　*/
.openbtn1 {
    display: block;
    position: relative;
    z-index: 3;
    /*
    right: 5%;
    top: 15%;*/
    width: 49px;
    height: 46px;
    cursor: pointer;
    text-align: center;
    background-color: #333333;
    padding-bottom: 10px;
}

.openbtn1 span {
    position: fixed;
    z-index: 9999;
    /*ボタンを最前面に*/
    top: 1.5%;
    right: 8.5%;
    cursor: pointer;
    width: 20px;
    height: 2px;
    background: #ffffff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.openbtn1 span:nth-child(1) {
    top: 13px;
}

.openbtn1 span:nth-child(2) {
    top: 23px;
}


.openbtn1 span:nth-child(2)::after {
    content: "MENU";
    font-size: 0.9rem;
    color: #fff;
    text-align: center;
    letter-spacing: .05em;
    position: absolute;
    bottom: -290%;
    left: 50%;
    transform: translateY(100%) translateX(-50%);
    -webkit-transform: translateY(100%) translateX(-50%);
}

/* スマホメニューを開いてる時のボタン */
.openbtn1.active {
    border-radius: 999px;
}

.openbtn1.active span:nth-child(1) {
    top: 20.5px;
    left: 15px;
    background: #fff;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.openbtn1.active span:nth-child(2) {
    top: 20.5px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.openbtn1.active span:nth-child(2)::after {
    content: none;
}

.openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 12px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
}

.openbtn1 span:nth-of-type(1) {
    top: 12px;
}

.openbtn1 span:nth-of-type(2) {
    top: 21px;
}

.openbtn1 span:nth-of-type(3) {
    top: 29px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 14px;
    left: 12px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.openbtn1.active span:nth-of-type(2) {
    top: 26px;
    left: 12px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}

.openbtn1.active span:nth-of-type(3) {
    opacity: 0;
}


/* メニュー背景　*/
.main-navigation {
    position: fixed;
    z-index: 1002;
    bottom: 100%;
    left: 0;
    color: #fff;
    background: #fff;
    text-align: center;
    width: 100%;
    transition: all 0.6s;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s linear;
}

.main-navigation ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}

.main-navigation ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
}

.main-navigation ul li:last-child {
    padding-bottom: 0;
}

.main-navigation ul li:hover {
    background: #FCE6C8;
}

.main-navigation ul li a {
    display: block;
    color: #333333;
    padding: 1em 0;
    text-decoration: none;
    font-size: 2rem;
    font-weight: 600;
}

/* クリックでjQueryで追加・削除 */
.main-navigation.panelactive {
    display: block;
    top: 0;
    pointer-events: auto;
    opacity: 1;
    margin-top: 62px;
}

#g-nav {
    background-color: #fff;
    height: 100svh;
}

/**ここまで**/




.menu-mail {
    display: block;
    position: initial;
    /*
    z-index: 3;
    right: 20%;
    top: 15%;*/
    width: 49px;
    height: 46px;
    cursor: pointer;
    text-align: center;
    background-color: #333333;
    padding-bottom: 10px;
    margin-right: 10px;
}

.head__mail {
    display: block;
    max-width: 49px;
    width: 100%;
    position: relative;
}

.head__mail a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 49px;
    height: 46px;
    position: relative;
    padding: 10px 0 2px;
}

.head__mail span {
    font-size: .9rem;
    color: #fff;
    display: block;
    margin-top: 2px;
}



/***PC3分割***/

.fitport {
    display: flex;
    margin-top: 62px;
}

.pc-left_contents, .pc-right_contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    position: sticky;
    overflow: hidden;
    padding-bottom: 0px;
    flex: 1;
    flex-shrink: 0;
    top: 0px;
}

.pc-main_contents {
    max-width: 420px;
    width: 100%;
    position: relative;
    background-color: #fff;
    /*filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.16));*/
}

.site-header {
    background: #FFFFFF;
    flex: none;
    justify-content: space-between;
    padding: 6px 20px 8px 20px;
    width: 420px;
    max-width: 100%;
    filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.16));
    position: fixed;
    top: 0;
    z-index: 1003;
}

.site-header_wrap {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.main-head img {
    max-width: 115px;
    width: 100%;
}

.manu-wrap {
    display: flex;
}

/**MV**/

.mv_img {
    position: relative;
}

.mv_read {
    position: absolute;
    top: 30%;
    left: 25%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.mv_read p {
    color: #fff;
    line-height: 1.6;
}

.mv_copy {
    position: absolute;
    top: 76%;
    left: 38.8%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    max-width: 326px;
    width: 100%;
    background-color: #F79B3E;
    border-radius: 0 10px 10px 0;

}

.mv_copy h2 {
    color: #fff;
    font-size: 2.3rem;
    padding-left: 23px;
    margin: 0 0 10px;
    font-weight: 600;
}

.mv_copy span {
    font-size: 4.1rem;
    padding: 0 5px;

}

.mv_copy .copy-l {
    font-size: 2.6rem;
}

.concept {
    background-color: #F79B3E;
    padding: 50px 0;
}

.concept__main {
    position: relative;

}

.concept_main-txt {
    max-width: 258px;
    width: 100%;
    height: 191px;
    margin: 0;
    background-color: #444444;
    padding: 35px 12px;
    color: #fff;
    padding-right: 0;
    position: relative;
    z-index: 2;
}

.concept_main-img img {
    max-width: 191px;
    width: 100%;
    border-radius: 999px;
    border: 29px solid #444444;
    position: absolute;
    top: 50%;
    left: 77%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.concept_main-txt span {
    position: relative;
    font-size: 1.8rem;
}

.concept_main-txt span::after {
    content: "";
    width: 134px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 200%;
    transform: translateY(0%) translateX(-50%);
    -webkit-transform: translateY(0%) translateX(-50%);
}

.concept_main-txt h2 {
    font-size: 2.7rem;
    font-weight: 600;
}

.concept__bottom {
    margin-top: 30px;
    padding: 0 19px;
}

.concept__bottom p {
    color: #fff;
    margin-bottom: 0;
}

.cp {
    padding: 30px 7px;
}

.fp24_ttl h2 {
    font-size: 3rem;
    margin: 0;
    padding-left: 10px;
}

.fp24_ttl span {
    font-size: 1.3rem;
    padding-left: 10px;
    display: block;
}

.access .fp24_ttl {
    background-color: #F79B3E;
    max-width: 178px;
    width: 100%;
    margin: 0;
    color: #fff;
    padding: 14px 0;
}

.access_inner {
    border-left: 10px solid #F79B3E;
    border-bottom: 30px solid #F79B3E;
}

.access_main {
    padding: 12px;
}

.access_main img {
    border-radius: 10px;
}

.access_box h3 {
    font-size: 2rem;
}

.access_box-ttl {
    position: relative;
    z-index: 1;
}

.access_box-ttl h4 {
    background-color: #fff;
    padding: 0 10px 0 0;
    font-size: 1.6rem;
    margin: 0;
    display: inline-block;
}

.access_box-ttl::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #333333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    z-index: -1;
}

.facility ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.facility li {
    font-size: 1.2rem;
    padding: 3px 10px;
    background-color: #F79B3E;
    margin: 5px 2.5px;
    color: #fff;
    font-weight: 600;
    border-radius: 5px;
}

.machines_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
}

.machines_list-item {
    background-color: #fff;
    border-radius: 2px;
    padding: 5px 0;
}

.machines_list-item p {
    font-size: 1.2rem;
    text-align: center;
    margin: 0;
    color: #F79B3E;
    font-weight: 700;
}

.machines_block {
    padding: 7px;
    margin-bottom: 8px;
}

.machines_block:nth-child(2) {
    background-color: #FFF5E8;
}

.machines_block:nth-child(3) {
    background-color: #FDEDD8;
}

.machines_block:nth-child(4) {
    background-color: #FFEACE;
}

.machines_block:nth-child(5) {
    background-color: #FCE6C8;
}

.machines_block:nth-child(6) {
    background-color: #FDE1BB;
}

.machines_block:nth-child(7) {
    background-color: #FFDCAC;
}

.machines_block:nth-child(8) {
    background-color: #FFD59B;
}

.machines_block:nth-child(9) {
    background-color: #fdd193;
}

.machines_block:nth-child(10) {
    background-color: #fbcc8b;
}


.machines_block h5 {
    font-size: 1.4rem;
    margin: 0 0 9px;
}

.points {
    padding: 10px 0 0;
}

.points_ttl {
    position: relative;
    z-index: 2;
}

.points_ttl img {
    border-radius: 27px;
    display: block;
    max-width: 358px;
    width: 100%;
    margin: 30px auto;
}

.point_ttl-ttl {
    width: 180px;
    position: absolute;
    top: 0%;
    left: 80%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    background-color: #F79B3E;
}

.point_ttl-ttl h2 {
    font-size: 2.9rem;
    text-align: center;
    margin: 0;
    color: #fff;
}

.points_block {
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin: 10px 0 20px;
}

.point_txt {
    background-color: #444444;
    width: 326px;
    padding: 18px 25px;
    padding-right: 0;
    color: #fff;
    position: relative;
    right: 0;
    z-index: 3;
}

.point_txt h3 {
    font-size: 2.4rem;
    margin: 0;
    margin-bottom: 5px;
}

.point_txt p {
    margin: 0;
    font-size: 1.4rem;
}

.points_img {
    width: 100px;
    height: 100px;
    border-radius: 999px;
    background-color: #444444;
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
}

.points_img-circle {
    background-color: #fff;
    width: 70px;
    height: 70px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 4;
}

.points_block:nth-child(even) .point_txt {
    background-color: #F79B3E;
}

.points_block:nth-child(even) .points_img {
    background-color: #F79B3E;
}

.points_main {
    background-color: #FFF6EC;
    padding: 10px;
    padding-top: 160px;
    margin-top: -160px;
}

.price {
    background-color: #F79B3E;
}

.price .inner {
    padding: 45px 0;
    text-align: center;
}

.price .fp24_ttl {
    background-color: #fff;
    max-width: 203px;
    width: 100%;
    margin: 0 auto;
}

.price .fp24_ttl h2, .price .fp24_ttl span {
    padding: 0;
    color: #F79B3E;
}

.price_main {
    color: #fff;
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
    margin-top: 24px;
}

.price_main p {
    font-size: 7.5rem;
    font-weight: 900;
    margin-bottom: 0;
    margin-top: 0;
}

.price_main .monthly {
    font-size: 2.2rem;
    font-weight: 600;
}

.price_main .yen {
    font-size: 4.1rem;
    font-weight: 600;
}

.price_main .tax {
    display: block;
    text-align: right;
    font-size: 1.6rem;
    font-weight: 400;
    margin-top: -20px;
}

.price_entry {
    margin-top: 20px;
}

.price_entry h3, .price_entry p {
    margin: 0;
}

.price_entry span {
    font-size: 5.2rem;
    font-weight: 600;
}

.htu .inner {
    padding: 40px 0;
}

.htu_main {
    max-width: 348px;
    width: 100%;
    background-color: #444444;
    margin: auto;
    color: #fff;
    margin-top: 260px;
}

.htu_txt {
    padding: 25px 12px;
    margin-top: 230px;
    position: relative;
    padding-top: 60px;
}

.htu_txt__block {
    display: flex;
    align-items: baseline;
}

.htu_txt__block h3 {
    font-size: 5.7rem;
    margin: 0;
}

.htu_txt__block p {
    font-size: 3rem;
    font-weight: 700;
    padding-left: 7px;
    margin: 0;
}

.htu_txt__block span {
    display: block;
    font-size: 1.3rem;
}

.htu_txt__title {
    max-width: 45px;
    width: 100%;
}

.htu_wrap {
    position: relative;
}

.htu_img {
    max-width: 348px;
    width: 100%;
    height: 348px;
    background-color: #444444;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -29%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.htu_imf_circle {
    max-width: 264px;
}

.htu .fp24_ttl {
    color: #F79B3E;
}

/**リンクボタン**/
.more-btn a {
    display: flex;
}

.more-btn .check-wrap {
    display: flex;
    align-items: center;
    max-width: 342px;
    width: 100%;
    position: relative;
    margin: 0 auto;
}

.more-btn .check-wrap span.txt {
    background-color: #444444;
    color: #fff;
    border: 1px solid #444444;
    padding: 1.7rem 2.3rem 1.7rem 2.7rem;
    font-size: 2.7rem;
    display: block;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-right: -0.5rem;
    position: relative;
    z-index: 100;
    transition: 0.4s;
}

.more-btn .circle-wrap {
    position: relative;
}

.more-btn .check-wrap span.circle {
    width: 56px;
    height: 56px;
    background-color: #444444;
    border-radius: 50% 50%;
    display: flex;
    align-items: center;
    transition: 0.4s;
    justify-content: center;
    position: relative;
    z-index: 1000;
}

.more-btn .check-wrap span.circle span {
    width: 40px;
    height: 40px;
    background-color: #fff;
    border: 1px solid #444444;
    display: block;
    border-radius: 50% 50%;
    transition: 0.4s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.more-btn span img {
    width: 15px;
    height: 15px;
    display: block;
}

.more-btn .check-wrap span.circle-bg {
    background-color: #444444;
    position: absolute;
    left: -1px;
    top: -1px;
    content: '';
    width: 58px;
    height: 58px;
    border-radius: 50% 50%;
    display: block;
    transition: 0.4s;
}

.more-btn:hover {
    opacity: 1;
}

.more-btn:hover .check-wrap span.circle {
    background-color: #fff;
}

.more-btn:hover .check-wrap span.txt {
    background-color: #ffffff;
    color: #444444;
    border: 1px solid #444444;
}

.link-btn {
    margin: 42px auto;

}

.qa .fp24_ttl {
    color: #F79B3E;
}

.qa .fp24_ttl h2, .qa .fp24_ttl span {
    padding: 0;
}

.qa .inner {
    padding: 0 17px;
}

.qa-block {
    border-radius: 10px;
    border: 1px solid #333333;
    margin: 8px 0;
}

.qa-block h3 {
    background-color: #F79B3E;
    color: #fff;
    padding: 23px 6px 23px 53px;
    position: relative;
    margin: 0;
    border-radius: 10px 10px 0 0;
    border-bottom: 1px solid #333333;
    font-size: 1.6rem;
    font-weight: 600;
}

.qa-block h3::before {
    content: "";
    width: 32px;
    height: 27px;
    background-image: url(../img/icon_q.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 3%;
    transform: translateY(-50%) translateX(0%);
    -webkit-transform: translateY(-50%) translateX(0%);
}

.qa-block p {
    font-size: 1.6rem;
    font-weight: 600;
    padding: 15px 6px 15px 15px;
    margin: 0;
    position: relative;
}

.ansewr {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.ansewr img {
    padding-left: 7px;
    margin-top: 15px;
}

.ansewr p {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
}

.qa {
    margin-bottom: 45px;
}

.contact .more-btn .check-wrap span.txt {
    width: 236px;
}

.contact .more-btn .check-wrap {
    max-width: 276px;
}

.contact .more-btn .check-wrap span.txt {
    text-align: center;
}

.contact .fp24_ttl {
    color: #F79B3E;
}

footer {
    padding: 12px 0;
}

.site-footer {
    background-color: #F79B3E;
}

.footer_wrap {
    padding: 0 16px;
}

.footer_logo {
    background-color: #fff;
    padding: 5px 0;
    margin-bottom: 15px;
}

.footer_logo img {
    max-width: 156px;
    width: 100%;
    margin: 0 auto;
    display: block;
}

.footer_info-block {
    margin: 12px 0;
}

.footer_info-block h3 {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    background-color: #fff;
    padding: 6px 9px;
    color: #F79B3E;
    margin: 0;
}

.footer_info-block p {
    margin: 10px 0 0;
    color: #FFFFFF;
}

.footer_info-block a {
    margin: 10px 0 0;
}

.footer_wrap a {
    color: #fff;
    padding-bottom: 2px;
    text-decoration: underline;
    text-underline-offset: 5px;
    display: block;
}

.footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links {
    margin: 15px 0 0;
}

.footer-links li {
    margin: 5px 0;
}

.copy p {
    text-align: center;
    color: #fff;
    margin: 40px 0 0;
}

.left-contentns img {
    max-width: 388px;
    width: 100%;
    padding: 0 10px;
}

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

.right-list li {
    text-align: center;
    margin: 17px auto;
    font-size: 2rem;
    font-weight: 700;
}


.right-list-btns .more-btn .check-wrap span.txt, .main-navigation .more-btn .check-wrap span.txt {
    width: 236px;
}

.right-list-btns .more-btn .check-wrap, .main-navigation .more-btn .check-wrap span.txt {
    max-width: 246px;
    margin-left: 45px;
}

.right-list-btns .more-btn .check-wrap span.txt, .main-navigation .more-btn .check-wrap span.txt {
    text-align: center;
    font-size: 2.2rem;
}

.main-navigation .link-btn {
    margin: 20px auto;
}

@media screen and (max-width: 768px) {
    .pc-left_contents, .pc-right_contents {
        display: none;
    }

    .pc-main_contents {
        max-width: 100%;
        overflow: clip;
    }
}

/*****コンタクトフォーム
---------------------------------------------*/
.wp-block-contact-form-7-contact-form-selector {
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
}

/*ContactForm7カスタマイズ*/
table.CF7_table {
    width: 100%;
    margin: 0 auto;
}


.CF7_table td,
.CF7_table th {
    border: none;
    display: block;
    text-align: left;
    padding: 10px 0;
}

.CF7_table th {
    padding-bottom: 0;
}

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

/*入力欄*/
.CF7_table input,
.CF7_table textarea,
.CF7_table select {
    border: 1px solid #DDDDDD;
    padding: 15px;
    font-size: 16px;
}

.CF7_table input[type="text"], .CF7_table input[type="email"], .CF7_table textarea, .CF7_table select {
    width: 100%;
}

.sluck-select {
    /* selectボックスの親要素 */
    position: relative;
}

.sluck-select:after {
    /* selectボックスの親要素にオリジナルの矢印を宣言 */
    content: '\f078';
    /* fontawesomeのアイコン表示 */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    color: var(--sub-color);
    width: 0;
    z-index: 0;
    position: absolute;
    top: 50%;
    right: 85px;
    transform: translateY(-50%);
}

select {
    /* select要素 */
    appearance: none;
}


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

.CF7_table p {
    text-align: left;
    font-weight: 600;
    font-size: 1.6rem;
    margin-bottom: 13px;
}

.CF7_table span {
    font-size: 1.4rem;
    font-weight: 400;
}

/*「必須」文字*/
.CF7_req {

    padding: 5px;
    background: #F79B3E;
    /*オレンジ*/
    color: #fff;
    margin-left: 1em;
}

/*「任意」文字*/
.CF7_unreq {

    padding: 5px;
    background: #444444;
    /*グレー*/
    color: #fff;
    margin-left: 1em;
}

.bd p {
    display: flex;
    align-items: center;
}

.bd-y {
    width: 80px !important;
}

.bdspan {
    margin: 0 15px 0 7px;
}

.row-privacy {
    text-align: center;
    margin-bottom: 20px;
}

.CF7_table .choose_ymd span.wpcf7-form-control-wrap {
    display: flex;
    gap: 15px
}

.wpcf7-radio label {
    display: flex;
}

.wpcf7-radio label input {
    max-width: 20px;
    margin-right: 10px;
}

.rsv-form .wpcf7-radio {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.rsv-form .wpcf7-radio .wpcf7-list-item {}

.rsv-form .wpcf7-list-item-label {
    font-size: 1.6rem;
    font-weight: 500;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
    table.CF7_table {
        width: 95%;
    }

    .CF7_table tr,
    .CF7_table td,
    .CF7_table th {
        display: block;
        width: 100%;
        line-height: 2.5em;
        text-align: left;
    }

    .CF7_table p {
        margin-bottom: 0;
    }


}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 240px;
    padding: 1rem 4rem;
    font-weight: bold;
    border: 2px solid #171A1C;
    color: #171A1C;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 1;
    margin: 0 auto;
    background-color: inherit;
    border-radius: 0;
    font-size: 1.6rem;
    transition: all .3s;
}

.wpcf7 input.wpcf7-submit::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #171A1C;
    transform: translateX(-100%);
    transition: all .3s;
    z-index: -1;
}

.wpcf7 input.wpcf7-submit:hover::before {
    transform: translateX(0);
}

.wpcf7 input.wpcf7-submit:hover {
    color: #fff;
    opacity: 1;
    background-color: #171A1C;
}

/* 「戻るボタン」ボタン */
.wpcf7 input.wpcf7-previous {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 240px;
    padding: 1rem 4rem;
    font-weight: bold;
    border: 2px solid #171A1C;
    color: #171A1C;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 1;
    margin: 0 auto;
    background-color: inherit;
    border-radius: 0;
    font-size: 1.6rem;
    transition: all .3s;
    margin-bottom: 20px;
}

.wpcf7 input.wpcf7-previous::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #171A1C;
    transform: translateX(-100%);
    transition: all .3s;
    z-index: -1;
}

.wpcf7 input.wpcf7-previous:hover::before {
    transform: translateX(0);
}

.wpcf7 input.wpcf7-previous:hover {
    color: #fff;
    opacity: 1;
    background-color: #171A1C;
}

.CF7_btn {
    text-align: center;
    margin-top: 20px;
}

.wpcf7-spinner {
    width: 0;
    margin: 0;
}

.contact {
    padding: 100px 0;
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
}

.type-entry_confirmation .CF7_table {
    border-collapse: collapse;
}

.type-entry_confirmation .CF7_table td, .type-entry_confirmation .CF7_table th {
    display: table-cell;
    border-bottom: 1px solid #868686;
    padding: 10px 0;
    vertical-align: baseline;
}

.type-entry_confirmation .CF7_table th p {
    display: flex;
    align-items: baseline;
}

.type-entry_confirmation .CF7_table td {
    width: 55%;
}

.type-entry_confirmation .contact {
    padding-top: 0;
}

.form-inner {
    padding: 0 7px;
}

.page-contents .contact {
    padding: 30px 0 0;
}

.page-main .inner {
    padding: 0 7px;
}

.page-main .wp-block-group {
    margin: 10px auto 30px;
}

.page-main h3 {
    margin: 0 0 10px;
    padding-left: 10px;
    border-left: 10px solid #333;
}

.page-main p {
    margin: 0;
}

.enter {
    padding: 15px;
}

.enter__intro {
    padding: 15px 15px 0;
    background-color: #FFF6EC;
}

.enter__intro h2 {
    background-color: #fff;
    text-align: center;
}

.enter__intro p {
    font-size: 1.5rem;
    text-align: center;
    font-weight: 700;
    margin: 20px 0;
}

.enter__main {
    margin: 30px 0;
}

.enter__block h3 {
    padding-bottom: 10px;
    border-bottom: 1px solid #444444;
    font-size: 1.8rem;
}

.enter__block p {
    padding: 0 10px;
    font-size: 1.5rem;
    font-weight: 500;
}

.enter__block-part {
    margin: 20px auto;
}

.enter__block-part p {
    margin-bottom: 5px;
}


.cta {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1002;
    width: 100%;
    display: block;
}

.bottom-cta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    background-color: #444444;
    width: 100%;
}

.bottom-cta__item:nth-child(2) {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}

.bottom-cta__item a {
    color: #fff;
    display: block;
    width: 100%;
    padding: 25px 17px;
    font-size: 1.5rem;
    position: relative;
}

.bottom-cta__item a::after {
    content: "";
    width: 22px;
    height: 17px;
    background-image: url(../img/icon_sp-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 15%;
    transform: translateY(-50%) translateX(0%);
    -webkit-transform: translateY(-50%) translateX(0%);
}

.bottom-cta__item:nth-child(3) a {
    padding-left: 5px;
}

.bottom-cta__item:nth-child(3) a::after {
    right: 5%;
}

@media screen and (max-width: 768px) {
    html #wpadminbar {
        display: none;
    }

    html {
        margin-top: 0 !important;
    }

    .site-header {
        top: 0 !important;
        width: 100%;
    }

    .concept_main-img img {
        max-width: 180px;
        z-index: 2;
    }

    .concept_main-txt h2 {
        font-size: 2.2rem;
    }

    .htu_main {
        margin-top: 280px;
    }

    .htu_txt__title {
        max-width: 47px;
    }

    .machines_list {
        gap: 3px;
    }

    .machines_list-item p {
        font-size: 1.1rem;
    }

    .point_txt {
        width: 300px;
    }

    .points_img {
        width: 90px;
        height: 90px;
    }

    .points_img-circle {
        width: 65px;
        height: 65px;
    }

    .point_txt h3 {
        font-size: 2.1rem;
    }
}


@media screen and (min-width: 768px) {
    .show-sp {
        display: none;
    }
}