@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap");
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; }

blockquote, q { quotes: none; }

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

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

/* ================================================================== */
/* General */
/* ================================================================== */
.cnt, footer .f_ct, .ad-bnr, .concept-inner, .concept .about-inner, .concept .merit-inner, .concept .merit-hospital .merit-inner, .solution-inner, .example-inner, .faqct-inner, .formarea-inner, .formarea__inner { width: 100%; max-width: 1100px; box-sizing: border-box; }

/* ========================================================= */
/* カラー */
/* ========================================================= */
.red, .em_red { color: #ff2323; }

/* ========================================================= */
/* フォントタイプ */
/* ========================================================= */
.f_g1, .em, .em_red { font-family: メイリオ, Meiryo; }

.f_g2 { font-family: "HGP創英角ｺﾞｼｯｸUB"; }

.f_g3 { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; }

.f_noto, body, p, li, dt, dd, table, th, td, header .g-nav li a, .contactbtn li a, .fv-comment, .fv-copy span, .sv-comment, .ct-ttl, .ct-ttl small, .concept .about .slide_wap .mv-slider div .mv-ttl, .concept .merit-ttl, .concept .merit ul li, .solution .tab-group li.tab, .solution .solflow ul li, .solution .pdf-download, .example .media-ttl, .faqct dl dt, .formarea .formbox .checkbox-field label { font-family: 'Noto Sans JP', sans-serif; }

.f_ar { font-family: Arial, sans-serif; }

/* ========================================================= */
/* 装飾 */
/* ========================================================= */
b, .bold, table th { font-weight: bold; }

.normal { font-weight: normal; }

em { font-weight: bold; font-weight: 900; }

strong { font-weight: bold; }

.imgborder { border: 1px solid #b4b4b4; }

.imgborder_dash { border: 1px dashed #999; }

.imgshadow { box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4); }

.imgradius { border-radius: 50%; }

.photoframe { margin: 4px; border: 10px solid #fff; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.3); }

.bg_yellow { display: inline-block; background-color: #ffff00; }

.underborder { border-bottom: 1px solid #505050; }

.underborder_red { border-bottom: 2px solid #f00; }

.under_border_da { border-bottom: 1px dashed #ccc; }

.noborder, article .norborder { border: none; }

.line_through { text-decoration: line-through; }

.line-through { background: url(../img/dot.png) repeat-x 0 50%; }

.em { font-weight: bold; }

.em_red { font-weight: bold; }

.marker { background-color: #ffff00; }

.marker_btm { background: linear-gradient(rgba(0, 0, 0, 0) 60%, #ffff00 0%); }

.ind_n { text-indent: 0; }

.mail_ico::before { content: ""; display: inline-block; margin-right: 0.5em; width: 14px; height: 14px; background: url(../img/envelope.svg) no-repeat; background-size: contain; vertical-align: middle; }

.back_ico::before { margin-right: 10px; content: "\f0a8"; font-family: "Font Awesome 5 Pro"; font-weight: bold; }

/* ========================================================= */
/* 表示 */
/* ========================================================= */
.nodisp { text-indent: -9999px; }

.disp_none { display: none; }

.br-pc { display: block; }

.br-tb { display: none; }

.br-sp { display: none; }

.ani, header .inner, header .inner .site-ttl, header .g-nav, header .g-nav li a, .contactbtn li a, .contactbtn li a img, .contactbtn.scroll li a span, .contactbtn.scroll li a img, .iziModal#modal_alert .topic-cnt ul li a, .iziModal#modal_alert .topic-cnt ul li button, .fv-img2, .sv-img2, .ct-ttl, .concept .about .slide_wap .mv-slider div img { -webkit-transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -o-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; }

.ani_05, header::after, .fv-copyarea::before, .fv-comment, .fv-subcopy, .sv-comment, .ct-ttl::after, .concept .merit-inner-inner { -webkit-transition: 0.5s ease-in-out; -moz-transition: 0.5s ease-in-out; -o-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; }

.ani_075 { -webkit-transition: 0.75s ease-in-out; -moz-transition: 0.75s ease-in-out; -o-transition: 0.75s ease-in-out; transition: 0.75s ease-in-out; }

.ani_1, .concept .merit::before, .concept .merit::after { -webkit-transition: 1s ease-in-out; -moz-transition: 1s ease-in-out; -o-transition: 1s ease-in-out; transition: 1s ease-in-out; }

@keyframes ani01 { 0% { transform: translateY(0); }
  10% { transform: translateY(-6px); }
  20% { transform: translateY(0); }
  100% { transform: translateY(0); } }
/* ========================================================= */
/* レイアウト調整 */
/* ========================================================= */
.al-r { text-align: right; }

.al-l { text-align: left; }

.al-c { text-align: center; }

.f_left { float: left; }

.f_right { float: right; }

.i_left { margin: 50px 50px 50px 0; float: left; }

.valign-t { vertical-align: top; }

.valign-b { vertical-align: bottom; }

.valign-m { vertical-align: middle; }

.mauto, footer .f_ct, .ad-bnr, .concept-inner, .concept .about-inner, .concept .merit-inner, .concept .merit-hospital .merit-inner, .solution-inner, .example-inner, .faqct-inner, .formarea-inner, .formarea__inner, article .mauto, article footer .f_ct, footer article .f_ct, article .ad-bnr, article .concept-inner, article .concept .about-inner, .concept article .about-inner, article .concept .merit-inner, .concept article .merit-inner, article .concept .merit-hospital .merit-inner, .concept .merit-hospital article .merit-inner, article .solution-inner, article .example-inner, article .faqct-inner, article .formarea-inner, article .formarea__inner { margin-left: auto; margin-right: auto; }

/* ========================================================= */
/* カラー調整 */
/* ========================================================= */
.red, .em_red { color: #ff2323; }

.scrollbox { poisition: relative; width: 100%; overflow: auto; scrollbar-base-color: #fff; scrollbar-3dlight-color: #ffffff; scrollbar-arrow-color: #ffffff; scrollbar-darkshadow-color: #ffffff; scrollbar-face-color: #f1f1f1; scrollbar-highlight-color: #f1f1f1; scrollbar-shadow-color: #f1f1f1; scrollbar-track-color: #ffffff; }

/*スクロールバー全体*/
.scrollbox::-webkit-scrollbar { width: 10px; }

/*横スクロールバー全体*/
.scrollbox::-webkit-scrollbar:horizontal { height: 10px; }

/*スクロールバー上下左右末端のボタン*/
.scrollbox::-webkit-scrollbar-button { width: 10px; height: 10px; }

/*ドラッグするツマミ部分*/
.scrollbox::-webkit-scrollbar-thumb { background: #f1f1f1; }

/*右下角部分*/
.scrollbox::-webkit-scrollbar-corner { background-color: transparent; }

html { font-size: 62.5%; }

body { text-align: center; color: #505050; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", sans-serif; font-size: 1.6rem; overflow-x: hidden; background-color: white; position: relative; -webkit-text-size-adjust: 100%; }

p, li, dt, dd, table, th, td { line-height: 1.8; }

img { margin: 0; padding: 0; border: none; vertical-align: bottom; }

a { text-decoration: none; }
a.noborder { text-decoration: none; }
a:hover { color: #ff6102; text-decoration: underline; }

a:hover, input[type="submit"]:hover, input[type="reset"]:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; }

a.nohover:hover { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }

input[type="submit"], input[type="button"], input[type="reset"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration, input[type="reset"]::-webkit-search-decoration { display: none; }

input[type="submit"]::focus, input[type="button"]::focus, input[type="reset"]::focus { outline-offset: -2px; }

/* ====================================================================== */
/* BG */
/* ====================================================================== */
/* ====================================================================== */
/* HEADER */
/* ====================================================================== */
header { position: absolute; top: 0; left: 0; width: 100%; z-index: 50; background-color: white; }
header::after { content: ""; display: block; width: 0%; height: 4px; background-color: #18b59b; position: absolute; bottom: 0; left: 0; }
header .inner { padding: 0 50px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; height: 60px; position: relative; z-index: 55; }
header .inner .site-ttl { height: 60px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; /*      position: relative; @extend .f_noto; font-size: 3rem; font-weight: 900;*/ }
header .inner .site-ttl img { display: block; height: 30px; }
header .g-nav { display: -webkit-flex; display: flex; margin-top: 0; margin-right: 120px; }
header .g-nav li { margin-right: 1em; }
header .g-nav li a { display: block; padding: .25em 1em; font-size: 1.4rem; font-weight: 700; color: #505050; background-color: white; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; position: relative; }
header .g-nav li a:hover { padding: .25em 1em; text-decoration: none; }
header .g-nav li a::before { content: ""; display: inline-block; margin-right: .5em; width: 10px; height: 10px; background: url(../img/btm-arrow.svg) no-repeat; background-size: contain; vertical-align: middle; }

@media screen and (min-width: 1100px) { header.is-fixed { position: fixed; }
  header.is-fixed::after { width: 100%; }
  header.is-fixed .inner { height: 50px; }
  header.is-fixed .inner .site-ttl { transform: scale(0.85); }
  header.is-fixed .g-nav { transform: scale(0.95); } }
/* ====================================================================== */
/* CONTENT */
/* ====================================================================== */
article { text-align: left; }
article.form { padding-top: 0; }

/* --------------------------------------------------- */
/* パラグラフ */
/* --------------------------------------------------- */
p { margin-top: 50px; }
p.c_txt { margin-top: 20px; font-size: 1.4rem; text-align: right; position: relative; }
p.c_txt::before { content: "※"; }
p.c_txt + .c_txt { margin-top: 1em; }

/* --------------------------------------------------- */
/* Table */
/* --------------------------------------------------- */
table { margin-top: 50px; }
table th, table td { padding: 8px; border: 1px solid #cccccc; }
table th { background-color: rgba(0, 0, 0, 0.06); }

/* --------------------------------------------------- */
/* UL OL */
/* --------------------------------------------------- */
ul, ol { margin-top: 50px; }

ul.list-disc li { margin-left: 20px; margin-bottom: 15px; list-style-type: disc; }
ul.checklist li { margin-bottom: 10px; padding-left: 40px; font-weight: bold; position: relative; }
ul.checklist li::before { content: ""; display: inline-block; width: 18px; height: 18px; background: url(../img/check.svg) no-repeat; background-size: contain; position: absolute; top: 0.5em; left: 0; }

ol.list-num li { margin-left: 30px; margin-bottom: 15px; list-style-type: decimal; }

/* --------------------------------------------------- */
/* DL */
/* --------------------------------------------------- */
/* --------------------------------------------------- */
/* Parts */
/* --------------------------------------------------- */
.imgcnt { margin-top: 50px; }

/* --------------------------------------------------- */
/* Bgbox */
/* --------------------------------------------------- */
/* ====================================================================== */
/* Footer */
/* ====================================================================== */
footer { padding: 50px 0 20px; text-align: center; background-color: #f0f8fb; }
footer .t-logo { display: block; margin: 0 auto 30px; width: 160px; }
footer .f_ct ul { margin-top: 0; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; }
footer .f_ct ul li { margin: 0; padding: 0 2em; position: relative; border-right: 1px solid #ccc; font-size: 1.5rem; }
footer .f_ct ul li:last-child { border-right: none; }
footer .f_ct ul li a { color: #505050; }
footer .f_ct .copyright { display: block; margin-top: 1em; font-size: 1.3rem; }
footer .f_ct .ex-link { font-size: 1.2rem; color: white; }

.contactbtn { margin-top: 0; position: fixed; top: 15px; right: 15px; z-index: 50; display: -webkit-flex; display: flex; }
.contactbtn li { margin-right: 15px; margin-bottom: 15px; }
.contactbtn li:last-child { margin-bottom: 0; margin-right: 0; }
.contactbtn li a { margin: 0 auto; width: 120px; height: 120px; padding-top: 1em; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: center; justify-content: center; background-color: #03b1dc; font-size: 1.4rem; color: white; line-height: 1.2; font-feature-settings: "palt"; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; max-height: 120px; box-sizing: border-box; }
.contactbtn li a:hover { text-decoration: none; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; background-color: #0079be; transform: scale(1.1); }
.contactbtn li a img { display: block; margin: 0.5em auto 0.5em; width: 30px; height: 30px; object-fit: contain; }
.contactbtn.scroll li a { transform: scale(0.8); }

@keyframes rotate-ani01 { 0% { transform: rotate(0deg) translateY(0); }
  3% { transform: rotate(-5deg) translateY(-8px); }
  6% { transform: rotate(0deg) translateY(0); }
  9% { transform: rotate(4deg); }
  11% { transform: rotate(0); }
  /*  75% { transform: rotate(5deg); }*/
  100% { transform: rotate(0deg); } }
.iziModal { max-width: 980px !important; }
.iziModal#modal_alert { max-width: 1000px !important; margin: auto !important; background-color: transparent !important; border: none !important; box-shadow: none !important; box-sizing: border-box; }
@media screen and (max-width: 767px) { .iziModal#modal_alert { max-width: calc(100% - 30px) !important; } }
.iziModal#modal_alert .iziModal-header { display: none !important; }
.iziModal#modal_alert .topic-cnt img { display: block; margin: 0 auto; width: 100%; max-width: 1000px; -moz-box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.7); -webkit-box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.7); box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.7); }
@media screen and (max-width: 767px) { .iziModal#modal_alert .topic-cnt img { max-width: 100%; } }
.iziModal#modal_alert .topic-cnt ul { margin-top: 20px; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
@media screen and (max-width: 767px) { .iziModal#modal_alert .topic-cnt ul { -webkit-flex-direction: column; flex-direction: column; } }
.iziModal#modal_alert .topic-cnt ul li { margin: 0 25px; }
@media screen and (max-width: 767px) { .iziModal#modal_alert .topic-cnt ul li { margin: 0 0 15px; } }
.iziModal#modal_alert .topic-cnt ul li a, .iziModal#modal_alert .topic-cnt ul li button { padding: 0 1em; height: 40px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background-color: transparent; border: 1px solid rgba(255, 255, 255, 0.7); color: rgba(255, 255, 255, 0.7); cursor: pointer; font-size: 1.4rem; }
.iziModal#modal_alert .topic-cnt ul li a:hover, .iziModal#modal_alert .topic-cnt ul li button:hover { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; text-decoration: none; }
.iziModal#modal_alert .topic-cnt ul li a.btn-large, .iziModal#modal_alert .topic-cnt ul li button.btn-large { padding: 0 2.5em; height: 70px; background-color: #1c9d3a; font-size: 2.3rem; font-weight: bold; border: none; color: white; }
@media screen and (max-width: 767px) { .iziModal#modal_alert .topic-cnt ul li a.btn-large, .iziModal#modal_alert .topic-cnt ul li button.btn-large { padding: 0 1.5em; font-size: 2rem; } }
.iziModal#modal_alert .topic-cnt ul li a.btn-large:hover, .iziModal#modal_alert .topic-cnt ul li button.btn-large:hover { background-color: #1ec745; }

.iziModal_iframe { display: none; max-width: 980px !important; }
.iziModal_iframe iframe { width: 980px !important; height: 550px !important; }

/* ================================================================== */
/* TOP */
/* ================================================================== */
.fv { height: 100vh; background-color: white; background-color: #eff8f8; position: relative; overflow: hidden; }
.fv #fv-video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 1; }
.fv #ytPlayerWrap { margin-top: 60px; position: relative; height: calc(100% - 60px); width: 100%; z-index: 1; overflow: hidden; }
.fv #ytPlayerWrap::before { /*      content: "";
display: block;
width: 100%;
height: 100%;
background-color: white;
position: absolute;
top: 0;
left: 0;
z-index: 5;
@include opacity(.1);*/ }
.fv .video-wrap { width: 100%; height: 100%; position: absolute; z-index: 1; }
.fv .video-wrap::after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.fv .video-wrap video { width: 100%; height: 100%; object-fit: cover; /*      font-family: "object-fit: cover;";*/ }
.fv-inner { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-justify-content: center; justify-content: center; -webkit-align-items: flex-start; align-items: flex-start; height: 100%; position: relative; z-index: 15; }
.fv-copyarea { margin-top: 70px; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; align-items: center; width: 700px; height: 520px; position: relative; }
.fv-copyarea::before { content: ""; display: block; width: 100%; width: 0; height: 50%; background-color: rgba(41, 153, 139, 0.7); position: absolute; top: 0; left: 0; }
.fv-img { /*    display: block;
width: 50%;
width: 35%;
position: absolute;
bottom: 0;
right: 0;
z-index: 20;
display: none;*/ }
.fv-img2 { display: block; width: 60%; position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); z-index: 20; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; transition-delay: 0.7s; }
.fv-point { margin-top: 30px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
.fv-point li { margin: 0 15px; }
.fv-comment { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 120px; height: 120px; z-index: 15; line-height: 1.3; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; font-size: 1.8rem; border: 3px solid white; text-align: center; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; transform: scale(0.1) rotate(0deg); color: white; }
.fv-comment1 { transition-delay: 0.3s; }
.fv-comment2 { transition-delay: 0.4s; }
.fv-comment3 { transition-delay: 0.5s; }
.fv-copy { margin-top: 50px; }
.fv-copy span { display: inline-block; font-size: 6rem; font-size: 5rem; font-weight: 900; color: white; opacity: 0; animation: leftRight 0.75s forwards; }
.fv-copy span:nth-of-type(2) { animation-delay: 0.05s; }
.fv-copy span:nth-of-type(3) { animation-delay: 0.1s; }
.fv-copy span:nth-of-type(4) { animation-delay: 0.15s; }
.fv-copy span:nth-of-type(5) { animation-delay: 0.2s; }
.fv-copy span:nth-of-type(6) { animation-delay: 0.25s; }
.fv-copy span:nth-of-type(7) { animation-delay: 0.3s; }
.fv-copy span:nth-of-type(8) { animation-delay: 0.35s; }
.fv-copy span:nth-of-type(9) { animation-delay: 0.4s; }
.fv-copy span:nth-of-type(10) { animation-delay: 0.45s; }
.fv-copy span:nth-of-type(11) { animation-delay: 0.5s; }
.fv-copy span:nth-of-type(12) { animation-delay: 0.55s; }
.fv-subcopy { display: table; margin: 15px auto 0; font-size: 2.4rem; color: white; position: relative; z-index: 20; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; transition-delay: 0.1s; }
@keyframes leftRight { 40% { transform: translate(50px, 0) scale(0.8); opacity: 0; }
  70% { transform: translate(0) scale(1.5); opacity: 0; }
  100% { transform: translate(0) scale(1); opacity: 1; } }
.fv.is-show .fv-copyarea::before { width: 100%; height: 100%; }
.fv.is-show .fv-img2 { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.fv.is-show .fv-comment { transform: scale(1) rotate(-10deg); filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.fv.is-show .fv-copy { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.fv.is-show .fv-subcopy { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }

.sv { height: 700px; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuMCIgeDI9IjEuMCIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VmZjhmOCIvPjxzdG9wIG9mZnNldD0iNzAlIiBzdG9wLWNvbG9yPSIjY2VmMGYwIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZTdmNGY0Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'); background-size: 100%; background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #eff8f8), color-stop(70%, #cef0f0), color-stop(100%, #e7f4f4)); background-image: -moz-linear-gradient(top, #eff8f8 0%, #cef0f0 70%, #e7f4f4 100%); background-image: -webkit-linear-gradient(top, #eff8f8 0%, #cef0f0 70%, #e7f4f4 100%); background-image: linear-gradient(to bottom right, #eff8f8 0%, #cef0f0 70%, #e7f4f4 100%); background-color: #28a7e9; position: relative; overflow: hidden; display: none; }
.sv::before { content: ""; display: block; width: 120%; height: 46%; min-height: 250px; background-color: #74d4d4; position: absolute; bottom: -100px; left: 50%; transform: translateX(-50%) rotate(7deg); }
.sv-img { display: block; width: 50%; min-width: 700px; position: absolute; bottom: 0; right: 0; z-index: 10; }
.sv-img2 { display: block; width: 42%; position: absolute; bottom: 50px; left: 80px; z-index: 10; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; }
.sv-comment { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 140px; height: 140px; position: absolute; z-index: 15; background-color: white; line-height: 1.3; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; font-size: 1.8rem; border: 4px solid #74d4d4; text-align: center; transform: rotate(-5deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; transform: scale(0.3); }
.sv-comment1 { bottom: 45%; left: 8%; }
.sv-comment2 { width: 130px; height: 130px; bottom: 37%; left: 20%; transition-delay: 0.1s; }
.sv-comment3 { width: 130px; height: 130px; bottom: 10%; left: 26%; transition-delay: 0.2s; }
.sv.is-show .sv-img2 { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.sv.is-show .sv-comment { transform: scale(1); filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }

.ct-ttl { display: table; padding-bottom: 0.5em; font-size: 3.5rem; font-weight: 700; position: relative; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; }
.ct-ttl::after { content: ""; display: inline-block; width: 0; height: 3px; background-color: #03b1dc; position: absolute; bottom: 0; left: 0; }
.ct-ttl small { margin-left: 1.5em; font-size: 1.3rem; position: relative; }
.ct-ttl small::before { content: "-"; display: inline-block; margin-right: 1em; }
.ct-ttl.is-show { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.ct-ttl.is-show::after { width: 70%; }

.ad-bnr { margin-top: 100px; }
.ad-bnr img { display: block; width: 100%; box-sizing: border-box; border: 5px solid #4e9a41; }

.concept { padding: 100px 0 0; position: relative; }
.concept-inner { overflow: hidden; }
.concept p strong { display: block; font-size: 1.8rem; margin: 1em 0; }
.concept-list { display: table; }
.concept-list li { margin-bottom: 1.5em; padding-left: 1.5em; position: relative; line-height: 1.3; }
.concept-list li::before { content: ""; display: inline-block; width: 12px; height: 12px; background-color: #03b1dc; position: absolute; top: 0.5em; left: 0; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; }
.concept-list li .sdgs { margin-top: 30px; display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; }
.concept-list li .sdgs img { display: block; width: 120px; margin-right: 15px; }
.concept-list li .sdgs img:nth-last-of-type(1) { margin-right: 0; }
.concept .mv-box { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; margin: 0 auto 100px; width: 740px; height: 450px; background-color: #ebebeb; line-height: 1.5; text-align: center; }
.concept-wrap { display: -webkit-flex; display: flex; }
.concept-box { width: calc(100% - 500px - 100px); }
.concept-imgcnt { display: block; margin-right: 100px; width: 500px; float: left; }
.concept-img { display: block; width: 100%; }
.concept .slider { display: block; margin-top: 50px; padding-bottom: 50px; width: 100%; opacity: 0; transition: opacity 0.3s linear; }
.concept .slider.slick-initialized { opacity: 1; }
.concept .slider.slick-initialized .maincopy { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.concept .slider-mv { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 100%; height: 300px; position: relative; }
.concept .slider-mv span { /*        position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);*/ }
.concept .slider img { width: 100%; height: 300px; object-fit: contain; font-family: "object-fit: contain;"; margin: 0; padding: 0; }
.concept .slider .slick-dots { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); z-index: 100; display: none; }
.concept .slider .slick-dots li { margin: 0 0.5em; }
.concept .slider .slick-dots li button { width: 16px; height: 16px; overflow: hidden; }
.concept .slider .slick-dots li button::before { content: ""; display: block; width: 16px; height: 16px; background-color: #d5f2f2; border: 1px solid white; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); opacity: 0.8; }
.concept .slider .slick-dots li.slick-active button::before { background-color: #74d4d4; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.concept .about { width: 100%; position: relative; overflow: hidden; }
.concept .about .ct-ttl { margin: 0 auto; }
.concept .about-img { display: block; margin: 0 0 0 100px; width: 450px; float: right; }
.concept .about .note { font-size: 1.2rem; vertical-align: top; }
.concept .about .note-list li { padding-left: 1.5em; position: relative; }
.concept .about .note-list li::before { content: "※"; position: absolute; top: 0; left: 0; }
.concept .about .slide_wap { width: 100%; margin-top: 100px; }
.concept .about .slide_wap .mv-slider { display: block; width: 100%; margin: 0 auto; padding-bottom: 70px; opacity: 0; transition: opacity 0.3s linear; }
.concept .about .slide_wap .mv-slider.slick-initialized { opacity: 1; }
.concept .about .slide_wap .mv-slider div { min-width: 750px; height: 580px; position: relative; }
.concept .about .slide_wap .mv-slider div img { display: block; width: 670px; height: 400px; object-fit: cover; margin: calc((480px - 400px) / 2) auto 0; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; border: 7px solid white; }
.concept .about .slide_wap .mv-slider div .mv-ttl { display: block; margin-top: 0.5em; font-size: 2.1rem; line-height: 1.3; text-align: center; }
.concept .about .slide_wap .mv-slider div .mv-ttl small { font-size: 1.4rem; }
.concept .about .slide_wap .mv-slider div.slick-slide { outline: none; }
.concept .about .slide_wap .mv-slider div.slick-slide.slick-center { position: relative; }
.concept .about .slide_wap .mv-slider div.slick-slide.slick-center a { display: block; width: 750px; height: 480px; position: relative; margin: 0 auto !important; }
.concept .about .slide_wap .mv-slider div.slick-slide.slick-center a::after { content: ""; display: block; width: 80px; height: 80px; background: url(../img/youtube.svg) no-repeat center; background-size: contain; position: absolute; top: 200px; left: 50%; transform: translateX(-50%); z-index: 50; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; }
.concept .about .slide_wap .mv-slider div.slick-slide.slick-center img { width: 750px; height: 480px; margin: 0 auto; box-sizing: border-box; border: 7px solid #cef0f0; }
.concept .about .slide_wap .mv-slider .slick-dots { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%); z-index: 100; display: none; }
.concept .about .slide_wap .mv-slider .slick-dots li { margin: 0 1em; }
.concept .about .slide_wap .mv-slider .slick-dots li button { width: 24px; height: 24px; overflow: hidden; }
.concept .about .slide_wap .mv-slider .slick-dots li button::before { content: ""; display: block; width: 24px; height: 24px; background-color: #d5f2f2; border: 1px solid white; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); opacity: 0.8; }
.concept .about .slide_wap .mv-slider .slick-dots li.slick-active button::before { background-color: #74d4d4; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.concept .merit { margin-top: 70px; background-color: #cef0f0; position: relative; overflow: hidden; }
.concept .merit::before { content: ""; display: block; width: 50%; height: 100%; position: absolute; top: 0; right: 0; z-index: 5; background-color: #cef0f0; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.concept .merit::after { content: ""; display: block; width: 55%; height: 100%; background: url(../img/merit-1_2.png) no-repeat; background-size: cover; position: absolute; top: 0; right: 0; }
.concept .merit-inner { overflow: hidden; }
.concept .merit-inner-inner { padding: 100px 50px 100px 0; width: 60%; width: 55%; max-width: 60%; position: relative; box-sizing: border-box; background-color: #cef0f0; z-index: 5; }
.concept .merit-inner-inner::after { content: ""; position: absolute; top: 0; right: -100px; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #cef0f0; border-width: 0 0 500px 100px; z-index: 2; }
.concept .merit-ttl { display: table; padding-bottom: 0.5em; font-size: 3rem; font-weight: 700; position: relative; border-bottom: 2px solid #505050; }
.concept .merit-ttl::before { content: ""; position: absolute; bottom: -43px; left: 50%; transform: translateX(-50%); border: 22px solid transparent; border-top: 22px solid #cef0f0; z-index: 2; }
.concept .merit-ttl::after { content: ""; position: absolute; bottom: -48px; left: 50%; transform: translateX(-50%); border: 24px solid transparent; border-top: 24px solid #505050; z-index: 1; }
.concept .merit-ttl small { display: inline-block; margin-left: 1em; padding: 0.35em 1em; background-color: #1ac1a7; color: white; font-size: 2.1rem; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; }
.concept .merit ul li { font-size: 1.8rem; margin-bottom: 1em; padding-left: 30px; position: relative; }
.concept .merit ul li:last-child { margin-bottom: 0; }
.concept .merit ul li::before { content: ""; display: inline-block; width: 16px; height: 16px; background: url(../img/check.svg) no-repeat; background-size: contain; position: absolute; top: 0.5em; left: 0; }
.concept .merit-hospital { margin-top: 0; background-color: #f0f8fb; }
.concept .merit-hospital::before { right: auto; left: 0; background-color: #f0f8fb; }
.concept .merit-hospital::after { background: url(../img/merit-2.png) no-repeat; background-size: cover; right: auto; left: 0; }
.concept .merit-hospital .merit-inner { overflow: hidden; }
.concept .merit-hospital .merit-inner-inner { margin: 0 0 0 auto; padding: 100px 0 100px 50px; background-color: #f0f8fb; }
.concept .merit-hospital .merit-inner-inner::after { right: auto; left: -100px; border-color: transparent #f0f8fb transparent transparent; border-width: 0 100px 500px 0; z-index: 2; }
.concept .merit-hospital .merit-ttl::before { border-top: 22px solid #f0f8fb; }
.concept .merit-hospital .merit-ttl small { background-color: #2287ee; }
.concept .merit-patient { margin-top: 0; background-color: #f9f0e9; }
.concept .merit-patient::before { background-color: #f9f0e9; }
.concept .merit-patient::after { background: url(../img/merit-3.png) no-repeat center center; background-size: cover; }
.concept .merit-patient .merit-inner-inner { background-color: #f9f0e9; }
.concept .merit-patient .merit-inner-inner::after { border-color: transparent transparent transparent #f9f0e9; }
.concept .merit-patient .merit-ttl::before { border-top: 22px solid #f9f0e9; }
.concept .merit-patient .merit-ttl small { background-color: #fb8f37; }
.concept .merit.is-show::before { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; }
.concept .merit.is-show::after { transform: scale(1); }
.concept .merit.is-show .merit-inner-inner { width: 60%; max-width: 60%; }

.solution { padding: 100px 0; position: relative; }
.solution-inner { overflow: hidden; }
.solution .ct-ttl { margin: 0 auto; }
.solution .tab-group { margin-top: 70px; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; }
.solution .tab-group li.tab { margin: 0 1em 1em; padding: 0.5em 2.5em; font-size: 2rem; font-weight: 700; list-style: none; text-align: center; cursor: pointer; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; background-color: #f1f1f1; line-height: 1.5; }
.solution .tab-group li.tab.tab-active { color: white; transition: all 0.2s ease-out; }
.solution .tab-group li.tab a { color: #505050; }
.solution .tab-group li.tab a:active, .solution .tab-group li.tab a:hover { color: #505050; }
.solution .tab-group li.tab-school.tab-active { background: #1ac1a7; }
.solution .tab-group li.tab-hospital.tab-active { background: #2287ee; }
.solution .tab-group li.tab-patient.tab-active { background: #fb8f37; }
.solution .panel { display: none; }
.solution .panel.panel-show { display: block; }
.solution .solflow { padding: 0 30px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
.solution .solflow .sol-img { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; margin-top: 100px; width: 45%; height: 300px; background-color: #ebebeb; text-align: center; line-height: 1.5; }
.solution .solflow .sol-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.solution .solflow ul { width: 45%; counter-reset: num; }
.solution .solflow ul li { margin-bottom: 40px; font-size: 1.8rem; position: relative; line-height: 1.3; }
.solution .solflow ul li::after { content: ""; display: inline-block; width: 30px; height: 30px; background: url(../img/arrow-down-1.svg) no-repeat; background-size: contain; position: absolute; bottom: -35px; left: 50%; transform: translateX(-50%); }
.solution .solflow ul li.ttl { font-size: 2.4rem; text-align: center; }
.solution .solflow ul li.ttl::after { display: none; }
.solution .solflow ul li span { display: block; position: relative; overflow: hidden; padding: 1em 1em 1em 90px; border: 2px solid #1ac1a7; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; }
.solution .solflow ul li span::before { counter-increment: num; content: counter(num); display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 70px; height: 100%; font-weight: bold; position: absolute; top: 0; left: 0; background-color: #1ac1a7; color: white; }
.solution .solflow ul li:last-child::after { display: none; }
.solution .solflow ul.hospital li::after { background: url(../img/arrow-down-2.svg) no-repeat; background-size: contain; }
.solution .solflow ul.hospital li span { border: 2px solid #2287ee; }
.solution .solflow ul.hospital li span::before { background-color: #2287ee; }
.solution .solflow ul.hospital li:last-child::after { display: none; }
.solution .pdf-download { display: table; margin: 50px auto 0; padding: 25px 100px; border: 1px solid #505050; font-size: 2.1rem; color: #505050; text-decoration: none; position: relative; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; }
.solution .pdf-download::before { content: ""; display: inline-block; margin-right: 1em; width: 32px; height: 32px; background: url(../img/pdf-3.svg) no-repeat; background-size: contain; vertical-align: middle; }

.example { padding: 100px 0; position: relative; background-color: #74d4d4; }
.example-inner { overflow: hidden; }
.example .ct-ttl { margin: 0 auto; color: white; }
.example .ct-ttl::after { background-color: white; }
.example-wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
.example-blk { width: 70%; margin-top: 70px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
.example-blk figure { display: block; width: 450px; }
.example-blk figure img { display: block; width: 100%; }
.example-blk ul { width: calc(100% - 450px - 70px); }
.example-blk ul li { padding-left: 1.5em; color: white; position: relative; }
.example-blk ul li::before { content: ""; display: inline-block; width: 12px; height: 12px; background-color: rgba(255, 255, 255, 0.7); position: absolute; top: 0.5em; left: 0; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; }
.example .media { width: 25%; }
.example .media-ttl { display: table; margin: 30px auto 0; padding: 1em; font-size: 1.6rem; font-weight: 700; background-color: white; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; }
.example .media .slider { display: block; margin-top: 50px; padding-bottom: 50px; width: 100%; opacity: 0; transition: opacity 0.3s linear; }
.example .media .slider.slick-initialized { opacity: 1; }
.example .media .slider.slick-initialized .maincopy { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
.example .media .slider-mv { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; height: 200px; position: relative; }
.example .media .slider img { width: 100%; height: 200px; object-fit: contain; font-family: "object-fit: contain;"; margin: 0; padding: 0; }
.example .media .slider .slick-dots { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); z-index: 100; }
.example .media .slider .slick-dots li { margin: 0 0.5em; }
.example .media .slider .slick-dots li button { width: 16px; height: 16px; overflow: hidden; }
.example .media .slider .slick-dots li button::before { content: ""; display: block; width: 16px; height: 16px; border: 1px solid white; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); opacity: 0.8; }
.example .media .slider .slick-dots li.slick-active button::before { background-color: #d5f2f2; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }

.faqct { padding: 100px 0; }
.faqct .ct-ttl { margin: 0 auto; }
.faqct dl { width: 80%; margin: 15px auto 0; padding: 1em 0; text-align: left; background-color: white; border: 1px solid #505050; -moz-border-radius: 7px; -webkit-border-radius: 7px; border-radius: 7px; }
.faqct dl:nth-of-type(1) { margin-top: 40px; }
.faqct dl dt { padding: 10px 30px; position: relative; line-height: 1.5; font-size: 2.1rem; font-weight: 700; }
.faqct dl dt.question { padding-left: 50px; font-size: 1.6rem; font-weight: 500; }
.faqct dl dt.question::before { content: "Ｑ"; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 30px; height: 30px; position: absolute; top: 0.5em; left: 10px; font-size: 1.4rem; font-weight: bold; background-color: #009ffd; color: white; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; }
.faqct dl dt span::before, .faqct dl dt span::after { content: ""; display: block; width: 18px; height: 1px; position: absolute; right: 30px; top: 1.25em; background-color: black; }
.faqct dl dt span::after { transform: translateY(-50%) rotate(90deg); transition: 0.2s; }
.faqct dl dt span.active::after { transform: rotate(0); transition: 0.2s; }
.faqct dl dd { display: none; margin-top: 1em; padding: 0 1.5em; padding: 0 2.5em; }
.faqct dl dd dl { width: auto; margin: 0 auto; padding: 0.5em; text-align: left; border: none; border-bottom: 1px solid rgba(80, 80, 80, 0.3); -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
.faqct dl dd dl:last-child { border-bottom: none; }
.faqct dl dd dl:nth-of-type(1) { margin-top: 0; }
.faqct dl dd dl dd { padding: 0.5em 4em; }

.formarea { padding: 100px 0; position: relative; overflow: hidden; background-color: #f0f8fb; }
.formarea .ct-ttl { margin: 0 auto; }
.formarea p { text-align: center; }
.formarea .back-btn { margin: 70px auto 0; display: table; font-size: 2rem; font-weight: bold; padding: 0.5em 2em; background-color: rgba(255, 255, 255, 0.85); border: 1px solid rgba(0, 0, 0, 0.5); -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; }
.formarea .back-btn:visited { color: #505050; }
.formarea__inner { padding-bottom: 70px; }
.formarea .formbox { margin-top: 50px; padding: 0 50px; text-align: left; }
.formarea .formbox dl { width: 100%; display: table; margin-top: 0; padding: 1em 0; box-sizing: border-box; }
.formarea .formbox dl:nth-last-of-type(1) { border-bottom: none; }
.formarea .formbox dl.sub { border: none; margin-bottom: 1em; padding: 0; }
.formarea .formbox dl.sub.sub_end { margin-bottom: 0; }
.formarea .formbox dl.sub dt { width: 20%; font-weight: normal; }
.formarea .formbox dl dt, .formarea .formbox dl dd { display: table-cell; padding: 0 1em; vertical-align: top; }
.formarea .formbox dl dt { width: 30%; font-weight: bold; }
.formarea .formbox dl dt small { display: block; font-size: 1.3rem; }
.formarea .formbox dl dt .notnull { display: inline-block; margin-left: 1em; padding: 0.15em 0.5em; background-color: #ff2323; color: white; font-size: 1.1rem; font-weight: normal; vertical-align: middle; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
.formarea .formbox dl dd { width: 70%; position: relative; }
.formarea .formbox dl dd .row { padding-bottom: 0.5em; }
.formarea .formbox dl dd .row:last-child { padding-bottom: 0; }
.formarea .formbox dl dd .chk-wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 0; }
.formarea .formbox dl dd .chk-wrap .chk { width: 48%; }
.formarea .formbox dl dd .chk_row { padding-bottom: 0.5em; }
.formarea .formbox dl dd .chk_row:last-child { padding-bottom: 0; }
.formarea .formbox dl dd input[type="text"], .formarea .formbox dl dd input[type="email"], .formarea .formbox dl dd input[type="url"], .formarea .formbox dl dd select, .formarea .formbox dl dd textarea { font-size: 1.8rem; padding: 0.5em; border: none; background-color: rgba(255, 255, 255, 0.9); border: 1px solid #999; }
.formarea .formbox dl dd input[type="text"]::placeholder, .formarea .formbox dl dd input[type="email"]::placeholder, .formarea .formbox dl dd input[type="url"]::placeholder, .formarea .formbox dl dd select::placeholder, .formarea .formbox dl dd textarea::placeholder { font-size: 1.6rem; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); opacity: 0.6; }
.formarea .formbox dl dd input[type="radio"], .formarea .formbox dl dd input[type="checkbox"] { width: 24px; height: 24px; vertical-align: -0.2em; }
.formarea .formbox dl dd input[type="radio"] + label, .formarea .formbox dl dd input[type="checkbox"] + label { margin-left: 0.5em; }
.formarea .formbox dl dd select { width: auto; padding-right: 20px; font-size: 100%; font-size: 1.5rem; }
.formarea .formbox dl dd textarea { font-family: sans-serif; }
.formarea .formbox dl dd input[name="corpname"], .formarea .formbox dl dd input[name="username"], .formarea .formbox dl dd input[name="z_username"] { width: 60%; }
.formarea .formbox dl dd input[name="busyo"], .formarea .formbox dl dd input[name="usertel"], .formarea .formbox dl dd input[name="usertel2"], .formarea .formbox dl dd input[name="z_userte"], .formarea .formbox dl dd input[name="z_usertel2"] { width: 30%; }
.formarea .formbox dl dd input[name="origin_zipcode"], .formarea .formbox dl dd input[name="z_origin_zipcode"] { width: 8rem; }
.formarea .formbox dl dd input[name="origin_address"], .formarea .formbox dl dd input[name="usermail"], .formarea .formbox dl dd input[name="usermail2"], .formarea .formbox dl dd input[name="z_origin_address"], .formarea .formbox dl dd input[name="z_usermail"], .formarea .formbox dl dd input[name="z_usermail2"], .formarea .formbox dl dd input[name="arrival"], .formarea .formbox dl dd textarea[name="other"] { width: 90%; }
.formarea .formbox dl dd .caution { display: block; margin: 0; padding-left: 1.5em; font-size: 1.2rem; margin-top: 0.5em; position: relative; }
.formarea .formbox dl dd .caution::before { content: "※"; position: absolute; top: 0; left: 0; }
.formarea .formbox .checkbox-field { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; margin-top: 30px; overflow: hidden; }
.formarea .formbox .checkbox-field input[type="radio"], .formarea .formbox .checkbox-field input[type="checkbox"] { width: 24px; height: 24px; vertical-align: -0.2em; }
.formarea .formbox .checkbox-field input[type="radio"] + label, .formarea .formbox .checkbox-field input[type="checkbox"] + label { margin-left: 0.5em; }
.formarea .formbox .checkbox-field label { font-size: 1.8rem; }
.formarea .formbox .privacy { width: 70%; max-width: 70%; height: 220px; margin: 50px auto 0; padding: 1.5em; background-color: white; border: 1px solid #ccc; text-align: left; box-sizing: border-box; }
.formarea .formbox .privacy p { margin: 0 0 1.5em; line-height: 1.6; font-size: 1.2rem; text-align: left; }
.formarea .formbox .privacy p strong { font-size: 1.4rem; font-weight: bold; }
.formarea .formbox .privacy p b { font-weight: bold; }
.formarea .formbox .privacy ol { margin: 0 0 2em; }
.formarea .formbox .privacy ol li { margin-left: 1em; margin-bottom: 0.5em; list-style-type: decimal; font-size: 1.2rem; line-height: 2; }
.formarea .formbox .btnarea { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; margin-top: 70px; }
.formarea .formbox .btnarea input { margin-top: 0; margin-left: 20px; margin-right: 20px; font-size: 2rem; font-weight: bold; padding: 0.75em 2.5em; border: none; cursor: pointer; }
.formarea .formbox .btnarea input.send_btn, .formarea .formbox .btnarea input.z-send_btn { background-color: #505050; color: white; }
.formarea .formbox .btnarea input.send_btn:disabled, .formarea .formbox .btnarea input.z-send_btn:disabled { opacity: 0.5 !important; }
.formarea .formbox .btnarea input.upd_btn { background-color: rgba(255, 255, 255, 0.85); border: 1px solid rgba(0, 0, 0, 0.5); }

.compe-banner2 { display: none; }

.fv-inner .compe-banner { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; position: absolute; right: 0; bottom: 100px; width: 350px; }
.fv-inner .compe-banner a { margin-bottom: 15px; }
.fv-inner .compe-banner a:last-child { margin-bottom: 0; }

.fv-inner .compe-banner img { width: 350px; }

@media only screen and (max-width: 767px) { .fv-inner .compe-banner { display: none; }
  .compe-banner2 { display: block; padding: 20px 20px 0 20px; }
  .compe-banner2 img { width: 100%; max-width: 320px; margin: 25px auto auto; display: block; } }
@media all and (-ms-high-contrast: none) { .concept .merit-ttl::before, .concept .merit-ttl::after { display: none !important; }
  .formarea .formbox dl dd .chk-wrap { max-width: 680px; } }
/* ================================================================== */
/* Tablet */
/* ================================================================== */
@media screen and (max-width: 1100px) and (min-width: 768px) { .cnt, footer .f_ct, .ad-bnr, .concept-inner, .concept .about-inner, .concept .merit-inner, .concept .merit-hospital .merit-inner, .solution-inner, .example-inner, .faqct-inner, .formarea-inner, .formarea__inner { width: 90%; max-width: initial; }
  header .inner { padding: 0 20px; height: 100px; }
  header .g-nav { -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-left: 20px; }
  header .g-nav li { margin-top: 10px; }
  /* ================================================================== */
  /* TOP */
  /* ================================================================== */
  .fv { height: 85vh !important; }
  .fv::before { height: 32%; }
  .fv-img { width: 100%; max-width: 70%; min-width: initial; }
  .fv-img2 { width: 100%; max-width: 60%; bottom: 15%; }
  .fv-comment1 { bottom: 45%; left: 8%; }
  .fv-comment2 { bottom: 40%; left: 35%; }
  .fv-comment3 { bottom: 35%; left: auto; right: 5%; }
  .fv-copy2 span { font-size: 5.5rem; }
  .fv-subcopy { font-size: 3rem; }
  .example-blk { width: 65%; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: column; flex-direction: column; }
  .example-blk figure { width: 350px; }
  .example-blk ul { width: auto; }
  .example .media { width: 35%; } }
/* ================================================================== */
/* SMP */
/* ================================================================== */
@media screen and (max-width: 767px) { .cnt, footer .f_ct, .ad-bnr, .concept-inner, .concept .about-inner, .concept .merit-inner, .concept .merit-hospital .merit-inner, .solution-inner, .example-inner, .faqct-inner, .formarea-inner, .formarea__inner { width: 90%; max-width: initial; }
  .br-pc { display: none; }
  .br-tb { display: none; }
  .br-sp { display: block; }
  body { font-family: sans-serif; min-width: initial; font-size: 1.4rem; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", sans-serif; }
  /* ====================================================================== */
  /* HEADER */
  /* ====================================================================== */
  header .inner { padding: 0 15px; }
  header .inner .site-ttl img { height: 25px; }
  header .g-nav { display: none; }
  /* ====================================================================== */
  /* CONTENT */
  /* ====================================================================== */
  .pglb { font-size: 2.1rem; }
  /* --------------------------------------------------- */
  /* パラグラフ */
  /* --------------------------------------------------- */
  p { margin-top: 30px; }
  /* ====================================================================== */
  /* Footer */
  /* ====================================================================== */
  footer { padding: 20px 0 20px; }
  footer .t-logo { width: 130px; }
  footer .f_ct ul li { padding: 0 1em; font-size: 1.2rem; }
  footer .f_ct .copyright { font-size: 1.1rem; }
  .contactbtn { top: 5px; right: 5px; }
  .contactbtn li a { margin: 0 auto; width: 80px; height: 80px; padding-top: 1em; font-size: 1.1rem; -moz-border-radius: 15px; -webkit-border-radius: 15px; border-radius: 15px; max-height: 90px; }
  .contactbtn li a:hover { transform: scale(1); }
  .contactbtn li a img { width: 21px; height: 21px; }
  .contactbtn.scroll li a { transform: scale(0.9); }
  .iziModal { max-width: 95% !important; }
  .iziModal_iframe { display: none; max-width: 95% !important; }
  .iziModal_iframe iframe { width: 100% !important; height: 240px !important; }
  /* ================================================================== */
  /* TOP */
  /* ================================================================== */
  .fv { height: 100vh; }
  .fv #fv-video { width: 100%; height: 50%; }
  .fv #ytPlayerWrap #wrapper_ytPlayer { height: 50% !important; min-height: 50% !important; }
  .fv-inner { -webkit-justify-content: flex-end; justify-content: flex-end; }
  .fv-copyarea { margin-top: 0; width: 100%; height: 50%; overflow: hidden; }
  .fv-copyarea::before { background-color: rgba(41, 153, 139, 0.85); }
  .fv-img2 { width: 65%; bottom: -15px; }
  .fv-point { margin-top: 15px; position: relative; z-index: 10; }
  .fv-point li { margin: 0 7px; }
  .fv-comment { width: 80px; height: 80px; line-height: 1.2; font-size: 1.3rem; border: 2px solid white; }
  .fv-copy { margin-top: 20px; }
  .fv-copy span { font-size: 2.8rem; line-height: 1.2; }
  .fv-subcopy { margin: 0 auto 0; font-size: 1.6rem; }
  .fv.is-show .fv-copyarea::before { width: 100%; height: 100%; }
  .ct-ttl { margin: 0 auto; padding-bottom: 0.5em; font-size: 2.6rem; }
  .ct-ttl small { font-size: 1.2rem; }
  .concept { padding: 50px 0 0; position: relative; }
  .concept-list li .sdgs img { width: 100px; }
  .concept .mv-box { margin: 0 auto 50px; width: 100%; height: 230px; }
  .concept-wrap { -webkit-flex-direction: column-reverse; flex-direction: column-reverse; }
  .concept-box { width: auto; }
  .concept-imgcnt { display: block; margin-right: 0; width: auto; float: none; }
  .concept-img { display: block; width: 100%; }
  .concept .slider { margin-top: 50px; padding-bottom: 0; }
  .concept .slider-mv { height: 220px; }
  .concept .slider img { height: 220px; }
  .concept .about { margin-top: 50px; }
  .concept .about-img { margin: 50px auto 0; width: 100%; float: none; }
  .concept .about .slide_wap { margin-top: 50px; }
  .concept .about .slide_wap .mv-slider div { min-width: initial; position: relative; height: 260px; }
  .concept .about .slide_wap .mv-slider div img { display: block; width: 90%; height: 200px; object-fit: cover; margin: 0 auto; -moz-border-radius: 15px; -webkit-border-radius: 15px; border-radius: 15px; }
  .concept .about .slide_wap .mv-slider div .mv-ttl { font-size: 1.7rem; }
  .concept .about .slide_wap .mv-slider div .mv-ttl small { font-size: 1.2rem; }
  .concept .about .slide_wap .mv-slider div.slick-slide.slick-current { position: relative; }
  .concept .about .slide_wap .mv-slider div.slick-slide.slick-current a { width: 90%; height: 240px; }
  .concept .about .slide_wap .mv-slider div.slick-slide.slick-current a::after { content: ""; display: block; width: 60px; height: 60px; background: url(../img/youtube.svg) no-repeat center; background-size: contain; position: absolute; top: 80px; left: 50%; transform: translateX(-50%); z-index: 50; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; }
  .concept .about .slide_wap .mv-slider div.slick-slide.slick-center img { width: 90%; height: 240px; }
  .concept .about .slide_wap .mv-slider .slick-dots li { margin: 0 0.5em; }
  .concept .about .slide_wap .mv-slider .slick-dots li button { width: 18px; height: 18px; }
  .concept .about .slide_wap .mv-slider .slick-dots li button::before { width: 18px; height: 18px; }
  .concept .merit { margin-top: 50px; }
  .concept .merit::after { content: ""; display: block; width: 100%; height: 160px; z-index: 30; }
  .concept .merit-inner { overflow: hidden; }
  .concept .merit-inner-inner { padding: 200px 15px 50px; width: auto; max-width: initial; }
  .concept .merit-inner-inner::after { display: none; }
  .concept .merit-ttl { display: table; margin: 0 auto; font-size: 2.2rem; }
  .concept .merit-ttl small { font-size: 1.6rem; }
  .concept .merit ul li { font-size: 1.5rem; }
  .concept .merit-hospital { margin-top: 0; }
  .concept .merit-hospital .merit-inner-inner { margin: 0 0 0 auto; padding: 200px 15px 50px; }
  .concept .merit-hospital .merit-inner-inner::after { display: none; }
  .concept .merit-patient { margin-top: 0; }
  .concept .merit-patient .merit-inner-inner::after { display: none; }
  .concept .merit.is-show .merit-inner-inner { width: auto; max-width: initial; }
  .solution { padding: 50px 0; }
  .solution-inner { overflow: hidden; }
  .solution-ttl { font-size: 2.6rem; }
  .solution-ttl small { font-size: 1.2rem; }
  .solution .tab-group { margin-top: 50px; }
  .solution .tab-group li.tab { margin: 0 1em 1em; padding: 0.75em 2em; font-size: 1.5rem; }
  .solution .solflow { padding: 0 15px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: column; flex-direction: column; }
  .solution .solflow .sol-img { margin-top: 30px; width: 100%; height: auto; }
  .solution .solflow .sol-img img { width: 100%; height: auto; }
  .solution .solflow ul { width: auto; margin-top: 30px; }
  .solution .solflow ul li { margin-bottom: 40px; font-size: 1.5rem; }
  .solution .solflow ul li::after { width: 20px; height: 20px; bottom: -30px; }
  .solution .solflow ul li.ttl { font-size: 2rem; }
  .solution .solflow ul li span { padding: 0.75em 0.75em 0.75em 70px; }
  .solution .solflow ul li span::before { width: 60px; }
  .solution .solflow ul li:last-child::after { display: none; }
  .solution .pdf-download { display: block; width: 80%; margin: 0 auto 0; padding: 15px 0; font-size: 1.7rem; text-align: center; }
  .solution .pdf-download::before { width: 26px; height: 26px; }
  .example { padding: 50px 0; }
  .example-ttl { font-size: 2.6rem; }
  .example-ttl small { font-size: 1.2rem; }
  .example-wrap { -webkit-flex-direction: column; flex-direction: column; }
  .example-blk { width: auto; margin-top: 50px; -webkit-flex-direction: column; flex-direction: column; }
  .example-blk figure { width: 85%; margin: 0 auto; }
  .example-blk ul { display: table; width: auto; margin: 30px auto 0; }
  .example .media { width: auto; }
  .example .media-ttl { margin: 30px auto 0; font-size: 1.5rem; }
  .example .media .slider-mv { height: 240px; }
  .example .media .slider img { height: 240px; }
  .faqct { padding: 50px 0; }
  .faqct-ttl { font-size: 2.6rem; }
  .faqct-ttl small { font-size: 1.2rem; }
  .faqct dl { width: 100%; margin: 15px auto 0; padding: 0.75em 0; }
  .faqct dl dt { padding: 10px 30px 10px 20px; font-size: 1.6rem; font-weight: 700; }
  .faqct dl dt span::before, .faqct dl dt span::after { width: 12px; height: 1px; right: 15px; top: 1.25em; }
  .faqct dl dd { margin-top: 0.5em; padding: 0 2em; }
  .formarea { padding: 50px 0; }
  .formarea .heading { display: block; padding-top: 32px; padding-bottom: 0.5em; font-size: 2.6rem; }
  .formarea .heading::before { width: 30px; height: 30px; }
  .formarea .heading::after { height: 8px; }
  .formarea .heading + p { font-size: 1.6rem; }
  .formarea p { font-size: 1.4rem; text-align: center; }
  .formarea .back-btn { margin: 70px auto 0; display: table; font-size: 2rem; font-weight: bold; padding: 0.5em 2em; background-color: rgba(255, 255, 255, 0.85); border: 1px solid rgba(0, 0, 0, 0.5); -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; }
  .formarea .back-btn:visited { color: #505050; }
  .formarea__inner { padding-bottom: 30px; }
  .formarea .formbox { margin-top: 30px; padding: 0 15px; }
  .formarea .formbox dl { width: 100%; display: table; margin-top: 0; padding: 1em 0; box-sizing: border-box; display: block; }
  .formarea .formbox dl:nth-last-of-type(1) { border-bottom: none; }
  .formarea .formbox dl dt, .formarea .formbox dl dd { display: table-cell; display: block; padding: 0; vertical-align: top; }
  .formarea .formbox dl dt { width: auto; font-weight: bold; }
  .formarea .formbox dl dt small { font-size: 1.1rem; }
  .formarea .formbox dl dt .notnull { font-size: 1.1rem; line-height: 1.3; }
  .formarea .formbox dl dd { width: auto; padding-top: 0.25em; }
  .formarea .formbox dl dd .row { padding-bottom: 0.5em; }
  .formarea .formbox dl dd .chk-wrap { -webkit-flex-direction: column; flex-direction: column; }
  .formarea .formbox dl dd .chk-wrap .chk { width: auto; padding: 0.25em 0; }
  .formarea .formbox dl dd .chk_row { padding-bottom: 0.5em; }
  .formarea .formbox dl dd .chk_row:last-child { padding-bottom: 0; }
  .formarea .formbox dl dd input[type="text"], .formarea .formbox dl dd input[type="email"], .formarea .formbox dl dd input[type="url"], .formarea .formbox dl dd select, .formarea .formbox dl dd textarea { font-size: 1.6rem; max-width: 100%; box-sizing: border-box; }
  .formarea .formbox dl dd input[type="text"]::placeholder, .formarea .formbox dl dd input[type="email"]::placeholder, .formarea .formbox dl dd input[type="url"]::placeholder, .formarea .formbox dl dd select::placeholder, .formarea .formbox dl dd textarea::placeholder { font-size: 1.4rem; }
  .formarea .formbox dl dd input[type="radio"], .formarea .formbox dl dd input[type="checkbox"] { width: 20px; height: 20px; }
  .formarea .formbox dl dd select { font-size: 1.4rem; }
  .formarea .formbox dl dd input[name="corpname"], .formarea .formbox dl dd input[name="username"], .formarea .formbox dl dd input[name="z_username"] { width: 100%; }
  .formarea .formbox dl dd input[name="busyo"], .formarea .formbox dl dd input[name="usertel"], .formarea .formbox dl dd input[name="usertel2"], .formarea .formbox dl dd input[name="z_userte"], .formarea .formbox dl dd input[name="z_usertel2"] { width: 100%; }
  .formarea .formbox dl dd input[name="origin_zipcode"], .formarea .formbox dl dd input[name="z_origin_zipcode"] { width: 8rem; }
  .formarea .formbox dl dd input[name="origin_address"], .formarea .formbox dl dd input[name="usermail"], .formarea .formbox dl dd input[name="usermail2"], .formarea .formbox dl dd input[name="z_origin_address"], .formarea .formbox dl dd input[name="z_usermail"], .formarea .formbox dl dd input[name="z_usermail2"], .formarea .formbox dl dd input[name="arrival"], .formarea .formbox dl dd textarea[name="other"] { width: 100%; }
  .formarea .formbox .checkbox-field { margin-top: 15px; }
  .formarea .formbox .checkbox-field input[type="radio"], .formarea .formbox .checkbox-field input[type="checkbox"] { width: 20px; height: 20px; }
  .formarea .formbox .checkbox-field label { font-size: 1.6rem; }
  .formarea .formbox .privacy { width: 100%; max-width: 100%; height: 140px; margin: 30px auto 0; padding: 1em; }
  .formarea .formbox .privacy p { line-height: 1.5; font-size: 1.1rem; }
  .formarea .formbox .privacy p strong { font-size: 1.3rem; }
  .formarea .formbox .privacy ol li { font-size: 1.1rem; }
  .formarea .formbox .btnarea { margin-top: 50px; }
  .formarea .formbox .btnarea input { margin-left: 10px; margin-right: 10px; font-size: 1.6rem; padding: 0.75em 1.5em; } }
