body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 15px;
    color: #333;
    letter-spacing: 0.16em;
    line-height: 2;
    background: none !important;
    overflow-wrap: break-word;
    word-wrap: break-word;
    text-align: justify;
    text-justify: -inter-ideograph;
    -ms-text-justify: inter-ideograph;
    word-break: break-all;
}

.base_color {
    color: #0093f1;
}

.secondary_background {
    background: #ceebfb;
}

.pt1 {
    padding-top: 1rem;
}

.pt2 {
    padding-top: 2rem;
}

.pt3 {
    padding-top: 3rem;
}

.pb1 {
    padding-bottom: 1rem;
}

.pb2 {
    padding-bottom: 2rem;
}

.pb3 {
    padding-bottom: 3rem;
}

.pl1 {
    padding-left: 1rem;
}

.pl2 {
    padding-left: 2rem;
}

.pl3 {
    padding-left: 3rem;
}

.pconly {
    display: block;
}

.sponly {
    display: none;
}

.txtC {
    text-align: center;
}

.txtC img {
    max-width: 100%;
}

.txtL {
    text-align: left;
}

.txtR {
    text-align: Right;
}

ul,
li {
    list-style: none;
}

/* ヘッダー */
.head {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000;
}

header {
    height: 100px;
    background: #fff;
}

header .wrapper {
    width: 100%;
    margin: 0 auto;
}

header .wrapper .header_content {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .wrapper .header_content .logo_wrap {
    margin-left: 0.7rem;
}

header .wrapper .d_name {
    margin-top: 15px;
    margin-left: 1rem;
    font-size: 2rem;
    color: #333;
    line-height: 2.4rem;
    /*white-space: nowrap;*/
    padding-right: 1rem;
}

header .wrapper .d_menu {
    display: flex;
    align-items: center;
    min-width: 403px;
}

header .wrapper .d_tel,
header .wrapper .d_sns {
    margin-right: 15px;
    font-size: 2rem;
    color: #333;
}

header .wrapper .d_tel,
header .wrapper .d_sns {
    font-size: 0.7rem;
}

header .logo_wrap {
    width: 270px;
}

header .logo {
    max-height: 77px;
}

.fa-instagram,
.fa-facebook {
    color: #333;
}

.snsArea {
    justify-content: left !important;
    gap: 2rem;
}

/* navi　表示に関するcss start */
.menu_content {
    font-size: 0.8rem;
}

.menu {
    display: flex;
    position: relative;
    width: 875px;
    height: 50px;
    margin: 0 auto;
    background: #fff;
    cursor: pointer;
}

.menu > li {
    width: 14%;
    height: 50px;
    line-height: 50px;
    background-color: #fff;
}

.menu > li a,
.menu > li p.init-bottom {
    color: #505050;
    /* padding-left: 0.5rem; */
    /*追加*/
    font-weight: bold;
    font-size: 0.7rem;
    /* text-align: center; */
}

.menu > li a:hover,
.menu > li p.init-bottom:hover {
    color: #999;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    background-color: #fff;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.menu__second-level li {
    border-top: 0px solid #111;
}

.menu__third-level li {
    border-top: 1px solid #111;
}

.menu__second-level li a:hover {
    /*background: #111;*/
}

.menu__third-level li a:hover {
    background: #2a1f1f;
}

.menu__fourth-level li a:hover {
    background: #1d0f0f;
}

@media only screen and (max-width: 767px) {
    header .wrapper {
        width: 100%;
    }

    header .wrapper .header_content {
        height: unset;
    }

    header .wrapper .d_name {
        margin-top: 22px;
        font-size: 1.1rem;
        line-height: 2.3rem;
        width: 78%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1285px) {
    .menu > li a {
        font-size: 0.7rem;
        padding-left: 0.2rem;
        white-space: nowrap;
    }

    .init-bottom:after {
        margin: 0 0 0 1px;
    }
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

.menu > li.menu__single {
    position: relative;
    border-left: 1px solid #d6d6d6;
    text-align: center;
}

.menu > li.menu__single:last-child {
    border-right: 1px solid #d6d6d6;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 40px;
    width: 300px;
    /* width: 100%; */
    background: #d8e4ee;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    padding-left: 0;
    text-align: left;
}
li.menu__single ul.menu__second-level a {
    padding-left: 1rem;
}
li.menu__single ul.menu__second-level li:nth-child(even) {
    background: #b8cee0;
}

li.menu__single:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

@media only screen and (max-width: 1575px) {
    .menu_content {
        font-size: 0.5rem;
    }

    .menu {
        width: 690px;
    }
}

@media only screen and (max-width: 1390px) {
    .menu_content .pconly {
        display: none;
    }

    .menu_content .sponly {
        display: block;
    }

    header .wrapper .d_menu {
        margin-right: 5rem;
    }

    #gnav-btn {
        color: gray;
        padding: 10px;
        font-size: 30px;
        position: fixed;
        top: 20px;
        right: 10px;
        z-index: 100;
        background-color: #4ca3d0;
        border: solid 1px #4ca3d0;
        border-radius: 3px;
        width: 35px;
        height: 35px;
    }

    #gnav-btn .fas,
    #gnav-btn .fas:before,
    #gnav-btn .fas:after {
        content: "";
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background: #fff;
        transition: 0.5s;
        position: absolute;
        left: 4px;
    }

    #gnav-btn .fas {
        top: 15px;
    }

    #gnav-btn .fas:before {
        bottom: 8px;
        left: 0;
    }

    #gnav-btn .fas:after {
        top: 8px;
        left: 0;
    }

    #gnav-input:checked ~ #gnav-btn .fas {
        background: rgba(255, 255, 255, 0);
    }

    #gnav-input:checked ~ #gnav-btn .fas::before {
        bottom: 0;
        transform: rotate(45deg);
    }

    #gnav-input:checked ~ #gnav-btn .fas::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #gnav-input:checked ~ #gnav-content {
        top: 0;
    }

    #gnav-content {
        position: fixed;
        top: -100%;
        left: 0;
        z-index: 10;
        transition: 0.3s;
        width: 100%;
        color: #fff;
        font-weight: 600;
    }

    .humb-menu__title {
        background-color: #4ca3d0;
    }

    .menu_top a {
        color: #fff;
    }

    .humb-menu label {
        display: flex;
        justify-content: space-between;
        padding: 1rem 1.5rem;
        cursor: pointer;
        border-top: 0.5px solid #fff;
        background-color: #4ca3d0;
        margin-bottom: 0rem;
        font-weight: 400;
    }

    .humb-menu label p {
        margin-bottom: 0rem;
    }

    .humb-menu label p:nth-child(2) {
        line-height: 1;
        width: 1em;
        height: 1em;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(25%) rotate(135deg);
        transition: all 0.2s;
    }

    .humb-menu input {
        display: none;
    }

    .humb-menu .accshow {
        height: 0;
        overflow: hidden;
    }

    .humb-menu .accshow p {
        padding: 1rem 1.5rem;
        border-bottom: 1px solid #fff;
        color: #333;
        margin: 0;
    }

    .accshow p a {
        color: #333;
    }

    .humb-menu .cssacc:checked + label p:nth-child(2) {
        transform: translateY(100%) rotate(-45deg);
        transition: all 0.2s;
    }

    .humb-menu .cssacc:checked + label + .accshow {
        height: auto;
        background-color: #f1f1f1;
    }
}

.container {
    margin: 0 auto;
    padding: 0;
    max-width: 100%;
    padding-bottom: 10rem;
    margin-top: 6rem;
}

@media only screen and (max-width: 767px) {
    .pconly {
        display: none !important;
    }

    .sponly {
        display: block;
    }

    body {
        font-size: 1rem;
        margin: 0;
    }

    .container {
        width: 100% !important;
        max-width: unset !important;
        margin: 5rem auto 0 auto;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    header {
        height: 5rem;
        background-color: #4ca3d0;
    }

    #gnav-btn {
        color: gray;
        padding: 10px;
        font-size: 30px;
        position: fixed;
        top: 20px;
        right: 10px;
        z-index: 100;
        background-color: #4ca3d0;
        border: solid 1px #4ca3d0;
        border-radius: 3px;
        width: 35px;
        height: 35px;
    }

    #gnav-btn .fas,
    #gnav-btn .fas:before,
    #gnav-btn .fas:after {
        content: "";
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background: #fff;
        transition: 0.5s;
        position: absolute;
        left: 4px;
    }

    #gnav-btn .fas {
        top: 15px;
    }

    #gnav-btn .fas:before {
        bottom: 8px;
        left: 0;
    }

    #gnav-btn .fas:after {
        top: 8px;
        left: 0;
    }

    #gnav-input:checked ~ #gnav-btn .fas {
        background: rgba(255, 255, 255, 0);
    }

    #gnav-input:checked ~ #gnav-btn .fas::before {
        bottom: 0;
        transform: rotate(45deg);
    }

    #gnav-input:checked ~ #gnav-btn .fas::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #gnav-input:checked ~ #gnav-content {
        top: 0;
    }

    #gnav-content {
        position: fixed;
        top: -100%;
        left: 0;
        z-index: 10;
        transition: 0.3s;
        width: 100%;
        color: #fff;
        font-weight: 600;
        max-height: 100vh;
        overflow: scroll;
    }

    .humb-menu__title {
        background-color: #4ca3d0;
    }

    .menu_top a {
        color: #fff;
    }

    .humb-menu label {
        display: flex;
        justify-content: space-between;
        padding: 1rem 1.5rem;
        cursor: pointer;
        border-top: 0.5px solid #fff;
        background-color: #4ca3d0;
        margin-bottom: 0rem;
        font-weight: 400;
    }

    .humb-menu label p {
        margin-bottom: 0rem;
        font-size: 1rem;
    }

    .humb-menu label p:nth-child(2) {
        line-height: 1;
        width: 1em;
        height: 1em;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(25%) rotate(135deg);
        transition: all 0.2s;
    }

    .humb-menu input {
        display: none;
    }

    .humb-menu .accshow {
        height: 0;
        overflow: hidden;
    }

    .humb-menu .accshow p {
        padding: 1rem 1.5rem;
        border-bottom: 1px solid #fff;
        color: #333;
        margin: 0;
        font-size: 0.8rem;
    }

    .accshow p a {
        color: #333;
    }

    .humb-menu .cssacc:checked + label p:nth-child(2) {
        transform: translateY(100%) rotate(-45deg);
        transition: all 0.2s;
    }

    .humb-menu .cssacc:checked + label + .accshow {
        height: auto;
        background-color: #f1f1f1;
    }
}

.top_wrapper {
    margin-top: 6rem;
}

/* スライド */
#topArea {
    margin-top: 0;
}

#topArea .topSlider {
    padding: 0 !important;
}

#topArea .rela {
    position: relative;
}

#topArea .textPart {
    position: absolute;
    top: 1rem;
    left: 3rem;
    background-color: rgba(255, 255, 255, 0.6);
    margin-right: 1rem;
    width: 400px;
    height: 435px;
}

#topArea .lead {
    padding: 1rem;
    font-weight: 700;
    font-size: 30pt;
    font-weight: bold;
    color: #0093f1;
    line-height: 3rem;
}

#topArea .textarea {
    padding: 0 1rem 1rem;
    font-size: 0.8rem;
    line-height: 20px;
}

@media only screen and (max-width: 767px) {
    .top_wrapper {
        margin-top: 5rem;
    }

    #topArea .textPart {
        width: 150px;
        height: auto;
    }

    #topArea {
        margin-top: 4rem;
    }

    #topArea .lead {
        padding: 0.5rem;
        font-size: 0.7rem;
        line-height: 1rem;
    }

    #topArea .textarea {
        padding: 0 1rem 0.5rem;
        font-size: 0.6rem;
    }
}

.article_title {
    text-align: center;
    background-color: #ceebfb;
    /* background-color: #fff; */
    /* height: 65px; */
    line-height: 65px;
    width: 1200px;
    font-size: 1.8rem;
    font-weight: 500;
    color: #505050;
    margin: 0 auto;
}

.subhead {
    font-family: "中ゴシックBBB", "Gothic Medium BBB";
    font-size: 17px;
    /* line-height: 1.3; */
    letter-spacing: 0.15em;
    color: #6e7983;
    position: relative;
    border-bottom: 0;
    margin-bottom: 0px;
    max-width: 1020px;
    margin: 0rem auto;
}

@media only screen and (max-width: 1200px) {
    .article_title {
        width: 100%;
        font-size: 1.3rem;
        /* height: 50px; */
        line-height: 50px;
    }

    img {
        max-width: 100%;
    }
}

/* 注意書き */
.cautionary_note {
    width: 1200px;
    text-align: center;
    margin: 60px auto;
    border: 2px solid #f00;
    color: #f00;
    padding: 20px;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.8rem;
}

/* 新着情報 */
#note {
    border: 1px solid;
    border-color: #7e7e7e;
    width: 1200px;
    margin: 5rem auto;
}

#note .article_title {
    height: 60px;
    line-height: 60px;
    padding-left: 2rem;
    background-color: #4ebaf5;
    text-align: left;
}

.note_table {
    width: 1200px;
    margin: 0 auto;
}

#note_list .container {
    margin-top: 9rem;
}

#note_list .note_table {
    border: 1px solid #333;
    border-top: none;
    width: 1200px;
    margin: 0 auto;
}

#note_list .back_btn {
    width: 1200px;
    margin: auto;
    padding: 1rem 0;
    text-align: right;
}

.note_day {
    width: 20%;
}

.note_day span {
    font-weight: bold;
    font-size: 1.1rem;
}

.note_table td.text {
    text-align: left;
}

.note_table td {
    padding: 0.5rem 0.5rem 0.5rem 2rem;
    color: #323232;
}

.note_more {
    margin: 0 auto;
    text-align: center;
    padding: 1rem 0;
}

.styled_link {
    color: #333 !important;
}

@media only screen and (max-width: 1200px) {
    .cautionary_note {
        width: 90%;
        margin: 30px auto;
        padding: 15px;
        font-size: 18px;
        line-height: 1.4rem;
    }

    #note {
        width: 90%;
    }

    #note .article_title {
        margin: 0;
        width: 100%;
    }

    .note_table {
        width: 90%;
    }
}

@media only screen and (max-width: 767px) {
    #note {
        width: 90%;
        margin-top: 2rem;
    }

    #note .article_title {
        height: 50px;
        line-height: 50px;
    }

    .note_table {
        width: 90%;
        font-size: 0.8rem;
    }

    .note_day {
        width: 45%;
    }

    .note_day span {
        font-size: 0.8rem;
    }

    .note_table td {
        text-align: left;
        padding: 0.7rem;
    }

    .note_more {
        width: 90%;
    }
}

/* 診療時間 */

#business {
    background-color: #ceebfb;
    /* margin: 5rem auto 0; */
}

.business_wrap {
    width: 1200px;
    margin: 0 auto;
    padding-top: 3rem;
}

.bussiness_timePart {
    width: 1020px;
    margin: 2rem auto 0rem auto;
    padding-bottom: 3rem;
}

.bussiness_timePart .tableArea table {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    border: 0;
}

.tableArea td {
    border-bottom: 1px solid #323232;
}

.bussiness_timePart .tableArea th {
    background-color: #fff;
    height: 40px;
    padding: 0 1rem 0;
    font-weight: 400;
}

.bussiness_timePart .tableArea td {
    background-color: #ceebfb;
    border-top: none;
    padding: 0.5rem;
}

.noteArea {
    margin: 1rem auto;
    font-size: 1rem;
    color: #323232;
}

.b_blue {
    color: #0093f1;
}

@media only screen and (max-width: 1200px) {
    .business_wrap {
        width: 90%;
    }

    .bussiness_timePart {
        width: 100%;
    }
}

@media only screen and (max-width: 1019px) {
    .bussiness_timePart {
        width: 100%;
    }

    .bussiness_timePart .tableArea td,
    .bussiness_timePart .tableArea th {
        padding: 0.5rem;
        font-weight: 500;
    }
}

@media only screen and (max-width: 767px) {
    #business {
        margin-top: 2rem;
    }

    .business_wrap {
        padding-top: 2rem;
    }

    .bussiness_timePart .tableArea table {
        font-size: 0.8rem;
    }
}

form#send,
form#edit {
    display: inline;
}

#loading.hidden {
    display: none;
}

#loading {
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* アクセスマップ */
#accsess {
    margin: 3rem auto 0;
}

.accsess_wrap {
    width: 1200px;
    margin: 0 auto;
}

#accsess .article_title {
    background-color: #ceebfb;
}

.accsessPart {
    width: 1200px;
    margin: 0 auto;
    margin-bottom: 40px;
}

.accsessPart .detailmap {
    text-align: center;
    padding: 2rem 0;
}

.accsessPart .detailtxt {
    border: 1px solid #505050;
    border-bottom: 0;
    margin: 0rem auto;
    display: flex;
    align-items: center;
    background-color: #fff;
}

.accsessPart .detailtxt:last-child {
    border-bottom: 1px solid #505050;
}

.accsessPart .subhead {
    min-width: 200px;
    font-size: 1.2rem;
    margin: 0;
    padding: 0.6rem 0 0.6rem 1rem;
    font-weight: bold;
    color: #323232;
    background-color: #e9ede4;
    text-align: center;
}

.accsessPart .subtxt {
    padding-left: 1rem;
}

@media only screen and (max-width: 1200px) {
    .accsess_wrap {
        width: 90%;
    }

    .accsessPart {
        width: 90%;
    }

    .mapimg {
        max-width: 100%;
    }
}

@media only screen and (max-width: 1019px) {
    .accsessPart .subhead {
        width: 200px;
    }
}

@media only screen and (max-width: 767px) {
    #accsess {
        margin-top: 2rem;
    }

    .accsessPart {
        width: 100%;
    }

    .accsessPart .subhead {
        font-size: 1.1rem;
        width: 100%;
        padding: 0.2rem;
    }

    .accsessPart .detailtxt {
        display: block;
        width: 90%;
        padding-left: 0rem;
    }

    .accsessPart .subtxt {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

/*フッター*/
#footer {
    color: #fff;
    padding-bottom: 70px;
}

#footer a {
    text-decoration: none;
    color: #fff;
    /* font-size: 0.8rem; */
}

#footer li a {
    text-decoration: none;
    color: #323232;
    font-size: 0.7rem;
}

#footer a:hover {
    text-decoration: underline;
}

#footer .primary {
    padding: 2rem 1rem 0rem 1rem;
    background: #4eb7f5;
}

#footer .primary .flex {
    display: flex;
    border-bottom: 1px solid;
    padding-bottom: 1rem;
}

#footer .primary .flex .left {
    width: 40%;
}

#footer .primary .flex .right {
    display: flex;
    width: 100%;
    justify-content: flex-end;
}

#footer .primary .flex .right.sponly {
    display: none;
}

#footer .secondary {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4rem;
    padding: 0.5rem 1rem 2rem 1rem;
    background: #4eb7f5;
    font-weight: 600;
}

#footer .secondary-top {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 4rem;
    padding: 2rem 1rem 1rem 1rem;
    background: #4eb7f5;
    font-weight: 600;
}

#footer .secondary-top img.logo {
    height: 70px;
}

#footer .secondary-top .telno,
#footer .secondary-top .reserveno {
    font-weight: bold;
    border: 1px solid #fff;
    border-radius: 25px;
    color: #0093f1;
    background-color: #fff;
    box-shadow: 1px 1px 1px 1px #404040;
    text-decoration: none;
    display: block;
    text-align: center;
    font-size: 1rem;
    width: 240px;
    padding: 0.5rem;
}

@media only screen and (max-width: 767px) {
    #footer .secondary-top .telno,
    #footer .secondary-top .reserveno {
        width: auto;
    }
}

#footer .secondary-top .telno img,
#footer .secondary-top .reserveno img {
    height: 29px;
}

#footer .secondary-top span {
    margin-left: 0.5rem;
}

#footer .secondary-top a {
    color: #0093f1;
    font-weight: bold;
    font-size: 18px;
}

@media screen and (max-width: 767px) {
    #footer .primary {
        padding: 20px 20px;
    }

    #footer .primary .flex {
        display: block;
        border-bottom: 0px;
        padding-bottom: 0;
    }

    #footer .primary .flex .left {
        width: 100%;
    }

    #footer .primary .flex .right {
        width: 100%;
        display: block;
    }

    #footer .primary .flex .right.sponly {
        display: block;
    }

    #footer .secondary {
        display: block;
        padding: 20px 20px;
    }

    #footer .secondary-top {
        display: block;
        padding-top: 1rem;
    }

    #footer .secondary-top div {
        text-align: center;
        margin: 1rem 3rem;
    }

    #footer .secondary-top div:first-child {
        margin-top: 0;
    }

    #footer .secondary-top div:last-child {
        margin-bottom: 0;
    }
}

/* address */

.address {
    margin: 10px 0 0;
    padding: 0;
}

@media screen and (max-width: 767px) {
    .address {
        font-size: 12px;
    }
}

/* navi */

.navi-section {
    display: flex;
    flex-direction: column;
    width: 20%;
    margin-left: 20px;
}

#footer .parent {
    margin: 0 0 5px 0;
    padding: 0;
    font-weight: bold;
}

#footer .navi_top {
    font-size: 1rem;
}

#footer .navi {
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer .navi li {
    margin: 2px 0 0 0.5rem;
    padding: 0;
}

#footer .navi li:first-child {
    margin: 0 0 0 0.5rem;
}

@media screen and (max-width: 767px) {
    .navi-section {
        display: block;
        width: 100%;
        margin: 20px 0 0;
    }

    #footer .parent {
        font-size: 1rem;
        margin: 0 0 10px;
    }

    #footer .navi_top {
        font-size: 1rem;
    }

    #footer .navi {
        font-size: 12px;
        padding-bottom: 10px;
        border-bottom: 1px solid #fff;
    }

    #footer .navi li {
        margin-top: 10px;
        font-size: 12px;
    }

    #footer li a {
        font-size: 1rem;
    }
}

/* sns-navi */

#footer .sns-navi {
    margin: 20px 0 0;
    padding: 0;
}

#footer .sns-navi li {
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 0;
    font-size: 20px;
}

#footer .sns-navi li:last-child {
    margin-right: 0;
}

@media screen and (max-width: 767px) {
    #footer .sns-navi {
        margin: 20px 0 0;
        padding: 0;
    }

    #footer .sns-navi li {
        margin: 0 20px 0 0;
        padding: 0;
        font-size: 18px;
    }
}

/* sitenavi */

#footer .sitenavi {
    width: 50%;
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer .sitenavi li {
    display: inline-block;
    margin: 0 0 0 20px;
    padding: 0;
}

#footer .sitenavi li:first-child {
    margin-left: 0;
}

@media screen and (max-width: 767px) {
    #footer .sitenavi {
        width: 100%;
        text-align: center;
        font-size: 12px;
    }

    /* フッターのアコーディオン */
    .accordion-menu {
        width: 100%;
    }

    .menu-label {
        display: flex;
        margin: 0;
        padding: 5px 10px;
        cursor: pointer;
    }

    .menu-top {
        border-bottom: solid 1px #fff;
    }

    .menu-input {
        display: none;
    }

    .menu-list {
        margin: 0;
        padding: 0;
        list-style: none;
        border-bottom: solid 1px #fff;
    }

    .menu-list li {
        line-height: 0;
    }

    .menu-list a {
        display: block;
        transition: all 0.4s ease-out;
    }

    .menu-list a span {
        display: block;
        opacity: 0;
        line-height: 0;
        transition: all 0.1s ease-out;
    }

    .accordion-menu .op {
        line-height: 1;
        width: 0.5em;
        height: 0.5em;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(115%) rotate(135deg);
        transition: all 0.2s;
        margin-left: 1rem;
    }

    /* メニューを開いた際に変更するCSS */
    .menu-input:checked + label + .menu-list a {
        padding: 5px 10px;
        border-bottom: none;
    }

    .menu-input:checked + label + .menu-list a span {
        opacity: 1;
        line-height: 1.4;
    }

    .menu-input:checked + label .op {
        transform: translateY(150%) rotate(-45deg);
        transition: all 0.2s;
    }
}

/* copyright */

#footer .copyright {
    width: 100%;
    margin: 0;
    padding: 0;
}

.secondary-left,
.secondary-right {
    width: 30%;
}

@media screen and (max-width: 767px) {
    #footer .copyright {
        width: 100%;
        margin: 10px 0 0;
        text-align: left;
        font-size: 12px;
    }

    .secondary-left,
    .secondary-right {
        width: 100%;
    }
}

/*追従バナー*/
.bottom_fixed_banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 1rem 0;
    background: rgba(128, 128, 128, 0.7);
    display: none;
    z-index: 999;
}

.action_links {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.action_links .telPart .telno,
.action_links .telPart .p_reserve {
    font-weight: bold;
    border: 5px solid #4eb7f5;
    border-radius: 10px;
    color: #fff;
    background-color: #4eb7f5;
    box-shadow: 1px 1px 1px 1px #404040;
    text-decoration: none;
    display: block;
    text-align: center;
    width: 95%;
    margin: 5px 0 0 5px;
    font-size: 1rem;
    padding: 0.5rem 0.5rem;
    width: 200px;
    margin: 0;
}

.header_content .telPart .telno {
    font-weight: bold;
    border: 1px solid #d8e4ee;
    border-radius: 25px;
    color: #0093f1;
    background-color: #d8e4ee;
    box-shadow: 1px 1px 1px 1px #404040;
    text-decoration: none;
    display: block;
    text-align: center;
    font-size: 0.8rem;
    padding: 0.2rem 0.5rem;
    width: 100%;
}

.header_content .telno img {
    height: 30px;
}

.header_content .telno span {
    margin-left: 0.5rem;
}

.header_content .p_reserve {
    padding: 0.5rem 0;
    font-size: 1rem;
    font-weight: bold;
    border: 5px solid #4eb7f5;
    color: #fff;
    background-color: #4eb7f5;
    box-shadow: 1px 1px 1px 1px #404040;
    text-decoration: none;
    display: block;
    text-align: center;
    width: 100px;
    height: 135px;
    margin: 5px 0 0 5px;
}

.header_content .telPart {
    margin-right: 6rem;
}

.reservePart {
    position: absolute;
    right: 0.5rem;
    top: 0;
}

@media only screen and (max-width: 1390px) {
    .reservePart {
        right: 4.5rem;
    }
}

@media screen and (max-width: 767px) {
    .action_links {
        gap: 30px;
    }

    .action_links .telPart .telno,
    .action_links .telPart .p_reserve {
        width: 10rem;
    }

    .reservePart {
        display: none;
    }
}

.subtitle {
    font-family: "中ゴシックBBB", "Gothic Medium BBB";
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0.15em;
    color: #6e7983;
    padding: 0 0 0px 22px;
    position: relative;
    border-bottom: 0;
    margin-bottom: 0px;
    width: 1020px;
    margin: 1rem auto;
}

.subtitle:before {
    position: absolute;
    left: 0;
    top: 9px;
    display: block;
    content: "";
    background: #4ebaf5;
    width: 10px;
    height: 10px;
}

/* .subhead:before {
    position: absolute;
    left: 0;
    top: 9px;
    display: block;
    content: '';
    background: #4EBAF5;
    width: 10px;
    height: 10px;
} */

@media only screen and (max-width: 1019px) {
    .article_title {
        width: 90%;
    }

    .subhead,
    .subtitle {
        width: 90%;
    }

    img {
        max-width: 100%;
    }
}

/**************************
pt2
**************************/
.flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

@media only screen and (min-width: 1024px) {
    #pat1,
    #pat2,
    #pat3,
    #pat4,
    #pat5,
    #pat6,
    #pat7,
    #pat8,
    #pat9,
    #pat10,
    #pat11,
    #pat12,
    #pat13,
    #pat14,
    #pat15,
    #pat16,
    #pat17,
    #pat18,
    #pat19,
    #pat20,
    #pat21,
    #pat22,
    #pat23,
    #pat24 {
        max-width: 1200px;
        margin: 0 auto 2rem auto;
    }
}

.subtit {
    padding: 1rem;
}

#pat6 .subtit {
    max-width: 1024px;
    margin: 2rem auto;
    gap: 20px;
}

#pat2 .text {
    padding: 0.5rem 0;
    white-space: pre-wrap;
    max-width: 1020px;
    margin: 0 auto 2rem auto;
    word-break: break-all;
}

/**************************
pt3
**************************/
#pat3 .subtit {
    max-width: 1024px;
    margin: 2rem auto;
    gap: 20px;
}

#pat3 .text_wrap {
    white-space: pre-wrap;
}

/**************************
pt4
**************************/
#pat4 .subtit {
    max-width: 1024px;
    margin: 2rem auto;
    gap: 20px;
}

#pat4 .text_wrap {
    white-space: pre-wrap;
}

#pat4 .rightpart {
    margin-left: auto;
}

/**************************
pt5
**************************/
#pat5 .subtit {
    max-width: 1024px;
    margin: 2rem auto;
    gap: 20px;
    background-color: #f1f1f1;
}

#pat5 .text_wrap {
    white-space: pre-wrap;
}

#pat5 .rightpart {
    margin-left: auto;
}

/**************************
pt6
**************************/
#pat6 .text_wrap {
    white-space: pre-wrap;
}

#pat6 .subtit {
    background-color: #f1f1f1;
}

/**************************
pt7
**************************/
#pat7 .text_wrap {
    padding: 0.5rem 0;
    white-space: pre-wrap;
    max-width: 1020px;
    margin: 0 auto;
    word-break: break-all;
}

#pat7 .subtit {
    background-color: #f1f1f1;
}

/**************************
pt8
**************************/
#pat8 .article_unit {
    margin: 0 auto;
    max-width: 1024px;
    gap: 40px;
}

#pat8 .leftpart {
    width: 650px;
}

#pat8 .between_ele {
    font-size: 2.5rem;
}

#pat8 .text {
    white-space: pre-wrap;
}

#pat8 .subtit {
    background-color: #f1f1f1;
}

#pat8 .rightpart {
    margin-left: auto;
}

/**************************
pt9
**************************/
#pat9 .subtit {
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 6px;
}

#pat9 .subtit img {
    max-width: 45%;
}

/**************************
pt10
**************************/
#pat10 .subtit {
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1024px;
    margin: 0 auto;
}

#pat10 .t_frame {
    width: 25%;
    margin-bottom: 1.5rem;
    border: 1px solid;
    border-color: #b5b6b6;
    border-left: none;
}

#pat10 .t_contents {
    font-weight: normal;
    padding: 0.5rem;
}

#pat10 .t_title {
    padding: 0.2rem;
    color: #333;
    background-color: #ceebfb;
    text-align: center;
}

#pat10 .t_frame:first-child,
#pat10 .t_frame:nth-child(5),
#pat10 .t_frame:nth-child(9) {
    border-left: 1px solid;
    border-left-color: #b5b6b6;
}

#pat10 .text_wrap {
    white-space: pre-wrap;
}

/**************************
pt11
**************************/
#pat11 .d_frame {
    /* width: 90%; */
}

#pat11 .text_wrap {
    white-space: pre-wrap;
}

/**************************
pt12
**************************/
#pat12 .subtit {
    max-width: 1024px;
    margin: 2rem auto;
    gap: 20px;
}

#pat12 .d_frame {
    /* width: 90%; */
}

#pat12 .text_wrap {
    padding: 1rem;
    white-space: pre-wrap;
    max-width: 1020px;
    margin: 0 auto;
    word-break: break-all;
}

/**************************
pt13
**************************/
#pat13 .text_wrap {
    white-space: pre-wrap;
}

/**************************
pt14
**************************/
#pat14 .text_wrap {
    white-space: pre-wrap;
}

/**************************
パターン共通
**************************/
#pat11 .subtit,
#pat12 .subtit,
#pat13 .subtit,
#pat14 .subtit,
#pat19 .subtit,
#pat20 .subtit,
#pat21 .subtit,
#pat22 .subtit,
#pat23 .subtit,
#pat24 .subtit {
    justify-content: center;
    gap: 2rem 1rem;
    max-width: 1024px;
    margin: 0 auto;
    flex-wrap: wrap;
}

/**************************
pt24
**************************/
#pat24 .t_frame {
    /* display: block; */
}

#pat24 .t_title {
    margin: 0;
}

#pat25 .subtit {
    width: 100%;
}

#pat24 .t_frame {
    display: flex;
    align-items: center;
    width: 100%;
    background-color: #f1f1f1 !important;
}

#pat24 .t_title {
    color: #fff;
    margin: 1rem;
    padding: 1rem 1.5rem;
    text-align: center;
    background-color: #4ebaf5;
}

#pat24 .t_contents {
    padding: 1rem;
}

#pat24 .text_wrap {
    white-space: pre-wrap;
}

/**************************
pt25
**************************/
#pat25 {
    display: flex;
    flex-wrap: wrap;
    font-family: "Meiryo", "メイリオ", Verdana, "游ゴシック", YuGothic,
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    max-width: 1024px;
    margin: 0 auto;
}

#pat25 .pt_25_title {
    margin-left: 1rem;
    /* margin-right: 1rem; */
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    padding-top: 2rem;
    border-bottom: 2px solid #ccc;
    font-size: 2rem;
    color: #505050;
    font-family: "Meiryo", "メイリオ", Verdana, "游ゴシック", YuGothic,
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

#pat25 .img_wrap {
    padding: 0 1rem;
}

#pat25 .text_wrap {
    padding: 1rem;
}

#pat25 .subtit {
    width: 50%;
}

/**************************
pt15
**************************/
#pat15 .subtit {
    max-width: 1024px;
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2rem 1rem;
}

#pat15 .text_wrap {
    margin-bottom: 1rem;
    white-space: pre-wrap;
}

/**************************
pt16
**************************/
#pat16 .subtit {
    max-width: 1024px;
    margin: 0 auto;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
}

#pat16 .text_wrap {
    margin-top: 1rem;
    white-space: pre-wrap;
}

/**************************
pt17
**************************/
#pat17 .subtit {
    max-width: 1024px;
    margin: 0 auto;
    gap: 2rem;
}

#pat17 .text_wrap {
    white-space: pre-wrap;
}

/**************************
pt18
**************************/
#pat18 .subtit {
    max-width: 1024px;
    margin: 0 auto;
    gap: 2rem;
}

#pat18 .text_wrap {
    white-space: pre-wrap;
}

/**************************
pt19
**************************/
#pat19 .subtit {
    max-width: 1024px;
    margin: 0 auto;
    gap: 2rem;
}

#pat19 .text_wrap {
    white-space: pre-wrap;
}

#pat19 .d_frame {
    padding: 1rem;
    background-color: #f1f1f1;
}

/**************************
pt20
**************************/
#pat20 .text_wrap {
    white-space: pre-wrap;
}

#pat20 .subhead {
    margin: 1rem auto;
}

#pat20 .d_frame {
    padding: 1rem;
    background-color: #f1f1f1;
}

/**************************
pt21
**************************/
#pat21 .text_wrap {
    white-space: pre-wrap;
}

#pat21 .d_frame {
    padding: 1rem;
    background-color: #f1f1f1;
}

/**************************
pt22
**************************/
#pat22 .text_wrap {
    margin-left: 0rem;
    white-space: pre-wrap;
}

#pat22 .d_frame {
    padding: 1rem;
    background-color: #f1f1f1;
}

/**************************
pt23
**************************/
#pat23 .text_wrap {
    white-space: pre-wrap;
}

#pat23 .t_frame {
    display: flex;
    align-items: center;
    width: 100%;
    border: 1px solid;
    border-color: #b5b6b6;
    border-top: none;
    background-color: #f1f1f1;
}

#pat23 .t_frame:first-child {
    border-top: 1px solid;
    border-top-color: #b5b6b6;
}

#pat23 .t_frame:last-child {
    margin-bottom: 1.5rem;
}

#pat23 .t_title {
    padding: 1rem;
    text-align: left;
    width: 25%;
    display: flex;
    align-items: center;
}

#pat23 .t_contents {
    padding: 1rem;
    width: 75%;
    background-color: #fff;
    display: flex;
    align-items: center;
}

.wid32p {
    width: 32%;
}

.wid100p {
    width: 100%;
}

.m_wid100p {
    max-width: 100%;
}

.wid48p {
    width: 48%;
}

/**********
各パターンのスマホver
***********/
@media only screen and (max-width: 767px) {
    /**************************
    pt3
    **************************/
    #pat3 .subhead {
        margin: 0rem auto;
    }

    #pat3 .subtit {
        margin: 0rem auto 2rem;
    }
    #pat3 .rightpart {
        margin-top: 0.5rem;
    }

    /**************************
    pt4
    **************************/
    #pat4 .subhead {
        margin: 0rem auto;
    }
    #pat4 .subtit {
        margin: 0rem auto 2rem;
    }
    #pat4 .rightpart .text_wrap {
        margin-top: 0.5rem;
        text-align: left;
    }

    /**************************
    pt5
    **************************/
    #pat5 .rightpart {
        text-align: center;
    }
    #pat5 .subhead {
        margin: 1rem auto;
    }

    /**************************
    pt6
    **************************/
    #pat6 .subhead {
        margin: 1rem auto;
    }

    /**************************
    pt8
    **************************/
    #pat8 .article_unit {
        display: block;
    }
    #pat8 .subhead {
        margin: 1rem auto;
    }

    /**************************
    pt9
    **************************/
    #pat9 .subtit {
        justify-content: center;
        gap: 6px 6px;
    }

    /**************************
    pt10
    **************************/
    #pat10 .t_frame {
        width: 100%;
        margin-bottom: 1.5rem;
        border: 1px solid;
        border-color: #b5b6b6;
        border-left: none;
    }

    #pat10 .t_frame {
        border-left: 1px solid;
        border-left-color: #b5b6b6;
    }

    #pat16 .subtit {
        flex-wrap: wrap;
    }

    #pat16 .d_frame {
        width: 100%;
    }

    #pat11 .d_frame,
    #pat12 .d_frame,
    #pat13 .d_frame,
    #pat14 .d_frame,
    #pat15 .d_frame,
    #pat16 .d_frame,
    #pat17 .d_frame,
    #pat18 .d_frame {
        width: 90%;
    }

    /**************************
    pt17
    **************************/
    #pat17 .subtit {
        flex-wrap: wrap;
    }

    #pat17 .d_frame {
        width: 100%;
    }

    /**************************
    pt18
    **************************/
    #pat18 .subtit {
        flex-wrap: wrap;
    }

    #pat18 .d_frame {
        width: 100%;
    }

    /**************************
    pt19
    **************************/
    #pat19 .subtit {
        flex-wrap: wrap;
    }

    #pat19 .d_frame {
        width: 100%;
    }

    #pat4 .rightpart {
        text-align: center;
    }

    /**************************
    pt20
    **************************/
    #pat20 .subtit {
        flex-wrap: wrap;
    }

    #pat20 .d_frame {
        width: 100%;
    }

    /**************************
    pt21
    **************************/
    #pat21 .subtit {
        flex-wrap: wrap;
    }

    #pat21 .d_frame {
        width: 100%;
    }

    /**************************
    pt22
    **************************/
    #pat22 .subtit {
        flex-wrap: wrap;
    }

    #pat22 .d_frame {
        width: 100%;
    }

    #pat22 .text_wrap {
        margin-left: 1rem;
    }

    /**************************
    pt23
    **************************/
    #pat23 .t_title {
        width: 100%;
        padding: 0.2rem;
        text-align: center;
    }

    #pat23 .t_contents {
        width: 100%;
        padding: 0.5rem 1rem;
    }

    #pat23 .t_frame {
        display: block;
    }
}

.bcw {
    background-color: #fff;
}

@media only screen and (max-width: 1019px) {
    #pat2 .text {
        width: 90%;
    }

    .subhead,
    .subtitle {
        width: 90%;
    }
}

.sponly {
    display: none;
}

@media only screen and (max-width: 767px) {
    .pconly {
        display: none;
    }

    .sponly {
        display: block;
    }

    #pat25 .subtit {
        width: 100%;
    }

    #pat3 .subtit,
    #pat6 .subtit,
    #pat23 .t_frame {
        display: block;
    }

    #pat1,
    #pat2,
    #pat3,
    #pat4,
    #pat5,
    #pat6,
    #pat7,
    #pat8,
    #pat9,
    #pat10,
    #pat11,
    #pat12,
    #pat13,
    #pat14,
    #pat15,
    #pat16,
    #pat17,
    #pat18,
    #pat19,
    #pat20,
    #pat21,
    #pat22,
    #pat23,
    #pat24 {
        padding: 1rem;
    }

    #pat6 .leftpart,
    #pat3 .leftpart {
        text-align: center;
    }
}

.page_title {
    text-align: center;
    font-size: 2rem;
    padding: 3.5rem 0;
    color: #6e7983;
    font-weight: 700;
    background: #f1f8ff;
    margin-bottom: 1rem;
}

.breadcrumb_trail {
    padding: 1rem;
    background: #ceebfb;
    color: #333;
    display: none;
}

.breadcrumb_trail .breadcrumb_sub {
    width: 80%;
    margin: 0 auto;
    min-height: 30px;
}

.breadcrumb_trail .breadcrumb_sub a {
    color: #333;
}

@media only screen and (max-width: 767px) {
    .breadcrumb_trail {
        padding: 0.5rem;
    }

    .breadcrumb_trail .breadcrumb_sub {
        min-height: 32px;
    }

    .breadcrumb_trail .breadcrumb_sub.top {
        min-height: 0;
    }
}

/* 新着詳細ページ */
#note_detail .container {
    margin-top: 9rem;
}

#note_detail .note_head {
    display: flex;
    justify-content: space-between;
    width: 1020px;
    margin: auto;
}

#note_detail .note_head .note_title {
    font-size: 2rem;
}

#note_detail .note_head .note_date {
    font-size: 1.75rem;
}

#note_detail hr {
    width: 1020px;
    margin: auto;
}

#note_detail .note_img {
    padding: 2rem 0;
    width: 1020px;
    margin: auto;
}

#note_detail .note_img .img_area {
    margin: auto;
    text-align: center;
}

#note_detail .note_img .img_area img {
    width: 100%;
    max-width: 900px;
    max-height: 600px;
}

#note_detail .note_body {
    width: 1020px;
    margin: auto;
}

#note_detail .note_body .text {
    font-size: 1.2rem;
    line-height: 1.5;
}

#note_detail .btn_area {
    width: 1020px;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 1rem 0;
}

@media only screen and (max-width: 1019px) {
    #note_detail .note_table {
        width: 90%;
    }

    #note_detail .note_day span {
        font-size: 0.7rem;
    }

    #note_detail .article_title {
        width: 90%;
    }

    #note_detail .note_head {
        display: block;
        width: 90%;
        margin: auto;
    }

    #note_detail .note_head .note_title {
        font-size: 1.5rem;
    }

    #note_detail .note_head .note_date {
        font-size: 1.3rem;
    }

    #note_detail hr {
        width: 90%;
        margin: auto;
    }

    #note_detail .note_img {
        padding: 2rem 0;
        width: 90%;
        margin: auto;
    }

    #note_detail .note_img .img_area img {
        width: 100%;
        max-height: 350px;
    }

    #note_detail .note_body {
        width: 90%;
        margin: auto;
    }

    #note_detail .note_body .text {
        font-size: 1rem;
    }

    #note_detail .btn_area {
        width: 90%;
    }

    #note_detail .note_more {
        width: 90%;
    }
}

.container.o_wrap {
    padding-bottom: 0;
}

/* プライバシーポリシー */
#privacy #footer {
    margin-top: 40px;
}
.page_wrapper {
    background: #f8f6f1;
    padding-top: 3rem;
    line-height: 1.5;
}

.main_privacy {
    max-width: 1024px;
    margin: 0 auto;
    padding: 1rem 3.5rem 3.5rem;
    background: #eff5f6;
    border: 5px solid #e5eeef;
}

.page_wrapper h1 {
    margin: 2rem auto;
    font-family:
        HiraKakuPro-W6,
        \\6E38\30B4\30B7\30C3\30AF,
        Yu Gothic,
        \\30E1\30A4\30EA\30AA,
        sans-serif;
    font-weight: 600;
    font-size: 3rem;
    text-align: center;
    width: fit-content;
}

.item_title {
    font-size: 1.7rem;
    font-weight: bold;
}

.content_end {
    text-align: right;
}

.item_text {
    font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
    .page_wrapper h1 {
        font-size: 2rem;
    }

    .item_title {
        font-size: 1.5rem;
    }

    .main_privacy {
        padding: 1rem 2.5rem 3.5rem;
    }
}

/* サイトマップ */
#site_map #footer {
    margin-top: 40px;
}
.main_site_map {
    max-width: 1024px;
    margin: 0 auto;
    padding: 1rem 3.5rem 3.5rem;
    background: #fff;
    border: 0.2rem solid #eaeaea;
}

.main_site_map h1 {
    margin: 2rem auto;
    font-family:
        HiraKakuPro-W6,
        \\6E38\30B4\30B7\30C3\30AF,
        Yu Gothic,
        \\30E1\30A4\30EA\30AA,
        sans-serif;
    font-weight: 600;
    font-size: 3rem;
    text-align: center;
    background: linear-gradient(transparent 70%, #99ccff 0%);
    width: fit-content;
}

ul {
    list-style: none;
}

.site_map_ul {
    display: flex;
    justify-content: center;
}

.list_items {
    width: 20%;
}

.list_item_top {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 2rem 0;
}

.list_items li {
    margin-bottom: 1rem;
    font-size: 1rem;
    cursor: pointer;
}

.list_items ul a {
    color: #333;
    text-decoration: none;
}

@media screen and (max-width: 767px) {
    .main_site_map h1 {
        font-size: 2rem;
    }

    .site_map_ul {
        display: block;
    }

    .main_site_map {
        padding: 1rem 0.5rem 0.5rem;
    }

    .list_items {
        width: 100%;
    }

    #pat6 .leftpart,
    #pat3 .leftpart {
        text-align: center;
    }
}

.calendar_block {
    padding-top: 50px;
}

.calendar_block .calendar_pc {
    display: block;
    width: 1200px;
    margin: 20px auto 0;
}
.calendar_block .calendar_sp {
    display: none;
}

@media screen and (max-width: 1200px) {
    .calendar_block {
        padding-top: 20px;
    }

    .calendar_block .calendar_pc {
        display: none;
    }
    .calendar_block .calendar_sp {
        display: block;
        width: 100%;
        margin: 20px auto 0;
    }
    .calendar_block .calendar_sp iframe {
        width: 100%;
    }
}










/*以下にお問い合わせのコーディング*/
.contact-page-sub-header {
    text-align: center;
    background: #f1f8ff;
    padding: 3.5rem 0;
    font-size: 2rem;
    color: #6e7983;
    font-weight: bold;
}
/*.contact-page-sub-header h1 {*/
/*    color: #6e7983;*/
/*    font-weight: bold;*/
/*    margin: 0;*/
/*}*/

.main_contact {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem 3.5rem 3.5rem;
}
.contact-wrapper-main {
    max-width: 1024px;
    margin: 0 auto;
    padding: 1rem 3.5rem;
}
@media screen and (max-width: 767px) {
    .main_contact {
        padding: 1rem;
    }
    .contact-wrapper-main {
        padding: 1rem 0;
    }
}

.contact-caption-bar {
    background: #ceebfb;
    text-align: center;
}

.contact-caption-bar p {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 500;
    color: #505050;
}

.contact-caption-content-area {
    margin: 2rem auto
}

.contact-content-form-area {
    padding: 2rem;
    border-radius: 16px;
    background: #e9ede4;
}
@media screen and (max-width: 767px) {
    .contact-content-form-area {
        padding: 1rem;
    }
}

.contact-form-item-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contact-form-item-title p {
    margin: 0;
    font-size: 14px;
}

.contact-form-item-title p::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #4ebaf5;
    margin-right: 5px;
}

.contact-item-required {
    border: 1px solid red;
    background: white;
    color: red;
    padding: 2px 8px;
    font-size: 12px;
}

.contact-form-item-content {
    margin: 1rem auto;
}

.contact-form-item-content input {
    width: 600px;
    height: 45px;
    padding: 0 1rem
}

.contact-form-item-content label {
    width: 100%;
}
.contact-form-item-content textarea {
    width: 100%;
    height: 250px;
    padding: 1rem
}
@media screen and (max-width: 767px) {
    .contact-form-item-content label {
        width: 100%;
    }
    .contact-form-item-content label input {
        width: 100%;
        margin-top: 0.4rem;
    }
}

.contact-form-button-area {
    text-align: center;
    margin: 2rem auto;
}

.contact-form-button-area button {
    width: 300px;
    padding: 1rem;
    background: #4eb7f5;
    color: white;
    border: 1px solid #4eb7f5;
    border-radius: 8px;
    box-shadow: 1px 1px 1px 1px #404040;
    font-weight: bold;
}

.contact-form-button-area button:hover {
    opacity: 0.8;
}
