@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; }

.contactform { padding-bottom: 100px; }

h4 { font-size: 24px; font-weight: bold; color: #ed6a10; border-bottom: 3px solid #ed6a10; line-height: 50px; text-align: left; margin-top: 40px; margin-bottom: 20px; }

h5 { display: block; font-size: 18px; font-weight: bold; line-height: 30px; }

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

@media (max-width: 680px) { .title { margin-bottom: 40px; } }
