@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # ================================================================= # Global selectors # ================================================================= */
@import url("https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300&display=swap");
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */ word-break: normal; -moz-tab-size: 4; tab-size: 4; }

*, ::before, ::after { background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */ box-sizing: inherit; }

::before, ::after { text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */ vertical-align: inherit; }

* { padding: 0; /* Reset `padding` and `margin` of all elements */ margin: 0; }

/* # ================================================================= # General elements # ================================================================= */
hr { overflow: visible; /* Show the overflow in Edge and IE */ height: 0; /* Add the correct box sizing in Firefox */ color: inherit; /* Correct border color in Firefox. */ }

details, main { display: block; /* Render the `main` element consistently in IE. */ }

summary { display: list-item; /* Add the correct display in all browsers */ }

small { font-size: 80%; /* Set font-size to 80% in `small` elements */ }

[hidden] { display: none; /* Add the correct display in IE */ }

abbr[title] { border-bottom: none; /* Remove the bottom border in Chrome 57 */ /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */ text-decoration: underline; text-decoration: underline dotted; }

a { background-color: transparent; /* Remove the gray background on active links in IE 10 */ }

a:active, a:hover { outline-width: 0; /* Remove the outline when hovering in all browsers */ }

code, kbd, pre, samp { font-family: monospace, monospace; /* Specify the font family of code elements */ }

pre { font-size: 1em; /* Correct the odd `em` font sizing in all browsers */ }

b, strong { font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */ }

/* https://gist.github.com/unruthless/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

table { border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */ text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */ }

/* # ================================================================= # Forms # ================================================================= */
input { border-radius: 0; }

/* Replace pointer cursor in disabled elements */
[disabled] { cursor: default; }

[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button { height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */ }

[type='search'] { -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */ outline-offset: -2px; /* Correct the outline style in Safari */ }

[type='search']::-webkit-search-decoration { -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */ }

textarea { overflow: auto; /* Internet Explorer 11+ */ resize: vertical; /* Specify textarea resizability */ }

button, input, optgroup, select, textarea { font: inherit; /* Specify font inheritance of form elements */ }

optgroup { font-weight: bold; /* Restore the font weight unset by the previous rule */ }

button { overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ }

button, select { text-transform: none; /* Firefox 40+, Internet Explorer 11- */ }

/* Apply cursor pointer to button elements */
button, [type='button'], [type='reset'], [type='submit'], [role='button'] { cursor: pointer; color: inherit; }

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner { border-style: none; padding: 0; }

/* Replace focus style removed in the border reset above */
button:-moz-focusring, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner { outline: 1px dotted ButtonText; }

button, html [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */ }

/* Remove the default button styling in all browsers */
button, input, select, textarea { background-color: transparent; border-style: none; }

a:focus, button:focus, input:focus, select:focus, textarea:focus { outline-width: 0; }

/* Style select like a standard input */
select { -moz-appearance: none; /* Firefox 36+ */ -webkit-appearance: none; /* Chrome 41+ */ }

select::-ms-expand { display: none; /* Internet Explorer 11+ */ }

select::-ms-value { color: currentColor; /* Internet Explorer 11+ */ }

legend { border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */ color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */ display: table; /* Correct the text wrapping in Edge and IE */ max-width: 100%; /* Correct the text wrapping in Edge and IE */ white-space: normal; /* Correct the text wrapping in Edge and IE */ max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */ }

::-webkit-file-upload-button { /* Correct the inability to style clickable types in iOS and Safari */ -webkit-appearance: button; color: inherit; font: inherit; /* Change font properties to `inherit` in Chrome and Safari */ }

/* # ================================================================= # Specify media element style # ================================================================= */
img { border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */ }

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress { vertical-align: baseline; }

/* # ================================================================= # Accessibility # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy='true'] { cursor: progress; }

/* Specify the pointer cursor of trigger elements */
[aria-controls] { cursor: pointer; }

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled='true'] { cursor: default; }

.alignC { text-align: center !important; }

.alignR { text-align: right !important; }

.alignT { vertical-align: top !important; }

.alignM { vertical-align: middle !important; }

.alignB { vertical-align: bottom !important; }

.mt0 { margin-top: 0px !important; }

.mt10 { margin-top: 10px !important; }

.mt20 { margin-top: 20px !important; }

.mt30 { margin-top: 30px !important; }

.mt40 { margin-top: 40px !important; }

.mt50 { margin-top: 50px !important; }

.mt60 { margin-top: 60px !important; }

.mt70 { margin-top: 70px !important; }

.mt80 { margin-top: 80px !important; }

.mt90 { margin-top: 90px !important; }

.mt100 { margin-top: 100px !important; }

.mt110 { margin-top: 110px !important; }

.mt120 { margin-top: 120px !important; }

.mt130 { margin-top: 130px !important; }

.mt140 { margin-top: 140px !important; }

.mt150 { margin-top: 150px !important; }

.mt160 { margin-top: 160px !important; }

.mt170 { margin-top: 170px !important; }

.mt180 { margin-top: 180px !important; }

.mt190 { margin-top: 190px !important; }

.mt200 { margin-top: 200px !important; }

.mb0 { margin-bottom: 0px !important; }

.mb10 { margin-bottom: 10px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb40 { margin-bottom: 40px !important; }

.mb50 { margin-bottom: 50px !important; }

.mb60 { margin-bottom: 60px !important; }

.mb70 { margin-bottom: 70px !important; }

.mb80 { margin-bottom: 80px !important; }

.mb90 { margin-bottom: 90px !important; }

.mb100 { margin-bottom: 100px !important; }

.mb110 { margin-bottom: 110px !important; }

.mb120 { margin-bottom: 120px !important; }

.mb130 { margin-bottom: 130px !important; }

.mb140 { margin-bottom: 140px !important; }

.mb150 { margin-bottom: 150px !important; }

.mb160 { margin-bottom: 160px !important; }

.mb170 { margin-bottom: 170px !important; }

.mb180 { margin-bottom: 180px !important; }

.mb190 { margin-bottom: 190px !important; }

.mb200 { margin-bottom: 200px !important; }

.font10 { font-size: 10px !important; }

.font12 { font-size: 12px !important; }

.font14 { font-size: 14px !important; }

.font16 { font-size: 16px !important; }

.font18 { font-size: 18px !important; }

.font20 { font-size: 20px !important; }

.font22 { font-size: 22px !important; }

.font24 { font-size: 24px !important; }

.font26 { font-size: 26px !important; }

.font28 { font-size: 28px !important; }

.font30 { font-size: 30px !important; }

.font40 { font-size: 40px !important; }

.sup { font-size: 50%; position: relative; top: -1em; }

.white { color: #fff !important; }

.red { color: #FF0505 !important; }

.serif { font-family: serif; }

.san-serif { font-family: san-serif; }

html, body { height: 100%; }

html { font-size: 62.5%; }

body { font-family: sans-serif; font-size: 1.6rem; background: #F8FDFF; }

body, h1, h2, h3, h4, h5, h6, div, p, dt, dd, li, th, td, input, textarea, select, option, a { margin: 0; padding: 0; color: #002455; font-family: 'Kiwi Maru', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Helvetica, Arial, "メイリオ", Meiryo, sans-serif; letter-spacing: normal; }

main { display: block; }

ul, ol { list-style-type: none; }

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

img { vertical-align: bottom; }

a { text-decoration: none; }

a:hover { transition: 0.5s; opacity: 0.7; }

em { font-style: normal; }

#sp-menu { display: none; }

@media (min-width: 768px) { .sp { display: none; }
  .pc { display: inline; }
  #wrap { min-width: 1200px; } }
@media (max-width: 767px) { .sp { display: inline; }
  .pc { display: none; }
  #wrap { min-width: 320px; margin: 0 auto; padding-top: 80px; } }
/*==================================================
header
==================================================*/
@media (min-width: 768px) { #home #header { top: 585px; }
  #home #header #global { justify-content: center; }
  #home #header .logo { display: none; }
  #header { position: absolute; z-index: 3; top: 480px; left: 0; width: 100%; height: 78px; background: #fff; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
  #header .inner { width: 1200px; height: 78px; margin: 0 auto; }
  #header #global { display: flex; justify-content: space-between; padding: 0 65px; }
  #header #global .navi { display: flex; justify-content: center; align-items: center; height: 78px; }
  #header #global .navi li { padding: 0 35px; }
  #header #global .navi a { text-align: center; color: #002455; font-size: 1.6rem; }
  #header #global .navi li a:after { display: block; font-size: 1.4rem; }
  #header #global .navi li:nth-child(1) a:after { content: '-home-'; }
  #header #global .navi li:nth-child(2) a:after { content: '-about-'; }
  #header #global .navi li:nth-child(3) a:after { content: '-menu-'; }
  #header #global .navi li:nth-child(4) a:after { content: '-info-'; }
  #header #global .navi li:nth-child(5) a:after { content: '-contact-'; }
  #header .menu-btn { display: none; }
  #header body.on { height: 100%; overflow: hidden; }
  #header #sp-menu { display: none; } }
@media (max-width: 767px) { #header { position: fixed; top: 0; left: 0; width: 100%; height: 80px; background: #fff; z-index: 1000; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2); }
  #header .inner { width: 320px; height: 80px; margin: 0 auto; }
  #header .logo { padding: 20px 50px 0 0; text-align: center; }
  #header .logo img { width: 200px; }
  #header .menu-btn { position: absolute; top: 18px; right: 18px; width: 45px; height: 45px; background: #002455; cursor: pointer; background: url(../img/common/menu_btn.svg); background-size: 45px 45px; } }
/*==================================================
sp-menu
==================================================*/
@media (max-width: 767px) { #global .navi { display: none; }
  #sp-menu { display: none; position: fixed; top: 80px; left: 0; width: 100%; padding: 20px 0; height: calc(100vh - 80px); overflow: auto; background: #002455; z-index: 2000; }
  #sp-menu .navi { display: table; margin: 0 auto; }
  #sp-menu .navi li { border-bottom: 2px dotted rgba(255, 255, 255, 0.5); }
  #sp-menu .navi a { display: block; width: 100%; padding: 20px 30px; text-align: center; color: #fff; font-size: 2rem; cursor: pointer; } }
/*==================================================
footer
==================================================*/
@media (min-width: 768px) { #footer .inner { width: 1100px; margin: 0 auto; padding: 100px 0 50px; }
  #footer .navi { display: flex; justify-content: space-between; align-items: flex-end; margin: 0 0 45px; padding: 0 0 10px; border-bottom: 2px solid #000; }
  #footer .navi ul { display: flex; }
  #footer .navi li { padding: 0 15px; }
  #footer .navi a { color: #002455; font-size: 1.9rem; }
  #footer .column { width: 1016px; margin: 0 auto; display: flex; justify-content: space-between; }
  #footer .info dl { display: flex; align-items: flex-start; margin: 30px 0 15px; }
  #footer .info dl dt { width: 90px; margin: 0 15px 0 0; padding: 8px 0; text-align: center; color: #fff; font-size: 1.4rem; line-height: 1; background: #002455; border-radius: 4px; }
  #footer .info dl dd { font-size: 1.5rem; line-height: 1.8; }
  #footer .info dl dd strong { font-size: 1.7rem; }
  #footer .info .tel { padding: 10px 0; text-align: center; border-top: 1px solid #002455; border-bottom: 1px solid #002455; }
  #footer .info .addr { margin: 10px 0 0; font-size: 1.7rem; }
  #footer .info .addr span { font-size: 1.5rem; }
  #footer .map { width: 527px; height: 354px; border-radius: 20px; overflow: hidden; } }
@media (max-width: 767px) { #footer .inner { margin: 0 auto; padding: 30px 0 0; }
  #footer .navi { margin: 0 20px 30px; padding: 0 0 10px; text-align: center; border-bottom: 2px solid #000; }
  #footer .navi p img { width: 250px; }
  #footer .navi ul { display: none; }
  #footer .info { margin: 0 20px 30px; }
  #footer .info .sche img { width: 100%; }
  #footer .info dl { display: flex; align-items: flex-start; margin: 30px 0 15px; }
  #footer .info dl dt { width: 90px; margin: 0 15px 0 0; padding: 8px 0; text-align: center; color: #fff; font-size: 1.4rem; line-height: 1; background: #002455; border-radius: 4px; }
  #footer .info dl dd { flex: 1; font-size: 1.5rem; line-height: 1.8; }
  #footer .info dl dd strong { font-size: 1.7rem; }
  #footer .info .tel { margin: 30px 0; padding: 10px 0; text-align: center; border-top: 1px solid #002455; border-bottom: 1px solid #002455; }
  #footer .info .addr { margin: 10px 0 0; font-size: 1.7rem; }
  #footer .info .addr span { font-size: 1.5rem; }
  #footer .map { width: 100%; height: 220px; }
  #footer .map iframe { width: 100%; height: 220px; } }
/*==================================================
layout parts
==================================================*/
main section > .inner { width: 1200px; margin: 0 auto; }
main section > .inner.full { width: 100%; }
main section p { font-size: 1.6rem; line-height: 1.8; }
main section em { color: inherit; }
main section .small { font-size: 80%; }

@media (max-width: 767px) { main section > .inner { width: 100%; margin: 0 auto; }
  main section p { font-size: 1.4rem; } }
#visual { position: relative; width: 100%; height: 480px; margin-bottom: 78px; z-index: 100; }
#visual .main { padding: 136px 0 0; text-align: center; color: #fff; font-size: 4.6rem; text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2); }
#visual .sub { margin: 10px 0 0; text-align: center; color: #fff; font-size: 3.4rem; letter-spacing: 0.1em; text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2); }

#about #visual { background: url(../img/common/wave.png) bottom center no-repeat, url(../img/about/visual.jpg) top center no-repeat; background-size: 100% 77px, cover; }

#menu #visual { background: url(../img/common/wave.png) bottom center no-repeat, url(../img/menu/visual.jpg) top center no-repeat; background-size: 100% 77px, cover; }

#info #visual { background: url(../img/common/wave.png) bottom center no-repeat, url(../img/info/visual.jpg) top center no-repeat; background-size: 100% 77px, cover; }

#contact #visual, #privacy #visual { background: url(../img/common/wave.png) bottom center no-repeat, url(../img/contact/visual.jpg) top center no-repeat; background-size: 100% 77px, cover; }

@media (max-width: 767px) { #visual { width: 100%; height: 200px; margin-bottom: 0; }
  #visual .main { padding: 50px 0 0; font-size: 3rem; }
  #visual .sub { margin: 10px 0 0; font-size: 2rem; }
  #about #visual { background-size: 0 0, cover; }
  #menu #visual { background-size: 0 0, cover; }
  #info #visual { background-size: 0 0, cover; }
  #contact #visual, #privacy #visual { background-size: 0 0, cover; } }
.title { margin: 0 0 50px; text-align: center; font-size: 3.3rem; line-height: 76px; background: url(../img/common/title_bg.png) center center no-repeat; }

@media (max-width: 767px) { .title { margin: 0 0 30px; padding: 20px 0; font-size: 2rem; line-height: 1.5; background: url(../img/common/title_bg.png) center center no-repeat; background-size: auto 40px; } }
#top-visual { position: relative; width: 100%; height: 585px; margin-bottom: 78px; background: url(../img/common/wave.png) bottom center no-repeat, url(../img/home/visual.jpg) top center no-repeat; background-size: 100% 77px, cover; z-index: 100; }
#top-visual h1 { padding: 136px 0 0; text-align: center; }
#top-visual p:nth-of-type(1) { margin: 56px 0 20px; text-align: center; color: #002455; font-size: 3rem; }
#top-visual p:nth-of-type(2) { text-align: center; color: #002455; font-size: 1.5rem; line-height: 2; }

#reco { padding: 130px 0 90px; background: url(../img/home/bg_sky.jpg) top center no-repeat; background-size: 100% 667px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
#reco .lead { margin: 0 0 280px; text-align: center; font-size: 2.4rem; line-height: 2.6; }
#reco ul { display: flex; justify-content: center; }
#reco ul li { width: 280px; text-align: center; }
#reco ul img { display: block; margin: 0 auto 10px; }

#link { padding: 80px 0; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
#link ul { display: flex; justify-content: space-between; flex-wrap: wrap; width: 900px; margin: 0 auto; }
#link li:nth-child(2) { padding-top: 80px; margin-bottom: 20px; }
#link li:nth-child(3) { margin-top: -80px; }

@media (max-width: 767px) { #top-visual { width: 100%; height: 300px; margin: 0; background: url(../img/common/wave.png) bottom center no-repeat, url(../img/home/visual.jpg) top center no-repeat; background-size: 0 0, cover; }
  #top-visual h1 { padding: 60px 0 0; text-align: center; }
  #top-visual h1 img { width: 200px; }
  #top-visual p:nth-of-type(1) { margin: 20px 0 20px; font-size: 1.8rem; }
  #top-visual p:nth-of-type(2) { font-size: 1.4rem; }
  #reco { padding: 60px 20px 40px; background-size: 100% 400px; }
  #reco .lead { margin: 0 0 100px; font-size: 1.4rem; }
  #reco ul { display: flex; flex-direction: column; justify-content: center; }
  #reco ul li { width: auto; text-align: center; margin: 0 0 50px; }
  #reco ul img { display: block; width: 225px; margin: 0 auto 10px; }
  #link { padding: 40px 20px; }
  #link ul { display: flex; flex-direction: column; justify-content: center; flex-wrap: wrap; width: 100%; margin: 0 auto; }
  #link li { margin-bottom: 20px; text-align: center; }
  #link li:nth-child(2) { padding-top: 0px; margin-bottom: 20px; }
  #link li:nth-child(3) { margin-top: 0px; }
  #link img { width: 100%; max-width: 437px; } }
#about main .inner { padding: 120px 0; }
#about main .anchor { display: flex; justify-content: center; margin: 0 0 130px; }
#about main .anchor li { width: 442px; margin: 0 20px; }
#about main .anchor li a { display: flex; justify-content: center; align-items: center; width: 442px; height: 95px; color: #fff; font-size: 2.2rem; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); }
#about main .anchor li:nth-child(1) a { background: url(../img/about/link01.jpg); }
#about main .anchor li:nth-child(2) a { background: url(../img/about/link02.jpg); }
#about main .reason-box { width: 1100px; margin: 0 auto; padding: 70px 0 10px; background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); }
#about main .reason-box .reason { display: flex; justify-content: space-between; width: 1015px; margin: 0 auto 90px; }
#about main .reason-box dl { flex: 1; padding-right: 10px; }
#about main .reason-box dt { margin: 0 0 10px; font-size: 2.2rem; }
#about main .reason-box span { margin-right: 10px; font-size: 5rem; }
#about main .reason-box dd { font-size: 1.6rem; line-height: 2; }
#about main .reason-box p { width: 303px; }
#about main .reason-box img { box-shadow: 15px 15px 0 #C5D9E5; }
#about main #chiropractor .inner { padding-top: 0; }
#about main .chiropractor { display: flex; justify-content: space-between; width: 930px; margin: 0 auto 50px; }
#about main .chiropractor dl { width: 615px; }
#about main .chiropractor dt { font-size: 1.9rem; }
#about main .chiropractor dt span { font-size: 4.1rem; font-weight: bold; line-height: 2; }
#about main .chiropractor dd { font-size: 1.8rem; line-height: 2; }
#about main .career { width: 930px; margin: 0 auto; }
#about main .career h3 { margin: 0 0 20px; padding: 0 0 20px; font-size: 2.6rem; border-bottom: 2px solid #002455; }
#about main .career p { padding: 0 0 0 50px; font-size: 1.8rem; }

@media (max-width: 767px) { #about main .inner { padding: 50px 20px; }
  #about main .anchor { display: flex; flex-direction: column; justify-content: center; margin: 0 0 60px; }
  #about main .anchor li { width: 280px; margin: 0 auto 20px; }
  #about main .anchor li a { width: 280px; height: 70px; font-size: 1.4rem; }
  #about main .reason-box { width: auto; margin: 0 auto; padding: 30px 20px 10px; background: #fff; }
  #about main .reason-box .reason { display: flex; flex-direction: column; justify-content: space-between; width: 100%; margin: 0 auto 40px; }
  #about main .reason-box dl { flex: 1; padding-right: 0px; margin-bottom: 20px; }
  #about main .reason-box dt { margin: 0 0 20px; text-align: center; font-size: 1.6rem; }
  #about main .reason-box span { display: block; margin: 0 0 10px; font-size: 3rem; }
  #about main .reason-box dd { font-size: 1.4rem; line-height: 2; }
  #about main .reason-box p { width: 100%; text-align: center; }
  #about main .reason-box img { width: 100%; max-width: 300px; box-shadow: 10px 10px 0 #C5D9E5; }
  #about main .chiropractor { display: flex; flex-direction: column; justify-content: space-between; width: auto; margin: 0 auto 40px; }
  #about main .chiropractor p { text-align: center; }
  #about main .chiropractor dl { width: auto; }
  #about main .chiropractor dt { margin: 20px 0; text-align: center; font-size: 1.9rem; }
  #about main .chiropractor dt span { font-size: 2.5rem; }
  #about main .chiropractor dd { font-size: 1.4rem; line-height: 2; }
  #about main .career { width: auto; margin: 0 0 50px; }
  #about main .career h3 { margin: 0 0 10px; padding: 0 0 10px; text-align: center; font-size: 2rem; }
  #about main .career p { padding: 0; font-size: 1.4rem; } }
#menu main .inner { padding: 70px 0; }
#menu main .menu-box { width: 1107px; margin: 0 auto 170px; padding: 70px 0 30px; text-align: center; background: #fff; border: 5px solid #8ec1e4; border-radius: 10px; }
#menu main .menu-box h2 { display: inline-block; margin: 0 0 65px; padding: 0 0 25px; font-size: 3.3rem; border-bottom: 2px solid #005FD2; }
#menu main .menu-box ul { display: flex; justify-content: space-between; flex-wrap: wrap; width: 1054px; margin: 0 auto 50px; }
#menu main .menu-box li { width: 511px; margin: 0 0 30px; }
#menu main .menu-box li a { display: flex; justify-content: space-between; align-items: center; width: 511px; height: 78px; padding: 0 30px; font-size: 2rem; background: #f8fdff; border-radius: 15px; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); }
#menu main .menu-box li a:after { content: '＞'; }
#menu main .menu-box .ticket { display: flex; width: 776px; margin: 0 auto; }
#menu main .menu-box .ticket .txt1 { width: 478px; margin: 0 20px 0 0; padding: 20px 0; text-align: center; color: #fff; font-size: 2rem; line-height: 2; background: #0073C3; border-radius: 10px; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2); }
#menu main .menu-box .ticket .txt2 { width: 277px; height: 70px; color: #0073C3; font-size: 2rem; line-height: 60px; background: url(../img/menu/value.svg) no-repeat; }
#menu main .course { width: 1070px; margin: 0 auto 170px; }
#menu main .course .head { display: flex; justify-content: space-between; margin: 0 0 50px; }
#menu main .course .head h3 { width: 615px; color: #0073C3; font-size: 3rem; line-height: 1; }
#menu main .course .head p { flex: 1; line-height: 1; }
#menu main .course .head strong { color: #0073C3; font-size: 6.6rem; font-weight: bold; }
#menu main .course .head .yen { color: #0073C3; font-size: 3.2rem; }
#menu main .course .head .tax { font-size: 2.9rem; }
#menu main .course .body { display: flex; justify-content: space-between; width: 1070px; }
#menu main .course .body .txt { width: 520px; padding: 25px; font-size: 1.6rem; line-height: 2; background: #fff; box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2); }

@media (max-width: 767px) { #menu main .inner { padding: 60px 20px; }
  #menu main .menu-box { width: auto; margin: 0 auto 80px; padding: 30px 15px 30px; }
  #menu main .menu-box h2 { display: inline-block; margin: 0 0 30px; padding: 0 0 10px; font-size: 2rem; }
  #menu main .menu-box ul { display: flex; flex-direction: column; justify-content: space-between; flex-wrap: wrap; width: auto; margin: 0 0 30px; }
  #menu main .menu-box li { width: 100%; margin: 0 0 15px; }
  #menu main .menu-box li a { display: flex; justify-content: space-between; align-items: center; width: 100%; height: auto; padding: 15px 10px; font-size: 1.6rem; border-radius: 10px; }
  #menu main .menu-box .ticket { display: flex; flex-direction: column; width: auto; margin: 0 auto; }
  #menu main .menu-box .ticket .txt1 { width: auto; margin: 0; padding: 20px 0; text-align: center; color: #fff; font-size: 1.4rem; }
  #menu main .menu-box .ticket .txt1 span { font-size: 1.8rem; }
  #menu main .menu-box .ticket .txt2 { width: auto; height: auto; margin: 10px 0 0; padding: 0; color: #0073C3; font-size: 2rem; line-height: inherit; background: none; background: linear-gradient(transparent 60%, #f2d600 0%); }
  #menu main .course { width: auto; margin: 0 auto 80px; padding: 10px 0 0; }
  #menu main .course .head { display: flex; flex-direction: column; justify-content: space-between; margin: 0 0 20px; }
  #menu main .course .head h3 { width: auto; font-size: 1.8rem; }
  #menu main .course .head p { flex: 1; line-height: 1; text-align: right; margin: 10px 0 0; }
  #menu main .course .head strong { font-size: 2.6rem; }
  #menu main .course .head .yen { font-size: 2rem; }
  #menu main .course .head .tax { font-size: 1.6rem; }
  #menu main .course .body { display: flex; flex-direction: column; justify-content: space-between; width: auto; box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2); }
  #menu main .course .body .txt { width: auto; padding: 20px; font-size: 1.4rem; box-shadow: none; }
  #menu main .course .body .pic img { width: 100%; } }
#info main .inner { padding: 120px 0; }
#info main table { width: 700px; margin: 0 auto; border-top: 2px solid #0073C3; border-bottom: 2px solid #0073C3; }
#info main table th { width: 145px; padding: 30px 0 30px 20px; color: #fff; text-align: left; vertical-align: top; font-size: 1.9rem; font-weight: normal; background: #0073C3; border-bottom: 2px dotted #fff; }
#info main table td { padding: 30px 0 30px 20px; font-size: 1.7rem; line-height: 2.5; color: #002455; background: #fff; border-bottom: 2px dotted #0073C3; }

@media (max-width: 767px) { #info main .inner { padding: 60px 20px; }
  #info main table { width: 100%; margin: 0 auto; }
  #info main table th { width: 90px; padding: 30px 0 30px 10px; font-size: 1.4rem; line-height: 2; }
  #info main table td { padding: 30px 10px 30px 10px; font-size: 1.4rem; line-height: 2; } }
/*==================================================
contact
==================================================*/
#contact main .inner { padding: 120px 0; }
#contact main .lead { margin: 0 0 50px; text-align: center; font-size: 2rem; }
#contact main .privacy { margin: 0 0 100px; text-align: center; font-size: 1.8rem; }
#contact main .privacy a { text-decoration: underline; }
#contact main .info { width: 935px; margin: 0 auto; padding: 60px 0; border: 5px solid #8ec1e4; border-radius: 10px; background: #fff; }
#contact main .sche { text-align: center; }
#contact main .reserve { display: flex; align-items: flex-start; width: 689px; margin: 70px auto 15px; }
#contact main .reserve dt { width: 133px; margin: 0 30px 0 0; padding: 12px 0; text-align: center; color: #fff; font-size: 2.1rem; line-height: 1; background: #002455; border-radius: 4px; }
#contact main .reserve dd { font-size: 2.2rem; line-height: 1.8; }
#contact main .reserve dd strong { display: inline-block; margin: 0 0 10px; font-size: 2.5rem; }
#contact main .tel { width: 800px; margin: 90px auto; padding: 35px 0; text-align: center; border-top: 3px solid #F2D600; border-bottom: 3px solid #F2D600; }
#contact main .tel dt { position: relative; top: -50px; display: inline-block; padding: 0 20px; font-size: 2.3rem; line-height: 1; background: #F8FDFF; }
#contact main .tel dd { margin-top: -20px; }
#contact main .line { margin: 0 0 70px; text-align: center; }
#contact main .qr { text-align: center; }

@media (max-width: 767px) { #contact main .inner { padding: 60px 20px; }
  #contact main .lead { margin: 0 0 30px; font-size: 1.6rem; }
  #contact main .privacy { margin: 0 0 50px; font-size: 1.4rem; }
  #contact main .info { width: auto; padding: 30px 0; border: 3px solid #8ec1e4; }
  #contact main .sche { text-align: center; }
  #contact main .sche img { width: 90%; }
  #contact main .reserve { display: block; width: auto; margin: 30px 0 0; }
  #contact main .reserve dt { width: 100px; margin: 0 auto 10px; padding: 8px 0; font-size: 1.8rem; }
  #contact main .reserve dd { text-align: center; font-size: 1.5rem; }
  #contact main .reserve dd strong { font-size: 1.7rem; }
  #contact main .tel { width: auto; margin: 40px auto; padding: 20px 0; }
  #contact main .tel dt { top: -35px; padding: 0 10px; font-size: 1.5rem; }
  #contact main .tel dd { margin-top: -20px; padding: 0 20px; }
  #contact main .tel dd img { width: 100%; max-width: 447px; }
  #contact main .line { margin: 0 0 30px; text-align: center; }
  #contact main .line img { width: 100%; max-width: 424px; }
  #contact main .qr { text-align: center; }
  #contact main .qr img { width: 180px; } }
/*==================================================
privacy
==================================================*/
#privacy main .inner { padding: 120px 0; width: 1000px; }
#privacy main h3 { margin: 60px 0 20px; color: #002455; font-size: 2rem; }
#privacy main p { font-size: 1.6rem; }

@media (max-width: 767px) { #privacy main .inner { padding: 60px 20px; width: auto; }
  #privacy main h3 { margin: 50px 0 20px; font-size: 1.6rem; }
  #privacy main p { font-size: 1.4rem; } }
