@charset "UTF-8";
/* Scss Document */
/* $break-point以下の時に@contentを適用 */
/* $break-point以上の時に@contentを適用 */
/* $break-point-min以上、$break-point-max以下の時に@contentを適用 */
small { font-size: 80%; }

strong, .bold { font-weight: 700; }

.fs12 { font-size: 1.2rem; }

.fs14 { font-size: 1.4rem; }

.fs16 { font-size: 1.6rem; }

.fs18 { font-size: 1.8rem; }

.fs20 { font-size: 2.0rem; }

.fs22 { font-size: 2.2rem; }

.fs24 { font-size: 2.4rem; }

.fs26 { font-size: 2.6rem; }

.fs28 { font-size: 2.8rem; }

.fs30 { font-size: 3.0rem; }

.fs32 { font-size: 3.2rem; }

.fs36 { font-size: 3.6rem; }

.fs40 { font-size: 4.0rem; }

.fs46 { font-size: 4.6rem; }

.fs48 { font-size: 4.8rem; }

.fs50 { font-size: 5.0rem; }

.fs56 { font-size: 5.6rem; }

.fs60 { font-size: 6.0rem; }

.fs70 { font-size: 7.0rem; }

.flex { display: flex; }

.le_sp { letter-spacing: 2px; }

.lh100 { line-height: 1; }

.lh140 { line-height: 1.4; }

.lh160 { line-height: 1.6; }

.lh180 { line-height: 1.8; }

.lh200 { line-height: 2.0; }

.lh220 { line-height: 2.2; }

@media screen and (min-width: 768.2px) { .va { vertical-align: 0.1em; } }
.bk { color: #4E545A; }

.red { color: #E6372F; }

.white { color: #fff; }

.green { color: #4BAD79; }

.pink { color: #F28082; }

.orange { color: #F8B31E; }

@media screen and (min-width: 768.2px) and (max-width: 1024px) { .fs50 { font-size: calc(4.2rem + 4 * (100vw - 768px)/256); }
  .fs56 { font-size: calc(5.2rem + 4 * (100vw - 768px)/256); }
  .fs60 { font-size: calc(5.6rem + 4 * (100vw - 768px)/256); }
  .fs70 { font-size: calc(6.0rem + 10 * (100vw - 768px)/256); } }
@media screen and (max-width: 768px) { .fs12 { font-size: 80%; }
  .fs14 { font-size: 1.2rem; }
  .fs16 { font-size: calc(1.3rem + 3 * (100vw - 320px)/448); }
  .fs18 { font-size: calc(1.5rem + 3 * (100vw - 320px)/448); }
  .fs20 { font-size: calc(1.6rem + 4 * (100vw - 320px)/448); }
  .fs22 { font-size: calc(1.6rem + 4 * (100vw - 320px)/448); }
  .fs24 { font-size: calc(1.8rem + 6 * (100vw - 320px)/448); }
  .fs26 { font-size: calc(1.8rem + 8 * (100vw - 320px)/448); }
  .fs28 { font-size: calc(1.9rem + 10 * (100vw - 320px)/448); }
  .fs30 { font-size: calc(2.0rem + 10 * (100vw - 320px)/448); }
  .fs32 { font-size: calc(2.0rem + 12 * (100vw - 320px)/448); }
  .fs36 { font-size: calc(2.2rem + 14 * (100vw - 320px)/448); }
  .fs40 { font-size: calc(2.4rem + 18 * (100vw - 320px)/448); }
  .fs46 { font-size: calc(3.0rem + 16 * (100vw - 320px)/448); }
  .fs48 { font-size: calc(3.0rem + 18 * (100vw - 320px)/448); }
  .fs50, .fs56, .fs60, .fs70 { font-size: calc(4.0rem + 10 * (100vw - 320px)/448); } }
@media screen and (max-width: 320px) { .fs14 { font-size: 80%; } }
@media only screen and (max-width: 768px) { .sp_none { display: none !important; } }
@media only screen and (max-width: 1024px) { .tab_none { display: none !important; } }
@media print, screen and (min-width: 1024.2px) { .tab_pc_none { display: none !important; } }
@media print, screen and (min-width: 768.2px) { .pc_none { display: none !important; } }
.w100 { width: 100%; max-width: 1340px; margin-inline: auto; }

.w95 { width: 95%; max-width: 1340px; margin-inline: auto; }

.w90 { width: 90%; max-width: 1340px; margin-inline: auto; }
@media only screen and (max-width: 320px) { .w90 { width: 95%; } }

.w85 { width: 85%; max-width: 1340px; margin-inline: auto; }

.w80 { width: 80%; max-width: 1340px; margin-inline: auto; }

.flex { display: flex; }

.flex-sb { display: flex; justify-content: space-between; }

.flex-sa { display: flex; justify-content: space-around; }

.flex-items { display: flex; align-items: center !important; }

.flex-items-end { display: flex; align-items: flex-end !important; }

.tac { text-align: center; }

.tar { text-align: right; }

.tal { text-align: left; }

@media print, screen and (min-width: 768.2px) { .mx_c { width: max-content; width: -webkit-max-content; margin-inline: auto; max-width: 100%; } }
.mx_width { max-width: 1340px; margin-inline: auto; }

.mx1200 { max-width: 1200px; margin-inline: auto; }

.mx1000 { max-width: 1000px; margin-inline: auto; }

.mx900 { max-width: 900px; margin-inline: auto; }

@media only screen and (max-width: 1023.8px) { .mx600 { max-width: 600px !important; margin-inline: auto; }
  .mx400 { max-width: 400px !important; margin-inline: auto; }
  .mw95 { width: 95%; margin-inline: auto; } }
.mgat { margin-inline: auto; }

.mgt10 { margin-top: 10px; }

.mgt20 { margin-top: 20px; }

.mgb10 { margin-bottom: 10px; }

.mgb20 { margin-bottom: 20px; }

.mgb30 { margin-bottom: 30px; }

.mgb40 { margin-bottom: 40px; }

.mgb50 { margin-bottom: 50px; }

.mgb60 { margin-bottom: 60px; }

.mgb70 { margin-bottom: 70px; }

.mgb80 { margin-bottom: 80px; }

.mgb90 { margin-bottom: 90px; }

.mgb100 { margin-bottom: 100px; }

@media screen and (max-width: 768px) { .mgb30 { margin-bottom: 15px; }
  .mgb40 { margin-bottom: 20px; }
  .mgb50, .mgb60 { margin-bottom: 30px; }
  .mgb70, .mgb80, .mgb90 { margin-bottom: 50px; }
  .mgb100 { margin-bottom: 60px; } }
img { vertical-align: bottom; image-rendering: -webkit-optimize-contrast; max-width: 100%; }

@media print, screen and (min-width: 1024.2px) { a:hover { opacity: 0.75; } }
.scroll-prevent { /*動き固定*/ position: fixed; /*奥行きを管理*/ z-index: -1; /*下2つで背景を元のサイズのまま表示することができる*/ width: 100%; height: 100%; }

@media only screen and (max-width: 1024px) { .kaigyo { display: inline-block; text-indent: 0; } }
@media print, screen and (min-width: 1024px) { .kaigyo_pc { display: inline-block; } }
.js-time_start { display: none; }

.js-time_start_fire { display: block; }

html { font-size: 62.5%; }

body { font-family: "Noto Sans JP", sans-serif; font-weight: 400; color: #4E545A; position: relative; background: url("../images/bg_main.jpg") repeat; position: relative; animation: fadeIn 2.5s ease 0s 1 normal; -webkit-animation: fadeIn 2.5s ease 0s 1 normal; overflow-x: hidden; }
@media only screen and (max-width: 768px) { body { font-size: 100%; } }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
#header { width: 100%; padding: 38px 36px 20px; box-sizing: border-box; background: url("../images/bg_main.jpg") repeat; z-index: 999; top: 0; position: fixed; }
@media only screen and (max-width: 1023.8px) { #header { height: 60px; padding: 0; } }
#header #header_inner { display: flex; justify-content: center; align-items: center; width: 100%; max-width: 1200px; margin-inline: auto; }
@media print, screen and (min-width: 1024px) { #header #header_inner { padding: 0 10px 28px; } }
@media only screen and (max-width: 1023.8px) { #header #header_inner { height: 60px; border-bottom: solid 1px #353635; } }
#header #catch { width: 306px; margin-right: auto; }
@media only screen and (max-width: 1023.8px) { #header #catch { display: none; } }
#header #logo { display: flex; align-items: center; line-height: 1; }
@media print, screen and (min-width: 1024px) { #header #logo { width: 256px; padding: 0; box-sizing: border-box; } }
@media only screen and (max-width: 1023.8px) { #header #logo { padding: 0; margin: 0 auto; } }
#header #logo h1 { width: 100%; }
@media print, screen and (min-width: 1024px) { #header #logo img { width: 100%; } }
@media only screen and (max-width: 1023.8px) { #header #logo img { height: 40px; } }
#header #logo a { display: block; width: 100%; }

.sub_page #header { padding-bottom: 0; }

.ico_sns { list-style: none; display: flex; justify-content: flex-end; width: 306px; }
@media print, screen and (min-width: 1200.2px) { .ico_sns { margin-left: auto; } }
@media screen and (min-width: 1024px) and (max-width: 1200px) { .ico_sns { margin-left: 20px; } }
@media only screen and (max-width: 1023.8px) { .ico_sns { margin: 50px auto 0; justify-content: center; } }
.ico_sns li { height: 22px; }
@media print, screen and (min-width: 1024.2px) { .ico_sns li + li { margin-left: 25px; } }
@media only screen and (max-width: 1024px) { .ico_sns li { margin-right: 2px; width: 55px; } }
.ico_sns li a { display: flex; align-items: center; align-content: center; justify-content: center; flex-wrap: wrap; color: #fff; }
.ico_sns li img { height: 22px; display: block; }
@media only screen and (max-width: 1024px) { .ico_sns li img { height: 20px; } }

@media only screen and (max-width: 1023.8px) { #header .ico_sns { display: none; } }
@media print, screen and (min-width: 1023.8px) { #top_contact .ico_sns { display: none; } }
#main { background: url("../images/bg_content.jpg") repeat; }
#main p a { text-decoration: underline; color: #4BAD79; }
@media print, screen and (min-width: 1023.8px) { #main p a:hover { text-decoration: none; } }
#main p em, #main p s { all: revert; }

#footer { background: url("../images/bg_footer.jpg"); padding: 30px 0; }
@media only screen and (max-width: 1024px) { #footer { padding: 40px 0; } }
#footer #footer_inner { width: 85%; max-width: 1100px; margin: 0 auto; display: flex; align-items: center; }
@media print, screen and (min-width: 1200.2px) { #footer #footer_inner { justify-content: space-between; } }
@media only screen and (max-width: 1200px) { #footer #footer_inner { flex-direction: column; } }
#footer #footer_inner .logo_block { display: flex; align-items: center; }
@media only screen and (max-width: 1200px) { #footer #footer_inner .logo_block { margin-bottom: 30px; } }
@media only screen and (max-width: 1024px) { #footer #footer_inner .logo_block { flex-direction: column; } }
#footer #footer_inner .logo_block .logo { width: 246px; margin-right: 25px; }
@media only screen and (max-width: 1024px) { #footer #footer_inner .logo_block .logo { width: 204px; margin: 0 auto 10px; } }
#footer #footer_inner .logo_block .catch { width: 250px; }
@media only screen and (max-width: 1024px) { #footer #footer_inner .logo_block .catch { width: 207px; } }
#footer #footer_inner #footer_nav { display: flex; }
@media only screen and (max-width: 1200px) { #footer #footer_inner #footer_nav { margin-bottom: 15px; } }
#footer #footer_inner #footer_nav li { list-style: none; }
#footer #footer_inner #footer_nav li a { color: #4E545A; font-size: 1.4rem; line-height: 1; }
#footer #footer_inner #footer_nav li + li { margin-left: 30px; }
#footer #footer_inner .copyright { font-size: 1.2rem; line-height: 1; color: #4E545A; }

#page_top { position: fixed; z-index: 10; display: none; right: 25px; width: 52px; height: 250px; }
@media print, screen and (min-width: 768.2px) { #page_top { display: none; } }
@media only screen and (max-width: 1024px) { #page_top { right: 10px; width: 30px; height: 144px; } }

#page_top a { display: block; text-decoration: none; width: 52px; height: 250px; background: url("../images/page_top.svg") no-repeat; }
@media only screen and (max-width: 1024px) { #page_top a { width: 30px; height: 144px; } }
#page_top a:hover { opacity: 1; }

/*fade*/
.fade { opacity: 0; }

.delay-time03 { animation-delay: 0.3s; }

.delay-time05 { animation-delay: 0.5s; }

.delay-time07 { animation-delay: 0.7s; }

.fadeUp { animation-name: fadeUpAnime; animation-duration: 1s; animation-fill-mode: forwards; opacity: 0; }

@keyframes fadeUpAnime { from { opacity: 0; transform: translateY(80px); }
  to { opacity: 1; transform: translateY(0); } }
/*かんたん編集用*/
.edit_text p + p, .edit_text p + ul, .edit_text p + ol, .edit_text ul + ul, .edit_text ol + ol, .edit_text ul + ol, .edit_text ol + ul { margin-top: 20px; }
.edit_text ul { list-style: disc; list-style-position: inside; }
.edit_text ul li { text-indent: -1em; padding-left: 1em; }
.edit_text ol { list-style: decimal; list-style-position: inside; }
.edit_text ol li { text-indent: -1em; padding-left: 1em; }
