@charset "UTF-8";
/*
** 1.Reset
*/
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-size: 100%; font: inherit; vertical-align: baseline; }

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

body { line-height: 1; font-family: 'Noto Sans JP',YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Arial',sans-serif; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: unset; }

@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { .body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after { content: ''; content: none; }

q:before, q:after { content: ''; content: none; }

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

a:link, a:visited, a:hover { text-decoration: none; color: inherit; color: initial; }

a img { border-width: 0px; border-style: none; border-color: #fff; background: transparent; outline: none; }

img, *:focus { outline: none; }

p { font-size: 14px; transform: rotate(0.05deg); }

h1, h2, h3, h4, h5 { transform: rotate(0.05deg); }

/*
** 1.Reset
*/
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-size: 100%; font: inherit; vertical-align: baseline; }

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

body { line-height: 1; font-family: 'Noto Sans JP',YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Arial',sans-serif; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: unset; }

@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { .body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after { content: ''; content: none; }

q:before, q:after { content: ''; content: none; }

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

a:link, a:visited, a:hover { text-decoration: none; color: inherit; color: initial; }

a img { border-width: 0px; border-style: none; border-color: #fff; background: transparent; outline: none; }

img, *:focus { outline: none; }

p { font-size: 14px; transform: rotate(0.05deg); }

h1, h2, h3, h4, h5 { transform: rotate(0.05deg); }

/*
** 2.Common style
*/
html { min-width: 1100px; font-size: 62.5%; }

.container { width: 1100px; margin: 0 auto; }

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

.sp { display: none !important; }

@media all and (-ms-high-contrast: none) { main p { font-weight: 600; } }

@media (max-width: 680px) { .pc { display: none !important; }
  .sp { display: block !important; }
  img.sp { width: 100%; }
  main { margin-top: 80px; }
  h2 { font-size: 22px !important; letter-spacing: 2px !important; padding-top: 50px !important; }
  h2:after { top: 87px !important; }
  h2 span { font-size: 14px !important; font-weight: lighter !important; } }

/*
** Header
*/
header { background: rgba(255, 255, 255, 0.9); height: 80px; position: fixed; width: 100%; top: 0; z-index: 999; }

header .flex { justify-content: space-between; }

header .left { width: 230px; padding-top: 10px; box-sizing: border-box; }

header .left img { height: 100%; max-height: 52px; }

header .right { padding-top: 14px; display: flex; width: 430px; justify-content: space-around; }

header .btn p.pc { display: inline; font-size: 19px; line-height: 47px; }

@media (max-width: 680px) { header .container { width: 100%; }
  header .container .right { padding-top: 0; width: auto; }
  header .container .right a { width: 100% !important; }
  header .container .left { width: 100%; padding-top: 0; }
  header .container .left img { width: 100%; max-width: 220px; }
  header .btn { width: 90px; height: 80px; border-radius: 0; font-size: 20px; }
  header .btn:first-child:before { display: block; margin: 10px auto 0; width: 40px; }
  header .btn:last-child:before { display: block; margin: 10px auto 0; width: 33px; }
  header .btn:first-child, header .btn:last-child { box-shadow: none; font-size: 13px; line-height: 22px; }
  header .container #logo-parent { width: calc(100% - 180px) !important; height: 80px; padding: 15px; box-sizing: border-box; } }

/*
** Main
*/
main { display: block; margin-top: 80px; }

.btn { color: #fff; height: 50px; border-radius: 50px; width: 200px; font-size: 19px; line-height: 47px; text-align: center; position: relative; transition-duration: 0.3s; }

.btn:hover { transition-duration: 0.3s; box-shadow: 0px 0px 0px 0px transparent !important; }

.btn a { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1; }

.btn:first-child { background: #e64929; box-shadow: 3px 5px 0px 0px #d54527; }

.btn:first-child:before { content: url(../images/common/mail.svg); width: 30px; display: inline-block; padding-right: 5px; vertical-align: sub; }

.btn:last-child { background: #5fb246; box-shadow: 3px 5px 0px 0px #05983f; }

.btn:last-child:before { content: url(../images/common/dl.svg); width: 26px; display: inline-block; padding-right: 5px; vertical-align: sub; }

h2 { font-size: 40px; color: #ed6a10; font-weight: bold; font-family: Noto sans jp; letter-spacing: 6px; text-align: center; padding-top: 100px; position: relative; }

h2 span { font-family: Montserrat,sans-serif; display: block; font-size: 17px; font-weight: 400; letter-spacing: 0px; line-height: 20px; padding-top: 30px; color: #ed6a10; }

h2:after { content: ''; width: 50px; height: 2px; background: #ed6a10; display: block; position: absolute; top: 155px; left: 0; right: 0; margin: auto; }

/*
** Footer
*/
footer { background: #ed6a10; color: #fff; line-height: 50px; text-align: center; }

footer span { font-size: 16px; border-right: 1px solid #fff; padding-right: 15px; margin-right: 15px; display: inline-block; height: 30px; line-height: 30px; }

footer br { display: none; }

.gotop { width: 80px; height: 80px; position: fixed; right: 5vw; bottom: 5vh; background-color: #fff; z-index: 99; border-radius: 50%; visibility: hidden; opacity: 0; transition-duration: 0.3s; border: 1px solid #e64929; }

.gotop span { border-style: solid; border-width: 0 9px 14px 9px; border-color: transparent transparent #FFF transparent; content: ''; width: 14px; height: 14px; border: 0px; border-top: solid 3px #e64929; border-right: solid 3px #e64929; -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); position: absolute; top: 0; bottom: -9px; right: 0; left: 0; margin: auto; padding: 0; }

.visible { opacity: 1; visibility: visible; transition-duration: 0.3s; }

.visible:hover { opacity: 0.8; }

@media (max-width: 680px) { html { min-width: 100%; }
  .container { width: 90%; }
  header .container a:first-child { width: 100%; }
  footer .container.colophon { width: 100%; display: block; text-align: center; padding: 25px 0; }
  footer .container.colophon p { font-size: 12px; line-height: 30px; }
  footer .container.colophon p span { border-right: none; }
  footer .container.colophon br { display: inline; }
  .gotop { bottom: 15vh; width: 50px; height: 50px; } }

@media all and (-ms-high-contrast: none) { .btn { line-height: 54px; } }

main { background: #fcf1df; }

table { border: 1px solid #ccc; width: 100%; }

.title { margin-bottom: 70px; }

.contactform { padding-bottom: 50px; }

th { background: #fde4ae; font-weight: bold; border-right: 1px solid #ccc; text-align: left; font-size: 18px; letter-spacing: 1px; padding: 45px 20px; width: 230px; vertical-align: top; }

th.required:after { content: '必須'; font-weight: bold; color: #fff; text-align: center; display: inline-block; padding: 5px; height: 20px; width: 42px; letter-spacing: 2px; background: #e50045; float: right; margin-top: -5px; }

td { width: 770px; font-size: 18px; transform: rotate(0.05deg); padding: 30px 0; }

td li { float: left; line-height: 40px; margin-left: 30px; }

tr + tr { border: 1px solid #ccc; }

.mfp_err { display: block; padding: 10px 0 0 30px; font-size: 13px; color: red; }

input[type="text"], input[type="email"], input[type="tel"] { font-family: ts-unused; height: 55px; margin-left: 30px; border-radius: 6px; width: 740px; border: 1px solid #a4a4a4; padding: 20px; box-sizing: border-box; }

input[type="number"] { font-family: ts-unused; height: 55px; margin-left: 30px; border-radius: 6px; width: 120px; border: 1px solid #a4a4a4; padding: 20px; box-sizing: border-box; text-align: left !important; }

input[type="radio"] { margin-left: 30px; }

textarea { font-family: ts-unused; margin-left: 30px; width: 750px !important; height: 130px !important; border-radius: 6px; padding: 20px; box-sizing: border-box; }

input[type="checkbox"] { display: none; }

label .check { content: ""; display: inline-block; width: 25px; height: 25px; border: 1px solid #999; margin-right: 8px; vertical-align: text-top; background-color: #fff; position: relative; cursor: pointer; }

label { font-size: 16px; display: block; margin: 50px auto; width: 420px; }

label a { text-decoration: underline !important; }

label a:hover { text-decoration: none !important; }

span.check.-show:before { display: block; }

span.check:before { content: ""; display: none; position: absolute; top: 2px; left: 8px; width: 7px; height: 14px; transform: rotate(40deg); border-bottom: 3px solid #b5272d; border-right: 3px solid #b5272d; }

button[type="submit"] { border-radius: 45px; width: 360px; text-align: center; padding: 20px 0; height: 80px; margin: 0 auto; display: block; border: none; color: #fff; font-family: "Noto Sans JP"; font-size: 1.6rem; letter-spacing: 1px; transition-duration: 0.3s; cursor: pointer; background-color: #dedede; box-shadow: 0 0 0 0 #707070; pointer-events: none; }

button[type="submit"].-active { background-color: #e50045; box-shadow: 4px 4px 0px 1px #707070; pointer-events: auto; }

button[type="submit"]:hover { box-shadow: 0 0 0 0 #707070; }

#mfp_overlay_background, #mfp_loading_screen, #mfp_loading, #mfp_overlay, #mfp_hidden { display: none; }

#mfp_confirm_table td { color: #fff; width: 78%; line-height: 2.2rem; }

#mfp_phase_confirm_inner h4 { text-align: center; margin-bottom: 30px; }

.thanks p { font-size: 18px; line-height: 30px; }

@media (max-width: 680px) { .title { margin-bottom: 40px; }
  table { width: 100%; table-layout: fixed; }
  tr { flex-direction: column; display: flex; }
  th { width: 100%; padding: 20px; box-sizing: border-box; }
  td { width: 100%; padding: 20px 0; box-sizing: border-box; }
  input[type="text"], input[type="email"], input[type="tel"], textarea { width: 90% !important; margin: 0 auto; display: block; }
  label { display: inline-block; line-height: 30px; width: 100%; margin: 20px auto; }
  button[type="submit"] { width: 100%; } }

@media all and (-ms-high-contrast: none) { th.required:after { line-height: 30px; height: 24px; padding: 0; } }
