@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
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; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

body { line-height: 1; }

ol, ul { list-style: none; }

a { text-decoration: none; }

blockquote, q { quotes: none; }

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

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

* { box-sizing: border-box; box-sizing: border-box; box-sizing: border-box; }

html { font-size: 16px; color: #222222; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: #FAF8F8; }

html, input { font-family: "Noto Sans JP", "Noto Sans cjk JP", sans-serif; }

body { overflow-x: hidden; padding-top: 138px; min-width: 375px; }

@media screen and (max-width: 991px) { body { padding-top: 114px; } }

@media screen and (max-width: 767px) { body { padding-top: 60px; } }

a { color: #222222; text-decoration: none; transition: opacity 0.2s ease; }

body, h1, h2, h3, h4, h5, h6 { margin: 0; }

img { max-width: 100%; height: auto; }

/* Global Button Styles */
a.animated-button:link, a.animated-button:visited { position: relative; overflow: hidden; transition: all 1s ease; cursor: pointer; position: relative; transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1); }

a.animated-button:link::before, a.animated-button:visited::before { display: block; position: absolute; top: 0px; right: 0px; height: 100%; width: 0px; z-index: -1; content: ''; background: #FC9B00; transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1); }

a.animated-button:link:after, a.animated-button:visited:after { content: ""; position: absolute; height: 0%; left: 50%; top: 50%; width: 150%; transition: all 0.75s ease 0s; }

a.animated-button:link:hover, a.animated-button:visited:hover { text-shadow: none; background-color: transparent; }

a.animated-button:link:hover::before, a.animated-button:visited:hover::before { left: 0%; right: auto; width: 100%; }

a.animated-button:link:hover:after, a.animated-button:visited:hover:after { height: 450%; }

html { font-size: 16px; color: #222222; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: #FAF8F8; }

html, input { font-family: "Noto Sans JP", "Noto Sans cjk JP", sans-serif; }

body { overflow-x: hidden; padding-top: 138px; min-width: 375px; }

@media screen and (max-width: 991px) { body { padding-top: 114px; } }

@media screen and (max-width: 767px) { body { padding-top: 60px; } }

a { color: #222222; text-decoration: none; transition: opacity 0.2s ease; }

body, h1, h2, h3, h4, h5, h6 { margin: 0; }

img { max-width: 100%; height: auto; }

/* 要素のMoveUp + フェードイン */
.MoveUp { opacity: 0; transform: translate(0, 20px); transition: transform 1900ms cubic-bezier(0.19, 1, 0.22, 1), opacity 1900ms cubic-bezier(0.19, 1, 0.22, 1); }

@media screen and (max-width: 767px) { .MoveUp.only_pc { transform: translate(0, 0); opacity: 1; transition: transform 0s cubic-bezier(0.19, 1, 0.22, 1), opacity 0s cubic-bezier(0.19, 1, 0.22, 1); } }

.MoveUpDone { transform: translate(0, 0); opacity: 1; }

/* 要素のMoveRight + フェードイン */
.MoveRight { opacity: 0; transform: translate(-20px, 0); transition: transform 1900ms cubic-bezier(0.19, 1, 0.22, 1), opacity 1900ms cubic-bezier(0.19, 1, 0.22, 1); }

.MoveRightDone { transform: translate(0, 0); opacity: 1; }

/*フェードイン表示*/
.FadeIn { opacity: 0; transition: opacity 1s ease; }

.FadeInDone { opacity: 1.0; }

.Delay100ms { transition-delay: 100ms; }

.Delay150ms { transition-delay: 150ms; }

.Delay200ms { transition-delay: 200ms; }

.Delay300ms { transition-delay: 300ms; }

.Delay400ms { transition-delay: 400ms; }

.Delay450ms { transition-delay: 450ms; }

.Delay500ms { transition-delay: 500ms; }

.Delay600ms { transition-delay: 600ms; }

.Delay700ms { transition-delay: 700ms; }

.Delay750ms { transition-delay: 750ms; }

.Delay800ms { transition-delay: 800ms; }

.Delay900ms { transition-delay: 900ms; }

.Delay1000ms { transition-delay: 1000ms; }

.Delay1100ms { transition-delay: 1100ms; }

.Delay1200ms { transition-delay: 1200ms; }

.Delay1300ms { transition-delay: 1300ms; }

.Delay1400ms { transition-delay: 1400ms; }

.Delay1500ms { transition-delay: 1500ms; }

.Delay1600ms { transition-delay: 1600ms; }

.Delay1700ms { transition-delay: 1700ms; }

.Delay1800ms { transition-delay: 1800ms; }

.Delay1900ms { transition-delay: 1900ms; }

.Delay2000ms { transition-delay: 2000ms; }

.site-header { position: relative; }

.site-header .inner { position: fixed; z-index: 9; padding: 24px 160px 18px; box-sizing: border-box; justify-content: space-between; align-items: center; top: 0; width: 100%; background: #ffffff; }

@media screen and (max-width: 1299px) { .site-header .inner { padding: 24px 60px 18px; } }

@media screen and (max-width: 767px) { .site-header .inner { padding: 0 20px 0 15px; height: 60px; } }

.site-header .header-top { display: -ms-grid; display: grid; -ms-grid-columns: 1fr auto auto; grid-template-columns: 1fr auto auto; align-items: center; height: 100%; }

@media screen and (max-width: 991px) { .site-header .header-top { transform: translateY(7px); } }

@media screen and (max-width: 767px) { .site-header .header-top { transform: translateY(0); padding-right: 30px; } }

.site-header .header-sns { transition: 0.3s ease-in-out; }

.site-header .header-sns a { padding: 0 35.5px; font-size: 0.875rem; color: #127db7; }

.site-header .header-sns a:hover { opacity: 0.7; }

.site-header .header-upper { transition: 0.3s ease-in-out; }

.site-header .header-upper a { padding: 0 35.5px; border-left: 1px dashed #127db7; font-size: 0.875rem; color: #127db7; }

.site-header .header-upper a:last-child { border-right: 1px dashed #127db7; }

.site-header .header-upper a:hover { opacity: 0.7; }

@media screen and (max-width: 991px) { .site-header .header-upper { display: none; } }

.site-header .site-logo .link { display: flex; align-items: flex-end; text-decoration: none; }

.site-header .site-logo .logo { width: 21.5625rem; height: 3.125rem; display: flex; align-items: center; transition: 0.3s; }

@media all and (-ms-high-contrast: none) { .site-header .site-logo .logo { display: block; } }

@media screen and (max-width: 991px) { .site-header .site-logo .logo { max-width: 14.375rem; } }

@media screen and (max-width: 767px) { .site-header .site-logo .logo { width: 12.25rem; height: 1.8125rem; } }

.site-header .site-logo .logo > img { display: block; object-fit: cover; }

.site-header .site-logo .logo:hover { opacity: 0.7; }

.site-header .site-logo .text { font-size: 1.25rem; font-weight: 500; color: #111111; padding-bottom: 0.3125rem; margin-left: 1.25rem; }

@media screen and (max-width: 767px) { .site-header .site-logo .text { font-size: 1rem; margin-left: 0.625rem; } }

@media screen and (min-width: 768px) { .site-header.-stick { top: 0; left: 0; width: 100%; } }

.site-header .nav-link { display: flex; justify-content: space-between; }

@media screen and (max-width: 991px) { .site-header .nav-link.-pc { display: none; } }

.site-header .nav-link.-sp { display: none; }

@media screen and (max-width: 1299px) { .site-header .nav-link.-sp { display: flex; left: -100%; transition: left 0.25s ease; width: 100%; height: 100vh; background-color: #ffffff; position: fixed; top: 0; flex-direction: column; padding: 120px 0; }
  .site-header .nav-link.-sp.-active { left: 0; overflow-y: scroll; } }

.site-header .nav-link li { flex: 1; }

@media screen and (min-width: 992px) { .site-header .nav-link li { border-left: 1px dashed #666666; } }

@media screen and (max-width: 991px) { .site-header .nav-link li:not(:last-child) { margin-left: 0; margin-bottom: 30px; } }

@media screen and (min-width: 992px) { .site-header .nav-link li:last-child { border-right: 1px dashed #666666; } }

.site-header .nav-link li .-special { background: linear-gradient(to left, #127db7, #2cd8bd); display: flex; align-items: center; height: 2rem; padding: 0 10px 0 20px; border-radius: 30px; margin-left: 40px; font-size: 0.875rem; color: #ffffff; box-shadow: 0 0 30px rgba(3, 82, 88, 0.16); }

.site-header .nav-link li .-special img { margin-left: 10px; }

@media screen and (max-width: 1299px) { .site-header .nav-link li .-special { margin-left: 0; } }

.site-header .nav-link a { font-size: 1rem; font-weight: 700; line-height: 1.5rem; transition: 0.3s; display: block; text-align: center; }

@media screen and (max-width: 1399px) { .site-header .nav-link a { font-size: 0.875rem; } }

.site-header .nav-link a:hover { opacity: 0.7; }

.site-header .nav-link a.-color { color: #127db7; }

.site-header:after { content: ""; position: absolute; width: 100%; height: 4px; background: linear-gradient(to right, #127db7, #2cd8bd); bottom: -4px; left: 0; z-index: -1; }

.menu-sp { display: none; }

.menu-sp a { display: block; width: 100%; height: 100%; }

@media screen and (max-width: 991px) { .menu-sp { position: absolute; right: 20px; top: 50%; transform: translate(0, -50%); width: 32px; height: 23px; display: flex; align-items: center; justify-content: center; z-index: 9999; } }

.menu-button { transition: transform 0.3s; }

.menu-button span { overflow: hidden; z-index: 1; color: #222222; }

.menu-button span, .menu-button::after, .menu-button::before { content: ""; display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 32px; height: 1px; margin: auto; background: #222222; transition: transform 0.2s; }

.menu-button::after { z-index: 2; transform: translate(0, 11px); }

.menu-button::before { z-index: 2; transform: translate(0, -11px); }

.menu-button.-active span { opacity: 0; }

.menu-button.-active::after { transform: rotate(45deg); }

.menu-button.-active::before { transform: rotate(-45deg); }

.site-nav { margin-top: 22px; }

.l-container { max-width: 1320px; margin-left: auto; margin-right: auto; padding: 0 20px; }

@media screen and (max-width: 767px) { .l-container { width: 100%; margin-left: 0; margin-right: 0; } }

.l-container1 { max-width: 1080px; margin-left: auto; margin-right: auto; }

.site-footer { position: relative; z-index: 1; }

.site-footer > .copyright { margin: 0; padding: 20px; background: #02a78d; color: #ffffff; font-size: 1rem; line-height: 1.5; text-align: center; }

@media screen and (max-width: 767px) { .site-footer > .copyright { font-size: 0.75rem; } }

.footer-medical { position: relative; padding-top: 2.5rem; padding-bottom: 2.5rem; background: linear-gradient(to right, #127db7 0%, #2cd8bd 100%); color: #fff; }

.footer-medical > .inner { display: flex; flex-direction: column; justify-content: center; align-items: center; max-width: 1320px; margin: auto; padding: 0 20px; }

.footer-medical .footer-medical-banner { display: flex; flex-wrap: wrap; justify-content: flex-start; list-style: none; margin: 0 0 -40px -40px; }

.footer-medical .footer-medical-banner > li { width: calc(100%/3 - 40px); margin: 0 0 40px 40px; }

.footer-medical .footer-medical-banner .bnr { display: block; border-radius: 5px; background-color: #fff; overflow: hidden; }

.footer-medical .footer-medical-banner .bnr img { display: block; margin: auto; transition: opacity .3s ease; }

.footer-medical .footer-medical-banner .bnr:hover img { opacity: .5; }

@media screen and (max-width: 991px) { .footer-medical .footer-medical-banner { margin: 0 0 -15px -15px; }
  .footer-medical .footer-medical-banner > li { width: calc(100%/3 - 15px); margin: 0 0 15px 15px; } }

@media screen and (max-width: 767px) { .footer-medical { padding-top: 1.875rem; padding-bottom: 1.875rem; }
  .footer-medical .footer-medical-banner { margin: 0 0 -15px -15px; }
  .footer-medical .footer-medical-banner > li { width: 100%; margin: 0 0 15px 15px; } }

.footer-anabuki { position: relative; padding-top: 1.875rem; padding-bottom: 1.875rem; background: #FAF8F8; }

.footer-anabuki > .inner { display: flex; flex-direction: column; justify-content: center; align-items: center; max-width: 1060px; margin: auto; padding: 0 20px; }

.footer-anabuki .footer-anabuki-banner { display: flex; flex-wrap: wrap; justify-content: flex-start; list-style: none; margin: 0 0 -30px -30px; }

.footer-anabuki .footer-anabuki-banner > li { width: calc(100%/4 - 25px); margin: 0 0 30px 25px; }

.footer-anabuki .footer-anabuki-banner .bnr { display: block; }

.footer-anabuki .footer-anabuki-banner .bnr img { display: block; width: 100%; margin: auto; transition: opacity .3s ease; }

.footer-anabuki .footer-anabuki-banner .bnr:hover img { opacity: .7; }

@media screen and (max-width: 991px) { .footer-anabuki .footer-anabuki-banner { margin: 0 0 -15px -15px; }
  .footer-anabuki .footer-anabuki-banner > li { width: calc(100%/4 - 15px); margin: 0 0 15px 15px; } }

@media screen and (max-width: 767px) { .footer-anabuki .footer-anabuki-banner { margin: 0 0 -10px -10px; }
  .footer-anabuki .footer-anabuki-banner > li { width: calc(50% - 10px); margin: 0 0 10px 10px; } }

.only-sp { display: none; }

@media screen and (max-width: 767px) { .only-sp { display: block; } }

@media screen and (max-width: 767px) { .only-pc { display: none; } }

.open-menu { height: 100vh; overflow: hidden; }

.breadcrumb { height: 60px; padding-left: 100px; background: linear-gradient(to right, #127db7, #2cd8bd); }

@media screen and (max-width: 1299px) { .breadcrumb { padding-left: 60px; } }

@media screen and (max-width: 767px) { .breadcrumb { display: none; } }

.breadcrumb .clr { display: flex; }

.breadcrumb .clr li { position: relative; line-height: 60px; color: #fff; font-size: 0.875rem; z-index: 1; transition: 0.3s ease-in-out; }

.breadcrumb .clr li:not(:last-child) { margin-right: 31px; }

.breadcrumb .clr li:not(:last-child)::after { font-family: "FontAwesome"; content: "\f105"; position: absolute; right: 0; z-index: -1; color: #fff; }

.breadcrumb .clr li a { padding-right: 36px; color: #fff; }

.breadcrumb .clr li a:hover { opacity: 0.7; }

.c-breadcrumb { height: 60px; padding-left: 100px; background: linear-gradient(to right, #127DB7, #2CD8BD); }

.c-breadcrumb > .clr { display: flex; align-items: center; height: 100%; }

.c-breadcrumb > .clr > li { position: relative; color: #FFF; font-size: 0.875rem; line-height: 1.25; z-index: 1; transition: .3s ease-in-out; }

.c-breadcrumb > .clr > li:not(:last-child) { margin-right: 31px; }

.c-breadcrumb > .clr > li:not(:last-child)::after { position: absolute; right: 0; color: #FFF; font-family: "FontAwesome"; content: "\f105"; z-index: -1; }

.c-breadcrumb > .clr > li a { padding-right: 36px; color: #FFF; }

.c-breadcrumb > .clr > li a:hover { opacity: .7; }

@media screen and (max-width: 1299px) { .c-breadcrumb { padding-left: 60px; } }

@media screen and (max-width: 767px) { .c-breadcrumb { display: none; } }

.table-info { display: flex; }

.table-info .col-left { width: 26%; padding-right: 52px; }

@media screen and (max-width: 991px) { .table-info .col-left { width: 100%; padding-right: 0; } }

.table-info .col-right { width: 74%; }

@media screen and (max-width: 991px) { .table-info .col-right { margin-top: 33px; width: 100%; } }

.table-info .col-right strong { font-weight: 600; }

.table-info .col-right .desc-a { margin-top: 37px; }

@media screen and (max-width: 767px) { .table-info .col-right .desc-a { margin-top: 22px; } }

.table-info .col-right .desc-b { margin-top: 25px; }

@media screen and (max-width: 767px) { .table-info .col-right .desc-b { margin-top: 3px; } }

.table-info .col-right .size1 { font-weight: 700; font-size: 2rem; line-height: 4.0625rem; letter-spacing: 3.84px; margin-top: -20px; display: block; }

@media screen and (max-width: 767px) { .table-info .col-right .size1 { font-size: 1rem; line-height: 1.5rem; letter-spacing: 0; margin-top: -4px; } }

.table-info .col-right .size2 { font-weight: 700; font-size: 1.75rem; line-height: 3rem; }

@media screen and (max-width: 767px) { .table-info .col-right .size2 { font-size: 1.25rem; display: block; margin-top: -10px; } }

.table-info .col-right .link { float: right; margin-top: 38px; }

@media screen and (max-width: 767px) { .table-info .col-right .link { margin-top: 18px; } }

.table-info .col-right .link a { font-size: 0.875rem; transition: 0.3s ease-in-out; }

.table-info .col-right .link a:hover { opacity: 0.7; }

.table-info .col-right .link img { margin-left: 15px; }

.table-info .col-right .image { margin-top: 31px; }

@media screen and (max-width: 767px) { .table-info .col-right .image { margin-top: 11px; } }

.table-info .col-right .image img { object-fit: cover; }

@media screen and (max-width: 767px) { .table-info .col-right .image img { width: 181px; } }

@media screen and (max-width: 767px) { .table-info .col-right iframe { height: 260px; } }

.desc-a { font-size: 1.125rem; line-height: 2.625rem; }

@media screen and (max-width: 767px) { .desc-a { font-size: 0.875rem; line-height: 1.5rem; } }

.desc-b { font-size: 1rem; line-height: 3rem; }

@media screen and (max-width: 767px) { .desc-b { font-size: 0.8125rem; } }

/**************************************************/
/* components - entry */
/**************************************************/
.p-entry-article { max-width: 800px; margin: 0 auto; padding-top: 128px; padding-bottom: 160px; }

@media screen and (max-width: 1299px) { .p-entry-article { padding: 60px; } }

@media screen and (max-width: 767px) { .p-entry-article { padding: 40px 20px 80px; } }

.p-entry-head { display: block; }

.p-entry-head > .category { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; margin: 0; }

.p-entry-head > .category .label { display: inline-block; padding: 8px 2em; border-radius: 4px; background-color: #02a78d; font-size: 0.9375rem; color: #fff; font-weight: 700; line-height: 1.25; text-align: center; }

.p-entry-head > .title { display: block; margin: 16px 0 0; font-size: 1.5rem; font-weight: 700; line-height: 1.5; }

.p-entry-head > .title .new { display: inline-block; margin-left: .5em; font-size: 75%; color: #fc9b00; }

.p-entry-head > .date { display: block; margin: 24px 0 0; font-size: 0.875rem; line-height: 1.5; }

@media screen and (max-width: 767px) { .p-entry-head > .category .label { padding: 6px 1em; font-size: 0.875rem; }
  .p-entry-head > .title { font-size: 1.25rem; }
  .p-entry-head > .date { font-size: 0.8125rem; } }

.p-entry-contents { display: block; margin: 40px 0 0; font-size: 1.125rem; line-height: 1.8; }

.p-entry-contents > *:first-child { margin-top: 0 !important; }

.p-entry-contents a { color: #02a78d; text-decoration: underline; }

.p-entry-contents p { margin-top: 1em; }

.p-entry-contents h2, .p-entry-contents h3, .p-entry-contents h4, .p-entry-contents h5, .p-entry-contents h6 { margin-top: 2em; }

.p-entry-contents > .column-media-center { margin-top: 40px; }

@media screen and (max-width: 991px) { .p-entry-contents { font-size: 1rem; } }

@media screen and (max-width: 767px) { .p-entry-contents { font-size: 0.9375rem; } }

.p-entry-back { margin: 60px 0 0; line-height: 1.5; text-align: right; }

.p-entry-back a { display: inline-block; align-items: center; }

.p-entry-back .icon { display: inline-block; margin-left: 1em; }

@media screen and (max-width: 767px) { .p-entry-back { margin-top: 40px; font-size: 0.875rem; } }

@media screen and (max-width: 767px) { ._disp-pc { display: none !important; } }

@media screen and (min-width: 768px) { ._disp-sp { display: none !important; } }

.l-section { padding: 100px 0 120px; }

@media screen and (max-width: 767px) { .l-section { padding-top: 40px; padding-bottom: 60px; } }

.c-link-a { display: inline-flex; align-items: center; }

.c-link-a > .txt { display: inline-block; }

.c-link-a > .arrow { display: inline-block; width: 24px; height: 10px; margin-left: 1em; background: url(../images/icon-02-small.svg) no-repeat center/contain; }

.c-pageTtl { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; box-sizing: border-box; min-height: 160px; padding: 20px 100px; background: linear-gradient(to right, #d8fddf, #96e2f8 50%); }

.c-pageTtl h2 { font-size: 2.5rem; font-weight: 700; line-height: 1.25; letter-spacing: .05em; }

.c-pageTtl h2 span { margin-left: 1em; font-family: "Ropa Sans", sans-serif; font-size: 1.25rem; font-weight: 400; letter-spacing: .05em; }

@media screen and (max-width: 1299px) { .c-pageTtl { padding-left: 60px; padding-right: 60px; } }

@media screen and (max-width: 767px) { .c-pageTtl { min-height: 60px; padding-left: 20px; padding-right: 20px; }
  .c-pageTtl h2 { font-size: 1.25rem; letter-spacing: 0; }
  .c-pageTtl h2 span { margin-left: .75em; font-size: 1rem; letter-spacing: 0; } }

.c-heading-section { position: relative; font-size: 100%; padding-bottom: 36px; text-align: center; }

.c-heading-section:first-child { margin-top: 0 !important; }

.c-heading-section:after { display: block; position: absolute; bottom: 0; left: 50%; width: 80px; height: 4px; margin-left: -40px; border-radius: 2px; background: linear-gradient(to right, #2cd8bd, #127db7); content: ""; z-index: 2; }

.c-heading-section > .main { display: block; height: 2.25rem; }

.c-heading-section > .main img { display: block; max-height: 100%; margin: auto; object-fit: contain; }

.c-heading-section > .sub { display: block; margin: 1.25rem 0 0; font-size: 1.25rem; font-weight: 700; line-height: 1.5; letter-spacing: .05em; }

.c-heading-section.-noline { padding-bottom: 0; }

.c-heading-section.-noline:after { display: none; }

.c-heading-section.-white { color: #fff; }

.c-heading-section.-white:after { background-image: linear-gradient(to right, #F7FFE2 0%, #fff 50%, #FCF0CA 100%); }

.c-heading-section.-yawaragi > .main { height: 3rem; }

.c-heading-section.-yawaragi > .sub { font-size: 1rem; }

.c-heading-section.-service { padding-bottom: 0; text-align: left; }

.c-heading-section.-service:after { display: none; }

.c-heading-section.-service > .main img { margin: 0; }

@media screen and (max-width: 767px) { .c-heading-section { padding-bottom: 24px; }
  .c-heading-section::after { width: 40px; margin-left: -20px; }
  .c-heading-section > .main { height: 1.375rem; }
  .c-heading-section > .sub { margin-top: 0.75rem; font-size: 0.8125rem; }
  .c-heading-section.-yawaragi > .main { height: 2.25rem; }
  .c-heading-section.-yawaragi > .sub { font-size: 0.8125rem; }
  .c-heading-section.-service { text-align: center; }
  .c-heading-section.-service > .main img { margin: auto; } }

.c-heading-a { position: relative; padding-bottom: 32px; }

.c-heading-a::after { position: absolute; bottom: 0; left: 0; width: 40px; height: 2px; background: #02a78d; content: ""; }

.c-heading-a > .en { display: block; font-family: "Ropa Sans", sans-serif; font-size: 2rem; line-height: 1.25; letter-spacing: .05em; }

.c-heading-a > .jp { display: block; margin-top: 8px; font-family: "Noto Sans JP", "Noto Sans cjk JP", sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.5; letter-spacing: .05em; }

.c-heading-a.-center { text-align: center; }

.c-heading-a.-center::after { left: 50%; margin-left: -20px; }

@media screen and (max-width: 991px) { .c-heading-a { text-align: center; padding-bottom: 16px; }
  .c-heading-a::after { left: 50%; margin-left: -20px; }
  .c-heading-a > .en { font-size: 1.75rem; }
  .c-heading-a > .jp { font-size: 0.875rem; margin-top: 2px; } }

.c-heading-b { display: block; position: relative; font-size: 2rem; font-weight: 700; line-height: 1.5; text-align: center; letter-spacing: .05em; }

@media screen and (max-width: 991px) { .c-heading-b { font-size: 1.75rem; } }

@media screen and (max-width: 767px) { .c-heading-b { font-size: 1.375rem; } }

.c-heading-c { display: block; position: relative; margin-top: 100px; padding-bottom: 30px; font-size: 1.25rem; font-weight: 700; line-height: 1.5; text-align: center; letter-spacing: .05em; }

.c-heading-c::after { position: absolute; bottom: 0; left: 50%; width: 40px; height: 2px; margin-left: -20px; background: #02a78d; content: ""; }

@media screen and (max-width: 767px) { .c-heading-c { margin-top: 50px; padding-bottom: 16px; font-size: 1rem; } }

.c-button-a { display: flex; justify-content: center; align-items: center; box-sizing: border-box; position: relative; min-height: 60px; margin: 0 auto; padding: 0.5rem 2.5rem; border-radius: 100px; background: #ffffff; font-size: 1rem; font-weight: 700; line-height: 1.5; text-decoration: none; text-align: center; letter-spacing: 1px; box-shadow: 0 0 20px rgba(3, 82, 88, 0.1); z-index: 1; overflow: hidden; transition: color 0.3s ease; }

.c-button-a::before { display: block; position: absolute; top: 0px; right: 0px; background: #fef8e6; height: 100%; width: 0px; z-index: -1; content: ''; transition: all 0.3s ease; }

.c-button-a > .txt { position: relative; }

.c-button-a > .external { display: inline-block; position: absolute; right: 30px; top: 50%; width: 18px; height: 19px; margin-top: -9px; background: url(../images/icon-01.svg) no-repeat center/contain; }

.c-button-a > .arrow { display: inline-block; position: absolute; right: 30px; top: 50%; width: 32px; height: 10px; margin-top: -5px; background: url(../images/icon-02.svg) no-repeat center/contain; }

.c-button-a > .icon { position: absolute; right: 30px; top: 50%; line-height: 0; transform: translate(0, -50%); }

.c-button-a.-bg1 { background: #aaaaaa; }

.c-button-a.-color1 { color: #ffffff; }

.c-button-a.-noIcon { padding-left: 1em; padding-right: 1em; }

.c-button-a:hover { color: #02a78d; }

.c-button-a:hover::before { left: 0; right: auto; width: 100%; }

@media screen and (max-width: 767px) { .c-button-a { min-height: 52px; padding: 0.5rem 2.1875rem; font-size: 0.9375rem; letter-spacing: 0; }
  .c-button-a > .arrow { right: 20px; }
  .c-button-a > .icon { right: 20px; } }

.c-button-b { display: flex; justify-content: center; align-items: center; box-sizing: border-box; position: relative; min-height: 60px; margin: 0 auto; padding: 0.5rem 2.5rem; border-radius: 100px; background-image: linear-gradient(to right, #1da7ba 0%, #2cd8bd 50%, #2cd8bd 55%, #1da7ba 75%, #1a9bb9 85%, #127db7 100%); background-position: 100% 0; background-size: 200% 100%; color: #ffffff; font-size: 1rem; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; letter-spacing: 1px; box-shadow: 0 0 20px rgba(3, 82, 88, 0.1); transition: background 0.5s; }

.c-button-b > .txt { position: relative; }

.c-button-b > .external { display: inline-block; position: absolute; right: 30px; top: 50%; width: 18px; height: 19px; margin-top: -9px; background: url(../images/icon-01-white.svg) no-repeat center/contain; }

.c-button-b > .arrow { display: inline-block; position: absolute; right: 30px; top: 50%; width: 32px; height: 10px; margin-top: -5px; background: url(../images/icon-02-white.svg) no-repeat center/contain; }

.c-button-b > .icon { position: absolute; right: 30px; top: 50%; line-height: 0; transform: translate(0, -50%); }

.c-button-b.-grad02 { background-image: linear-gradient(to right, #2cd8bd 0%, #FCB800 50%, #2cd8bd 100%); }

.c-button-b.-noIcon { padding-left: 1em; padding-right: 1em; }

.c-button-b:hover { background-position: 0 0; }

@media screen and (max-width: 767px) { .c-button-b { min-height: 52px; padding: 0.5rem 2.1875rem; font-size: 0.9375rem; letter-spacing: 0; }
  .c-button-b > .arrow { right: 20px; }
  .c-button-b > .icon { right: 20px; } }

.c-breadcrumb { height: 60px; padding-left: 100px; background: linear-gradient(to right, #127DB7, #2CD8BD); }

.c-breadcrumb > .clr { display: flex; align-items: center; height: 100%; }

.c-breadcrumb > .clr > li { position: relative; color: #FFF; font-size: 0.875rem; line-height: 1.25; z-index: 1; transition: .3s ease-in-out; }

.c-breadcrumb > .clr > li:not(:last-child) { margin-right: 31px; }

.c-breadcrumb > .clr > li:not(:last-child)::after { position: absolute; right: 0; color: #FFF; font-family: "FontAwesome"; content: "\f105"; z-index: -1; }

.c-breadcrumb > .clr > li a { padding-right: 36px; color: #FFF; }

.c-breadcrumb > .clr > li a:hover { opacity: .7; }

@media screen and (max-width: 1299px) { .c-breadcrumb { padding-left: 60px; } }

@media screen and (max-width: 767px) { .c-breadcrumb { display: none; } }

.c-pagination { display: block; margin: 30px auto 0; }

.c-pagination > .pagination { display: flex; flex-flow: row wrap; justify-content: center; list-style: none; padding-left: 0; margin: 0 -4px 0; }

.c-pagination > .pagination > li { box-sizing: border-box; margin: 4px; text-align: center; }

.c-pagination > .pagination .num { display: block; position: relative; width: 32px; height: 32px; border: 1px solid #02A78D; background-color: #ffffff; color: #02A78D; line-height: 30px; text-decoration: none; }

.c-pagination > .pagination > .cur { display: block; position: relative; width: 32px; height: 32px; border: 1px solid #02A78D; background-color: #02A78D; color: #ffffff; line-height: 30px; text-decoration: none; }

@media screen and (max-width: 575px) { .c-pagination > .pagination { margin-left: -2px; margin-right: -2px; }
  .c-pagination > .pagination > li { margin: 2px; } }

.c-news-list { list-style: none; margin: 40px 0 0; padding: 0; border-top: 1px solid #D4D9DB; }

.c-news-list:first-child { margin-top: 0; }

.c-news-list > .item { display: flex; flex-wrap: nowrap; justify-content: flex-start; list-style: none; align-items: flex-start; padding: 25px 15px; border-bottom: 1px solid #D4D9DB; }

.c-news-list > .item > .date, .c-news-list > .item > .category, .c-news-list > .item > .text { flex-grow: 0; flex-shrink: 0; display: block; line-height: 1.5; }

.c-news-list > .item > .date { width: 8em; margin: 0; padding: 3px 0; font-weight: 700; }

.c-news-list > .item > .category { width: 10em; margin: 0 0 0 20px; padding: 3px 1em 3px; background-color: #02A78D; border-radius: 5px; color: #ffffff; text-align: center; font-weight: normal; font-size: 1em; }

.c-news-list > .item > .text { -ms-grid-row-align: center; align-self: center; flex-grow: 1; flex-shrink: 1; margin: 0 0 0 25px; }

.c-news-list > .item > .text .new { display: inline-block; margin-left: .5em; color: #FC9B00; font-size: 12px; font-weight: 700; }

@media screen and (max-width: 767px) { .c-news-list { margin-top: 30px; }
  .c-news-list > .item { flex-wrap: wrap; padding: 15px 10px; }
  .c-news-list > .item > .date { padding-top: 3px; padding-bottom: 3px; font-size: 0.875rem; }
  .c-news-list > .item > .category { margin-left: 12px; font-size: 0.8125rem; }
  .c-news-list > .item > .text { width: 100%; margin: 5px 0 0; font-size: 0.875rem; } }

.l-section-yawaragi { position: relative; padding-top: 6.25rem; padding-bottom: 6.25rem; background: linear-gradient(to left, #d8fddf, #96e2f8, #d8fddf); z-index: 1; }

@media screen and (max-width: 767px) { .l-section-yawaragi { padding-top: 2.5rem; padding-bottom: 3.75rem; } }

.c-yawaragi-article .article-more { max-width: 360px; margin: 60px auto 0; }

.c-yawaragi-article .article-list { margin-top: 60px; }

@media screen and (max-width: 767px) { .c-yawaragi-article .article-list { margin-top: 40px; } }

.c-yawaragi-article .article-card { display: flex; justify-content: space-between; flex-wrap: wrap; }

.c-yawaragi-article .article-item { width: calc(25% - 28px); text-align: left; }

.c-yawaragi-article .article-item .image { position: relative; width: 100%; padding-top: 58.76712%; overflow: hidden; box-shadow: 20px 20px 20px rgba(10, 107, 155, 0.31); }

.c-yawaragi-article .article-item .image img { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s, filter 1.5s ease-in-out; }

.c-yawaragi-article .article-item .btn { display: inline-block; margin-top: 17px; padding: 10px 20px; border-radius: 4px; background-color: #02a78d; font-size: 0.9375rem; font-weight: 700; color: #ffffff; text-align: center; line-height: 1.25; }

.c-yawaragi-article .article-item .desc { max-height: 75px; margin-top: 13px; margin-bottom: 12px; font-size: 1rem; font-weight: 700; line-height: 1.5; overflow: hidden; }

.c-yawaragi-article .article-item .tags span { display: inline-block; font-size: 0.875rem; color: #0a6b9b; line-height: 1.5; }

.c-yawaragi-article .article-item .tags span:not(:last-child) { margin-right: 15px; }

.c-yawaragi-article .article-item:hover .image img { transform: scale(1.1); }

@media screen and (max-width: 1299px) { .c-yawaragi-article .article-item .btn { font-size: 0.8125rem; } }

@media screen and (max-width: 991px) { .c-yawaragi-article .article-item { width: calc(50% - 10px); }
  .c-yawaragi-article .article-item:not(:nth-last-child(-n + 2)) { margin-bottom: 39px; }
  .c-yawaragi-article .article-item .btn { font-size: 1rem; } }

@media screen and (max-width: 767px) { .c-yawaragi-article .article-item .image { box-shadow: 10px 10px 10px rgba(10, 107, 155, 0.31); }
  .c-yawaragi-article .article-item .desc { max-height: 160px; margin-top: 15px; margin-bottom: 1px; font-size: 0.875rem; }
  .c-yawaragi-article .article-item .btn { padding: 6px 5px; font-size: 0.6875rem; text-align: left; }
  .c-yawaragi-article .article-item .tags span { font-size: 0.75rem; }
  .c-yawaragi-article .article-item .tags span:not(:last-child) { margin-right: 8px; } }

#top .button--anabuki { max-width: 360px; margin-left: 0; margin-right: 0; }

@media screen and (max-width: 767px) { #top .button--anabuki { max-width: 280px; margin-left: auto; margin-right: auto; } }

#top .section-bg { position: relative; padding-top: 6.25rem; padding-bottom: 6.25rem; }

#top .section-bg.-news { background: #faf8f8; }

#top .section-bg.-mission { background: linear-gradient(to right, #127db7 0%, #2cd8bd 100%); color: #fff; }

#top .section-bg.-sustainability { background: linear-gradient(to right, #f7ffe2 0%, #ffffff 50%, #fcf0ca 100%); }

#top .section-bg.-recruit { background: linear-gradient(to right, #127db7 0%, #2cd8bd 100%); color: #fff; }

@media screen and (max-width: 767px) { #top .section-bg { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

#top .main-visual { box-sizing: border-box; position: relative; width: 100%; height: 0; padding-top: 37.5%; margin-top: 4px; z-index: 1; }

#top .main-visual > .bgimg { position: absolute; top: 0; right: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: right 25% top 0; z-index: -1; }

#top .main-visual > .textarea { box-sizing: border-box; position: absolute; top: 50%; left: 50%; width: 100%; padding: 20px; transform: translate(-50%, -50%); }

#top .main-visual .heading { display: block; color: #fff; font-family: "Noto Serif JP", sans-serif; font-size: 3.375rem; font-weight: 700; line-height: 1.5; letter-spacing: .2em; text-align: center; text-shadow: 0 0 20px black; }

@media screen and (max-width: 991px) { #top .main-visual .heading { font-size: 2.5rem; } }

@media screen and (max-width: 767px) { #top .main-visual { height: 22.5rem; }
  #top .main-visual > .textarea { left: 0; transform: translate(0, -50%); }
  #top .main-visual .heading { font-size: 2rem; text-align: left; } }

#top .news-release { position: relative; }

#top .news-release > .more { display: block; margin: 30px 0 0; text-align: right; }

@media screen and (max-width: 767px) { #top .news-release > .more { margin-top: 16px; font-size: 0.875rem; } }

#top .news-important { position: relative; margin-top: 3.75rem; }

#top .news-important > .more { display: block; margin: 30px 0 0; text-align: right; }

@media screen and (max-width: 767px) { #top .news-important { margin-top: 2.5rem; }
  #top .news-important > .more { margin-top: 16px; font-size: 0.875rem; } }

#top .service-bg { position: absolute; top: 0; left: 0; width: 100%; height: 51.6875rem; background: no-repeat center/cover; }

@media screen and (max-width: 767px) { #top .service-bg { height: auto; background-image: none !important; }
  #top .service-bg img { display: block; width: 100%; } }

#top .service-block { position: relative; }

#top .service-block > .name { margin-top: 23px; font-size: 3.75rem; font-weight: 700; line-height: 1.5; letter-spacing: .1em; text-shadow: 0 0 6px rgba(0, 74, 48, 0.16); }

#top .service-block > .text { margin-top: 32px; font-size: 1.375rem; font-weight: 700; line-height: 2; text-shadow: 0 0 6px rgba(0, 74, 48, 0.16); }

@media screen and (max-width: 991px) { #top .service-block > .name { font-size: 2.8125rem; }
  #top .service-block > .text { font-size: 1.125rem; } }

@media screen and (max-width: 767px) { #top .service-block { padding-top: 110%; }
  #top .service-block > .name { margin-top: 7px; font-size: 1.875rem; text-align: center; }
  #top .service-block > .text { margin-top: 21px; font-size: 1rem; } }

#top .service-building { position: relative; margin: 80px 0 0; padding: 72px 60px 60px; background: #fff url("../../shared/images/building-bg.png") no-repeat center/cover; box-shadow: 0 0 30px rgba(3, 82, 88, 0.16); }

#top .service-building::before { position: absolute; width: 100%; top: 0; left: 0; height: 4px; background: linear-gradient(to left, #06c6fd, #c1fa87); content: ""; }

@media screen and (max-width: 767px) { #top .service-building { margin-top: 30px; padding: 40px 15px; background-image: url("../../shared/images/building-bg-sp.png"); background-position: top right; background-size: auto; } }

#top .service-building .building-box { display: flex; }

@media screen and (max-width: 1299px) { #top .service-building .building-box { flex-direction: column; } }

#top .service-building .building-more { max-width: 460px; margin: 40px auto 0; }

#top .service-building .showcase-list { display: flex; width: 56%; }

#top .service-building .showcase-list > .item { position: relative; width: 12.5rem; }

#top .service-building .showcase-list > .item + .item { margin-left: 20px; }

#top .service-building .showcase-list .image { display: block; overflow: hidden; }

#top .service-building .showcase-list .image img { width: 100%; height: 12.5rem; object-fit: cover; transition: transform 0.5s, filter 1.5s ease-in-out; }

#top .service-building .showcase-list .tag { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: -29px; right: -10px; width: 80px; height: 80px; border-radius: 50%; background: #fcf167; font-size: 1rem; font-weight: 700; line-height: 1.25; text-align: center; }

#top .service-building .showcase-list .text { margin-top: 14px; font-size: 0.8125rem; line-height: 1.5; overflow: hidden; }

@media screen and (max-width: 1299px) { #top .service-building .showcase-list { order: 2; justify-content: center; width: 100%; margin-top: 43px; margin-bottom: 34px; } }

@media screen and (max-width: 767px) { #top .service-building .showcase-list { margin-top: 35px; margin-bottom: 0; }
  #top .service-building .showcase-list > .item { width: 5.75rem; }
  #top .service-building .showcase-list > .item + .item { margin-left: 10px; }
  #top .service-building .showcase-list .image img { height: 5.75rem; }
  #top .service-building .showcase-list .tag { top: -15px; right: -7px; width: auto; height: auto; padding: 5px; border-radius: 6px; font-size: 0.75rem; }
  #top .service-building .showcase-list .text { margin-top: 9px; font-size: 0.75rem; } }

#top .service-building .area-list { position: relative; width: 44%; margin-left: 44px; }

#top .service-building .area-list .lead { font-size: 1.25rem; font-weight: 700; line-height: 1.5; letter-spacing: .05em; text-align: center; word-break: keep-all; }

#top .service-building .area-list .wrap { display: flex; flex-wrap: wrap; margin: 40px 0 -16px -16px; padding: 0 36px; }

#top .service-building .area-list .area-card { width: 5rem; margin: 0 0 16px 16px; text-align: center; }

#top .service-building .area-list .area-card a { display: block; padding: 7px 4px; border-radius: 8px; background: #02A78D; font-size: 1.125rem; font-weight: 700; color: #ffffff; line-height: 1.5; transition: 0.3s; }

#top .service-building .area-list .area-card:hover { opacity: 0.7; }

@media screen and (max-width: 1299px) { #top .service-building .area-list { order: 1; top: 0; width: 100%; max-width: 640px; margin: auto; }
  #top .service-building .area-list .lead { font-size: 1.125rem; }
  #top .service-building .area-list .wrap { justify-content: center; padding: 0; }
  #top .service-building .area-list .area-card { width: calc(25% - 16px); } }

@media screen and (max-width: 767px) { #top .service-building .area-list { max-width: 300px; }
  #top .service-building .area-list .wrap { margin-bottom: -6px; margin-left: -6px; }
  #top .service-building .area-list .area-card { width: calc(25% - 6px); margin: 0 0 6px 6px; }
  #top .service-building .area-list .area-card a { font-size: 0.9375rem; } }

#top .mission-block > .lead { display: block; margin: 40px 0 0; font-size: 1.5rem; font-weight: 700; line-height: 2; text-align: center; }

#top .mission-block > .btn { max-width: 360px; margin: 60px auto 0; }

#top .mission-block > .videoarea { max-width: 1020px; margin: 40px auto 0; }

#top .mission-block > .videoarea > .videolist { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0 0 -40px -40px; }

#top .mission-block > .videoarea > .videolist > li { width: calc(50% - 40px); margin: 0 0 40px 40px; }

#top .mission-block > .videoarea .thumb { display: block; position: relative; overflow: hidden; }

#top .mission-block > .videoarea .thumb::after { position: absolute; top: 50%; left: 50%; margin: -16px 0 0 -12px; border: solid transparent; border-width: 16px 0 16px 24px; border-left-color: #fff; content: ""; }

#top .mission-block > .videoarea .thumb img { display: block; width: 100%; transition: all .5s ease; }

#top .mission-block > .videoarea .thumb:hover img { transform: scale(1.05); }

@media screen and (max-width: 991px) { #top .mission-block > .lead { font-size: 1.25rem; } }

@media screen and (max-width: 767px) { #top .mission-block > .lead { margin-top: 30px; font-size: 0.9375rem; }
  #top .mission-block > .btn { max-width: 280px; margin-top: 30px; }
  #top .mission-block > .videoarea { max-width: 480px; margin: 30px auto 0; }
  #top .mission-block > .videoarea > .videolist { margin: 0 0 -15px -15px; }
  #top .mission-block > .videoarea > .videolist > li { width: calc(100% - 15px); margin: 0 0 15px 15px; }
  #top .mission-block > .videoarea .thumb::after { margin: -12px 0 0 -8px; border-width: 12px 0 12px 16px; } }

#top .episodemovie-heading { font-size: 1.25rem; font-weight: bold; text-align: center; margin-top: 3em; }

@media screen and (max-width: 991px) { #top .episodemovie-heading { font-size: 1.125rem; } }

#top .sustainability-block > .lead { display: block; margin: 40px 0 0; font-size: 1.5rem; font-weight: 700; line-height: 2; text-align: center; }

#top .sustainability-block > .btn { max-width: 360px; margin: 60px auto 0; }

#top .sustainability-block > .bnrarea { max-width: 1020px; margin: 80px auto 0; }

#top .sustainability-block > .bnrarea a:hover { opacity: .7; }

#top .sustainability-block > .bnrarea > .bnrlist { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0 0 -40px -40px; }

#top .sustainability-block > .bnrarea > .bnrlist > li { width: calc(50% - 40px); margin: 0 0 40px 40px; }

@media screen and (max-width: 991px) { #top .sustainability-block > .lead { font-size: 1.25rem; } }

@media screen and (max-width: 767px) { #top .sustainability-block > .lead { margin-top: 30px; font-size: 0.9375rem; }
  #top .sustainability-block > .btn { max-width: 280px; margin-top: 30px; }
  #top .sustainability-block > .bnrarea { margin-top: 40px; }
  #top .sustainability-block > .bnrarea > .bnrlist { margin: 0 0 -15px -15px; }
  #top .sustainability-block > .bnrarea > .bnrlist > li { width: calc(100% - 15px); margin: 0 0 15px 15px; } }

#top .recruit-block > .lead { display: block; margin: 40px 0 0; font-size: 1.5rem; font-weight: 700; line-height: 2; text-align: center; }

#top .recruit-block > .btn { max-width: 460px; margin: 60px auto 0; }

@media screen and (max-width: 991px) { #top .recruit-block > .lead { font-size: 1.25rem; } }

@media screen and (max-width: 767px) { #top .recruit-block > .lead { margin-top: 30px; font-size: 0.9375rem; }
  #top .recruit-block > .btn { max-width: 280px; margin-top: 30px; } }

.section-article { position: relative; z-index: 1; text-align: center; padding-top: 6.1875rem; padding-bottom: 6.1875rem; background: linear-gradient(to left, #d8fddf, #96e2f8, #d8fddf); }

@media screen and (max-width: 767px) { .section-article { margin-top: 2.5rem; padding-top: 2.5rem; padding-bottom: 3.75rem; } }

.section-article .article-list { margin-top: 80px; margin-bottom: 69px; }

@media screen and (max-width: 767px) { .section-article .article-list { margin-top: 48px; margin-bottom: 57px; } }

.section-article .article-card { display: flex; justify-content: space-between; flex-wrap: wrap; }

.section-article .article-item { width: calc(25% - 28px); text-align: left; }

@media screen and (max-width: 991px) { .section-article .article-item { width: calc(50% - 10px); }
  .section-article .article-item:not(:nth-last-child(-n + 2)) { margin-bottom: 39px; } }

.section-article .article-item .btn { display: inline-block; font-size: 0.9375rem; font-weight: 700; color: #ffffff; height: 40px; padding: 0 20px; line-height: 40px; text-align: center; background-color: #02a78d; border-radius: 4px; margin-top: 17px; }

@media screen and (max-width: 1299px) { .section-article .article-item .btn { font-size: 0.8125rem; } }

@media screen and (max-width: 991px) { .section-article .article-item .btn { font-size: 1rem; } }

@media screen and (max-width: 767px) { .section-article .article-item .btn { height: auto; padding: 6px 8px; line-height: 18px; font-size: 0.75rem; text-align: left; } }

.section-article .article-item .desc { font-size: 1rem; font-weight: 700; line-height: 1.5rem; margin-top: 13px; margin-bottom: 12px; max-height: 75px; overflow: hidden; }

@media screen and (max-width: 767px) { .section-article .article-item .desc { font-size: 0.875rem; line-height: 1.25rem; margin-top: 24px; margin-bottom: 1px; max-height: 160px; } }

.section-article .article-item .tags span { display: inline-block; font-size: 0.875rem; line-height: 1.3125rem; color: #0a6b9b; }

.section-article .article-item .tags span:not(:last-child) { margin-right: 15px; }

@media screen and (max-width: 767px) { .section-article .article-item .tags span:not(:last-child) { margin-right: 8px; } }

@media screen and (max-width: 767px) { .section-article .article-item .tags span { font-size: 0.75rem; display: inline; line-height: 1.125rem; } }

.section-article .article-item:hover .image img { transform: scale(1.1); }

.section-article .image { width: 100%; height: 61.64384%; box-shadow: 20px 20px 20px rgba(10, 107, 155, 0.31); border-radius: 8px; overflow: hidden; }

.section-article .image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s, filter 1.5s ease-in-out; }

@media screen and (max-width: 767px) { .section-article .image { box-shadow: 10px 10px 10px rgba(10, 107, 155, 0.31); } }

.top-building { width: 100%; background: #fff; position: relative; top: -237px; text-align: center; margin-bottom: -237px; }

@media screen and (max-width: 1299px) { .top-building { height: auto; position: unset; margin-bottom: 0; top: 0; background: #faf8f8; } }

@media screen and (max-width: 767px) { .top-building { margin-top: 31px; } }

.top-building .inner { background-image: url("../../shared/images/building-bg.png"); background-size: cover; background-position: center; box-shadow: 0 0 30px rgba(3, 82, 88, 0.16); padding: 72px 60px 60px; position: relative; height: 100%; background-repeat: no-repeat; }

@media screen and (max-width: 767px) { .top-building .inner { padding: 40px 0 50px 0; background-image: url("../../shared/images/building-bg-sp.png"); background-position: unset; background-size: unset; } }

.top-building .inner:before { content: ""; position: absolute; width: 100%; height: 4px; background: linear-gradient(to left, #06c6fd, #c1fa87); top: 0; left: 0; }

.top-building .showcase-list { display: flex; width: 56%; }

@media screen and (max-width: 1299px) { .top-building .showcase-list { order: 2; justify-content: center; margin-top: 43px; margin-bottom: 34px; width: 100%; } }

@media screen and (max-width: 767px) { .top-building .showcase-list { margin-top: 35px; margin-bottom: 0; padding: 0 20px; } }

.top-building .building-box { display: flex; margin-bottom: 36px; }

@media screen and (max-width: 1299px) { .top-building .building-box { flex-direction: column; margin-bottom: 32px; } }

.top-building .item { width: 12.5rem; position: relative; }

.top-building .item:hover img { transform: scale(1.1); }

@media screen and (max-width: 767px) { .top-building .item { width: 5.75rem; } }

.top-building .item .image { overflow: hidden; }

.top-building .item img { width: 100%; height: 12.5rem; object-fit: cover; transition: transform 0.5s, filter 1.5s ease-in-out; }

@media screen and (max-width: 767px) { .top-building .item img { height: 5.75rem; } }

.top-building .item .tag { position: absolute; background: #fcf167; width: 80px; height: 80px; border-radius: 50%; top: -29px; right: -10px; display: inline-flex; align-items: center; justify-content: center; line-height: 1.5rem; font-size: 1rem; font-weight: 700; }

@media screen and (max-width: 767px) { .top-building .item .tag { border-radius: 6px; width: auto; height: auto; padding: 5.5px; font-size: 0.75rem; line-height: 1.1875rem; top: -15px; right: -7px; } }

.top-building .item .text { font-size: 0.8125rem; line-height: 1.3125rem; margin-top: 14px; max-height: 44px; overflow: hidden; }

@media screen and (max-width: 767px) { .top-building .item .text { font-size: 0.75rem; margin-top: 9px; line-height: 1rem; max-height: 48px; } }

.top-building .item + .item { margin-left: 20px; }

@media screen and (max-width: 767px) { .top-building .item + .item { margin-left: 10px; } }

.top-building .area-list { width: 44%; margin-left: 58px; position: relative; top: -9px; }

@media screen and (max-width: 1299px) { .top-building .area-list { order: 1; margin-left: 0; top: 0; width: 100%; } }

.top-building .area-list .text { font-size: 1.25rem; font-weight: 700; letter-spacing: 2px; line-height: 1.8125rem; }

@media screen and (max-width: 767px) { .top-building .area-list .text { line-height: 1.6875rem; font-size: 1.125rem; letter-spacing: 1.8px; } }

.top-building .area-list .wrap { display: flex; flex-wrap: wrap; padding: 0 36.5px; margin: 0 -11.5px; margin-top: 81px; }

@media screen and (max-width: 1299px) { .top-building .area-list .wrap { margin: 0; padding: 0; justify-content: center; margin-top: 58px; } }

@media screen and (max-width: 767px) { .top-building .area-list .wrap { margin-left: -3px; margin-right: -3px; } }

.top-building .area-list .area-card { width: 5rem; height: 2.5rem; background: #127db7; border-radius: 8px; margin: 0 11.5px 16px; }

@media screen and (max-width: 767px) { .top-building .area-list .area-card { width: 72px; margin: 0 3px 7px; } }

.top-building .area-list .area-card a { display: block; font-size: 1.125rem; font-weight: 700; line-height: 2.5rem; color: #ffffff; transition: 0.3s; }

.top-building .area-list .area-card a:hover { opacity: 0.7; }

@media screen and (max-width: 767px) { .top-building .area-list .area-card a { font-size: 0.9375rem; } }

.top-contact { width: 100%; background-image: url("../../shared/images/contact-bg.jpg"); background-position: left 75% top 50%; background-size: cover; position: relative; z-index: 1; }

@media screen and (max-width: 767px) { .top-contact { background-image: url("../../shared/images/contact-bg-sp.jpg"); background-position: left 50% top 75%; text-align: center; height: 52.75rem; } }

.top-contact .inner { padding-top: 78px; padding-bottom: 138px; }

@media screen and (max-width: 767px) { .top-contact .inner { padding-top: 55px; } }

.top-contact .logo { width: 17.5rem; height: 3.875rem; }

@media screen and (max-width: 767px) { .top-contact .logo { margin-left: auto; margin-right: auto; } }

.top-contact .logo img { width: 100%; height: 100%; object-fit: cover; }

.top-contact .heading-d { font-size: 2rem; font-weight: 700; line-height: 3rem; margin-top: 3rem; }

@media screen and (max-width: 991px) { .top-contact .heading-d { font-size: 1.75rem; } }

@media screen and (max-width: 767px) { .top-contact .heading-d { font-size: 1.4375rem; color: #ffffff; line-height: 2.125rem; margin-top: 2.125rem; } }

.top-contact .desc { font-size: 1rem; line-height: 1.75rem; margin-top: 1.0625rem; margin-bottom: 3.375rem; }

@media screen and (max-width: 991px) { .top-contact .desc { font-size: 0.9375rem; } }

@media screen and (max-width: 767px) { .top-contact .desc { font-size: 0.875rem; color: #ffffff; margin-top: 1.5rem; margin-bottom: 2.5625rem; } }

#company .col-right dl { display: flex; }

#company .col-right dl:not(:first-child) dd, #company .col-right dl:not(:first-child) dt { padding-top: 33px; }

@media screen and (max-width: 767px) { #company .col-right dl:not(:first-child) dd, #company .col-right dl:not(:first-child) dt { padding-top: 19px; } }

#company .col-right dl:first-child { margin-top: -8px; }

#company .col-right dl dt, #company .col-right dl dd { line-height: 1.75rem; }

@media screen and (max-width: 767px) { #company .col-right dl dt, #company .col-right dl dd { font-size: 0.875rem; line-height: 1.5rem; } }

#company .col-right dl dt { width: 202px; border-bottom: 1px solid #666666; }

@media screen and (max-width: 767px) { #company .col-right dl dt { width: 90px; } }

#company .col-right dl dd { width: 75%; padding-bottom: 34px; border-bottom: 1px solid #cccccc; margin-left: 10px; }

@media screen and (max-width: 767px) { #company .col-right dl dd { padding-bottom: 17.5px; margin-left: 0; } }

#company .col-right ul li { font-size: 1.125rem; font-weight: 700; display: flex; align-items: center; }

#company .col-right ul li:not(:last-child) { margin-bottom: 41px; }

@media screen and (max-width: 767px) { #company .col-right ul li:not(:last-child) { margin-bottom: 25px; } }

@media screen and (max-width: 767px) { #company .col-right ul li { font-size: 0.875rem; margin-bottom: 21px; } }

#company .col-right ul li::before { content: ""; background-image: url("./../../company/images/icon-check.png"); width: 20px; height: 20px; display: inline-block; margin-right: 15px; }

@media screen and (max-width: 767px) { #company .col-right ul li::before { margin-top: -4px; margin-right: 10px; } }

#company .table-info:not(:last-child) { margin-bottom: 162px; }

@media screen and (max-width: 991px) { #company .table-info { display: block; }
  #company .table-info:not(:last-child) { margin-bottom: 80px; } }

@media screen and (max-width: 767px) { #company .table-info:not(:last-child) { margin-bottom: 56px; } }

.p-company { padding-top: 123px; padding-bottom: 160px; }

@media screen and (max-width: 1299px) { .p-company { padding-left: 60px; padding-right: 60px; padding-bottom: 120px; } }

@media screen and (max-width: 767px) { .p-company { padding-top: 40px; padding-left: 20px; padding-right: 20px; padding-bottom: 116px; } }

.p-company .col-right dt { font-weight: 700; }

#recruit .section-job { position: relative; padding-bottom: 6.25rem; }

@media screen and (max-width: 767px) { #recruit .section-job { padding-bottom: 3.125rem; } }

#recruit .main-image { position: relative; }

#recruit .main-image > .bgimg img { width: 100%; }

#recruit .main-image > .bgimg img.pc { display: block; }

#recruit .main-image > .bgimg img.sp { display: none; }

#recruit .main-image > .textarea { display: flex; flex-direction: column; justify-content: center; align-items: center; position: absolute; top: 0; bottom: 0; left: 50%; width: 50%; padding-bottom: 5vw; z-index: 2; }

#recruit .main-image > .textarea > .copy { font-size: calc(100vw * 24/1600); font-weight: 700; line-height: 2; }

@media screen and (max-width: 991px) { #recruit .main-image > .bgimg { position: relative; }
  #recruit .main-image > .bgimg::after { display: block; position: absolute; bottom: -1px; left: 0; width: 100%; height: 50%; background: linear-gradient(to bottom, rgba(248, 251, 249, 0) 0%, #F8FBF9 90%), linear-gradient(to bottom, rgba(248, 251, 249, 0) 0%, #F8FBF9 90%); content: ""; }
  #recruit .main-image > .bgimg img.pc { display: none; }
  #recruit .main-image > .bgimg img.sp { display: block; }
  #recruit .main-image > .textarea { top: auto; left: 0; bottom: 0; width: 100%; padding: 20px 20px calc(5vw + 20px); }
  #recruit .main-image > .textarea > .copy { font-size: 1.5rem; line-height: 1.75; text-align: center; text-shadow: 0 0 5px #F8FBF9; } }

@media screen and (max-width: 767px) { #recruit .main-image > .textarea > .copy { font-size: calc(100vw * 16/375); } }

#recruit .job-information { position: relative; max-width: 1080px; margin: -5vw auto 0; padding: 80px 40px; background-color: #fff; box-shadow: 0 0 20px rgba(0, 74, 48, 0.05); }

#recruit .job-information::after { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(to right, #127db7, #2cd8bd); content: ""; }

#recruit .job-information > .heading { margin: 0; font-size: 100%; font-weight: 700; line-height: 1.25; text-align: center; }

#recruit .job-information > .heading > .sub { display: block; margin-bottom: 8px; font-size: 1rem; }

#recruit .job-information > .heading > .main { font-size: 2.25rem; letter-spacing: .1em; }

#recruit .job-information > .lead { margin-top: 24px; line-height: 1.5; text-align: center; }

#recruit .job-information > .site { max-width: 420px; margin: 48px auto 0; }

@media screen and (max-width: 767px) { #recruit .job-information { padding: 40px 15px; }
  #recruit .job-information > .heading > .sub { font-size: 0.875rem; }
  #recruit .job-information > .heading > .main { font-size: 1.5rem; }
  #recruit .job-information > .lead { margin-top: 8px; font-size: 0.875rem; }
  #recruit .job-information > .site { max-width: 300px; margin-top: 30px; } }

#recruit .job-entry { max-width: 680px; margin: 60px auto 0; }

#recruit .job-entry > .linklist { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 0 -30px -40px; }

#recruit .job-entry > .linklist > li { width: calc(50% - 40px); margin: 0 0 30px 40px; }

#recruit .job-entry > .linklist .link { display: block; position: relative; padding: 0 32px 20px 0; border-bottom: 1px solid #02A78D; font-weight: 700; line-height: 1.25; transition: 0.3s ease-in-out; }

#recruit .job-entry > .linklist .link:hover { opacity: 0.7; }

#recruit .job-entry > .linklist .link::after { position: absolute; top: 6px; right: 4px; width: 24px; height: 10px; background: url("../images/icon-02-green-small.svg") no-repeat center/contain; content: ""; }

@media screen and (max-width: 767px) { #recruit .job-entry { max-width: 420px; margin-top: 40px; }
  #recruit .job-entry > .linklist { margin: 0 0 -20px -10px; }
  #recruit .job-entry > .linklist > li { width: calc(50% - 10px); margin: 0 0 20px 10px; }
  #recruit .job-entry > .linklist .link { padding-bottom: 16px; padding-right: 20px; font-size: 0.75rem; }
  #recruit .job-entry > .linklist .link::after { top: 5px; width: 16px; } }

#recruit .job-graduates { margin: 80px auto 0; }

#recruit .job-graduates > .heading { font-size: 1.5rem; font-weight: 700; line-height: 1.5; letter-spacing: .1em; text-align: center; }

#recruit .job-graduates > .lead { margin-top: 12px; line-height: 1.5; text-align: center; }

#recruit .job-graduates > .bnrlist { display: flex; flex-wrap: nowrap; justify-content: center; margin: 40px 0 -20px -20px; }

#recruit .job-graduates > .bnrlist > li { width: 200px; margin: 0 0 20px 20px; }

#recruit .job-graduates > .bnrlist .bnr { display: flex; align-items: center; justify-content: center; padding: 6px; border: 1px solid #02A78D; border-radius: 4px; background: #fff; overflow: hidden; transition: 0.3s ease-in-out; }

#recruit .job-graduates > .bnrlist .bnr:hover { opacity: 0.7; }

@media screen and (max-width: 767px) { #recruit .job-graduates { margin-top: 40px; }
  #recruit .job-graduates > .heading { font-size: 1.25rem; }
  #recruit .job-graduates > .lead { font-size: 0.875rem; }
  #recruit .job-graduates > .bnrlist { margin: 30px 0 -10px -10px; }
  #recruit .job-graduates > .bnrlist > li { margin: 0 0 10px 10px; } }

/**************************************************/
/* components - form */
/**************************************************/
*:-ms-input-placeholder { color: #aaa; }
*:placeholder-shown { color: #aaa; }

*::-webkit-input-placeholder { color: #aaa; }

*:-moz-placeholder { color: #aaa; opacity: 1; }

*::-moz-placeholder { color: #aaa; opacity: 1; }

*:-ms-input-placeholder { color: #aaa; }

:focus::-webkit-input-placeholder { color: transparent; }

:focus::-moz-placeholder { color: transparent; }

@media screen and (max-width: 991px) { #contact .table-info { display: block; } }

.p-contact { padding-top: 128px; padding-bottom: 160px; }

@media screen and (max-width: 1299px) { .p-contact { padding: 60px; } }

@media screen and (max-width: 767px) { .p-contact { padding: 40px 20px 80px; } }

.f-error-text { display: block; position: relative; margin: 16px 0 0; color: #F20038; font-weight: bold; line-height: 1.5; }

.f-error-text::before { content: "※"; }

.f-error-text + .f-error-text { margin-top: 0; }

.f-error-message { display: block; margin-bottom: 40px; padding: 1em; border-radius: 4px; background-color: #ffe0e0; color: #F20038; font-weight: bold; line-height: 1.5; }

.f-field { display: inline-block; box-sizing: border-box; width: 100%; padding: 9px 1em; border: 1px solid #ccc; border-radius: 0; font-size: 0.875rem; line-height: 20px; }

.f-field.-short { max-width: 140px; }

.f-field.-middle { max-width: 240px; }

.f-field.-long { max-width: 400px; }

.f-field.-active { ime-mode: active; }

.f-field.-inactive { ime-mode: inactive; }

@media screen and (max-width: 767px) { .f-field { font-size: 1rem; } }

textarea.f-field { display: block; line-height: 1.25; }

.f-radio { display: inline-block; }

.f-radio > .intext { display: block; position: relative; padding: 0 0 0 calc(1em + 10px); font-size: 1rem; line-height: 1.5; cursor: pointer; }

.f-radio > .intext::before { display: inline-block; position: absolute; top: calc(.75em - 8px); left: 0; width: 14px; height: 14px; border: 1px solid #b5b5b5; border-radius: 100%; background: #eeeeee; text-align: center; vertical-align: top; content: ""; transition: all .2s ease; }

.f-radio > input[type="radio"] { position: absolute; opacity: 0; }

.f-radio > input[type="radio"]:checked + .intext::before { background-color: #3197ee; box-shadow: inset 0 0 0 3px #f4f4f4; }

.f-selectbox { appearance: none; position: relative; padding: 6px 32px 6px 1em; border: 1px solid #ccc; border-radius: 4px; background: url(../../contact/images/arrow-selectbox.png) no-repeat right 50%, linear-gradient(to top, #eeeeee, #ffffff); font-size: 0.875rem; line-height: 20px; }

.f-selectbox::-ms-expand { display: none; }

.f-selectbox.-full { width: 100%; }

.f-btn { appearance: none; display: flex; flex-direction: column; justify-content: center; align-items: center; box-sizing: border-box; position: relative; width: 100%; height: 48px; margin: auto; padding: 9px 30px 7px; border: none; border-radius: 100px; background-color: #aaa; font-size: 1rem; color: #fff; font-weight: 700; text-decoration: none; text-align: center; box-shadow: 0px 0px 30px rgba(3, 82, 88, 0.16); }

.f-btn::after { position: absolute; top: 50%; right: 10px; width: 20px; height: 16px; margin-top: -8px; background: url(../../contact/images/arrow-right.png) no-repeat center; content: ""; }

.f-btn.-send { background-color: #02a78d; }

.f-btn.-edit::after { left: 10px; right: auto; transform: rotate(180deg); }

.f-input-form { display: block; margin: 20px 0 0; }

.f-input-form.-middle { max-width: 320px; }

.f-input-form.-long { max-width: 400px; }

.f-input-rows { display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: center; margin: 20px 0 -10px -32px; line-height: 1.5; }

.f-input-rows > li { display: block; box-sizing: border-box; margin: 0 0 10px 32px; }

.f-input-unit { display: flex; justify-content: flex-start; flex-wrap: nowrap; align-items: center; margin: 20px 0 -20px -20px; line-height: 1.5; }

.f-input-unit > .unit { display: block; box-sizing: border-box; margin: 0 0 20px 20px; }

.f-input-unit.-fullname { flex-wrap: wrap; }

.f-input-unit.-fullname > .unit { width: calc(50% - 20px); }

.f-input-unit.-birth > .unit:nth-child(1) { width: 40%; }

.f-input-unit.-birth > .unit:nth-child(2), .f-input-unit.-birth > .unit:nth-child(3) { width: 30%; }

.f-input-unit.-zip { align-items: center; margin-left: -10px; }

.f-input-unit.-zip > .unit { margin-left: 10px; }

.f-input-unit.-zip > .unit:nth-child(1) { width: 100px; }

.f-input-unit.-zip > .unit:nth-child(3) { width: 140px; }

.f-input-unit.-address1 > .unit:nth-child(1) { flex: 0 0 auto; width: 120px; }

.f-input-unit.-address1 > .unit:nth-child(2) { flex: 1 1 auto; width: calc(100% - 120px); }

.f-input-unit.-address2 > .unit:nth-child(1) { flex: 0 0 auto; }

.f-input-unit.-address2 > .unit:nth-child(2) { flex: 1 1 auto; width: calc(100% - 3em); }

.f-input-unit.-email > .unit:nth-child(1) { width: 320px; }

.f-input-unit.-email > .unit:nth-child(2) { flex: 0 0 auto; }

.f-submit { max-width: 400px; margin: 60px auto 0; }

.f-submit-send { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 60px 0 -16px -20px; line-height: 1.5; }

.f-submit-send > li { display: block; box-sizing: border-box; width: 320px; margin: 0 0 16px 20px; }

.f-thanks > .main { display: block; margin: 0; font-size: 1.5rem; font-weight: 700; line-height: 1.75; }

.f-thanks > .text { display: block; margin: 1em 0 0; font-size: 1rem; line-height: 1.75; }

.f-thanks > .comment { display: block; margin: 1em 0 0; font-size: 0.875rem; line-height: 1.75; }

.f-thanks > .comment.-indention { padding-left: 1em; text-indent: -1em; }

.f-thanks > .return { max-width: 320px; margin: 60px auto 0; }

.f-table { border-collapse: collapse; width: 100%; margin: 0; }

.f-table th, .f-table td { box-sizing: border-box; padding: 30px 0; border-bottom: 1px solid #ccc; font-size: 0.9375rem; color: #4c4c4c; text-align: left; line-height: 1.5; }

.f-table tr.first th, .f-table tr.first td { padding-top: 0; }

.f-table th { width: 30%; font-weight: 700; vertical-align: top; }

.f-table td { width: 70%; padding-left: 1em; }

.f-table th > .required { display: inline-block; position: relative; margin-left: .5em; padding: 2px .5em; border-radius: 2px; background-color: #02a78d; font-size: 0.75rem; color: #fff; font-weight: 400; line-height: 1.25; content: "必須"; }

.f-table td > *:first-child { margin-top: 0 !important; }

.f-table td .comment { margin: 16px 0 0; font-size: 0.875rem; line-height: 1.5; }

.f-table td .comment.-indention { padding-left: 1em; text-indent: -1em; }

.f-table.-confirm { max-width: 800px; margin-left: auto; margin-right: auto; }

@media screen and (max-width: 767px) { .f-table { display: block; }
  .f-table tbody, .f-table tr, .f-table th, .f-table td { display: block; }
  .f-table th, .f-table td { width: auto; padding: 0; border-bottom: none; }
  .f-table tr { padding-bottom: 30px; border-bottom: 1px solid #ccc; }
  .f-table tr + tr { padding-top: 30px; }
  .f-table td { margin-top: 15px; } }

.f-privacy-policy { height: 360px; padding: 21px 40px; margin-top: 30px; border: 1px solid transparent; border-right: 10px solid #ffffff; border-top: 12px solid transparent; border-bottom: 15px solid transparent; background: #ffffff; outline: 1px solid #cccccc; overflow-y: scroll; /* Scrollbar */ /* width */ /* Track */ /* Handle */ }

@media screen and (max-width: 767px) { .f-privacy-policy { padding: 6px 11px 21px 20px; height: 326px; } }

.f-privacy-policy h3 { margin-bottom: 18px; font-size: 1.25rem; color: #4c4c4c; font-weight: 700; line-height: 2.25rem; }

@media screen and (max-width: 767px) { .f-privacy-policy h3 { margin-bottom: 4px; font-size: 1rem; } }

.f-privacy-policy h4 { margin-top: 14px; margin-bottom: 7px; font-size: 1rem; font-weight: 700; line-height: 2.25rem; color: #4c4c4c; }

@media screen and (max-width: 767px) { .f-privacy-policy h4 { margin-top: 17px; margin-bottom: 1px; font-size: 0.875rem; } }

.f-privacy-policy h5 { margin-top: 14px; margin-bottom: 7px; font-size: 0.9375rem; font-weight: 700; line-height: 2.25rem; color: #4c4c4c; }

@media screen and (max-width: 767px) { .f-privacy-policy h5 { margin-top: 17px; margin-bottom: 1px; font-size: 0.8125rem; } }

.f-privacy-policy .text { font-size: 0.9375rem; font-weight: 400; line-height: 1.75rem; }

@media screen and (max-width: 767px) { .f-privacy-policy .text { font-size: 0.8125rem; line-height: 1.1875rem; } }

.f-privacy-policy .text + .text { margin-top: 1em; }

.f-privacy-policy .privacy-link a { color: #ed6d1e; text-decoration: none; }

.f-privacy-policy .privacy-link a:hover { text-decoration: underline; }

.f-privacy-policy .privacy-link a:hover { text-decoration: underline; }

.f-privacy-policy ul { margin-left: 14px; }

@media screen and (max-width: 767px) { .f-privacy-policy ul { margin-top: -3px; margin-left: 11px; } }

.f-privacy-policy ul li { position: relative; font-size: 0.9375rem; font-weight: 400; line-height: 1.75rem; }

.f-privacy-policy ul li::before { display: block; position: absolute; top: 1.75rem; left: -8px; width: 3px; height: 3px; background: #222222; border-radius: 50%; transform: translateY(-1em); content: ""; }

@media screen and (max-width: 767px) { .f-privacy-policy ul li { font-size: 0.8125rem; } }

.f-privacy-policy::-webkit-scrollbar { width: 8px; }

.f-privacy-policy::-webkit-scrollbar-track { background: #eeeeee; border-left: 3px solid white; border-right: 4px solid white; }

.f-privacy-policy::-webkit-scrollbar-thumb { background: #eeeeee; border-radius: 3px; }

#sustainability .jisedai-bnr { margin: 60px auto 0; text-align: center; }

#sustainability .jisedai-bnr a:hover { opacity: .7; }

@media screen and (max-width: 767px) { #sustainability .jisedai-bnr { margin-top: 30px; } }

#sustainability .sustainability-thought { max-width: 1080px; margin: auto; }

#sustainability .sustainability-thought .desc-a { margin-top: 31px; margin-bottom: 54px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-thought .desc-a { margin-top: 20px; margin-bottom: 30px; } }

#sustainability .sustainability-thought .target-images { display: flex; justify-content: center; }

#sustainability .sustainability-thought .title-pc { margin-top: 60px; text-align: center; }

#sustainability .sustainability-thought .title-sp { margin-top: 40px; text-align: center; }

#sustainability .sustainability-thought .open-sdgs { max-width: 360px; margin: 80px auto 0; }

#sustainability .sustainability-thought .open-sdgs > * { cursor: pointer; }

@media screen and (max-width: 767px) { #sustainability .sustainability-thought .open-sdgs { max-width: 280px; margin-top: 40px; } }

#sustainability .sustainability-thought .target-img { width: 160px; height: 160px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-thought .target-img { width: 99px; height: 99px; } }

#sustainability .sustainability-thought .target-img img { width: 100%; height: 100%; object-fit: cover; }

#sustainability .sustainability-block { max-width: 1080px; margin: 100px auto 0; padding: 80px; background: #FFF; }

@media screen and (max-width: 1299px) { #sustainability .sustainability-block { padding: 60px; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block { margin-top: 40px; padding: 8px 16px 24px; } }

#sustainability .sustainability-block.-nobg { background: #DFF5E4; }

#sustainability .sustainability-block .target-img { width: 160px; height: 160px; margin-top: 34px; margin-left: auto; margin-right: auto; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .target-img { width: 99px; height: 99px; margin-top: 7px; } }

#sustainability .sustainability-block .target-img img { width: 100%; height: 100%; object-fit: cover; }

#sustainability .sustainability-block .title { color: #02A78D; font-size: 2rem; font-weight: 700; line-height: 3.75rem; text-align: center; letter-spacing: 6.4px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .title { font-size: 1.125rem; letter-spacing: 3.6px; } }

#sustainability .sustainability-block .list-item { margin-top: 32px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item { margin-top: 19px; } }

#sustainability .sustainability-block .list-item.-mtop { margin-top: 10px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item.-mtop { margin-top: 11px; } }

#sustainability .sustainability-block .list-item li { position: relative; padding-left: 42px; line-height: 2rem; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item li { padding-left: 22px; font-size: 0.6875rem; line-height: 1.1875rem; }
  #sustainability .sustainability-block .list-item li:not(:last-child) { margin-bottom: 1px; } }

#sustainability .sustainability-block .list-item li::before { display: block; position: absolute; top: 19px; left: 10px; width: 20px; height: 20px; background: url("./../../sustainability/images/icon-check.png"); background-repeat: no-repeat; content: ""; transform: translate(0, -50%); }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item li::before { top: 10px; left: 3px; width: 14px; height: 14px; background: url("./../../sustainability/images/icon-check-sp2.png"); } }

#sustainability .sustainability-block .list-item.-current { margin-bottom: 60px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item.-current { margin-bottom: 19px; } }

#sustainability .sustainability-block .list-item.-current li { padding: 18px 0; padding-left: 56px; border-bottom: 1px dashed #02A78D; font-size: 1.125rem; font-weight: 700; line-height: 2.625rem; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item.-current li { padding: 15px 0; padding-left: 25px; font-size: 0.875rem; line-height: 1.25rem; } }

#sustainability .sustainability-block .list-item.-current li:first-child { border-top: 1px dashed #02A78D; }

#sustainability .sustainability-block .list-item.-current li span { margin-left: 17px; padding: 6px 8px; background: #DFF5E4; font-size: 1rem; font-weight: 400; line-height: 2.625rem; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item.-current li span { display: block; margin-top: 6px; margin-left: 0; padding: 4.5px 6px; font-size: 0.8125rem; line-height: 1.125rem; } }

#sustainability .sustainability-block .list-item.-current li::before { top: 39px; left: 20px; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-item.-current li::before { top: 40px; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-item.-current li::before { top: 26px; left: 1px; width: 16px; height: 17px; background: url("./../../sustainability/images/icon-check-sp1.png"); } }

#sustainability .sustainability-block .list-images { display: flex; justify-content: space-between; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-images { flex-wrap: wrap; } }

#sustainability .sustainability-block .list-images .image-a { width: calc(50% - 20px); max-height: 300px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-images .image-a { width: calc(50% - 6.5px); height: 103px; } }

#sustainability .sustainability-block .list-images .image-a img { width: 100%; height: 100%; object-fit: cover; }

#sustainability .sustainability-block .list-images .image-b { width: calc(26.09%); max-height: 160px; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-images .image-b { width: calc(50% - 5px); max-height: 220px; }
  #sustainability .sustainability-block .list-images .image-b:not(:nth-last-child(-n + 2)) { margin-bottom: 9px; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-images .image-b { max-height: 150px; } }

@media screen and (min-width: 992px) { #sustainability .sustainability-block .list-images .image-b.-small { width: 138px; } }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-images .image-b.-small { display: flex; align-items: center; justify-content: center; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-images .image-b.-small { text-align: center; } }

#sustainability .sustainability-block .list-images .image-b.-small img { width: 93%; margin-left: 12px; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-images .image-b.-small img { width: 53%; margin-left: 0; } }

#sustainability .sustainability-block .list-images .image-b img { width: 100%; height: 100%; object-fit: cover; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-images .image-c:nth-child(1) { width: 34%; }
  #sustainability .sustainability-block .list-images .image-c:nth-child(2) { width: 63%; } }

#sustainability .sustainability-block .list-images .image-c a:hover { opacity: .7; }

#sustainability .sustainability-block .list-images .image-c + .image-c { margin-left: 60px; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-images .image-c + .image-c { margin-left: 15px; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-images .image-c + .image-c { margin-left: 0; } }

#sustainability .sustainability-block .list-images.-center { align-items: center; }

@media screen and (min-width: 768px) { #sustainability .sustainability-block .list-images.-center { justify-content: center; } }

#sustainability .sustainability-block .list-images.-padding { padding: 0 20px; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .list-images.-padding { padding: 0; } }

#sustainability .sustainability-block .list-images.-health { align-items: center; justify-content: center; text-align: center; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .list-images.-health { flex-direction: column; }
  #sustainability .sustainability-block .list-images.-health > * + * { margin-top: 15px; } }

#sustainability .sustainability-block .desc-a { margin-top: 51px; }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .desc-a { margin-top: 22px; font-size: 0.8125rem; line-height: 1.4375rem; } }

#sustainability .sustainability-block .target-box { margin-top: 60px; padding: 54px 57px 41px 48px; background: #DFF5E4; }

@media screen and (max-width: 1299px) { #sustainability .sustainability-block .target-box { padding: 30px; } }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .target-box { padding: 0; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .target-box { margin-top: 30px; } }

#sustainability .sustainability-block .target-box .inner1 { display: flex; justify-content: space-between; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .target-box .inner1 { display: block; padding: 16px 30px 25px; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .target-box .inner1 { padding: 16px 16px 17px; } }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .target-box .inner1 .only-sp { display: block; } }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .target-box .inner1 .only-pc { display: none; } }

#sustainability .sustainability-block .image-box { display: flex; }

#sustainability .sustainability-block .image-box .image { width: 128px; height: 275px; }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .image-box .image { width: calc(100% / 3); height: auto; }
  #sustainability .sustainability-block .image-box .image img { width: 100%; height: 100%; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .image-box .image { height: 220px; } }

@media screen and (max-width: 394px) { #sustainability .sustainability-block .image-box .image { height: 187px; } }

#sustainability .sustainability-block .image-box .image + .image { margin-left: 8px; }

#sustainability .sustainability-block .image-box .image img { object-fit: cover; }

#sustainability .sustainability-block .text-box { margin-left: 15px; }

@media screen and (min-width: 992px) { #sustainability .sustainability-block .text-box { margin-top: -6px; } }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .text-box { margin-left: 0; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .text-box { margin-top: 0; } }

#sustainability .sustainability-block .text-box h3 { font-size: 1.25rem; font-weight: 700; line-height: 2.625rem; }

@media screen and (max-width: 1299px) { #sustainability .sustainability-block .text-box h3 { line-height: 2rem; } }

@media screen and (max-width: 991px) { #sustainability .sustainability-block .text-box h3 { margin-bottom: 14px; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .text-box h3 { font-size: 0.8125rem; line-height: 1.3125rem; } }

#sustainability .sustainability-block .text-box h4 { margin-top: 21px; padding-left: 9px; font-size: 1rem; font-weight: 700; line-height: 1.5rem; }

@media screen and (max-width: 1299px) { #sustainability .sustainability-block .text-box h4 { margin-top: 14px; } }

@media screen and (max-width: 767px) { #sustainability .sustainability-block .text-box h4 { margin-top: 24px; padding-left: 1px; font-size: 0.75rem; line-height: 1.3125rem; } }

#sustainability .sdgs-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; padding: 60px; background: #000000; overflow-y: scroll; z-index: 999; opacity: 1; }

@media screen and (max-width: 991px) { #sustainability .sdgs-modal { padding: 30px; } }

#sustainability .sdgs-modal .inner { position: relative; min-height: calc(100vh - 120px); padding: 66px 60px 100px; background: #FFF; }

@media screen and (max-width: 991px) { #sustainability .sdgs-modal .inner { padding: 40px 40px 80px; } }

@media screen and (max-width: 767px) { #sustainability .sdgs-modal .inner { padding: 20px 20px 60px; } }

#sustainability .sdgs-modal .title { font-size: 2rem; font-weight: 700; line-height: 2.9375rem; text-align: center; }

@media screen and (max-width: 767px) { #sustainability .sdgs-modal .title { font-size: 1.75rem; line-height: 1.75rem; } }

#sustainability .sdgs-modal .title-b { text-align: center; }

#sustainability .sdgs-modal .text { margin-top: 32px; margin-bottom: 33px; font-size: 1.125rem; line-height: 2.625rem; }

@media screen and (max-width: 767px) { #sustainability .sdgs-modal .text { margin-top: 20px; margin-bottom: 20px; font-size: 0.8125rem; line-height: 1.4375rem; } }

#sustainability .sdgs-modal .close { position: absolute; top: -30px; right: -30px; width: 60px; height: 60px; border-radius: 50%; background: #02A78D; cursor: pointer; }

@media screen and (max-width: 991px) { #sustainability .sdgs-modal .close { top: -25px; right: -25px; width: 50px; height: 50px; }
  #sustainability .sdgs-modal .close img { width: 45%; } }

@media screen and (max-width: 767px) { #sustainability .sdgs-modal .close { top: -20px; right: -20px; width: 40px; height: 40px; }
  #sustainability .sdgs-modal .close img { width: 35%; } }

#sustainability .sdgs-modal .close p { display: flex; align-items: center; justify-content: center; height: 100%; }

#sustainability .sdgs-modal .image { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 -7px; margin-top: 18px; }

#sustainability .sdgs-modal .image img { width: 121px; height: 121px; margin: 7.2px 7.3px; object-fit: cover; }

@media screen and (max-width: 991px) { #sustainability .sdgs-modal .image img { width: 110px; height: 110px; } }

#sustainability .sdgs-modal .content { max-width: 805px; margin-left: auto; margin-right: auto; }

#sustainability .sdgs-modal.-hide { display: block; }

/**************************************************/
/* components - jisedai */
/**************************************************/
#jisedai .jisedai-container { max-width: 1080px; margin-left: auto; margin-right: auto; }

#jisedai .text-a { margin: 40px 0 0; font-size: 1.125rem; line-height: 2; }

@media screen and (max-width: 991px) { #jisedai .text-a { font-size: 1rem; } }

@media screen and (max-width: 767px) { #jisedai .text-a { margin-top: 24px; font-size: 0.875rem; line-height: 1.75; } }

#jisedai .wrap-content { display: flex; flex-wrap: nowrap; justify-content: space-between; margin: 40px auto 0; }

#jisedai .wrap-content > .textarea { flex: 1 1 auto; }

#jisedai .wrap-content > .textarea > *:first-child { margin-top: 0 !important; }

#jisedai .wrap-content > .textarea .text { margin: 1em 0 0; font-size: 1.125rem; line-height: 2; }

#jisedai .wrap-content > .image { flex: 0 0 auto; width: 29.62963%; margin-left: 5.55556%; }

@media screen and (max-width: 991px) { #jisedai .wrap-content > .textarea .text { font-size: 1rem; }
  #jisedai .wrap-content > .image { margin-left: 3.7037%; } }

@media screen and (max-width: 767px) { #jisedai .wrap-content { display: block; margin-top: 24px; }
  #jisedai .wrap-content > .textarea .text { font-size: 0.875rem; line-height: 1.75; }
  #jisedai .wrap-content > .image { width: auto; margin: 20px auto 0; text-align: center; } }

#jisedai .plan-box { margin: 60px auto 0; padding: 80px; background-color: #fff; }

#jisedai .plan-box > *:first-child { margin-top: 0 !important; }

@media screen and (max-width: 991px) { #jisedai .plan-box { padding: 60px 40px; } }

@media screen and (max-width: 767px) { #jisedai .plan-box { margin-top: 40px; padding: 30px 15px; } }

#jisedai .plan-heading { display: block; margin: 50px 0 0; font-size: 1.25rem; font-weight: 700; line-height: 1.5; }

@media screen and (max-width: 767px) { #jisedai .plan-heading { margin-top: 30px; font-size: 1rem; } }

#jisedai .plan-text { margin: 1em 0 0; font-size: 0.9375rem; line-height: 2; }

@media screen and (max-width: 767px) { #jisedai .plan-text { font-size: 0.875rem; line-height: 1.75; } }

#jisedai .plan-goal { display: block; margin: 20px 0 0; }

#jisedai .plan-goal > dt { display: flex; flex-wrap: nowrap; }

#jisedai .plan-goal > dt .label { flex: 0 0 auto; display: flex; flex-direction: column; justify-content: center; align-items: center; box-sizing: border-box; width: 7em; padding: 15px; background-color: #02a78d; color: #fff; font-size: 1.125rem; font-weight: 700; }

#jisedai .plan-goal > dt .taglist { display: flex; flex-wrap: wrap; flex: 1 1 auto; box-sizing: border-box; padding: 10px 16px; background-color: #DDDDDD; }

#jisedai .plan-goal > dt .taglist .tag { display: inline-block; box-sizing: border-box; margin: 4px; padding: 10px 1em; border-radius: 4px; background-color: #fff; color: #4c4c4c; font-weight: 700; }

#jisedai .plan-goal > dd { margin: 0; padding: 24px 32px; background-color: #FAF8F8; }

#jisedai .plan-goal > dd > *:first-child { margin-top: 0 !important; }

#jisedai .plan-goal > dd .lead { margin: 1em 0 0; font-size: 0.9375rem; font-weight: 700; line-height: 2; }

#jisedai .plan-goal > dd .heading { display: flex; flex-wrap: nowrap; align-items: center; margin: 1em 0 0; font-size: 1rem; font-weight: 700; line-height: 1.5; }

#jisedai .plan-goal > dd .heading::after { flex: 1 1 auto; display: block; height: 0; margin-left: .5em; border-bottom: 1px dashed #707070; content: ""; }

#jisedai .plan-goal > dd .text { margin: .5em 0 0; font-size: 0.9375rem; line-height: 2; }

#jisedai .plan-goal > dd .check { margin: .5em 0 0; font-size: 0.9375rem; line-height: 1.5; }

#jisedai .plan-goal > dd .check > li { display: block; position: relative; padding-left: 2em; }

#jisedai .plan-goal > dd .check > li::before { display: inline-block; position: absolute; top: .1em; left: 0; font-family: "FontAwesome"; content: "\f00c"; font-size: 1.125rem; color: #02a78d; line-height: 1; }

#jisedai .plan-goal > dd .check > li + li { margin-top: .5em; }

#jisedai .plan-goal > dd .leave { list-style: none; margin: .5em 0 0; font-size: 0.9375rem; line-height: 1.5; }

#jisedai .plan-goal > dd .leave > li { display: block; position: relative; }

#jisedai .plan-goal > dd .leave > li + li { margin-top: .25em; }

#jisedai .plan-goal + .plan-goal { margin-top: 40px; }

@media screen and (max-width: 767px) { #jisedai .plan-goal > dt { display: block; }
  #jisedai .plan-goal > dt .label { width: auto; padding: 10px 1em; font-size: 1rem; }
  #jisedai .plan-goal > dt .taglist { padding: 10px; }
  #jisedai .plan-goal > dt .taglist .tag { font-size: 0.875rem; }
  #jisedai .plan-goal > dd { padding: 20px 15px; }
  #jisedai .plan-goal > dd .lead { font-size: 0.875rem; line-height: 1.75; }
  #jisedai .plan-goal > dd .text { font-size: 0.875rem; line-height: 1.75; }
  #jisedai .plan-goal > dd .check { font-size: 0.875rem; }
  #jisedai .plan-goal > dd .leave { font-size: 0.875rem; } }

#jisedai .p-jisedai-foot { display: flex; flex-wrap: wrap; align-items: center; margin-top: 40px; }

#jisedai .p-jisedai-foot > .text { margin-right: 2em; }

#jisedai .p-jisedai-foot > .btn { margin: .5em 0; border-radius: 30px; border: 1px solid #02a78d; background: #fff; padding: 0.5em 1.5em; font-weight: 600; transition: all 0.3s ease; }

#jisedai .p-jisedai-foot > .btn:hover { background: #02a78d; color: #fff; }

/**************************************************/
/* components - health */
/**************************************************/
#health .health-container { max-width: 1080px; margin-left: auto; margin-right: auto; }

#health .about-content { display: flex; flex-wrap: nowrap; justify-content: space-between; margin: 40px auto 0; }

#health .about-content > .textarea { flex: 1 1 auto; }

#health .about-content > .textarea > *:first-child { margin-top: 0 !important; }

#health .about-content > .textarea .text { margin: 1em 0 0; font-size: 1.125rem; line-height: 2; }

#health .about-content > .textarea .logo { margin: 60px auto 0; text-align: center; }

#health .about-content > .image { flex: 0 0 auto; width: 33.33333%; margin-left: 5.55556%; }

@media screen and (max-width: 991px) { #health .about-content > .textarea .text { font-size: 1rem; }
  #health .about-content > .textarea .logo { margin-top: 40px; }
  #health .about-content > .image { margin-left: 3.7037%; } }

@media screen and (max-width: 767px) { #health .about-content { display: block; margin-top: 24px; }
  #health .about-content > .textarea .text { font-size: 0.875rem; line-height: 1.75; }
  #health .about-content > .textarea .logo { margin-top: 30px; }
  #health .about-content > .image { width: auto; margin: 20px auto 0; text-align: center; } }

#health .declaration-content { display: block; margin: 40px auto 0; padding: 80px; background-color: #fff; }

#health .declaration-content > *:first-child { margin-top: 0 !important; }

#health .declaration-content > .text { margin: 1.5em 0 0; font-size: 0.9375rem; font-weight: 700; line-height: 2; }

#health .declaration-content > .sign { margin: 1.5em 0 0; font-size: 1rem; line-height: 1.75; text-align: right; }

@media screen and (max-width: 991px) { #health .declaration-content { padding: 60px 40px; } }

@media screen and (max-width: 767px) { #health .declaration-content { margin-top: 24px; padding: 30px 20px; }
  #health .declaration-content > .text { font-size: 0.875rem; }
  #health .declaration-content > .sign { font-size: 0.875rem; } }

#health .organization-content { display: flex; flex-wrap: nowrap; justify-content: space-between; margin: 40px auto 0; }

#health .organization-content > .textarea { flex: 1 1 auto; }

#health .organization-content > .textarea > *:first-child { margin-top: 0 !important; }

#health .organization-content > .textarea .text { margin: 1em 0 0; font-size: 1.125rem; line-height: 2; }

#health .organization-content > .image { flex: 0 0 auto; width: 40.74074%; margin-left: 5.55556%; }

@media screen and (max-width: 991px) { #health .organization-content > .textarea .text { font-size: 1rem; }
  #health .organization-content > .image { margin-left: 3.7037%; } }

@media screen and (max-width: 767px) { #health .organization-content { display: block; margin-top: 24px; }
  #health .organization-content > .textarea .text { font-size: 0.875rem; line-height: 1.75; }
  #health .organization-content > .image { width: auto; margin: 20px auto 0; text-align: center; } }

#health .effort-value { display: flex; flex-wrap: wrap; margin: 60px 0 -40px -40px; }

#health .effort-value > .unit { display: flex; flex-direction: column; box-sizing: border-box; width: calc(50% - 40px); margin: 0 0 40px 40px; padding: 40px; background-color: #fff; }

#health .effort-value > .unit > .head > .title { margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.5; text-align: center; }

#health .effort-value > .unit > .head > .lead { margin: 1em 0 0; font-size: 1rem; line-height: 1.5; text-align: center; }

#health .effort-value > .unit > .body { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }

@media screen and (max-width: 991px) { #health .effort-value { margin-bottom: -20px; margin-left: -20px; }
  #health .effort-value > .unit { width: calc(50% - 20px); margin-bottom: 20px; margin-left: 20px; padding-left: 20px; padding-right: 20px; } }

@media screen and (max-width: 767px) { #health .effort-value { margin-top: 24px; }
  #health .effort-value > .unit { width: 100%; padding: 30px 15px 20px; }
  #health .effort-value > .unit > .head > .title { font-size: 1.125rem; }
  #health .effort-value > .unit > .head > .lead { font-size: 0.8125rem; }
  #health .effort-value > .unit > .body { margin-top: 15px; } }

#health .effort-value-medical { display: flex; flex-direction: column; margin: 0; font-size: 5rem; color: #02a78d; font-weight: 700; line-height: 1.25; text-align: center; }

@media screen and (max-width: 991px) { #health .effort-value-medical { font-size: 3.75rem; } }

@media screen and (max-width: 767px) { #health .effort-value-medical { font-size: 3.5rem; } }

#health .effort-value-second > .table { border-collapse: collapse; width: 100%; margin: 0; }

#health .effort-value-second > .table th, #health .effort-value-second > .table td { padding: 20px 5px; line-height: 1.5; text-align: center; vertical-align: middle; }

#health .effort-value-second > .table .year { display: inline-block; margin-right: 0.75em; text-align: left; vertical-align: baseline; }

#health .effort-value-second > .table .percent { display: inline-block; font-size: 3rem; color: #02a78d; font-weight: 700; line-height: 1.25; vertical-align: baseline; }

#health .effort-value-second > .table .percent2 { display: inline-block; font-size: 2.25rem; color: #02a78d; font-weight: 700; line-height: 1.25; vertical-align: baseline; }

#health .effort-value-second > .table tr + tr { border-top: 1px dashed #222222; }

@media screen and (max-width: 991px) { #health .effort-value-second > .table th, #health .effort-value-second > .table td { font-size: 0.875rem; }
  #health .effort-value-second > .table .percent { font-size: 2rem; }
  #health .effort-value-second > .table .percent2 { font-size: 1.5rem; } }

#health .effort-value-holiday > .table { border-collapse: collapse; width: 100%; margin: 0; }

#health .effort-value-holiday > .table th, #health .effort-value-holiday > .table td { padding: 20px 5px; line-height: 1.5; text-align: center; vertical-align: middle; }

#health .effort-value-holiday > .table .percent { display: inline-block; font-size: 5rem; color: #02a78d; font-weight: 700; line-height: 1.25; }

#health .effort-value-holiday > .table .per { display: inline-block; line-height: 1.25; text-align: left; }

#health .effort-value-holiday > .table .date { display: block; font-size: 3rem; color: #02a78d; font-weight: 700; }

#health .effort-value-holiday > .table .year { display: inline-block; line-height: 1.5; text-align: left; }

#health .effort-value-holiday > .table .percent2 { display: block; font-size: 1.75rem; color: #02a78d; font-weight: 700; }

#health .effort-value-holiday > .table tr + tr { border-top: 1px dashed #222222; }

@media screen and (max-width: 991px) { #health .effort-value-holiday > .table th, #health .effort-value-holiday > .table td { font-size: 0.875rem; }
  #health .effort-value-holiday > .table .percent { font-size: 3.5rem; }
  #health .effort-value-holiday > .table .date { font-size: 2rem; }
  #health .effort-value-holiday > .table .percent2 { font-size: 1.5rem; } }

#health .effort-value-reduction { display: flex; flex-direction: column; margin: 0; line-height: 1.25; text-align: center; }

#health .effort-value-reduction .per { display: block; margin-bottom: 8px; }

#health .effort-value-reduction .time { display: block; font-size: 4rem; color: #02a78d; font-weight: 700; }

@media screen and (max-width: 991px) { #health .effort-value-reduction .per { font-size: 0.875rem; }
  #health .effort-value-reduction .time { font-size: 3rem; } }

#health .effort-content { display: flex; flex-wrap: wrap; margin: 60px 0 -30px -30px; }

#health .effort-content > .unit { display: block; box-sizing: border-box; width: calc(50% - 30px); margin: 0 0 30px 30px; padding: 30px; border: 1px solid #02a78d; }

#health .effort-content > .unit .title { margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.5; }

#health .effort-content > .unit .check { display: block; list-style: none; margin: 12px 0 0; font-size: 0.9375rem; line-height: 1.5; }

#health .effort-content > .unit .check > li { display: block; position: relative; padding-left: 2em; }

#health .effort-content > .unit .check > li::before { display: inline-block; position: absolute; top: .1em; left: 0; font-family: "FontAwesome"; content: "\f00c"; font-size: 1.125rem; color: #02a78d; line-height: 1; }

#health .effort-content > .unit .check > li + li { margin-top: .5em; }

#health .effort-content > .unit.-col3 { width: calc(100%/3 - 30px); }

@media screen and (max-width: 991px) { #health .effort-content { margin-bottom: -20px; margin-left: -20px; }
  #health .effort-content > .unit { width: calc(50% - 20px); margin-bottom: 20px; margin-left: 20px; padding-left: 20px; padding-right: 20px; }
  #health .effort-content > .unit.-col3 { width: calc(100%/2 - 20px); } }

@media screen and (max-width: 767px) { #health .effort-content { margin-top: 40px; }
  #health .effort-content > .unit { width: 100%; padding: 24px 15px; }
  #health .effort-content > .unit.-col3 { width: 100%; }
  #health .effort-content > .unit .title { font-size: 1.125rem; }
  #health .effort-content > .unit .check { font-size: 0.875rem; } }

#service .button--anabuki { max-width: 460px; margin: 50px 0 0; }

@media screen and (max-width: 991px) { #service .button--anabuki { margin-left: auto; margin-right: auto; } }

@media screen and (max-width: 767px) { #service .button--anabuki { margin-top: 32px; } }

@media screen and (max-width: 991px) { #service .site-content { padding-bottom: 100px; } }

#service .section-service { padding-top: 125px; padding-bottom: 160px; }

@media screen and (max-width: 1299px) { #service .section-service.l-container1 { padding: 125px 60px 160px; } }

@media screen and (max-width: 991px) { #service .section-service.l-container1 { padding: 80px 60px 100px; } }

@media screen and (max-width: 767px) { #service .section-service.l-container1 { padding: 60px 20px 80px; } }

#service .col-right .box { position: relative; background: #fff; padding: 34px 58px 34px 57px; }

@media screen and (max-width: 767px) { #service .col-right .box { padding: 25px 20px; } }

#service .col-right .box::before { position: absolute; content: ""; width: 2px; height: 100%; background: #2cd8bd; left: 0; top: 0; }

#service .col-right .box + .box { margin-top: 40px; }

#service .col-right .text-a { font-size: 1.125rem; font-weight: 700; line-height: 2.375rem; }

@media screen and (max-width: 767px) { #service .col-right .text-a { font-size: 0.875rem; line-height: 1.875rem; } }

#service .col-right ul li { font-size: 1.25rem; font-weight: 700; line-height: 2.5rem; }

@media screen and (max-width: 767px) { #service .col-right ul li { font-size: 1rem; line-height: 2rem; } }

#service .col-right .title-c { font-size: 1.375rem; font-weight: 700; line-height: 2.0625rem; margin-top: 13px; margin-bottom: 21px; }

@media screen and (max-width: 767px) { #service .col-right .title-c { font-size: 1.125rem; line-height: 1.75rem; margin-top: 0; } }

#service .col-right .title-b { font-size: 1.125rem; font-weight: 700; line-height: 2rem; margin-bottom: -2px; }

#service .col-right .title-b:not(:first-child) { margin-top: 17px; }

@media screen and (max-width: 767px) { #service .col-right .title-b { font-size: 0.875rem; } }

#service .col-right .text-b { line-height: 2rem; }

@media screen and (max-width: 767px) { #service .col-right .text-b { font-size: 0.8125rem; line-height: 1.75rem; } }

#service .features-box { display: flex; }

#service .features-box .image-box { width: 47.5%; }

#service .features-box .image-box img { width: 100%; object-fit: cover; }

#service .features-box .text-box { width: 52.5%; padding-left: 40px; }

#service .features-box .text-b { line-height: 1.75rem; margin-top: 11px; }

#service .features-box:not(:last-child) { margin-bottom: 63px; }

@media screen and (max-width: 767px) { #service .features-box { flex-wrap: wrap; }
  #service .features-box .image-box { order: 2; width: 100%; margin-top: 20px; }
  #service .features-box .text-box { order: 1; width: 100%; padding-left: 0; }
  #service .features-box:not(:last-child) { margin-bottom: 40px; } }

#service .service-bg { background-color: #eee; background-repeat: no-repeat; background-position: center; background-size: auto 100%; width: 100%; height: 25rem; }

@media screen and (max-width: 1299px) { #service .service-bg { background-position: 70% center !important; } }

@media screen and (max-width: 991px) { #service .service-bg { background-position: 90% center !important; } }

@media screen and (max-width: 767px) { #service .service-bg { background-image: none !important; height: auto; }
  #service .service-bg img { width: 100%; height: 100%; object-fit: cover; } }

#service .table-info:not(:last-child) { margin-bottom: 122px; }

@media screen and (max-width: 991px) { #service .table-info { display: block; }
  #service .table-info:not(:last-child) { margin-bottom: 80px; } }

@media screen and (max-width: 767px) { #service .table-info:not(:last-child) { margin-bottom: 56px; } }

#service .section-banner { position: relative; }

#service .section-banner .content { position: absolute; left: 0; top: 83px; width: 100%; }

@media screen and (max-width: 767px) { #service .section-banner .content { top: auto; bottom: 0; } }

#service .section-banner .heading-b { font-size: 1.25rem; font-weight: 700; letter-spacing: .05em; line-height: 1.8125rem; }

@media screen and (max-width: 991px) { #service .section-banner .heading-b { text-align: center; } }

@media screen and (max-width: 767px) { #service .section-banner .heading-b { font-size: 1rem; line-height: 1.25rem; } }

#service .section-banner .heading-c { font-size: 3rem; font-weight: 700; letter-spacing: .1em; line-height: 4.4375rem; margin-top: 14px; text-shadow: 0px 0px 6px rgba(0, 74, 48, 0.16); }

@media screen and (max-width: 991px) { #service .section-banner .heading-c { text-align: center; } }

@media screen and (max-width: 767px) { #service .section-banner .heading-c { font-size: 2rem; line-height: 2.5rem; } }

@media screen and (max-width: 1299px) { #service .section-banner .l-container1 { padding: 0 60px; } }

@media screen and (max-width: 767px) { #service .section-banner .l-container1 { padding: 0 20px; } }
/*# sourceMappingURL=main.css.map */