@charset "UTF-8";

/* ============================================================ */
/* RESET */
* { outline: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0;padding: 0;border: 0;font: inherit;font-size: 100%;vertical-align: baseline;}
strong { font-weight: bold }
html { line-height: 1 }
ol, ul { list-style: none }
table {width: 100%;border-collapse: collapse;border-spacing: 0;}
caption, th, td { text-align: left; font-weight: normal; vertical-align: middle }
q, blockquote { quotes: none }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none }
a img { border: none; -webkit-transition: .6s; -o-transition: .6s; transition: .6s }
a:hover { text-decoration: none }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block }
body {word-break: break-all;-webkit-text-size-adjust: 100%;}
img { vertical-align: top }
body > span[style*="visibility: hidden"] { display: none !important }
main {display: block;background: #fff;overflow: hidden;}
button { background: none; border: none }
button:focus { outline: none }
input[type="submit"],
input[type="button"],
button { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; background: none }
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration { display: none }
input[type="submit"]::focus,
input[type="button"]::focus,
button::focus { outline-offset: -2px }
b { font-weight: bold }
select { -moz-appearance: none; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; margin: 0; padding: 0; background: none transparent; vertical-align: middle; font-size: inherit; color: inherit; box-sizing: content-box }
select::-ms-expand { display: none }
@-moz-document url-prefix() { .form select { -moz-appearance: none; text-indent: 0.01px; text-overflow: '' } }
/* /RESET */
/* ============================================================ */



/* ============================================================ */
/* Common */
body { font-size: 17px; line-height: 28px; color: #535353 }
body.wp-autoresize { max-width: 1040px; margin: auto }
b, strong, .bold, .hd_bold, .list_reasons > li, .hd_bold2, .resdv > .head, .box_shopinfo .head, .list_pickup .ttl,
.hd_boldline, .list_courses a, .box_courses .head, .box_subcourses .head, .box_subcourses2 .head_price, .box_subcourses2 .detail,
.list_tokuten .main, .box_shops .name, .box_line .head, .box_line p, .hd_bold3, .hd_linegray, .list_info .date, .list_linkbtns a,
#spgn ul a, #spgn .btn_menu, #spgn2 .head, #spgn2 .head2, .btn_freedial, .pagettl2,
.mce-content-body h2, .mce-content-body h3, .mce-content-body h4, .mce-content-body h5, .mce-content-body h6, th, .btn_blueline,
.pagettl, .box_subcourses3 .coursename, .box_subcourses3 .osusume, .list_times .time, .box_subcourses3 .price,
.box_voice > .head, .btn_white, .btn_square, .hd_boldsquare, .box_staff .name, .list_qs li, .list_cl li, .box_faq dt, .form .fields .row .label.required::after,
.btn_orange, .list_events .head, .list_boxnum > li::before { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif }
body, .hd_blueline {font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif !important;}
a {color: #155199;}
caption { font-size: 23px; font-weight: bold; line-height: 1.4; color: #fff; background: #7fb8fc; padding: 6px 13px; border: solid #0b2e58; border-width: 1px 1px 0 }
em { font-style: italic }
iframe[src*="youtube"] { max-width: 100% }
img { max-width: 100%; height: auto }
input,select,textarea { font-size: 16px; line-height: 1.75; font-family: inherit; padding: 5px 10px; vertical-align: top; outline: none; background: #fff; border: 1px solid #888; max-width: 100% }
p {margin: 30px auto;text-align: justify;}
table {margin: 40px auto;width: 100%;}
th, td {border: dotted #888;border-width: 1px 0;vertical-align: middle;padding: 15px;}
th {font-weight: bold;}
.black {font-weight: 900 !important;}
.blue {color: #24529b}
.bold { font-weight: bold !important }
.center { text-align: center !important }
.centerjustify { text-align: center !important }
.contain { background-size: contain !important }
.fl { float: left; margin-right: 30px; margin-bottom: 20px }
.fs15 { font-size: 15px !important }
.fs1518 { font-size: 15px !important }
.fs1615 { font-size: 16px !important }
.fs1718 { font-size: 17px !important }
.fs1816 { font-size: 18px !important }
.fs2218 {font-size: 22px !important;line-height: 38px !important;}
.fs22225 { font-size: 22px !important; line-height: 38px !important }
.fs2422 { font-size: 24px !important; line-height: 1.5 }
.fs24225 { font-size: 24px !important; line-height: 38px !important }
.fs2822 { font-size: 28px !important; line-height: 1.4 !important }
.fs35225 { font-size: 35px !important; line-height: 50px !important }
.font-small{font-size: 85%;line-height: 23px;}
.hover { transition: all ease .3s }
.hover:hover { opacity: .7 }
.img-txt .img img { max-width: 50vw }
.img-txt > .img { margin-right: 30px }
.img-txt > .txt > :first-child { margin-top: 0 !important }
.img-txt > .txt > :last-child { margin-bottom: 0 !important }
.img-txt { display: flex; justify-content: space-between }
.marker { background: linear-gradient(transparent 60%, #ff0 60%) }
.mb0 { margin-bottom: 0 !important }
.mb10 { margin-bottom: 10px !important }
.mb20 { margin-bottom: 20px !important }
.mt0 { margin-top: 0 !important }
.mt10 { margin-top: 10px !important }
.mt1200 { margin-top: 120px !important }
.mt60 { margin-top: 60px !important }
.mt6045 { margin-top: 60px !important }
.mt7040 { margin-top: 70px !important }
.mt9060 { margin-top: 90px !important }
.mtb3020 { margin-top: 30px !important; margin-bottom: 30px !important }
.normal { font-weight: normal !important }
.pt0 { padding-top: 0 !important }
.red { color: #d82352 !important }
.ta-l { text-align: left !important }
.ta-r { text-align: right !important }
.wn { white-space: nowrap !important }
.word { display: inline-block !important }
.winered{color: #a10b07 !important;}

.block {margin: 90px auto;max-width: 1040px;padding: 0 20px;}
.block_blue > .inner > :first-child { margin-top: 0 !important }
.block_blue > .inner > :last-child { margin-bottom: 0 !important }
.block_blue > .inner { max-width: 1040px; margin: auto; padding: 0 20px }
.block_blue {padding: 60px 0;background: linear-gradient(-80deg, #24529b 0%, #24529b 50%, #132e59 50%, #132e59 100%);color: #fff;}
.block_blue2 > .inner > :first-child { margin-top: 0 !important }
.block_blue2 > .inner > :last-child { margin-bottom: 0 !important }
.block_blue2 > .inner { max-width: 1040px; margin: auto; padding: 0 20px }
.block_blue2 { padding: 60px 0; background: linear-gradient(to right,  #132e59 0%,#132e59 50%,#24529b 50%,#24529b 100%); color: #fff }
.block_bluedia > .inner > :first-child { margin-top: 0 !important }
.block_bluedia > .inner > :last-child { margin-bottom: 0 !important }
.block_bluedia > .inner { max-width: 1040px; margin: auto; padding: 0 20px }
.block_bluedia { margin: 100px auto; background: #24529b; position: relative; padding: 30px 0; color: #fff }
.block_bluedia::after { top: 100%; border-color: #24529b transparent transparent; border-width: 40px 50vw 0 }
.block_bluedia::before { bottom: 100%; border-color: transparent transparent #24529b; border-width: 0 50vw 40px }
.block_bluedia::before, .block_bluedia::after { content: ""; display: block; position: absolute; left: 0; right: 0; border-style: solid }
.block_gray > .inner > :first-child { margin-top: 0 !important }
.block_gray > .inner > :last-child { margin-bottom: 0 !important }
.block_gray > .inner { max-width: 1040px; margin: auto; padding: 0 20px }
.block_gray { background: #f5f5f5; padding: 60px 0 }
.block_long { margin: 120px auto }
.block_narrow > :first-child { margin-top: 0 !important }
.block_narrow { max-width: 1040px; margin: 60px auto; padding: 0 20px }
.block_sub { margin: 90px auto }
.box_courses > .body + .body { margin-top: 40px }
.box_courses > .body > .head { background: url(/img/cmn/bg-hatching-gray.png); color: #fff; font-size: 28px; line-height: 38px; font-weight: bold; text-align: center; padding: 10px 15px; margin: 0 -40px 20px }
.box_courses > .body > .head::after { content: none !important }
.box_courses > .body { border: 4px solid #eee; padding: 0 40px 30px }
.box_courses { margin: 50px auto }
.box_courses_option { font-size: 15px; margin: -35px auto 50px }
.box_faq > .row { padding: 40px 0 }
.box_faq > .row:nth-child(odd) { background: #EEEEEE }
.box_faq dd { max-width: 1040px; padding: 0 20px 0 110px; margin: auto; position: relative }
.box_faq dd::before {content: "";position: absolute;top: 0;left: 70px;background: url(/img/faq/a.png) center/contain no-repeat;width: 29px;height: 29px;}
.box_faq dt { max-width: 1040px; margin: 0 auto 20px; padding: 0 20px 0 70px; font-size: 28px; line-height: 1.4; font-weight: bold; color: #155199; position: relative }
.box_faq dt::before {content: "";position: absolute;top: -3px;left: 20px;background: url(/img/faq/q.png) center/contain no-repeat;width: 42px;height: 42px;}
.box_greeting > * > :first-child { margin-top: 0 !important }
.box_greeting > * > :last-child { margin-bottom: 0 !important }
.box_greeting > .left p { margin: 10px auto; padding: 0 20px }
.box_greeting > .left { margin-right: 40px }
.box_greeting img { max-width: 40vw }
.box_greeting { display: flex; justify-content: space-between }
.box_line .head { font-size: 35px; line-height: 50px; font-weight: bold; text-align: center }
.box_line .list_linebtns { margin: 10px auto 0 }
.box_line > :last-child { margin-bottom: 0 !important }
.box_line img { width: 175px }
.box_line p { margin: 0; font-size: 18px; font-weight: bold }
.box_line { margin: 30px auto; border: 1px solid #39b900; background: #eee; padding: 15px 15px 25px }
.box_lr > * { width: 50% }
.box_lr > .left { padding-right: 3.5% }
.box_lr > .right { padding-left: 3.5% }
.box_lr { display: flex; margin: 30px auto; justify-content: space-between }
.box_prof .comment { margin: 30px auto 0; text-align: justify }
.box_prof .job { margin: 0 }
.box_prof h4{    margin: 0px auto 0px !important;}
.box_prof .hygienemanagement img{width: 100px !important;}
.box_prof .name .keisyou { font-size: 22px }
.box_prof .name { font-size: 27px; margin: 10px auto 0 }
.box_prof .other + .comment { margin-top: 10px }
.box_prof .other { font-size: 14px; margin: 30px auto 0 }
.box_prof .photo img { max-width: 100vw }
.box_prof .photo { margin-right: 25px }
.box_prof .photo_name { display: flex; justify-content: flex-start; align-items: flex-end }
.box_shopinfo .body .photo { margin-bottom: 30px }
.box_shopinfo .body > :last-child { margin-bottom: 0 !important }
.box_shopinfo .body { width: calc((100% - 30px) / 2); border: 1px solid #24529b; padding: 0 30px 10px; background: #fff }
.box_shopinfo .body:nth-child(2n+1) .head, * .mce-content-body .box_shopinfo .body:nth-child(2n+1) .head { background: #132E59 }
.box_shopinfo .head, * .mce-content-body .box_shopinfo .head {background: #24529B;color: #fff;font-weight: bold;text-align: center;font-size: 22px;padding: 6px 0;margin: 0 -30px 30px;border-radius: 0;}
.box_shopinfo { display: flex; justify-content: space-between }
.box_shops .infopage { margin-bottom: 0 }
.box_shops .link_arrow { color: inherit; font-size: 15px }
.box_shops .link_arrow::after { background-image: url(/img/cmn/arrow-white.svg) }
.box_shops .name { font-size: 26px; font-weight: bold; line-height: 38px }
.box_shops > .body { width: 50%; padding: 0 40px; text-align: center }
.box_shops p { margin: 15px auto }
.box_shops { display: flex; justify-content: space-between }
.box_staff + .box_staff { padding-top: 60px; margin-top: 60px; border-top: 1px dashed #888 }
.box_staff .date ul li { width: 42px; padding: 0; margin: 0 5px }
.box_staff .date ul li::before { content: none !important }
.box_staff .date ul { display: flex; justify-content: center }
.box_staff .date { margin: 40px auto }
.box_staff .en { display: block; font-size: 17px; color: #535353 }
.box_staff .history { text-align: center }
.box_staff .msg > :first-child { margin-top: 0 !important }
.box_staff .msg > :last-child { margin-bottom: 0 !important }
.box_staff .msg { border: 10px solid #EEEEEE; padding: 20px }
.box_staff .name, * .box_staff .name { font-size: 28px; font-weight: bold; text-align: center; line-height: 1.4; color: #155199; margin: 30px auto; padding: 0 }
.box_staff .name::after { content: none !important }
.box_staff .photo { text-align: center }
.box_subcourses .head { font-size: 22px; font-weight: bold; line-height: 38px; color: #155199; text-align: center; margin: 10px auto 0 }
.box_subcourses .thumb { text-decoration: none !important; display: block; position: relative; transition: all ease .3s }
.box_subcourses .thumb::after {content: "";position: absolute;top: 50%;right: 25px;border: solid #155199;border-width: 1px 1px 0 0;transform: rotateZ(45deg);width: 20px;height: 20px;transition: all ease .3s;}
.box_subcourses .thumb:hover { opacity: .7 }
.box_subcourses .thumb:hover::after { right: 15px }
.box_subcourses > .body { width: 50%; padding-bottom: 30px }
.box_subcourses > .body:nth-child(2n) { padding-left: 40px; border-left: 1px dashed #888 }
.box_subcourses > .body:nth-child(2n+1) { padding-right: 40px }
.box_subcourses > .body:nth-child(n+3) { border-top: 1px dashed #888; padding-top: 30px }
.box_subcourses a { text-decoration: none }
.box_subcourses a:hover, .box_subcourses a:hover .word { text-decoration: underline }
.box_subcourses img { width: 100% }
.box_subcourses p { margin: 5px auto 0 }
.box_subcourses { margin: 30px auto; display: flex; flex-wrap: wrap }
.box_subcourses2 .detail { font-size: 22px; line-height: 28px; font-weight: bold; color: #155199; margin: 12px auto 5px !important }
.box_subcourses2 .head {font-size: 22px;margin: 0 auto 12px !important;}
.box_subcourses2 .head_price { border: solid #888; border-width: 1px 0; padding: 20px 0 20px 15px; font-weight: bold }
.box_subcourses2 .img img { width: 407px; max-width: 40vw }
.box_subcourses2 .info > p { padding-left: 15px; margin: 0 }
.box_subcourses2 .info { width: 100%; padding-bottom: 10px }
.box_subcourses2 .list_kome {padding-left: 15px;margin: 0 !important;}
.box_subcourses2 .num { font-size: 30px }
.box_subcourses2 .num2 { font-size: 22px; position: relative; top: 1px; margin-right: 2px }
.box_subcourses2 .price {margin: 0;color: #a81011;font-size: 22px;white-space: nowrap;display: inline-block;vertical-align: middle;}
.box_subcourses2 .thumb { text-decoration: none !important; display: block; position: relative; transition: all ease .3s }
.box_subcourses2 .thumb::after {content: "";position: absolute;top: 50%;right: 25px;border: solid #155199;border-width: 1px 1px 0 0;transform: translateY(-50%) rotateZ(45deg);width: 20px;height: 20px;transition: all ease .3s;}
.box_subcourses2 .thumb:hover { opacity: .7 }
.box_subcourses2 .thumb:hover::after { right: 15px }
.box_subcourses2 .time { font-size: 16px; background: #626262; color: #fff; display: inline-block; vertical-align: middle; margin: 0 0 0 15px; padding: 0 12px }
.box_subcourses2 > .body + .body { margin-top: 40px }
.box_subcourses2 > .body { display: flex; justify-content: space-between; border-bottom: 1px dashed #888 }
.box_subcourses2 a {text-decoration: none;color: inherit;}
.box_subcourses2 a:hover, .box_subcourses2 a:hover .word { text-decoration: underline }
.box_subcourses2 span.thumb::after { content: none }
.box_subcourses2 span.thumb:hover { opacity: 1 }
.box_subcourses3 .boxtime .tani { font-size: 16px }
.box_subcourses3 .boxtime { display: inline-block; background: #626262; color: #fff; font-size: 22px; line-height: 1; padding: 4px 16px; vertical-align: bottom; margin-left: 15px }
.box_subcourses3 .boxtime.wide { display: block; margin: 0 40px }
.box_subcourses3 .btn_blueline { padding: 14px 15px }
.box_subcourses3 .detail { padding: 0 20px }
.box_subcourses3 .osusume { font-size: 22px; font-weight: bold; color: #155199; margin: 0 auto 10px }
.box_subcourses3 .price .tax { font-size: 22px }
.box_subcourses3 .price { font-size: 30px; font-weight: bold; line-height: 1.4; color: #a81011 }
.box_subcourses3 .thumb-name .name .coursename .en { font-size: 17px; color: #155199 }
.box_subcourses3 .thumb-name .name .coursename { font-size: 22px; font-weight: bold; color: #535353; background: none; padding: 19px 20px; border: solid #888; border-radius: 0; border-width: 1px 0; margin: 0 auto 20px }
.box_subcourses3 .thumb-name .name p { padding: 0 20px; margin: 0 }
.box_subcourses3 .thumb-name .name { width: 100% }
.box_subcourses3 .thumb-name .thumb { width: 60vw; max-width: 407px }
.box_subcourses3 .thumb-name img { width: 100% }
.box_subcourses3 .thumb-name { display: flex; justify-content: left }
.box_subcourses3 > .body + .body { margin-top: 50px; border-top: 1px dashed #888; padding-top: 50px }
.box_subcourses3 br + .boxtime { margin-left: 0; margin-top: 10px }
.box_subcourses3 li.required { border: 2px solid #A10B07; position: relative }
.box_subcourses3 li.required::after {content: "";position: absolute;bottom: calc(100% + 5px);left: 50%;transform: translateX(-50%);border: 4px solid transparent;border-top-color: #a10b07;border-bottom: none;}
.box_subcourses3 li.required::before {content: "\0063a8\005968" !important;position: absolute;bottom: calc(100% + 9px);left: 50%;transform: translateX(-50%);background: #A10B07;border-radius: 8px;color: #fff;font-size: 22px;line-height: 1;padding: 2px 33px;}
.box_subcourses3 { margin: 50px auto }
.box_suisen > * { width: 50% }
.box_suisen > .left {padding-right: 70px;}
.box_suisen > .right { border-left: 1px dashed #888; padding-left: 70px }
.box_suisen { display: flex; justify-content: space-between }
.box_voice > .head, body .box_voice > .head {font-size: 28px !important;font-weight: bold !important;line-height: 1.4 !important;background: #3368AB !important;margin: -15px -35px 30px -35px !important;border-radius: 0 !important;text-align: center !important;padding: 10px 10px;color: #fff;}
.box_voice > .head::after, body .box_voice > .head::after {content: none;}
.box_voice > :first-child { margin-top: 0 !important }
.box_voice > :last-child { margin-bottom: 0 !important }
.box_voice { border: 10px solid #EEEEEE; padding: 15px 35px; margin: 30px auto 60px }
.breadcrumbs { font-size: 12px; line-height: 1.75 }
.breadcrumbs_wrap {max-width: 1040px;margin: 10px auto 50px;padding: 0 20px;}
.btn_back { background: #888; color: #fff; font-size: 26px; font-weight: bold; line-height: 1.4; position: relative; padding: 22px 50px; border-radius: 6px; transition: all ease .3s }
.btn_back::after {content: "";position: absolute;top: 50%;transform: translateY(-50%) rotateZ(180deg);left: 20px;background: url(/img/cmn/arrow-white.svg) center/contain no-repeat;width: 12px;height: 20px;transition: all ease .3s;}
.btn_back:hover { background: #c3c3c3 }
.btn_back:hover::after { left: 15px }
.btn_blue {display: inline-block;background: #24529B;color: #fff !important;font-weight: bold;font-size: 18px;text-decoration: none;padding: 8px 50px;min-width: 283px;position: relative;border-radius: 100px;}
.btn_blue::after {content: "";position: absolute;top: 50%;right: 20px;transform: translateY(-50%);background: url(/img/cmn/arrow-white.svg) center/contain no-repeat;width: 11px;height: 16px;transition: all ease .3s;}
.btn_blue:hover::after { right: 15px }
.btn_blueline { display: inline-block; font-size: 22px; font-weight: bold; text-decoration: none; min-width: 480px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 5px solid; color: #24529B !important; padding: 27px 15px; position: relative; transition: all ease .3s }
.btn_blueline::after {content: "";position: absolute;right: 7px;bottom: 7px;border: 7px solid;border-top-color: transparent;border-left-color: transparent;transition: all ease .3s;}
.btn_blueline:hover { color: #fff !important; background: #24529b; border-color: #24529b }
.btn_blueline:hover::after { right: 3px; bottom: 3px; border-color: transparent #fff #fff transparent }
.btn_orange { background: #C36B2B; color: #fff; font-size: 26px; font-weight: bold; line-height: 1.4; position: relative; padding: 22px 50px; border-radius: 6px; transition: all ease .3s }
.btn_orange::after {content: "";position: absolute;top: 50%;transform: translateY(-50%);right: 20px;background: url(/img/cmn/arrow-white.svg) center/contain no-repeat;width: 12px;height: 20px;transition: all ease .3s;}
.btn_orange:hover { background: #e48c51 }
.btn_orange:hover::after { right: 15px }
.btn_square { display: inline-block; font-size: 15px; font-weight: bold; line-height: 1.4; background: #fff; padding: 6px 35px 6px 15px; border: 3px solid #132E59; text-decoration: none; position: relative; min-width: 233px; text-align: center; transition: all ease .3s; color: #0b2e58 }
.btn_square::after {content: "";position: absolute;top: 50%;transform: translateY(-50%);right: 15px;background: url(/img/cmn/arrow-blue-7x10.png) center/contain no-repeat;width: 7px;height: 10px;transition: all ease .3s;}
.btn_square:hover { background: #132E59; color: #fff }
.btn_square:hover::after { right: 10px; background-image: url(/img/cmn/arrow-white-11x16.png) }
.btn_submit { background: #39b900; color: #fff; font-size: 26px; font-weight: bold; line-height: 1.4; position: relative; padding: 22px 50px; border-radius: 6px; transition: all ease .3s }
.btn_submit::after {content: "";position: absolute;top: 50%;transform: translateY(-50%);right: 20px;background: url(/img/cmn/arrow-white.svg) center/contain no-repeat;width: 12px;height: 20px;transition: all ease .3s;}
.btn_submit:hover { background: #59d025 }
.btn_submit:hover::after { right: 15px }
.btn_white { display: inline-block; background: #fff; color: #155199; font-weight: bold; font-size: 18px; text-decoration: none; padding: 16px 15px; min-width: 283px; position: relative; border-radius: 100px }
.btn_white::after {content: "";position: absolute;top: 50%;right: 20px;transform: translateY(-50%);background: url(/img/cmn/arrow-blue.svg) center/contain no-repeat;width: 11px;height: 16px;transition: all ease .3s;}
.btn_white:hover::after { right: 15px }
.circle{position:relative;padding-left:30px;font-weight: bold;}
.circle:before{content:'';border-radius:30px;-webkit-border-radius:30px;-moz-border-radius:30px; height:12px; width:12px; display:block; position:absolute; top:7px; left:5px; background-color:#142E59;box-shadow: 0 0 2px 2px rgb(20,46,89) inset}
.checkbtn{border: 1px solid #155199;padding: 16px 15%;}
.freedial1 { width: 308px !important }
.freedial2 { width: 327px !important }
.freedial3 { width: 307px }
.freedial4 { width: 329px }
.fv { height: 100px; background-size: cover; background-position: center }
.gmap iframe { width: 100%; height: 470px }
.hd_blueline .top { display: block; font-size: 17px; color: #a81011 }
.hd_blueline {font-size: 22px !important;font-weight: normal !important;line-height: 1.4 !important;margin: 30px auto !important;text-align: center;color: #155199 !important;position: relative;padding-bottom: 5px;background: none !important;}
.hd_blueline::after, * .mce-content-body .hd_blueline::after {content: "";position: absolute;bottom: 0;left: 50%;transform: translateX(-50%);border-bottom: 1px solid;width: 100px;}
.hd_bold {font-size: 22px;line-height: 38px;font-weight: bold;margin: 30px auto;}
.hd_bold2 {font-size: 35px !important;font-weight: bold !important;line-height: 50px !important;text-align: center !important;margin: 60px auto;color: inherit !important;padding: 0 !important;}
.hd_bold2::after { content: none !important }
.hd_bold3 { font-size: 45px; line-height: 60px; font-weight: bold; margin: 50px auto }
.hd_bold4 { font-size: 28px !important; line-height: 1.4 !important; font-weight: bold !important; margin: 30px auto !important; border: none !important; padding: 0 !important }
.hd_bold4::after { content: none !important }
.hd_boldline { font-size: 35px; line-height: 50px; font-weight: bold; color: #155199; display: table; text-align: center; margin: 0 auto 20px; border-bottom: 3px solid #24529b; padding: 0 15px 3px }
.hd_boldsquare + * { margin-top: 0 !important }
.hd_boldsquare, * .mce-content-body .hd_boldsquare { font-size: 24px; font-weight: bold; line-height: 1.5; padding: 0; background: none; color: inherit; position: relative; padding-left: 1.2em; margin: 40px auto 0 }
.hd_boldsquare::before, * .mce-content-body .hd_boldsquare::before {content: "";position: absolute;left: 0;top: 7px;width: 20px;height: 20px;background: #535353;}
.hd_curl, * .mce-content-body .hd_curl {font-size: 35px;font-weight: bold;line-height: 1.3;text-align: left;background: #145199;color: #fff;border-radius: 15px 0;position: relative;padding: 12px 15px;margin: 60px auto 30px;}
.hd_curl::after, .mce-content-body .hd_curl::after { content: none }
.hd_hasen, * .mce-content-body .hd_hasen { font-size: 25px; line-height: 1.4; font-weight: normal; color: #535353; background: none; display: table; margin: 40px auto 25px; padding: 0 40px; position: relative }
.hd_hasen::after, * .mce-content-body .hd_hasen::after {content: "";position: absolute;top: 50%;border-top: 1px dotted #888;right: calc(50% - 500px);left: 100%;}
.hd_hasen::before, * .mce-content-body .hd_hasen::before {content: "";position: absolute;top: 50%;border-top: 1px dotted #888;left: calc(50% - 500px);right: 100%;}
.hd_line { font-size: 20px; text-align: center; color: #0b2e58; display: table; margin: 30px auto; border-bottom: 1px solid; padding: 0 20px 5px }
.hd_linecenter { font-size: 25px; display: table; margin: 40px auto; padding: 0 35px; position: relative }
.hd_linecenter::after { right: calc(-500px + 50%); left: 100% }
.hd_linecenter::before { left: calc(-500px + 50%); right: 100% }
.hd_linecenter::before, .hd_linecenter::after { content: ""; display: block; position: absolute; top: 50%; border-bottom: 1px dotted #888 }
.hd_linegray {font-size: 35px !important;font-weight: bold !important;line-height: 50px !important;text-align: center !important;border-bottom: 4px solid #a0a0a0 !important;display: table !important;margin: 30px auto !important;padding: 0 30px 5px !important;color: #535353 !important;}
.hd_linegray::after { content: none !important }
.hd_numbar .num { position: absolute; top: -15px; left: -5px }
.hd_numbar, * .mce-content-body .hd_numbar { font-size: 35px; font-weight: bold; line-height: 1.3; text-align: left; background: #145199; color: #fff; border-radius: 15px 0; position: relative; padding: 12px 15px 12px 80px; margin: 60px auto 30px }
.hd_numbar::after, .mce-content-body .hd_numbar::after { content: none }
.link_arrow { display: inline-block; position: relative; margin-right: 20px }
.link_arrow::after {content: "";display: block;position: absolute;top: 50%;right: -15px;transform: translateY(-50%);background: url(/img/cmn/arrow-blue-7x10.png) center/contain no-repeat;width: 7px;height: 12px;transition: all ease .3s;}
.link_arrow:hover::after { right: -20px }
.link_icon { display: inline-block; position: relative; padding-right: 35px }
.link_icon::after {content: "";position: absolute;right: 0;top: 3px;background: url(/img/cmn/icon-newwindow.png) center/contain no-repeat;width: 26px;height: 20px;transition: all ease .3s;}
.link_icon:hover::after { right: -5px }
.list_2photos > li, * .mce-content-body .list_2photos > li { padding: 0; width: 50%; margin: 0 }
.list_2photos > li::before, * .mce-content-body .list_2photos > li::before { content: none }
.list_2photos > li:nth-child(2n) { text-align: right }
.list_2photos, * .mce-content-body .list_2photos { margin: 30px auto; display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 10px }
.list_blogs a { transition: all ease .3s }
.list_blogs a:hover { opacity: .7 }
.list_blogs li, * .mce-content-body .list_blogs li { margin: 0; padding: 0 }
.list_blogs li::before, * .mce-content-body .list_blogs li::before { content: none }
.list_blogs, * .mce-content-body .list_blogs { display: flex; justify-content: space-around }
.list_boxnum > li::before { font-weight: bold }
.list_boxnum {border: 10px solid #eee;padding: 20px;}
.list_courses > li::before, * .mce-content-body .list_courses > li::before { content: none }
.list_courses a { font-size: 18px; line-height: 1; font-weight: bold; text-decoration: none; display: block; background: #24529b; color: #fff; text-align: center; padding: 13px 40px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; border-radius: 100px; position: relative; transition: all ease .3s }
.list_courses a::after {content: "";display: block;position: absolute;background: url(/img/cmn/arrow-white.svg) center/contain no-repeat;width: 10px;height: 16px;transform: translateY(-50%) rotateZ(90deg);top: 50%;right: 20px;transition: all ease .3s;}
.list_courses a:hover { background: #4f81d1 }
.list_courses a:hover::after { top: calc(50% + 5px) }
.list_courses li + li, * .mce-content-body .list_courses li + li { margin-top: 0 }
.list_courses li, * .mce-content-body .list_courses li {width: calc((100% - 54px) / 3);padding: 0;}
.list_courses li:nth-child(n+4), * .mce-content-body .list_courses li:nth-child(n+4) { margin-top: 20px }
.list_courses, * .mce-content-body .list_courses {display: flex;justify-content: space-between;padding: 0 50px;margin: 80px auto 30px;flex-wrap: wrap;}
.list_events .head + *, * .mce-content-body .list_events h3.head + * { margin-top: 0 }
.list_events .head, * .mce-content-body .list_events h3.head { font-size: inherit; font-weight: bold; background: none; color: #155199; padding: 0; margin: 0 0 10px }
.list_events > li > :first-child { margin-top: 0 !important }
.list_events > li > :last-child { margin-bottom: 0 !important }
.list_events > li, * .mce-content-body .list_events > li {padding: 20px 0;border-bottom: 1px dashed #888;}
.list_events > li::before, * .mce-content-body .list_events > li::before { content: none }
.list_events > li:first-child, * .mce-content-body .list_events > li:first-child { border-top: 1px dashed #888 }
.list_events, * .mce-content-body .list_events { margin: 30px auto; height: 300px; overflow-y: scroll }
.list_footermenu > li { position: relative; padding-left: 1.2em }
.list_footermenu > li::before {content: "\0030fb";position: absolute;left: 0;}
.list_footermenu a { text-decoration: none }
.list_footermenu a:hover { text-decoration: underline }
.list_footermenu { font-size: 15px; line-height: 24px; letter-spacing: 1px }
.list_info .cat {display: inline-block;font-size: 13px;line-height: 20px;color: #fff;background: #132e59;width: 90px;text-align: center;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;vertical-align: middle;text-decoration: none;transition: all ease .3s;padding: 0 5px;}
.list_info .cat:hover { background: #3961a2 }
.list_info .date { font-weight: bold; margin-right: 5px }
.list_info .end { color: #f33; padding-right: 10px; font-weight: bold }
.list_info .meta { margin: 0; width: 300px }
.list_info .ttl a { color: inherit }
.list_info .ttl { margin: 0; width: calc(100% - 300px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.list_info > li { border: solid #888; border-width: 0 0 1px; display: flex; padding: 15px 0 }
.list_info > li:first-child { border-top-width: 1px }
.list_info span.cat:hover { background: #132e59 }
.list_info {height: 300px;overflow-y: scroll;padding-right: 30px;margin: 30px auto;}
.list_info.showall > li { border-style: dashed }
.list_info.showall { height: auto; overflow: auto }
.list_info_option { margin-top: -15px; font-size: 15px }
.list_kome > li {padding-left: 1.2em;position: relative;margin: 0 !important;}
.list_kome > li::before {content: "\00203b" !important;position: absolute;left: 0;}
.list_linebtns > li { margin: 0 40px }
.list_linebtns { display: flex; justify-content: center; text-align: center; margin: 30px auto }
.list_linkbtns > li {width: calc((100% - 60px) / 3);margin: 0 15px;}
.list_linkbtns a { font-size: 26px; font-weight: bold; display: flex; align-items: center; justify-content: center; text-align: center; background: #132e59; color: #fff; text-decoration: none; height: 100px; position: relative; transition: all ease .3s }
.list_linkbtns a::after {content: "";display: block;position: absolute;bottom: 5px;right: 5px;border: 10px solid;border-color: transparent #fff #fff transparent;transition: all ease .3s;}
.list_linkbtns a:hover { background: #2b4b7d }
.list_linkbtns a:hover::after { bottom: 0; right: 0 }
.list_linkbtns {display: flex;justify-content: center;align-items: center;}
.list_links > li { width: 310px; margin: 0 20px; }
.list_links > li:nth-child(n+3) {
    margin-top: 35px;
}
.list_links a { transition: all ease .3s }
.list_links a:hover { opacity: .7 }
.list_links img {width: 100%;max-width: none;}
.list_links { display: flex; justify-content: center; flex-wrap: wrap; margin: 30px auto }
.list_news .date { display: inline-block; width: 6.5em; padding-left: 0.3em }
.list_news .new {font-size: 15px;display: inline-block;width: 3.2em;text-align: center;background: #a10b07;color: #fff;padding: 3px 0;vertical-align: bottom;margin-left: 10px;}
.list_news .ttl a {text-decoration: none;display: inline-block;max-width: calc( 100% - 10.5em );overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: inherit;}
.list_news .ttl a:hover { text-decoration: underline }
.list_news > li { border-bottom: 1px dashed #535353; padding: 11px 0 }
.list_news > li:first-child { border-top: 1px dashed #535353 }
.list_news { font-size: 16px; line-height: 1; margin: 30px auto }
.list_news_option {margin-top: -20px;font-size: 15px;}
.list_osusume > li + li { margin-top: 0 !important }
.list_osusume { margin: 20px auto !important }
.list_pages > li, body .mce-content-body ul.list_pages > li { padding-left: 1.2em; margin: 0 0 15px }
.list_pages > li::before, body .mce-content-body ul.list_pages > li::before { content: "\0030fb"; position: absolute; left: 0 }
.list_pages, body .mce-content-body ul.list_pages { margin: 30px auto; display: flex; flex-wrap: wrap; justify-content: center; max-width: 700px }
.list_photoaround li, * .mce-content-body ul.list_photoaround li { margin: 0; padding: 0 }
.list_photoaround li::before { content: none !important }
.list_photoaround, * .mce-content-body ul.list_photoaround { margin: 45px auto; display: flex; justify-content: space-around }
.list_pickup .img { margin-right: 15px }
.list_pickup .ttl { font-size: 22px; font-weight: bold; color: #155199 }
.list_pickup > li { width: calc((100% - 40px) / 2) }
.list_pickup a { display: flex; border: 5px solid #24529b; padding: 12px; width: 100%; height: 100%; text-decoration: none; color: #535353; align-items: center; position: relative; transition: all ease .3s }
.list_pickup a::after {content: "";display: block;position: absolute;right: 8px;bottom: 8px;border: 7px solid;border-color: transparent #24529b #24529b transparent;transition: all ease .3s;}
.list_pickup a:hover { opacity: .7 }
.list_pickup a:hover::after { right: 3px; bottom: 3px }
.list_pickup img { max-width: 50vw }
.list_pickup p { margin: 0; line-height: 1.4 }
.list_pickup { display: flex; justify-content: space-between; margin: 30px auto }

.list_qs li a, * .mce-content-body .list_qs li a { color: #535353 }
.list_qs li, * .mce-content-body .list_qs li { width: calc((100% - 20px) / 2); margin: 0; font-weight: bold }
.list_qs li::before, * .mce-content-body .list_qs li::before {content: "Q.";}
.list_qs, * .mce-content-body .list_qs {display: flex;flex-wrap: wrap;justify-content: space-between;}

.list_cl li a, * .mce-content-body .list_cl li a { color: #535353 }
.list_cl li, * .mce-content-body .list_cl li { width: calc((100% - 90px) / 2); margin: 0; font-weight: bold }
.list_cl li::before, * .mce-content-body .list_cl li::before {content: "・";}
.list_cl, * .mce-content-body .list_cl {display: flex;flex-wrap: wrap;justify-content: space-between;}

.list_reasons > li { width: calc((100% - 30px) / 2); border: 4px solid #24529b; border-radius: 15px 0; font-size: 21px; line-height: 28px; font-weight: bold; text-align: center; padding: 24px 10px 10px; position: relative }
.list_reasons > li::before { content: ""; display: block; position: absolute; background: center/contain no-repeat; width: 42px; height: 42px; top: -21px; left: 50%; transform: translateX(-50%) }
.list_reasons > li:nth-child(1)::before { background-image: url(/img/cmn/num-bluecircle-01.png) }
.list_reasons > li:nth-child(2)::before { background-image: url(/img/cmn/num-bluecircle-02.png) }
.list_reasons > li:nth-child(3)::before { background-image: url(/img/cmn/num-bluecircle-03.png) }
.list_reasons > li:nth-child(4)::before { background-image: url(/img/cmn/num-bluecircle-04.png) }
.list_reasons > li:nth-child(5)::before { background-image: url(/img/cmn/num-bluecircle-05.png) }
.list_reasons > li:nth-child(6)::before { background-image: url(/img/cmn/num-bluecircle-06.png) }
.list_reasons > li:nth-child(n+3) { margin-top: 35px }
.list_reasons { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 30px auto }
.list_reasons_option { margin-top: -15px }
.list_sns > li {display: inline-block;vertical-align: middle;margin: 0 25px !important;padding: 0 !IMPORTANT;}
.list_sns > li::before { content: none !important }
.list_sns a {transition: all ease .3s;text-decoration: n;}
.list_sns a:hover { opacity: .7 }
.list_sns {text-align: center;}
.list_times .bundle { text-align: center; padding: 0 10px 10px; margin: 0 auto 10px; border-bottom: 1px dashed #888 }
.list_times .time { display: block; font-size: 22px; font-weight: bold; color: #888; border-bottom: 1px dashed #888; padding-bottom: 10px; margin-bottom: 9px }
.list_times > li { width: 280px; border: 1px solid #888; padding: 20px 5px 10px !important; text-align: center }
.list_times > li.required:nth-child(n+4) { margin-top: 50px !important }
.list_times > li::before { content: none !important }
.list_times > li:nth-child(2), .list_times > li:nth-child(3) { margin-top: 0 !important }
.list_times > li:nth-child(3n), .list_times > li:nth-child(3n-1) { margin-left: 30px }
.list_times > li:nth-child(n+4) { margin-top: 30px !important }
.list_times { margin: 30px auto !important; display: flex; flex-wrap: wrap; justify-content: center }
.list_times.hasrequired { margin-top: 50px !important }
.list_tokuten .continue a { color: inherit }
.list_tokuten .continue { text-align: right; margin-bottom: 0 }
.list_tokuten .hosoku { margin: 10px auto 0 }
.list_tokuten .link_arrow { text-decoration: none }
.list_tokuten .link_arrow::after { background-image: url(/img/cmn/arrow-white.svg) }
.list_tokuten .link_arrow::after { top: 10px; transform: none }
.list_tokuten .link_arrow:hover { text-decoration: underline }
.list_tokuten .main { font-size: 26px; line-height: 1.4; font-weight: bold; margin: 0 }
.list_tokuten > li + li, .mce-content-body ul.list_tokuten > li + li { margin-top: 0 }
.list_tokuten > li > .inner { border: 1px solid #fff; padding: 20px 15px; height: 100% }
.list_tokuten > li {background: #24529b;color: #fff;position: relative;padding: 4px !important;text-align: center;width: calc((100% - 80px) / 3);}
.list_tokuten > li::after { background-image: url(/img/cmn/box_line_02.png); bottom: 0; left: 0 }
.list_tokuten > li::before {background-image: url(/img/cmn/box_line_01.png);top: 0;right: 0;left: auto !important;}
.list_tokuten > li::before, .list_tokuten > li::after {content: "" !important;display: block;position: absolute !important;background-size: contain;width: 35px;height: 35px;}
.list_tokuten a { color: #fff }
.list_tokuten { display: flex; justify-content: space-between }
.list_tokuten.pair .hosoku { text-align: center; margin: 30px auto 0 }
.list_tokuten.pair .main { font-size: 40px; line-height: 1.3; text-align: center }
.list_tokuten.pair li { width: calc((100% - 30px) / 2) }
.list_tokuten.pair li:nth-child(2) { margin-top: 0 }
.list_tokuten.tyuuou .hosoku { text-align: center }
.list_tokuten.tyuuou .main { text-align: center; font-size: 35px }
.list_tokuten.wide > li { width: 82% }
.list_tokuten.wide { justify-content: center }
.page-id-1236 .box_prof .photo_name{align-items:normal !important;}
.page-id-1236 .box_prof p{ margin: 10px auto 10px !important;}
.page-id-1236 .mt90{margin-top: 90px !important;}
.whiteline { outline: none; border: none; border-top: 1px solid #fff; margin: 30px auto }
small { font-size: 80% }
p.indent-1 { padding-left:1em; text-indent:-1em }
h2.anchor { display: block; padding-top: 70px; margin-top: -70px; }

@media ( max-width :1080px ) {
  .list_times > li { width: calc((100% - 40px) / 3) }
  .list_times > li:nth-child(2), .list_times > li:nth-child(3) { margin-left: 20px }
}
@media ( max-width: 1024px ) {
  .box_shopinfo .body p { font-size: 14px }
  .box_shopinfo .body { padding: 0 15px 10px }
  .box_shopinfo .head, * .mce-content-body .box_shopinfo .head { margin: 0 -15px 20px }
  .box_shops > .body { padding: 0 20px }
  .box_shops p { font-size: 14px }
  .box_subcourses3 li.required::before { padding: 2px 20px }
  .box_suisen > * { width: auto }
  .box_suisen > .left { padding: 0 }
  .box_suisen > .right { padding: 40px 0 0; border-top: 1px dashed #888; border-left: none; margin-top: 40px }
  .box_suisen { display: block }
  .list_2photos > li, * .mce-content-body .list_2photos > li { width: calc((100% - 20px) / 2) }
  .list_courses a { font-size: 16px }
  .list_courses li { width: calc((100% - 20px) / 3) }
  .list_courses { padding: 0 }
  .list_footermenu + .list_footermenu { margin-left: 50px }
  .list_footermenu { display: inline-block; vertical-align: top; text-align: left }
  .list_linkbtns a { font-size: 20px; height: 80px }
  .list_links > li { margin: 0 20px }
  .list_links > li:nth-child(n+3) { margin-top: 35px }
  .list_links { justify-content: center }
  .list_pickup .ttl { font-size: 18px }
  .list_pickup p { font-size: 14px }
  .list_tokuten .continue { font-size: 12px }
  .list_tokuten .hosoku { margin-top: 5px; font-size: 12px }
  .list_tokuten .main { font-size: 22px }
  .list_tokuten > li > .inner {padding: 15px 10px;}
  .list_tokuten > li { width: calc((100% - 40px) / 3) }
}

/* /Common */
/* ============================================================ */



/* ============================================================ */
/* Header */
#gn .en { font-size: 12px; display: block; margin-top: 8px; color: #155199 }
#gn a { text-decoration: none; display: block }
#gn a:hover { text-decoration: underline }
#gn li { width: calc((100% - (20px * 7)) / 6); margin-right: 20px; position: relative; padding: 3px 0 }
#gn li::after {content: "";display: block;position: absolute;top: 0;bottom: 0;right: -10px;border-left: 1px solid;transform: rotateZ(27deg);}
#gn li:first-child { margin-left: 20px }
#gn li:first-child::before {content: "";display: block;position: absolute;top: 0;bottom: 0;left: -10px;border-left: 1px solid;transform: rotateZ(27deg);}
#gn ul { display: flex; justify-content: space-between }
#gn { max-width: 1040px; margin: 0 auto 20px; padding: 0 20px; font-size: 15px; text-align: center; line-height: 1; white-space: nowrap }
#header .des { font-size: 13px; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
#header .guide .con { background: #132e59; font-size: 18px; color: #fff; line-height: 1; white-space: nowrap; display: block; text-align: center; padding: 11px 0; border-radius: 6px; text-decoration: none; position: relative; line-height: 23px; transition: all ease .3s }
#header .guide .con::after {content: "";display: inline-block;position: relative;left: 0;background: url(/img/cmn/arrow-white-11x16.png) center/contain no-repeat;width: 11px;height: 23px;vertical-align: top;margin-left: 10px;transition: all ease .3s;}
#header .guide .con::before {content: "";display: inline-block;position: relative;background: url(/img/cmn/icon-email.svg) center/contain no-repeat;width: 36px;height: 23px;vertical-align: top;margin-right: 8px;}
#header .guide .con:hover { background: #3d64a2 }
#header .guide .con:hover::after { left: 10px }
#header .guide .res::before { background-image: url(/img/cmn/icon-calendar.svg); width: 22px; height: 21px }
#header .guide .shop::before { background-image: url(/img/cmn/icon-shop.svg); width: 27px; height: 20px }
#header .guide > .bottom { margin-top: 15px }
#header .guide > .top a + a { margin-left: 15px }
#header .guide > .top a { font-size: 15px; display: inline-block; position: relative; text-decoration: none; border-bottom: 1px solid; padding-right: 20px; padding-left: 35px; position: relative }
#header .guide > .top a::after { background-image: url(/img/cmn/arrow-blue-7x10.png); background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; display: block; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 7px; height: 10px; transition: all ease .3s }
#header .guide > .top a::before { background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; display: block; position: absolute; left: 0; top: 50%; transform: translateY(-50%) }
#header .guide > .top a:hover::after { right: -5px }
#header .guide > .top { display: flex; justify-content: space-between }
#header .guide { position: absolute; top: 23px; right: 20px }
#header .logo { position: absolute; left: 20px; top: 34px; margin: 0 }
#header { max-width: 1040px; margin: 5px auto 35px; padding: 0 20px; min-height: 116px; position: relative }
/* /Header */
/* ============================================================ */



/* ============================================================ */
/* Footer */
#copy { margin: 50px auto 0; text-align: center; font-size: 14px }
#footer .logo { margin: 0 50px 0 0 }
#footer > .inner { max-width: 1040px; margin: auto; padding: 0 20px; display: flex; justify-content: space-between }
#footer a { color: #fff }
#footer { background: #24529b; padding: 40px 0 10px; color: #fff }
#pagetop { position: fixed; bottom: 10px; right: -77px; cursor: pointer; opacity: .3; transition: all ease .3s }
#pagetop.active { right: 10px }
#pagetop:hover { opacity: 1 }
.btn_resdv { display: table; position: relative; transition: all ease .3s; margin: 0 auto }
.btn_resdv::after {content: "";display: block;position: absolute;top: 50%;right: 15px;transform: translateY(-50%);background: url(/img/cmn/arrow-white.svg) center/contain no-repeat;width: 20px;height: 20px;transition: all ease .3s;}
.btn_resdv:hover { opacity: .7 }
.btn_resdv:hover::after { right: 10px }
.box_shopinfo .call { display: table; margin: 20px auto 0 }
.resdv > .head .left { background: #132e58; font-size: 30px; line-height: 50px; padding-right: 35px }
.resdv > .head .right { background: #24529b; margin: 0; line-height: 50px; padding-left: 25px }
.resdv > .head > .inner { display: flex; max-width: 1040px; padding: 0 20px; margin: auto; align-items: center }
.resdv > .head { background: linear-gradient(to right,  #132e59 0%,#132e59 50%,#24529b 50%,#24529b 100%); color: #fff; font-weight: bold; margin-bottom: 20px }
.resdv > .inner { max-width: 1040px; margin: auto; padding: 0 20px }
.resdv img { width: 100% }
.resdv p, .box_shopinfo p {margin: 20px auto;text-align: center;}
.resdv { margin: 120px auto; background: #eeeeee; padding-bottom: 40px }

@media ( max-width: 1024px ) {
  #footer .logo { margin-bottom: 30px; text-align: center }
  #footer > .inner { display: block; overflow: hidden; text-align: center }
  .btn_resdv::after { width: 15px; height: 15px; right: 10px }
  .btn_resdv:hover::after { right: 5px }
  .resdv > .head .left { font-size: 26px; padding-right: 20px }
  .resdv > .head .right { font-size: 14px }
}
/* /Footer */
/* ============================================================ */



/* ============================================================ */
/* Page, Single */
.aligncenter { display: block; margin: 0 auto 20px }
.alignleft { float: left; margin-right: 30px }
.alignright { float: right; margin-left: 30px }
.blueline { margin: 0; border: none; border-bottom: 2px solid #24529B }
.form .errorField { border: 2px solid #d33 }
.form .field .error { color: #d33 }
.form .fields .row .label.required::after {content: "\005fc5\009808";background: #d80955;padding: 0 5px;color: #fff;margin-left: 10px;font-weight: bold;}
.form .fields .row > * { display: table-cell; vertical-align: middle; padding-top: 20px; padding-bottom: 20px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc }
.form .fields .row > .label { padding-right: 20px; white-space: nowrap }
.form .fields .row { display: table-row }
.form .fields { display: table; width: 100%; border-collapse: collapse; margin: 30px auto 50px }
.form .form_btns { margin: 30px auto; text-align: center }
.form .form_notice { margin: 30px auto }
.form .mwform-tel-field input[type="text"], .form .mwform-zip-field input[type="text"] { vertical-align: middle }
.home1 { width: 342px }
.home12 .box_subcourses2 .head_price { border-bottom: none; padding-top: 80px }
.home13 { display: none }
.homeslide .slick-dots li button { width: 9px; height: 9px; background: #dddada; padding: 0 }
.homeslide .slick-dots li button:before { content: none }
.homeslide .slick-dots li { width: 9px; height: 9px }
.homeslide .slick-dots li.slick-active button { background: #132e59 }
.homeslide .slick-list li { opacity: .3; transition: all ease .6s !important }
.homeslide .slick-list li.slick-current { opacity: 1 }
.homeslide .slick-next { right: calc(50% - 500px - 38px); width: 27px; height: 54px; background: url(/img/cmn/arrow-next.png) center/contain no-repeat; z-index: 1 }
.homeslide .slick-prev { left: calc(50% - 500px - 38px); width: 26px; height: 52px; background: url(/img/cmn/arrow-prev.png) center/contain no-repeat; z-index: 1 }
.homeslide .slick-prev, .homeslide .slick-next { z-index: 1 }
.homeslide .slick-prev:before, .homeslide .slick-next:before { content: none }
.homeslide { margin-bottom: 50px }
.jubai1 { width: 450px }
.mce-content-body > :first-child { margin-top: 0 !important }
.mce-content-body > :last-child { margin-bottom: 0 !important }
.mce-content-body blockquote > :first-child { margin-top: 0 !important }
.mce-content-body blockquote > :last-child {margin-bottom: 0 !important;}
.mce-content-body blockquote { margin: 30px auto; padding: 20px; background: url(/img/cmn/icon-inyou.svg) 10px 10px/40px 40px no-repeat #f5f5f5 }
.mce-content-body h2 {font-size: 35px;font-weight: bold;line-height: 1.3;text-align: center;color: #155199;position: relative;padding-bottom: 10px;margin: 120px auto 40px;}
.mce-content-body h2::after { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); border-bottom: 3px solid; width: 404px; max-width: 80vw }
.mce-content-body h3 { font-size: 35px; font-weight: bold; line-height: 1.4; background: #24529B; color: #fff; border-radius: 10px 0; padding: 5px 20px; margin: 90px auto 30px }
.mce-content-body h4 { font-size: 24px; font-weight: bold; line-height: 1.5; margin: 60px auto 30px }
.mce-content-body h5, .mce-content-body h6 { font-weight: bold; margin: 60px auto 30px }
.mce-content-body ol > li + li { margin-top: 15px }
.mce-content-body ol > li { position: relative; padding-left: 1.5em; counter-increment: mceol }
.mce-content-body ol > li::before { content: counter(mceol)"."; position: absolute; left: 0 }
.mce-content-body ol { margin: 30px auto; counter-reset: mceol }
.mce-content-body ul > li + li { margin-top: 15px }
.mce-content-body ul > li { position: relative; padding-left: 1.2em }
.mce-content-body ul > li::before {content: "\0030fb";position: absolute;left: 0;}
.mce-content-body ul {margin: 30px auto;}
.mce-content-body .covid-19 p.bold { margin-top: 4em }
.mce-content-body .covid-19 ul > li { padding: 0 }
.mce-content-body .covid-19 ul > li::before { display: none }
.mce-content-body .covid-19 ul { list-style: disc; padding-left: 1.5em }
.pagettl small { display: block; font-size: 32px }
.pagettl {font-size: 54px;font-weight: bold;text-align: center;line-height: 1.3;margin: 50px auto;padding: 0 20px;}
.pagettl2 { font-size: 28px; font-weight: bold; line-height: 1.4; color: #155199; max-width: 1000px; margin: 40px auto 10px; border-bottom: 3px solid #24529B }
.pagination .list a { display: inline-block; max-width: 20em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.pagination .next { text-align: right }
.pagination .prev a, .pagination .next a { display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 15em; vertical-align: middle }
.pagination .prev, .pagination .next { width: 18em }
.pagination { max-width: 1040px; padding: 0 20px; margin: 90px auto; display: flex; justify-content: space-between }
.pagination2 .ctrl .list { margin: 0 60px }
.pagination2 .ctrl .prev, .pagination2 .ctrl .next { width: 6em; text-align: center }
.pagination2 .ctrl a { color: inherit }
.pagination2 .ctrl { display: flex; margin-top: 30px; justify-content: center; white-space: nowrap }
.pagination2 .nextpost a { color: inherit; text-decoration: none }
.pagination2 .nextpost a:hover { text-decoration: underline }
.pagination2 .nextpost { display: table; margin: auto; border: 1px solid #ddd; padding: 5px 20px }
.pagination2 { max-width: 1000px; margin: 90px auto; border-top: 1px solid #ccc; padding: 40px 15px 0; text-align: center }
.postmeta .date { text-align: right; margin: 0 }
.postmeta { max-width: 1040px; margin: 0 auto; padding: 0 20px; margin-bottom: 30px }
.profile1 { width: 236px }
.reason1 { width: 527px }
.reseve1 { padding-bottom: 30px !important }
.shop1 { max-width: 560px; margin: -20px auto 60px }
.shop2 { border: 1px solid #535353 }
.shopslide .slick-dots > li::before { content: none !important }
.shopslide .slick-dots li button { width: 10px; height: 10px; padding: 0 }
.shopslide .slick-dots li button:before { content: none !important }
.shopslide .slick-dots li { width: 9px; height: 9px; background: #ccc; padding: 0 !IMPORTANT }
.shopslide .slick-dots li.slick-active { background: #132E59 }
.shopslide .slick-dots { bottom: -70px }
.shopslide .slick-next { right: 15px; z-index: 1; width: 39px; height: 69px; background: url(/img/cmn/arrow-blue-39x69.png) center/contain no-repeat }
.shopslide .slick-prev { left: 15px; z-index: 1; width: 39px; height: 69px; background: url(/img/cmn/arrow-blue-39x69.png) center/contain no-repeat; transform: translateY(-50%) rotateZ(180deg) }
.shopslide .slick-prev::before, .shopslide .slick-next::before { content: none !important }
.shopslide > li { padding: 0 !important }
.shopslide > li::before { content: none !important }
.shopslide { margin: 30px auto 60px !important }
input[type="text"], input[type="email"], textarea { background: #F4F4F4; border: 1px solid #A7A7A7; width: 100%; padding: 16px 10px }
input[type="text"]::placeholder, input[type="email"]::placeholder { color:#8e8e8e }

/* Info Page */
p.covid-19 { text-indent: -1em; padding-left: 1em; }
ul.covid-19 { list-style: disc;line-height: 1.7; margin-top: 0; margin-bottom: 0 }
ul.covid-19 li { margin-top: 0; margin-bottom: 0 }

@media ( max-width: 1080px ) {
  .homeslide .slick-prev { left: 5px; }
  .homeslide .slick-next { right: 5px; }
}

@media ( max-width: 1024px ) {
  .home12 .box_subcourses2 .head_price {padding-top: 13%;}
  .home13 { display: inline }
  .home2 > * {width: auto !important;padding: 0 20px !important;}
  .home2 > .right {margin-top: 70px !important;background: #24529B;position: relative;padding-top: 40px !important;padding-bottom: 45px !important;}
  .home2 {display: block !important;margin: 0 -20px;}
  .home5 { background: #132E59; padding-bottom: 0 !important }
  .hd_hasen::before, * .mce-content-body .hd_hasen::before { left: calc(50% - 50vw + 20px) }
  .hd_hasen::after, * .mce-content-body .hd_hasen::after { right: calc(50% - 50vw + 20px) }
}

@media ( max-width: 1000px ) {
  .pagettl2 { margin-left: 20px; margin-right: 20px }
}
/* /Page, Single */
/* ============================================================ */
















@media ( max-width: 918px ) {
/* ============================================================ */
/* nav (PC Only) */
.specialist {letter-spacing: 0.001em !important;font-size: 83%;}
  /* nav (PC Only) */
 /* ============================================================ */
}
















@media ( min-width: 768px ) {
  /* ============================================================ */
  /* Common (PC Only) */
  a[href^="tel:"] { color: inherit; text-decoration: none }
  .sp-only, .tab-only { display: none !important }
  .list_news .date .new { display: none }
  /* /Common (PC Only) */
  /* ============================================================ */



  /* ============================================================ */
  /* Header (PC Only) */
  #header .spbtn { display: none }
  #overlay { display: none }
  #spgn { display: none }
  #spgn2 { display: none }
  /* /Header (PC Only) */
  /* ============================================================ */



  /* ============================================================ */
  /* Page, Single (PC Only) */
  .home3 { margin-bottom: 44px !important }
  .home4 { margin-bottom: 44px !important }
  .reason2 { letter-spacing: -1px }
  /* /Page, Single (PC Only) */
  /* ============================================================ */
}



































@media ( max-width: 767px ) {
  /* ============================================================ */
  /* Common (SMP) */
  body {font-size: 18px;line-height: 27.5px;padding-top: 62px;transition: all ease .3s;position: relative;left: 0;}
  body.openmenu {overflow: hidden;left: -80vw;}
  body.openmenu2 { overflow: hidden }
  caption { font-size: 18px; padding: 5px }
  p { margin: 20px auto }
  .pc-only { display: none !important }
  .centerjustify { text-align: left !important; text-align: justify !important }
  .fs1518 { font-size: 18px !important }
  .fs1615 { font-size: 15px !important }
  .fs1718 { font-size: 18px !important }
  .fs1816 { font-size: 16px !important }
  .fs2218 {font-size: 18px !important;line-height: 28px !important;}
  .fs22225 { font-size: 22.5px !important; line-height: 30px !important }
  .fs2422 { font-size: 22px !important }
  .fs24225 { font-size: 22.5px !important; line-height: 30px !important }
  .fs2822 { font-size: 22px !important; line-height: 1.4 !important }
  .fs35225 { font-size: 22.5px !important; line-height: 32.5px !important }
  .img-txt > .img { margin: 0; text-align: center }
  .img-txt > .txt { margin-top: 20px }
  .img-txt { display: block }
  .mt1200 { margin-top: 0 !important }
  .mt6045 { margin-top: 45px !important }
  .mt7040 { margin-top: 40px !important }
  .mt9060 { margin-top: 60px !important }
  .mtb3020 { margin-top: 20px !important, margin-bottom: 20px !important }

  .block { margin: 60px auto }
  .block_blue {padding: 45px 0;}
  .block_blue2 { padding: 45px 0 }
  .block_bluedia { margin: 65px auto }
  .block_bluedia::after { border-top-width: 20px }
  .block_bluedia::before { border-bottom-width: 20px }
  .block_gray { padding: 45px 0 }
  .block_long { margin: 70px auto }
  .block_narrow { margin: 45px auto }
  .block_sub { margin: 60px auto }
  .box_courses > .body > .head { font-size: 22px; line-height: 1.4; padding: 3px 15px; margin: 0 -20px 20px }
  .box_courses > .body { border-width: 10px; padding: 0 20px 20px }
  .box_courses { margin: 40px auto }
  .box_courses_option { margin: -30px auto 40px }
  .box_faq > .row { padding: 20px 0 }
  .box_faq dd { padding: 0 20px 0 50px }
  .box_faq dd::before { background-image: url(/img/faq/a_sp.png); width: 20px; height: 20px; left: 22px }
  .box_faq dt { padding: 0 20px 0 50px; font-size: 22px; margin-bottom: 10px }
  .box_faq dt::before { background-image: url(/img/faq/q_sp.png); width: 25px; height: 25px; top: 0 }
  .box_greeting .hd_bold3 { margin-bottom: 20px }
  .box_greeting > .left p { text-align: center; padding: 0 }
  .box_greeting > .left { margin: 0 auto 40px; text-align: center }
  .box_greeting img { max-width: 80vw }
  .box_greeting { display: block }
  .box_line .head { font-size: 26px; line-height: 1.3; margin-bottom: 10px }
  .box_line .list_linebtns { margin-top: 20px }
  .box_line .name { text-align: center; font-size: 21px !important; margin-bottom: 10px }
  .box_line { padding: 20px 10px }
  .box_lr > .right { margin-top: 40px }
  .box_prof .comment { margin: 20px auto 0 }
  .box_prof .data { margin-top: 15px }
  .box_prof .job { text-align: center }
  .box_prof .name .keisyou { font-size: 16px }
  .box_prof .name { font-size: 22px; text-align: center }
  .box_prof .other { font-size: 18px; margin-top: 20px }
  .box_prof .photo { margin: 0; text-align: center }
  .box_prof .photo_name { display: block }
  .box_shopinfo .body + .body { margin-top: 20px }
  .box_shopinfo .body .photo { display: block; margin: 0 auto 20px }
  .box_shopinfo .body p { font-size: calc((100vw - 40px - 30px) / 100 * 4.7) }
  .box_shopinfo .body {width: auto;max-width: 500px;margin: 0 auto;}
  .box_shopinfo { display: block }
  .box_shops .name { font-size: 22px; line-height: 1.4 }
  .box_shops > .body + .body { margin: 40px -20px 0; padding: 40px 20px; background: #24529B }
  .box_shops > .body { width: auto; padding: 0; text-align: center }
  .box_shops a { color: inherit }
  .box_shops p {text-align: center;font-size: 3.6vw;}
  .box_shops { display: block }
  .box_staff .history { text-align: left; text-align: justify }
  .box_staff .msg { margin: 20px -20px }
  .box_staff .name, * .box_staff .name { font-size: 22px; margin: 20px auto }
  .box_subcourses .thumb { max-width: 500px; margin: auto }.home15 { display: block !important }
  .box_subcourses > .body + .body { border-top: 1px dashed #888 !important; padding-top: 30px !important; margin-top: 30px !important }
  .box_subcourses > .body { width: auto; padding: 0 !important; border: none !important }
  .box_subcourses { display: block }
  .box_subcourses2 .detail { padding: 0 10px }
  .box_subcourses2 .head { margin-bottom: 5px }
  .box_subcourses2 .head_price { border: none; border-bottom: 1px dashed #888; padding: 15px 10px; text-align: center }
  .box_subcourses2 .img img {width: 100%;max-width: 500px;display: block;margin: auto;}
  .box_subcourses2 .info > p {padding-left: 10px;padding-right: 10px;}
  .box_subcourses2 .list_kome { padding: 0 10px }
  .box_subcourses2 .num { font-size: 27px }
  .box_subcourses2 .num2 { font-size: 18px }
  .box_subcourses2 .price { font-size: 18px }
  .box_subcourses2 .time { font-size: 13px; margin-left: 5px }
  .box_subcourses2 > .body + .body::before {content: "";position: absolute;top: -20px;left: 0;right: 0;border-top: 1px dashed #888;}
  .box_subcourses2 > .body { display: block; border: none; background: #EEEEEE; position: relative }
  .box_subcourses3 .boxtime .tani { font-size: 13px }
  .box_subcourses3 .boxtime { font-size: 18px; display: table; margin: 0; padding: 2px 12px }
  .box_subcourses3 .btn_blueline { max-width: 80%; background: #fff; white-space: normal }
  .box_subcourses3 .detail2 > :last-child { margin-bottom: 0 !IMPORTANT }
  .box_subcourses3 .detail2 { margin-top: 20px }
  .box_subcourses3 .exp { padding: 0 10px }
  .box_subcourses3 .price .tax { font-size: 18px; display: inline-block }
  .box_subcourses3 .price { font-size: 27px }
  .box_subcourses3 .thumb-name .name .coursename { border: none; text-align: center; padding: 0 10px 10px; margin: 15px auto; border-bottom: 1px solid #bbb }
  .box_subcourses3 .thumb-name { display: block }
  .box_subcourses3 > .body > :last-child { margin-bottom: 0 !important }
  .box_subcourses3 > .body { display: block; border: none; background: #EEEEEE; position: relative; overflow: hidden; padding-bottom: 20px }
  .box_subcourses3 li.required::after { content: none }
  .box_subcourses3 li.required::before { display: block; transform: none; border-radius: 0; font-size: 18px; top: 0; left: 0; right: 0; bottom: auto }
  .box_voice > .head, body .box_voice > .head { font-size: 22px !important; margin: -15px -15px 30px !important }
  .box_voice { padding: 15px; margin-left: -20px; margin-right: -20px }
  .breadcrumbs_wrap { margin-bottom: 30px }
  .btn_back { font-size: 18px; padding: 15px 35px; width: 80% }
  .btn_blue {color: #fff !important;}
  .btn_blueline {min-width: 0;width: 100%;max-width: 480px;white-space: normal;}
  .btn_freedial { display: block; background: #C36B2B; color: #fff !important; text-decoration: none; font-size: 8vw; font-weight: bold; border-radius: 4px; position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 65px; padding: 0 30px 0 55px }
  .btn_freedial::after {content: "";background: url(/img/cmn/arrow-white.svg) center/contain no-repeat;position: absolute;top: 50%;right: 10px;transform: translateY(-50%);width: 10px;height: 17px;}
  .btn_freedial::before {content: "";background: url(/img/cmn/icon-freedial.svg) center/contain no-repeat;position: absolute;top: 50%;left: 12px;transform: translateY(-50%);width: 33px;height: 21px;}
  .btn_orange { font-size: 18px; padding: 15px 35px; width: 80% }
  .btn_square { max-width: 100%; min-width: 0 }
  .btn_submit { font-size: 18px; padding: 15px 35px; width: 80%; margin-top: 20px }
  .btn_white { color: #155199 !important }
  .gmap > iframe { height: 300px }
  .gmap { margin: 0 -20px }
  .hd_bold {margin: 20px auto;text-align: justify;}
  .hd_bold2 {font-size: 27px !important;line-height: 1.4 !important;margin-bottom: 40px;}
  .hd_bold3 { font-size: 27px; line-height: 1.4; display: table; margin: 30px auto }
  .hd_bold4 { font-size: 22px !important }
  .hd_boldline { font-size: 27px; line-height: 1.4 }
  .hd_boldsquare, * .mce-content-body .hd_boldsquare { font-size: 20px }
  .hd_boldsquare::before, * .mce-content-body .hd_boldsquare::before { width: 16px; height: 16px }
  .hd_curl, * .mce-content-body .hd_curl {font-size: 25px;padding: 25px 15px;text-align: center;margin: 45px auto 20px;}
  .hd_hasen, * .mce-content-body .hd_hasen { font-size: 20px }
  .hd_linecenter {font-size: 20px;padding: 0 20px;margin: 20px auto;}
  .hd_linecenter::after { right: calc(50% - 50vw + 20px) }
  .hd_linecenter::before { left: calc(50% - 50vw + 20px) }
  .hd_linegray, * .mce-content-body .hd_linegray {font-size: 22px !important;line-height: 1.4 !important;border-bottom-width: 2px !important;padding: 0 15px 5px !important;margin: 20px auto !important;}
  .hd_numbar .num { width: 50px; height: 50px; top: -30px; left: 50%; transform: translateX(-50%) }
  .hd_numbar, * .mce-content-body .hd_numbar { font-size: 25px; padding: 25px 15px 10px; text-align: center; margin: 45px auto 20px }
  .link_arrow::after { background-image: url(/img/cmn/arrow-blue.svg) }
  .list_2photos > li + li, * .mce-content-body .list_2photos > li + li { margin-top: 20px }
  .list_2photos > li, * .mce-content-body .list_2photos > li { width: auto }
  .list_blogs li + li, * .mce-content-body .list_blogs li + li { margin-top: 5px }
  .list_blogs li, * .mce-content-body .list_blogs li { text-align: center }
  .list_blogs, * .mce-content-body .list_blogs { display: block }
  .list_boxnum, * .mce-content-body ol.list_boxnum { margin-left: -20px; margin-right: -20px }
  .list_courses li + li, * .mce-content-body .list_courses li + li { margin-top: 20px }
  .list_courses li, * .mce-content-body .list_courses li {width: auto;max-width: 300px;margin: 0 auto;}
  .list_courses, * .mce-content-body .list_courses {display: block;margin: 40px auto 20px;padding: 0 15px;}
  .list_footermenu + .list_footermenu { margin: 0 }
  .list_footermenu { display: block }
  .list_info .cat { font-size: 12px; line-height: 16px; position: relative; top: -2px; width: 80px }
  .list_info .date { margin-right: 0 }
  .list_info .meta { width: auto; font-size: 16px }
  .list_info .ttl a { text-decoration: none }
  .list_info .ttl { width: auto }
  .list_info > li { display: block; padding: 10px 5px }
  .list_info { margin: 20px auto; height: 350px; padding: 0 }
  .list_info_option { margin-top: -10px }
  .list_linebtns > li + li { margin-top: 20px }
  .list_linebtns { display: block }
  .list_linkbtns > li + li { margin-top: 20px }
  .list_linkbtns > li { width: auto; max-width: 500px; margin: 0 auto }
  .list_linkbtns { display: block }
  .list_links > li + li, .list_links > li:nth-child(n+3) { margin-top: 20px }
  .list_links > li {margin: 0;width: 100%;max-width: 400px;}
  .list_links > li:nth-child(n+3) {}
  .list_links { margin: 20px auto }
  .list_news .date { display: block; width: auto }
  .list_news .new { font-size: 13px; padding: 1px 5px; width: auto; margin-left: .5em }
  .list_news .ttl .new { display: none }
  .list_news .ttl a { max-width: none; width: 100% }
  .list_news .ttl { display: block; margin-top: 8px }
  .list_news { margin: 20px auto }
  .list_news_option { margin-top: -10px }
  .list_pickup > li + li { margin-top: 20px }
  .list_pickup > li { width: auto; max-width: 500px; margin-left: auto; margin-right: auto }
  .list_pickup a { border-width: 3px }
  .list_pickup { display: block }
  .list_qs li, * .mce-content-body .list_qs li { width: 100% }
  .list_cl li, * .mce-content-body .list_cl li { width: 100% }
  .list_reasons > li + li { margin-top: 30px }
  .list_reasons > li {font-size: 18px;width: auto;border-width: 2px;padding: 15px 10px 8px;max-width: 500px;margin: auto;}
  .list_reasons > li::before { width: 36px; height: 36px }
  .list_reasons { display: block; margin: 40px auto 20px }
  .list_reasons_option {margin-top: -10px;font-size: 15px;max-width: 500px;}
  .list_sns > li {margin: 10px 5px !important;}
  .list_sns { margin: -10px auto }
  .list_times .time {font-size: 18px;border: none;padding: 0;margin: 0;white-space: nowrap;padding-right: 20px;text-align: justify;}
  .list_times > li + li, .list_times > li:nth-child(2), .list_times > li:nth-child(3) { margin-top: 10px !important }
  .list_times > li { width: auto; margin: 0 !important; background: #fff; display: flex; align-items: center; justify-content: space-between; padding: 10px !important }
  .list_times > li.required { padding-top: 27px !important }
  .list_times { display: block }
  .list_times, .list_times.hasrequired { padding: 0 10px; margin: 20px auto !important }
  .list_tokuten .hosoku { text-align: center; font-size: 20px; line-height: 1.4 }
  .list_tokuten .main { font-size: 31px; line-height: 1.2; text-align: center }
  .list_tokuten > li + li, .mce-content-body ul.list_tokuten > li + li { margin-top: 20px }
  .list_tokuten > li { width: auto }
  .list_tokuten > li::before, .list_tokuten > li::after { width: 42px; height: 42px }
  .list_tokuten { display: block }
  .list_tokuten.pair .main { font-size: 28px }
  .list_tokuten.pair li { width: 100% }
  .list_tokuten.pair li:nth-child(2) { margin-top: 30px }
  .list_tokuten.wide > li { width: 100%; margin: 0 auto }
  .tandem tr > * + * { margin-top: 10px }
  .tandem tr > * { display: block; border: none; padding: 0 }
  .tandem tr { display: block; margin-top: -1px; border: dotted #888; border-width: 1px 0; padding: 10px 0 }
  /* /Common (SMP) */
  /* ============================================================ */



  /* ============================================================ */
  /* Header (SMP) */
  #gn .current a { pointer-events: none }
  #gn .current a::after {content: "";position: absolute;left: 0;right: 0;border-bottom: 1px solid;bottom: 5px;}
  #gn .en { display: none }
  #gn a { color: inherit; padding: 13px 0; position: relative; display: block }
  #gn a:hover { text-decoration: none }
  #gn li { width: auto; margin: 0 !important; padding: 0 }
  #gn li::before, #gn li::after { content: none !important }
  #gn { padding: 0 10px; background: #132e59; color: #fff; font-size: 16px; margin: 0 }
  #header .con { transition: all ease .3s }
  #header .des { display: none }
  #header .guide { display: none }
  #header .logo { position: static; width: calc(100vw - 223px - 20px); max-width: 160px }
  #header { display: flex; padding: 5px; align-items: center; justify-content: space-between; min-height: 0; margin: 0; position: fixed; top: 0; left: 0; width: 100vw; z-index: 9999999; transition: all ease .3s; background: #fff; box-shadow: 0 -5px 10px #000, 0 -5px 10px #000 }
  #overlay { background: #000; opacity: 0; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999999; pointer-events: none; transition: all ease .3s }
  #spgn .bottom { padding: 0 15px 100px; background: #d8e8fe }
  #spgn .btn_menu { font-size: 4vw; font-weight: bold; line-height: 40px; margin: 30px auto; display: table; border: 1px solid; padding: 0 30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
  #spgn .top { padding: 50px 15px 0; background: #eeeeee }
  #spgn ul a {font-size: 4vw;font-weight: bold;line-height: 50px;display: block;color: inherit;border-bottom: 1px solid;text-decoration: none;position: relative;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;padding-right: 20px;}
  #spgn ul a::after {content: "";position: absolute;top: 50%;right: 0;transform: translateY(-50%);width: 15px;height: 21px;background: url(/img/cmn/arrow-gray.svg) center/contain no-repeat;}
  #spgn { position: fixed; top: 0; bottom: 0; overflow-y: scroll; right: -80vw; width: 346px; max-width: 80vw; z-index: 9999999; transition: all ease .3s }
  #spgn2 .head { font-size: 20px; font-weight: bold; background: #24529B; color: #fff; text-align: center; margin: 0 -20px 15px; line-height: 43px }
  #spgn2 .head2 { font-size: 5.5vw; font-weight: bold; margin-bottom: 10px }
  #spgn2 > .inner { background: #fff; padding: 0 20px 20px }
  #spgn2 hr { border: none; border-top: 1px dashed #888; margin: 20px auto }
  #spgn2 p { margin: 10px auto 0; font-size: 3.7vw }
  #spgn2 { position: fixed; top: 62px; left: 0; right: 0; height: 0; overflow-y: scroll; background: rgba(0, 0, 0, .7); z-index: 9999999; padding: 0 15px; transition: all ease .3s }
  .openmenu #header { left: -80vw }
  .openmenu #overlay { opacity: .7; pointer-events: auto }
  .openmenu #spgn { right: 0 }
  .openmenu #spgn2 { transform: translateX(-80vw) }
  .openmenu .spbtn .item1 { animation: nav01_open .5s forwards }
  .openmenu .spbtn .item2 { animation: nav02_open .5s forwards }
  .openmenu .spbtn .item3 { animation: nav03_open .5s forwards }
  .openmenu2 #header .con { opacity: .5 }
  .openmenu2 #spgn2 { height: calc(100% - 62px); padding: 15px }
  .spbtn .item1 { top: 15px; animation: nav01_close .5s forwards }
  .spbtn .item2 { top: 24px; animation: nav02_close .5s forwards }
  .spbtn .item3 { bottom: 15px; animation: nav03_close .5s forwards }
  .spbtn .menu > * { border-bottom: 1px solid #000; display: block; position: absolute; left: 10px; right: 10px }
  .spbtn .menu { border: 1px solid #000; position: relative }
  .spbtn > * + * { margin-left: 5px }
  .spbtn > * { width: 52px }
  .spbtn { display: flex; justify-content: right }
  /* /Header (SMP) */
  /* ============================================================ */



  /* ============================================================ */
  /* Footer (SMP) */
  #copy { font-size: 12px }
  #footer .logo { text-align: center; margin: 0 auto 30px }
  #pagetop { display: none }
  .resdv .tyuusyaku { font-size: calc((100vw - 40px) / 100 * 5 ) }
  .resdv > .head .left { padding: 0 20px; text-align: center }
  .resdv > .head .right { padding: 10px 20px; line-height: 1.5; font-size: 18px }
  .resdv > .head > .inner { display: block; padding: 0 }
  .resdv > .head { background: none }
  .resdv { margin: 60px auto }
  /* /Footer (SMP) */
  /* ============================================================ */



  /* ============================================================ */
  /* Page, Single (SMP) */
  .alignleft, .alignright { float: none; display: block; margin: 0 auto 20px }
  .course1 { margin-left: -20px; margin-right: -20px }
  .course2 .bundle { text-align: left; padding: 0; border: none }
  .course2 .price { display: block; text-align: right !important }
  .course2 .time {text-align: left;margin-bottom: 10px;}
  .course2 > li { display: block !important }
  .form .fields .row .label.required::after { font-size: 13px }
  .form .fields .row > * { display: block; border: none; padding: 0 }
  .form .fields .row > .label { margin-bottom: 10px }
  .form .fields .row { display: block; border: solid #ccc; border-width: 1px 0; margin-top: -1px; padding: 20px 0 }
  .form .mwform-tel-field input[type="text"] { width: calc((100% - 2em) / 3) }
  .form .mwform-tel-field { display: flex; align-items: center }
  .form { max-width: 500px; margin: auto }
  .home10 { font-size: 14px !important; margin: 0 !important }
  .home11 { margin-bottom: 20px !important }
  .home12 .box_subcourses2 .head_price { padding-top: 20px }
  .home13 { display: none }
  .home15 li + li { margin-top: 20px !important }
  .home15 li { width: 100% !important; max-width: 500px; margin: auto }
  .home2 > .left { padding-bottom: 40px !important }
  .home2 > .right::before {content: "";position: absolute;top: -70px;left: 0;right: 0;border-style: solid;border-width: 35px 50vw;border-color: transparent transparent #24529b #24529b;}
  .home5 { background: #132E59; padding-bottom: 0 !important }
  .home6 { margin: 0 -20px; text-align: center }
  .home7 {margin-left: -20px !important;margin-right: -20px !important;}
  .home8 .whiteline { margin: 10px auto 30px }
  .home8 { background: #132E59 !important; padding-bottom: 0 !important }
  .home9 { border-bottom: 4px solid !important; padding: 0 20px 20px !important; display: table }
  .mce-content-body h2 {font-size: 27px !important;margin: 60px auto 20px;}
  .mce-content-body h3 { font-size: 25px; margin: 45px auto 20px; padding: 5px 15px }
  .mce-content-body h4 { font-size: 20px; margin: 40px auto 20px }
  .mce-content-body h5, .mce-content-body h6 { margin: 40px auto 20px }
  .pagettl { font-size: 32px; margin: 40px auto }
  .pagettl2 { margin: 20px 20px 10px }
  .pagination .list a { max-width: 8em }
  .pagination .prev a, .pagination .next a { width: 5em }
  .pagination .prev, .pagination .next { width: 6em }
  .pagination { font-size: 4vw }
  .postmeta .date { font-size: 14px }
  .reseve1 { padding-bottom: 20px !important }
  .shopslide .slick-arrow { width: 20px; height: 35px }
  .shopslide { max-width: 425px }
  input[type="text"], input[type="email"], textarea { padding: 8px 10px }
  /* /Page, Single (SMP) */
  /* ============================================================ */
}



































@media ( min-width: 426px) and ( max-width: 767px ) {
  #gn ul { justify-content: space-around }
  #spgn .btn_menu { font-size: 18px }
  #spgn ul a { font-size: 18px }
  .box_shopinfo .body p { font-size: 16px }
  .box_shops p { font-size: 17px }
  .box_subcourses3 .boxtime.wide { margin: 0 }
  .list_2photos > li + li, * .mce-content-body .list_2photos > li + li { margin-top: 0 }
  .list_2photos > li, * .mce-content-body .list_2photos > li { width: calc((100% - 20px) / 2) }
  .pagination { font-size: 17px }
  .resdv .tyuusyaku { font-size: 18px }
}





@media ( min-width: 620px ) and ( max-width: 767px ) {
  .list_tokuten > li { width: calc((100% - 40px) / 3) }
  .list_tokuten > li:nth-child(2), .mce-content-body ul.list_tokuten > li:nth-child(2),.list_tokuten > li:nth-child(3), .mce-content-body ul.list_tokuten > li:nth-child(3) { margin-top: 0 }
  .list_tokuten { display: flex }
}





@media ( min-width: 432px ) and ( max-width: 767px ) {
  .openmenu #header { left: -346px }
  .openmenu #spgn2 { transform: translateX(-346px) }
  body.openmenu { left: -346px }
}





@media ( max-width: 425px ) {
  .box_subcourses3 .boxtime.wide {margin: 0 20px 0 40px;text-align: center;}
  .tab-only { display: none !important }
  .homeslide .slick-list li { opacity: 1 }
}





@media ( max-width: 424px ) {
  .box_subcourses3 .price { display: block; text-align: right }
  .list_times .time { text-align: left }
  .list_times > li { display: block }
}





@media ( max-width: 374px ) {
  #copy { font-size: 11px }
  #gn { font-size: 12px }
  .box_shopinfo .body { padding: 0 5px 10px }
  .box_shopinfo .head, * .mce-content-body .box_shopinfo .head { margin: 0 -5px 20px }
  .box_subcourses2 .detail { font-size: 20px }
  .box_subcourses2 .head { font-size: 20px }
  .home14 { display: none }
  .list_tokuten .hosoku { font-size: 16px }
  .list_tokuten .main { font-size: 28px }
  .reason3.hd_numbar, * .mce-content-body .reason3.hd_numbar { font-size: 22px !important }
}





@keyframes nav01_open {
  50% { transform: translateY(10px) }
  100% { transform: translateY(10px) rotate(45deg) }
}
@keyframes nav01_close {
  0% { transform: translateY(10px) rotate(45deg) }
  50% { transform: translateY(10px) rotate(0) }
  100% { transform: translateY(0) rotate(0) }
}
@keyframes nav02_open {
  100% { opacity: 0 }
}
@keyframes nav02_close {
  0% { opacity: 0 }
  100% { opacity: 1 }
}
@keyframes nav03_open {
  50% { transform: translateY(-10px) }
  100% { transform: translateY(-10px) rotate(-45deg) }
}
@keyframes nav03_close {
  0% { transform: translateY(-10px) rotate(-45deg) }
  50% { transform: translateY(-10px) rotate(0) }
  100% { transform: translateY(0) rotate(0) }
}








