@charset "UTF-8";

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

トップページ＆共通レイアウト定義

*Common Layout CSS
+BASE Module SET
*TopPage

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



/* ====== BASE Module SET ===== */


* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1em;
    background: url(http://www.seikatsusyukanbyo.com/images_new/bg-sora2.jpg) 0 0 no-repeat #CCE5FF;
    background-size: cover;
    background-attachment: fixed;
}

html {
    overflow-y: scroll;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dt,
dd,
li,
table,
td,
th,
address,
blockquote,
form,
fieldset,
legend,
div,
hr,
pre {
    margin: 0;
    padding: 0;
    font-style: normal;
    text-align: left;
    font-size: 100%;
    line-height: 1.5em;
    font-size: 16px;
}

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


body {
    font-family: "Verdana", "メイリオ", "meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "MS P Gothic", "ＭＳ Ｐゴシック", "Osaka", sans-serif;
    text-align: center;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

sup {
    vertical-align: super;
    font-size: small;
}

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

th,
td {
    vertical-align: top;
}

img,
object,
embed {
    border: 0;
    vertical-align: top;
    outline: none;
    max-width: 100%;
    height: auto;
}

object:focus {
    outline: none;
}

embed:focus {
    outline: none;
}

img,
input,
select,
textarea {
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
    font-size: 12px;
}

input[type="button"],
input[type="text"],
input[type="submit"] {
    -webkit-appearance: none;
}

button {
    background-color: transparent;
    border: 0;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

::-webkit-input-placeholder {
    color: #ccc;
}

::-moz-placeholder {
    color: #ccc;
}

:-moz-placeholder {
    color: #ccc;
}

:-ms-input-placeholder {
    color: #ccc;
}

abbr,
acronym,
fieldset {
    border: 0;
}

hr {
    margin: 2em 0;
    display: block;
    border: 0;
    border-bottom: 1px solid #ddd;
    clear: both;
}

img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;

    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    vertical-align: top;
}

section {
    margin: 2em 0;
}

iframe {
    display: block;
    vertical-align: top;
}

i,
em {
    font-style: normal;
}

a {
    color: #000;
    background: transparent;

    -moz-transition: 0.25s;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    text-decoration: none;
}

a:hover,
a:focus {
    color: #ff8c00;
}

a:hover img {}

ul li {
    list-style: none;
}

.googlead-bottom {
    display: inline-block;
}

ins {
    background-color: unset;
}

.clearfix {
    clear: both;
}

/* ====== ヘッダー ===== */
#main-contents h1 {
    background: #5a9bfc;
    padding: 15px;
    color: #fff;
    border-radius: 6px;
    font-size: 1.5em;
    margin-bottom: 10px;
}

#main-contents h2,
#main-contents .midashi {
    font-size: 20px;
    font-weight: bold;
    margin: 1em 0;
}

#main-contents h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0 !important;
    color: #033692;
    margin: 1em 0 0;
}

header {
    width: 100%;
    max-width: 1020px;
    margin: auto;
    padding: 0 10px 10px 10px;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    align-items: center;
}

.search-box {
    margin-left: auto;
}

.search-box .mhlab:before {
    content: url(http://www.seikatsusyukanbyo.com/images_new/search_logo.gif);
    margin-right: .2em;
}


.content {
    max-width: 1020px;
    padding: 10px;
    margin: auto;
    background: #fff;
}

.topimg {
    width: 100%;
    max-width: 1020px;
    text-align: center;
    width: 100%;
}

.box {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.flex_pic {
    display: flex;
    align-items: flex-end;
    margin: 1em 0;
}

.flex_pic img {
    margin: 0 1em;
}

.mov_img2021 img {
    width: 95%;
    display: block;
    margin: auto;
}

.mov_img2021-2 {
    display: block;
    text-align: center;
}

.mov_img2021-2 img {
    margin: 5px;
    width: 35%;
}

.mov_img2021-3 img {
    width: 35%;
}

.mov_img2021-3 {
    display: block;
    text-align: center;
    margin: 20px 0;
}

a.present-btn {
    flex: 0 1 400px;
    color: #ffffff;
    padding: 5px;
    margin: 2px;
    box-shadow: 0 1.5px 0 #dadada;
    transition: 0.15s;
    background: #ed6d01;
    font-weight: bold;
}

.present_box a {
    display: table;
    margin: 10px auto;
    padding: 10px;
    text-align: center;
}

.present_box a:hover {
    filter: brightness(0.9);
    box-shadow: 0 0px 0 #dadada;
    transform: translateY(1.5px);
}

.present_box .book_2 {
    margin: 1em;
    text-align: center;
}

.mov_img2021 {
    display: flex;
}

.seikatuyobou-can {
    display: table;
    padding: 0 10px;
    font-weight: bold;
    color: #7b0000;
    border: solid 1px #7b0000;
}

@media screen and (max-width:768px) {
    .flex_pic {
        margin: 1em 0;
        flex-wrap: wrap;
    }

    .flex_pic img {
        margin: 1em 0;
    }

    .mov_img2021 {
        display: block;
        text-align: center;
    }

    .mov_img2021 img {
        width: 45%;
        margin: 10px auto;
    }

    .mov_img2021-3 img {
        width: 45%;
    }

    .mov_img2021-2 img {
        width: 45%;
    }

}

@media screen and (max-width:768px) {
    .box {
        font-size: 85%;
    }

    .flex_pic p {
        font-size: 85%;
    }
}

.info {
    background-color: #f0f0f0;
    padding: 0.5em;
    font-size: 95%;
}

/* ====== TOP用 ===== */
.gnav {
    max-width: 1020px;
    margin: auto;
    background: #fff;
}

.top_button,
ul.top_bannar,
ul.top_table,
.top_wrap,
ul.month_table,
.nav_button {
    display: flex;
    flex-wrap: wrap;
}

.nav_button a {
    background: #fbac1c;
    border: 1px solid #fff;
    flex: 0 0 20%;
    color: #fff;
    margin: 2px auto;
    padding: 10px;
    text-decoration: none;
}

@media screen and (max-width:768px) {
    .nav_button a {
        flex: 0 0 100%;
        border: none;
    }
}

.top_button a,
.top_button.month {
    background: #fbac1c;
    border-left: 1px solid #fff;
    opacity: 1;
    width: 20%;
    min-width: 150px;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    padding: auto;
    margin: 5px auto;
    padding: 10px;
    text-decoration: none;
}

ul.top_button li,
ul.nav_button li {
    text-align: center;
}

.top_button a:hover,
a .top_button.month:hover,
.nav_button a:hover {
    cursor: pointer;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    -khtml-opacity: 0.6;
    opacity: 0.6;
}

ul.top_bannar li {
    border: 1px solid #707070;
    margin: 9.5px;
    flex: 0 1 231px;
    text-align: center;
}

@media screen and (max-width:768px) {
    ul.top_bannar li {
        margin: 5px auto;
    }
}


ul.top_table li {
    width: 320px;
    margin: 1px 5px;
}

.top_button.month {
    background: #5a9bfc;
    width: auto;
    margin: 5px;
    text-align: center;
    border-radius: 6px;
}

.topimg {
    width: 1020px;
    margin: auto;
    width: 100%;
    max-width: 1020px;
}

.top_content img {
    height: 200px;
    width: auto;
}

.top_content {
    width: 50%;
    flex: 1 0 300px;
    text-align: center;
    margin: auto;
    margin-top: 1em;
}

.top_wrap {
    background: #e2f6fb;
    padding: 1em;
    border-radius: 6px;
}


dl.top_news {
    margin: auto;
    font-size: 15px;
}

.top_news dt {
    float: left;
    color: #5A9BFC;
}

.top_news dd {
    color: #5A9BFC;
    padding-left: 110px;
    margin-bottom: 10px;
}

@media screen and (max-width:768px) {
    .top_news dt {
        float: none;
    }

    .top_news dd {
        padding-left: 0;
    }
}


.top_button_2 {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-bottom: 2em;
}

.top_button_2 a {
    flex: 0 1 400px;
    color: #ffffff;
    padding: 5px;
    margin: 2px;
    box-shadow: 0 1.5px 0 #dadada;
    transition: 0.15s;
    background: #ed6d01;
}

.top_button_2 a:hover {
    filter: brightness(0.9);
    box-shadow: 0 0px 0 #dadada;
    transform: translateY(1.5px);
}

.top_button_2 a li {
    text-align: center;
}

.present_box {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #333;
    background: #fff1e5;
    border-top: solid 10px #ed6d01;
}

.present_box .book2_pre {
    display: flex;
    justify-content: center;
}

.present_box .book_1 {
    display: flex;
    margin: 1em 0;
    flex-direction: column;
}


.present_box .book_2 {
    margin: 1em;
    text-align: center;
}

.present_box .book_1 img {
    max-width: 200px;
    float: left;
    padding: 0 15px;
}

.present2 {
    display: flex;
}

.present2-img {
    display: flex;
}

.present2-img {
    display: flex;
    background: #ffffff;
    align-items: center;
    margin: auto;
}

.present_box .book_1 {
    display: flex;
    margin: 1em 0;
    flex-direction: column;
    align-items: center;
}

@media screen and (max-width:768px) {
    .present_box .book_1 {
        font-size: 80%;
    }

    .present_box .book_2 {
        font-size: 80%;
    }

    .present_box .book_1 img {
        max-width: 120px;
    }

    .present_box .book2_pre {
        display: flex;
        flex-wrap: wrap;
    }

    .present2 {
        display: block;
    }

    .present2-img {
        display: inline-flex;
    }

    .present2-img {
        display: inline-flex;
        margin-top: 10px;
    }

    .book_1 img {
        margin-right: 15px;
    }
}


/* ====== フッタ ===== */
.footer {
    background: #2D79B6;
    color: #fff;
    font-size: 13px;
    text-align: center;
    padding: 10px;
    margin: auto;
    width: 100%;
    max-width: 1020px;
}

/* ====== ウェブページ ===== */
.inner {
    padding: 0 2em;
    min-width: 350px;
}

.img_l {
    float: left;
    padding: 0;
    margin: 0 10px 0 10px;
    font-size: 13px;
    line-height: 140%;
    text-align: center;
}

.button {
    background: orange 0% 0% no-repeat padding-box;
    border-radius: 6px;
    opacity: 1;
    width: 100%;
    max-width: 350px;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    margin: 5px auto;
    padding: 10px;
}

.button a {
    color: #fff;
    text-decoration: none;
}

.button li {
    text-align: center;
}


/* ====== ポスターリーフレット ===== */
#jpald-tool .content-box {
    margin-bottom: 20px;
}

.content-box .clearfix {
    display: flex;
    justify-content: center;
}

#jpald-tool .content-box-left {
    margin: 10px;
}

.clearfix:after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

#jpald-tool .content-box-left img {
    display: block;
    width: 150px;
    margin: 0 auto 10px auto;
    border: 1px solid #a9a9a9;
}

#jpald-tool .button {
    min-width: fit-content;
}




/* ====== 月間 ===== */
.month_event {
    display: flex;
    justify-content: center;
    margin: 10px 0 10px 0;
}

.month_event img {
    width: 300px;
    margin-right: 10px;
}

ul.month_table li {
    width: 280px;
    margin: 5px;
}


/* ====== SPメニュ ===== */
/*ヘッダーまわりはサイトに合わせて調整してください*/

#nav-drawer {
    position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
    display: none;
}

/*アイコンのスペース*/
#nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span,
#nav-open span:before,
#nav-open span:after {
    position: absolute;
    height: 3px;
    /*線の太さ*/
    width: 25px;
    /*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
}

#nav-open span:before {
    bottom: -8px;
}

#nav-open span:after {
    bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
    display: none;
    /*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;
    /*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    /*最前面に*/
    width: 90%;
    /*右側に隙間を作る（閉じるカバーを表示）*/
    max-width: 330px;
    /*最大幅（調整してください）*/
    height: 100%;
    background: #fff;
    /*背景色*/
    transition: .3s ease-in-out;
    /*滑らかに表示*/
    -webkit-transform: translateY(-105%);
    transform: translateY(-105%);
    /*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked~#nav-close {
    display: block;
    /*カバーを表示*/
    opacity: .5;
}

#nav-input:checked~#nav-content {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    /*中身を表示（右へスライド）*/
    box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}



/*SPメニュー*/
@media screen and (max-width:768px) {
    .spmenu_set {
        display: none;
    }
}

/* ====== 月間TOPページ ===== */

#mouth__top .top_button_2 a {
    margin: 10px auto;
}

#mouth__top .info {
    width: -webkit-fill-available;
    width: -moz-available;
}

#mouth__top .info p {
    margin-bottom: 1em;
}

#mouth__top .info img {
    max-width: 200px;
    margin-left: auto;
    margin-right: 0;
    margin-top: 10px;
}

#mouth__top .flex_pic {
    align-items: flex-start;
}

#mouth__top .flex_pic .teacher_img {
    width: 150px;
}

#mouth__top .movebox {
    display: flex;
    justify-content: center;
    margin: 30px auto;
}

#mouth__top .movebox img {
    width: 250px;
    margin: auto 10px;
    border: 1px solid;
}

#mouth__top .present_box .book_1 {
    margin: 0;
}

#mouth__top .present_box .book2_pre {
    display: flex;
    justify-content: center;
    align-items: end;
}

#mouth__top .pre3_box {
    display: flex;
    align-items: end;
    padding: 0 20px;
}

#mouth__top .nav_button a {
    background: #00a0e9;
}

#mouth__top .event_li li span {
    font-size: 15px;
    color: #033692;
    font-weight: bold;
}

#mouth__top .event_li li {
    margin-bottom: 5px;
}

#mouth__top .right_image {
    float: right;
    margin: 0 0 10px 10px !important;
}

@media screen and (max-width: 600px) {
    #mouth__top .movebox {
        flex-direction: column;
        text-align: center;
    }

    #mouth__top .movebox img {
        width: 350px;
        margin: 10px;
    }

    #mouth__top .flex_pic .teacher_img {
        margin: 10px auto;
    }

    #mouth__top .present_box .book2_pre {
        flex-direction: column;
        align-items: center;
    }

    #mouth__top .present_box .book_1 img {
        max-width: 220px;
    }

    #mouth__top .pre3_box {
        flex-direction: column;
    }

    #mouth__top .present_box .book_1 {
        margin: auto;
    }

    #mouth__top .right_image {
        display: block;
        float: inherit;
        margin: 1em auto !important;
    }
}

#mouth__top .top_table li {
    font-size: 95%;
}

#mouth__top .point__h3:before {
    content: "●";
    font-size: 30px;
    margin-right: 5px;
}

.flex_only {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    width: 100%;
    flex-wrap: wrap;
}

.warp {
    flex-wrap: wrap;
}

.warp a {
    width: 50%;
}

ul.top_table li {
    font-size: 90%;
}

.inner {
    padding: 0;
}

.widthon {
    width: -webkit-fill-available;
    width: -moz-available;
    flex: 1 1 50%;
}

@media screen and (max-width:768px) {
    .flex_only {
        display: block;
        width: auto;
    }
}

h2,
.midashi {
    border-bottom: dotted 2px #e4067d;
    color: #e4067d;
}

.top_button_2 a {
    margin: 10px auto;
}

.info {
    width: -webkit-fill-available;
    width: -moz-available;
}

.info p {
    margin-bottom: 1em;
}

.info img {
    max-width: 200px;
    margin-left: auto;
    margin-right: 0;
    margin-top: 10px;
}

.flex_pic {
    align-items: flex-start;
}

.flex_pic .teacher_img {
    width: 150px;
}

.movebox {
    display: flex;
    justify-content: center;
    margin: 30px auto;
}

.movebox img {
    width: 250px;
    margin: auto 10px;
    border: 1px solid;
}

.present_box .book_1 {
    margin: 0;
}

.present_box .book2_pre {
    display: flex;
    justify-content: center;
    align-items: end;
}

.pre3_box {
    display: flex;
    align-items: end;
    padding: 0 20px;
}

.nav_button a {
    background: #2D79B6;
}

.event_li li span {
    font-size: 15px;
    color: #033692;
    font-weight: bold;
}

.event_li li {
    margin-bottom: 5px;
}

@media screen and (max-width: 600px) {
    .movebox {
        flex-direction: column;
        text-align: center;
    }

    .movebox img {
        width: 350px;
        margin: 10px;
    }

    .flex_pic .teacher_img {
        margin: 10px auto;
    }

    .present_box .book2_pre {
        flex-direction: column;
        align-items: center;
    }

    .present_box .book_1 img {
        max-width: 220px;
    }

    .pre3_box {
        flex-direction: column;
    }

    .present_box .book_1 {
        margin: auto;
    }
}

/* ====== 月間TOPページ 追記 20231124===== */

.event_li {
    max-width: 700px;
    margin: auto;
}

.event_li li {
    margin-bottom: 1em;
    display: flex;
    align-items: baseline;
}

.event_li li span {
    background: #3B5B75;
    padding: 0 1em;
    margin-right: 1em;
    color: #fff;
    display: block;
}

.time-schedule {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.time-schedule dt {
    text-align: right;
    width: 5.5em;
    padding: 0.2em 1em 0.5em 0.5em;
    position: relative;
    font-size: 20px;
}

.time-schedule dt::after {
    content: '●';
    position: absolute;
    right: -0.40em;
    top: 3px;
    font-size: 35px;
    color: #548c20;
}

.time-schedule dd {
    width: calc(100% - 8em);
    padding: 0.5em 2.0em 3.0em;
    border-left: 2px solid #ccc;
}

.time-schedule dd h2 {
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 10px;
    border: none;
    color: #548c20;
    background: none;
    padding: 0;
}

.textimg_box {
    display: flex;
}

.textimg_box img {
    max-width: 100px;
    min-width: 100px;
    height: 100%;
    margin-right: 8px;
}

.prof__box {
    margin-top: 1em;
    font-size: 100%;
    padding: 1em;
    background: #f2f2f2;
}

.prof__box ul li {
    margin-bottom: 6px;
}

.prof__box span {
    font-weight: bold;
    margin-right: 5px;
    background: #919191;
    color: #fff;
    padding: 0 1em;
}

.content h2.monthly__h2 {
    color: #fff;
    background: #3B5B75;
    border: none;
    padding: 0.5em 1em;
    margin-top: 0;
}

.content h2.monthly__seminar_title {
    border: none;
    color: #333;
    text-align: center;
    font-size: 150%;
}

.content h3.monthly__h3 {
    margin: 1em auto;
    padding: 1em;
    border-bottom: 1px dotted #3B5B75;
    color: #3B5B75;
}

@media screen and (max-width:768px) {
    .event_li li {
        display: block;
    }

    .event_li li span {
        padding: 0.2em 1em;
        margin: 1em auto;
    }

    .time-schedule {
        display: block;
    }

    .time-schedule dd {
        width: auto;
        margin-left: 1em;
    }

    .time-schedule dt {
        text-align: left;
        width: auto;
        padding: 0;
        padding-left: 2em;
    }

    .time-schedule dt::after {
        font-size: 50px;
        right: auto;
        left: 0px;
        top: -7px
    }

    .textimg_box {
        display: block;
    }

    .textimg_box img {
        display: block;
        margin: 1em auto;
    }
}

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

.comp-box {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: 1em;
}

.comp-box a {
    display: block;
    width: 250px;
}

#main-contents .content h2.monthly__h2 {
    font-size: 170%;
}

#main-contents .content h3.monthly__h3 {
    font-size: 150%;
    font-weight: bold;
    color: #e91e63;
    margin-bottom: 24px;
    border: none;
    padding: 0;
}

.gentle-button {
    background: #e91e63;
    color: #fff;
    padding: 12px 24px;
    font-size: 22px;
    text-decoration: none;
    border-radius: 999px;
    display: inline-block;
    transition: background 0.3s ease;
}

.gentle-button:hover {
    background: #d81b60;
    /* 濃すぎず、見やすい明るめピンク */
}

.flex-only {
    display: flex;
}

.flex-only img {
display: block;
    margin: 0 1em 1em 0;
}

.point-box {
    padding: 1em;
    border-radius: 10px;
    background: #f7f7f7;
}

@media screen and (max-width:768px) {
.flex-only {
flex-direction: column;
}
.flex-only img {
    margin: 1em auto;
}
}