@charset "UTF-8";
/*--- import -------------------------------------*/
* { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; word-break: break-word; -webkit-box-sizing: border-box; box-sizing: border-box; vertical-align: baseline; background: transparent; line-height: 1.6; }

*::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; }

html, body { overflow-x: hidden; }

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

li { list-style-type: none; }

blockquote, q { quotes: none; }

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

a { text-decoration: none; color: inherit; }

img, picture { vertical-align: middle; max-width: 100%; }

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

input, select { vertical-align: middle; }

br { line-height: 0; }

input, textarea, select { font: inherit; border: 1px solid #000; min-width: 0; }

/* safariでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-appearance: button; appearance: button; border: none; -webkit-box-sizing: border-box; box-sizing: border-box; }

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

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

/*------------------------------------- import ---*/
html { font-size: 62.5%; }

body { -webkit-text-size-adjust: 100%; font-family: 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka,"ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; text-align: center; font-size: 1.6rem; font-weight: 500; line-height: 1.5; color: #424242; letter-spacing: 0.1em; position: relative; -webkit-font-feature-settings: "palt" 1; font-feature-settings: "palt" 1; }

@media screen and (max-width: 768px) { body { font-size: 4.16667vw; } }

a { opacity: 1; -webkit-transition: opacity .3s; -o-transition: opacity .3s; transition: opacity .3s; }

@media screen and (min-width: 769px) { a:hover { opacity: 0.8; } }

/* -------------------------
	header
--------------------------- */
header { position: fixed; z-index: 100; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 115px; top: 0; left: 0; background: #fff; letter-spacing: 0; }

@media screen and (max-width: 1250px) { header { height: 9.2vw; } }

@media screen and (max-width: 768px) { header { height: 15.625vw; } }

header .left { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding-left: 2.5vw; }

header .left .logo img { width: 65px; }

@media screen and (max-width: 1366px) { header .left .logo img { width: 6.58858vw; } }

@media screen and (max-width: 1250px) { header .left .logo img { width: 7.2vw; } }

@media screen and (max-width: 768px) { header .left .logo img { width: 23.4375vw; } }

header .left nav { padding-left: 1vw; }

@media screen and (max-width: 768px) { header .left nav { display: none; } }

header .left nav ul { display: -webkit-box; display: -ms-flexbox; display: flex; }

header .left nav ul li { padding: 0 0.8vw; color: #052548; font-size: 1.4rem; }

@media screen and (max-width: 1366px) { header .left nav ul li { font-size: 1.02489vw; } }

@media screen and (max-width: 1250px) { header .left nav ul li { font-size: 1.12vw; } }

header .right_pc { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding-right: 1.2vw; font-size: 0; -webkit-transition: 0.4s ease; -o-transition: 0.4s ease; transition: 0.4s ease; }

@media screen and (max-width: 768px) { header .right_pc { display: none; } }

header .right_pc .tel { margin-right: 1vw; }

header .right_pc .tel .tel_txt { font-size: 18px; color: #052548; }

@media screen and (max-width: 1250px) { header .right_pc .tel .tel_txt { font-size: 1.44vw; } }

header .right_pc .tel .tel_img img { width: 200px; }

@media screen and (max-width: 1250px) { header .right_pc .tel .tel_img img { width: 18.72vw; } }

header .right_pc .btn { position: relative; display: inline-block; color: #fff; text-decoration: none; cursor: pointer; background: #ef9b38; -webkit-box-shadow: 0 5px 0 0 #af732d; box-shadow: 0 5px 0 0 #af732d; border-radius: 5px; font-weight: 700; text-align: center; -webkit-transition: 0.2s ease; -o-transition: 0.2s ease; transition: 0.2s ease; overflow: hidden; font-size: 18px; width: 240px; height: 64px; padding: 0; }

@media screen and (max-width: 1250px) { header .right_pc .btn { font-size: 1.44vw; width: 19.2vw; height: 5.12vw; } }

@media screen and (max-width: 768px) { header .right_pc .btn { width: calc(50% - 15px); height: 52px; padding: 0; font-size: 14px; } }

@media screen and (max-width: 768px) { header .right_pc .btn { width: calc(50% - 15px); height: 52px; padding: 0; } }

header .right_pc .btn b { line-height: 64px; }

@media screen and (max-width: 1250px) { header .right_pc .btn b { line-height: 5.12vw; } }

@media screen and (max-width: 768px) { header .right_pc .btn b { line-height: 52px; } }

header .right_pc .btn b::before { content: ""; display: inline-block; width: 18px; height: 15px; margin: 0 8px 0 0; background-repeat: no-repeat; background-position: 0 0; background-size: contain; vertical-align: -2px; background-image: url(../img/contact_mail.svg); }

@media screen and (max-width: 768px) { header .right_pc .btn b::before { display: none; } }

header .right_pc .btn:hover { -webkit-box-shadow: none; box-shadow: none; -webkit-transform: translateY(5px); -ms-transform: translateY(5px); transform: translateY(5px); color: #fff; opacity: 1; }

header .right_sp { display: none; }

@media screen and (max-width: 768px) { header .right_sp { display: block; } }

header .right_sp .hamburger_menu { position: fixed; display: block; z-index: 1000; cursor: pointer; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; top: 1.95313vw; right: 1.95313vw; width: 11.71875vw; height: 11.71875vw; }

header .right_sp .hamburger_menu::before, header .right_sp .hamburger_menu::after, header .right_sp .hamburger_menu span { content: ""; display: block; position: absolute; background: #052548; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; width: 8.33333vw; height: 2px; left: 1.69271vw; }

header .right_sp .hamburger_menu::before { top: 2.86458vw; }

header .right_sp .hamburger_menu::after { top: 8.07292vw; }

header .right_sp .hamburger_menu span { top: 5.46875vw; }

header .right_sp .hamburger_menu._bg { background: rgba(0, 0, 0, 0.5); }

header .right_sp .hamburger_menu._open { background: rgba(0, 0, 0, 0); }

header .right_sp .hamburger_menu._open span { opacity: 0; }

header .right_sp .hamburger_menu._open::before, header .right_sp .hamburger_menu._open::after { top: 50%; }

header .right_sp .hamburger_menu._open::before { -webkit-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); }

header .right_sp .hamburger_menu._open::after { -webkit-transform: translateY(-50%) rotate(-45deg); -ms-transform: translateY(-50%) rotate(-45deg); transform: translateY(-50%) rotate(-45deg); }

header .right_sp nav { pointer-events: none; opacity: 0; position: fixed; top: 0; right: 0; z-index: 999; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }

@media screen and (max-width: 768px) { header .right_sp nav { width: 100%; } }

header .right_sp nav._open { opacity: 1; pointer-events: all; }

header .right_sp nav .nav_content { position: absolute; top: 0; right: 0; background: rgba(232, 241, 250, 0.95); width: 100%; height: 100vh; padding: 14.32292vw 4.94792vw 13.02083vw; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; overflow: auto; }

header .right_sp nav .menu_wrapper .menu_item { color: #052548; position: relative; width: 100%; }

@media screen and (max-width: 768px) { header .right_sp nav .menu_wrapper .menu_item { text-align: center; } }

header .right_sp nav .menu_wrapper .menu_item + .menu_item { margin-top: 9.11458vw; }

header .right_sp nav .menu_wrapper .menu_item a { font-size: 4.6875vw; line-height: 1; display: inline-block; position: relative; }

header .right_sp nav .tel { margin-top: 7.8125vw; }

header .right_sp nav .tel .tel_txt { font-size: 4.6875vw; color: #052548; line-height: 1.8; }

header .right_sp nav .tel .tel_img img { width: 60.80729vw; }

header .right_sp nav .btn { position: relative; display: inline-block; color: #fff; text-decoration: none; cursor: pointer; background: #ef9b38; -webkit-box-shadow: 0 5px 0 0 #af732d; box-shadow: 0 5px 0 0 #af732d; border-radius: 5px; font-weight: 700; text-align: center; -webkit-transition: 0.2s ease; -o-transition: 0.2s ease; transition: 0.2s ease; overflow: hidden; font-size: 4.6875vw; width: 100%; height: 20.83333vw; padding: 0; margin-top: 5.20833vw; }

header .right_sp nav .btn b { line-height: 20.83333vw; }

header .right_sp nav .btn b::before { content: ""; display: inline-block; width: 4.6875vw; height: 3.90625vw; margin: 0 2.34375vw 0 0; background-repeat: no-repeat; background-position: 0 0; background-size: contain; vertical-align: -1px; background-image: url(../img/contact_mail.svg); }

/* -------------------------
	footer
--------------------------- */
footer { margin: 100px 0 80px; font-size: 1.4rem; color: #6a80aa; }

@media screen and (max-width: 768px) { footer { margin: 10.41667vw 0; font-size: 2.08333vw; } }

/* -----------------------------------------------------
	br
----------------------------------------------------- */
br.pc { display: block; }

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

br.sp { display: none; }

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

body { padding-top: 115px; }

@media screen and (max-width: 1250px) { body { padding-top: 9.2vw; } }

@media screen and (max-width: 768px) { body { padding-top: 15.625vw; } }

.inner { width: 982px; max-width: 90%; margin: 0 auto; }

@media screen and (max-width: 768px) { .inner { max-width: 90%; } }

#about, #check, #feature, #case, #step, #security { font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', '游ゴシック', 'YuGothic', 'メイリオ', 'Meiryo', sans-serif; font-weight: normal; padding: 80px 0; }

@media screen and (max-width: 768px) { #about, #check, #feature, #case, #step, #security { padding: 14.58333vw 0; } }

.pc { display: block; }

.pc._inline { display: inline; }

.pc._inline-block { display: inline-block; }

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

.sp { display: none; }

@media screen and (max-width: 768px) { .sp { display: block; }
  .sp._inline { display: inline; }
  .sp._inline-block { display: inline-block; } }

/* -----------------------------------------------------
kv
----------------------------------------------------- */
#kv .kv_wrap { position: relative; }

#kv .kv_wrap .kv_ttl a { display: block; }

#kv .kv_wrap img { width: 100%; }

@media screen and (max-width: 768px) { #kv .kv_wrap .link_col { background: #f1f8fc; padding: 0.65104vw 0 0; } }

#kv .kv_wrap .kv_btn { position: absolute; left: 0; right: 0; margin: auto; bottom: 2.84vw; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #fff; text-decoration: none; cursor: pointer; background: #ef9b38; -webkit-box-shadow: 0 5px 0 0 #af732d; box-shadow: 0 5px 0 0 #af732d; border-radius: 5px; font-weight: 700; text-align: center; -webkit-transition: 0.2s ease; -o-transition: 0.2s ease; transition: 0.2s ease; overflow: hidden; width: 26.04167vw; height: 4.6875vw; }

@media screen and (max-width: 768px) { #kv .kv_wrap .kv_btn { width: 76.17188vw; height: 14.32292vw; padding: 0; top: 0; bottom: -82vw; } }

#kv .kv_wrap .kv_btn b { font-size: 1.43229vw; line-height: 5.20833vw; letter-spacing: 0; padding-left: 7.29167vw; }

@media screen and (max-width: 768px) { #kv .kv_wrap .kv_btn b { font-size: 4.16667vw; line-height: 16.14583vw; padding-left: 19.53125vw; } }

#kv .kv_wrap .kv_btn b::before { content: ""; display: inline-block; position: absolute; top: 50%; left: 4.55729vw; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 1.43229vw; height: 1.69271vw; background-repeat: no-repeat; background-size: contain; background-image: url(../img/data.png); }

@media screen and (max-width: 768px) { #kv .kv_wrap .kv_btn b::before { left: 13.02083vw; width: 4.16667vw; height: 4.6875vw; } }

#kv .kv_wrap .kv_btn b small { font-size: 1.17188vw; }

@media screen and (max-width: 768px) { #kv .kv_wrap .kv_btn b small { font-size: 3.125vw; } }

#kv .kv_wrap .kv_btn:hover { -webkit-box-shadow: none; box-shadow: none; -webkit-transform: translateY(5px); -ms-transform: translateY(5px); transform: translateY(5px); color: #fff; opacity: 1; }

/* -----------------------------------------------------
work
----------------------------------------------------- */
.work .work_inner { max-width: 920px; width: 90%; margin: 0 auto; }

.work .work_inner .text_small { font-weight: 400; }

@media screen and (max-width: 768px) { .work .work_inner .text_small { text-align: left; padding-left: 1.3em; text-indent: -1.3em; } }

.work .work_inner .work_box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; margin: 0 0 20px; }

@media screen and (max-width: 768px) { .work .work_inner .work_box { display: block; margin: 0 0 3.90625vw; } }

.work .work_inner .work_box .work_item { width: calc(100% / 3 - 20px); border: 2px solid #33b3eB; border-radius: 10px; padding: 20px 0 18px; background: #fff; }

@media screen and (max-width: 768px) { .work .work_inner .work_box .work_item { width: 100%; border: 0.78125vw solid #33b3eB; padding: 5.46875vw 0 4.6875vw; }
  .work .work_inner .work_box .work_item:nth-of-type(n+2) { margin-top: 3.90625vw; } }

.work .work_inner .work_box .work_item p { font-size: 1.8rem; font-weight: 700; letter-spacing: .04em; line-height: 1.6; }

@media screen and (max-width: 768px) { .work .work_inner .work_box .work_item p { font-size: 4.6875vw; } }

.work .work_inner .work_box .work_item p sup { font-size: 70%; vertical-align: text-top; }

.work .work_inner .work_box .work_item p span { color: #33b3eB; font-size: 2.8rem; padding: 0 0.2em; }

@media screen and (max-width: 768px) { .work .work_inner .work_box .work_item p span { font-size: 7.29167vw; padding: 0 1.30208vw; } }

.work .work_inner .work_box .work_item p span.en { font-size: 3.8rem; line-height: 1.2; display: inline-block; }

@media screen and (max-width: 768px) { .work .work_inner .work_box .work_item p span.en { font-size: 10.15625vw; } }

.work .work_inner .text_small { font-size: 1.2rem; margin-bottom: 80px; }

@media screen and (max-width: 768px) { .work .work_inner .text_small { margin-bottom: 10.41667vw; } }

/* -------------------------
	about
--------------------------- */
#about { background: #fafafa; }

#about .inner { background: #fff; border-radius: 30px; padding: 50px 100px; -webkit-box-shadow: 0px 0px 20px -6px rgba(0, 0, 0, 0.2); box-shadow: 0px 0px 20px -6px rgba(0, 0, 0, 0.2); }

@media screen and (max-width: 768px) { #about .inner { background: inherit; border-radius: inherit; padding: 0; -webkit-box-shadow: inherit; box-shadow: inherit; } }

#about .about_ttl { margin-bottom: 40px; }

@media screen and (max-width: 768px) { #about .about_ttl { margin-bottom: 7.29167vw; } }

@media screen and (max-width: 768px) { #about .about_ttl img { width: 70.3125vw; } }

#about .col2 { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-pack: justify; /*IE10*/ -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-justify-content: space-between; /* Safari6.1以降 */ justify-content: space-between; margin-bottom: 40px; }

@media screen and (max-width: 768px) { #about .col2 { display: block; margin-bottom: 5.20833vw; } }

#about .col2 .text { width: 485px; margin-right: 30px; text-align: left; line-height: 2.5; }

@media screen and (max-width: 768px) { #about .col2 .text { width: 100%; margin: 0 0 8.33333vw; line-height: 2.2; } }

#about .col2 .thum img { width: 263px; }

@media screen and (max-width: 768px) { #about .col2 .thum img { width: 71.61458vw; } }

#about .col3 img { max-width: -webkit-fit-content; max-width: -moz-fit-content; max-width: fit-content; width: 100%; }

@media screen and (max-width: 1100px) { #about .col3 img { max-width: 100%; width: 100%;} }

/* -------------------------
	check
--------------------------- */
#check .check_ttl { font-size: 3.0rem; line-height: 1.6; font-weight: bold; color: #273067; margin-bottom: 40px; }

@media screen and (max-width: 768px) { #check .check_ttl { font-size: 5.85938vw; margin-bottom: 10.41667vw; } }

#check .check_ttl span { color: #00bfff; display: inline-block; }

#check .item { display: inline-block; margin-bottom: 64px; }

#check .item li { position: relative; text-align: left; padding-left: 32px; }

@media screen and (max-width: 768px) { #check .item li { padding-left: 7.29167vw; } }

#check .item li span { font-size: 2.1rem; font-weight: bold; color: #273067; }

@media screen and (max-width: 768px) { #check .item li span { font-size: 5.20833vw; } }

#check .item li:not(:last-child) { margin-bottom: 24px; }

@media screen and (max-width: 768px) { #check .item li:not(:last-child) { margin-bottom: 5.20833vw; } }

#check .item li::before { content: ""; position: absolute; top: 8px; left: 0; width: 24px; height: 20px; background: url(../img/sec_check_icon.png) top no-repeat; background-size: contain; }

@media screen and (max-width: 768px) { #check .item li::before { top: 2.08333vw; width: 4.55729vw; height: 3.77604vw; } }

#check .sub_ttl { font-size: 2.0rem; font-weight: bold; margin-bottom: 48px; }

@media screen and (max-width: 768px) { #check .sub_ttl { font-size: 4.16667vw; line-height: 2.4; margin-bottom: 8.33333vw; } }

#check .sub_ttl span { background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(20%, #ffd900)); background: -webkit-linear-gradient(transparent 80%, #ffd900 20%); background: -o-linear-gradient(transparent 80%, #ffd900 20%); background: linear-gradient(transparent 80%, #ffd900 20%); padding-bottom: 12px; }

@media screen and (max-width: 768px) { #check .sub_ttl span { padding-bottom: 1.5625vw; } }

#check .school { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-pack: justify; /*IE10*/ -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-justify-content: space-between; /* Safari6.1以降 */ justify-content: space-between; }

@media screen and (max-width: 768px) { #check .school { -ms-flex-wrap: wrap; /*IE10*/ -webkit-flex-wrap: wrap; /*PC-Safari,iOS8.4*/ flex-wrap: wrap; } }

#check .school li { width: calc(100% / 4 - 20px); }

@media screen and (max-width: 768px) { #check .school li { width: calc(100% / 2 - 2.08333vw); }
  #check .school li:nth-last-child(-n+2) { margin-top: 8.33333vw; } }

#check .school li .name { background: #d9eef5; border-radius: 10px; padding: 8px 0; }

@media screen and (max-width: 768px) { #check .school li .name { font-size: 3.125vw; border-radius: 1.30208vw; padding: 1.04167vw 0; } }

#check .school li .name + .name { margin-top: 10px; }

@media screen and (max-width: 768px) { #check .school li .name + .name { margin-top: 2.08333vw; } }

#check .school li .thum { margin-top: 24px; }

@media screen and (max-width: 768px) { #check .school li .thum { margin-top: 3.125vw; } }

/* -------------------------
	feature
--------------------------- */
#feature .feature_ttl { margin-bottom: 40px;}

@media screen and (max-width: 768px) { #feature .feature_ttl { margin-bottom: 2.60417vw; } }

#feature .feature_ttl img { width: 364px; }

@media screen and (max-width: 768px) { #feature .feature_ttl img { width: 57.03125vw; } }

#feature .wrap:not(:last-child) { border-bottom: dotted 2px #00bfff; margin-bottom: 72px; padding-bottom: 72px; }

@media screen and (max-width: 768px) { #feature .wrap:not(:last-child) { border-bottom: dotted 0.52083vw #00bfff; margin-bottom: 12.5vw; padding-bottom: 12.5vw; } }

#feature .col2 { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-pack: justify; /*IE10*/ -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-justify-content: space-between; /* Safari6.1以降 */ justify-content: space-between; -ms-flex-align: center; /*IE10*/ -webkit-box-align: center; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-align-items: center; /* Safari6.1以降 */ align-items: center; }

@media screen and (max-width: 768px) { #feature .col2 { display: block; } }

#feature .col2 .ttl { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-align: center; /*IE10*/ -webkit-box-align: center; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-align-items: center; /* Safari6.1以降 */ align-items: center; margin-bottom: 40px; }

@media screen and (max-width: 768px) { #feature .col2 .ttl { margin-bottom: 7.29167vw; } }

#feature .col2 .ttl dt { font-size: 7.2rem; color: #00bfff; width: 112px; line-height: 1; letter-spacing: 0; }

@media screen and (max-width: 768px) { #feature .col2 .ttl dt { font-size: 14.58333vw; width: 22.13542vw; } }

#feature .col2 .ttl dd { width: calc(100% - 120px); font-size: 2.0rem; font-weight: bold; color: #273067; }

@media screen and (max-width: 768px) { #feature .col2 .ttl dd { font-size: 4.6875vw; width: calc(100% - 23.4375vw); } }

#feature .col2 .ttl dd span { color: #00bfff; display: block; }

@media screen and (max-width: 768px) { #feature .col2 .ttl dd span { display: inline; } }

#feature .col2 .text { width: 500px; text-align: left; line-height: 2.5; }

@media screen and (max-width: 768px) { #feature .col2 .text { width: 100%; } }

#feature .col2 .text p + p { margin-top: 40px; }

@media screen and (max-width: 768px) { #feature .col2 .text p + p { margin-top: 5.20833vw; } }

@media screen and (max-width: 768px) { #feature .col2 .thum { margin-top: 7.29167vw; } }

#feature .col2 .thum img { width: 441px; }

@media screen and (max-width: 768px) { #feature .col2 .thum img { width: 100%; } }

#feature .img { margin-top: 32px; }

@media screen and (max-width: 768px) { #feature .img { margin-top: 7.29167vw; } }

/* -------------------------
	case
--------------------------- */
#case .case_ttl { font-size: 3.0rem; font-weight: bold; color: #273067; margin-bottom: 80px; }

@media screen and (max-width: 768px) { #case .case_ttl { font-size: 5.85938vw; margin-bottom: 12.5vw; } }

#case .col3 { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-pack: justify; /*IE10*/ -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-justify-content: space-between; /* Safari6.1以降 */ justify-content: space-between; }

@media screen and (max-width: 768px) { #case .col3 { display: block; } }

#case .col3 li { position: relative; width: calc(100% / 3 - 24px); border-radius: 10px; -webkit-box-shadow: 0px 0px 20px -6px rgba(0, 0, 0, 0.2); box-shadow: 0px 0px 20px -6px rgba(0, 0, 0, 0.2); text-align: left; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

@media screen and (max-width: 768px) { #case .col3 li { width: 100%; border-radius: 1.30208vw; }
  #case .col3 li:not(:last-child) { margin-bottom: 15.625vw; } }

#case .col3 li:hover { -webkit-transform: scale(1.1, 1.1); -ms-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }

@media screen and (max-width: 768px) { #case .col3 li:hover { -webkit-transform: none; -ms-transform: none; transform: none; } }

#case .col3 li a { display: block; padding: 32px 20px 20px; }

@media screen and (max-width: 768px) { #case .col3 li a { padding: 11.45833vw 5.20833vw 5.20833vw; } }

#case .col3 li a:hover { opacity: 1; }

#case .col3 li .ttl { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-align: center; /*IE10*/ -webkit-box-align: center; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-align-items: center; /* Safari6.1以降 */ align-items: center; -ms-flex-pack: center; /*IE10*/ -webkit-box-pack: center; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-justify-content: center; /* Safari6.1以降 */ justify-content: center; position: absolute; width: 92%; height: 64px; top: -32px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); font-size: 1.4rem; color: #fff; text-align: center; background: #2ca7fb; border-radius: 10px; }

@media screen and (max-width: 768px) { #case .col3 li .ttl { width: 88%; height: auto; border-radius: 1.30208vw; font-size: 3.90625vw; line-height: 1.3; padding: 2.08333vw 0; } }

#case .col3 li .thum { margin: 16px 0 24px; }

@media screen and (max-width: 768px) { #case .col3 li .thum { margin: 4.16667vw 0 5.20833vw; } }

#case .col3 li .company_name { font-size: 2.0rem; font-weight: bold; color: #00bfff; margin-bottom: 8px; }

@media screen and (max-width: 768px) { #case .col3 li .company_name { font-size: 5.20833vw; margin-bottom: 1.04167vw; } }

/* -------------------------
	step
--------------------------- */
#step { padding-top: 0; }

#step .step_ttl { font-size: 3.0rem; font-weight: bold; color: #273067; margin-bottom: 40px; }

@media screen and (max-width: 768px) { #step .step_ttl { font-size: 5.85938vw; margin-bottom: 6.25vw; } }

#step .step_ttl span { color: #00bfff; display: block; }

@media screen and (max-width: 768px) { #step .cap { font-size: 3.64583vw; } }

#step .flow { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-pack: justify; /*IE10*/ -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-justify-content: space-between; /* Safari6.1以降 */ justify-content: space-between; margin-top: 64px; padding-bottom: 88px; position: relative; }

@media screen and (max-width: 768px) { #step .flow { display: block; margin-top: 8.33333vw; padding-bottom: 0; } }

#step .flow::before { content: "最短1週間で導入完了"; position: absolute; left: 0; bottom: 10px; width: calc(100% - 30px); background: #1481c9; font-size: 1.8rem; font-weight: bold; color: #fff; line-height: 40px; }

@media screen and (max-width: 768px) { #step .flow::before { left: auto; right: 3.38542vw; bottom: auto; top: 0; width: 8.33333vw; font-size: 4.16667vw; padding: 20.83333vw 2.08333vw 0; -webkit-box-sizing: border-box; box-sizing: border-box; height: calc(100% - 5.20833vw); line-height: 1; } }

#step .flow::after { content: ""; position: absolute; right: 0; bottom: 0; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 32px; border-color: transparent transparent transparent #1681c9; }

@media screen and (max-width: 768px) { #step .flow::after { border-width: 8.33333vw 7.8125vw 0 7.8125vw; border-color: #1681c9 transparent transparent transparent; } }

#step .flow li { position: relative; width: calc(100% / 4 - 20px); padding: 72px 0 32px; border-radius: 20px; border: dotted 2px #1481c9; }

@media screen and (max-width: 768px) { #step .flow li { border: dotted 0.52083vw #1481c9; width: 62.5vw; margin-left: 5.20833vw; }
  #step .flow li:not(:last-child) { margin-bottom: 3.125vw; } }

#step .flow li::before { position: absolute; left: -2px; top: -2px; display: inline-block; padding: 0 24px; border-radius: 20px 0 20px 0; font-size: 1.4rem; line-height: 32px; font-weight: bold; color: #fff; background: #1481c9; }

@media screen and (max-width: 768px) { #step .flow li::before { left: -0.52083vw; top: -0.52083vw; padding: 0 4.16667vw; border-radius: 2.60417vw 0 2.60417vw 0; font-size: 3.38542vw; line-height: 8.33333vw; } }

#step .flow li:nth-child(1)::before { content: "STEP.01"; }

#step .flow li:nth-child(2)::before { content: "STEP.02"; }

#step .flow li:nth-child(3)::before { content: "STEP.03"; }

#step .flow li:nth-child(4)::before { content: "STEP.04"; }

#step .flow li .thum { margin-bottom: 8px; }

@media screen and (max-width: 768px) { #step .flow li .thum { margin-bottom: 3.125vw; } }

#step .flow li .ttl { font-size: 2.0rem; font-weight: bold; color: #1481c9; margin-bottom: 24px; }

@media screen and (max-width: 768px) { #step .flow li .ttl { font-size: 4.16667vw; margin-bottom: 3.125vw; } }

@media screen and (max-width: 768px) { #step .flow li .text { font-size: 3.38542vw; } }

#step .flow li .text span { font-size: 1.1rem; letter-spacing: 0; display: block; }

@media screen and (max-width: 768px) { #step .flow li .text span { font-size: 2.86458vw; } }

/* -------------------------
	security
--------------------------- */
#security { padding-top: 0; }

#security .security_ttl { font-size: 3.0rem; font-weight: bold; color: #273067; margin-bottom: 40px; }

@media screen and (max-width: 768px) { #security .security_ttl { font-size: 5.85938vw; margin-bottom: 5.20833vw; } }

#security .table_wrap table { border-collapse: collapse; border: solid 1px #92bbd2; }

@media screen and (max-width: 768px) { #security .table_wrap table { border: none; } }

#security .table_wrap table th, #security .table_wrap table td { vertical-align: middle; }

#security .table_wrap table th { background: #1681c9; font-size: 1.6rem; color: #fff; padding: 32px 0; width: 24%; border-bottom: solid 1px #92bbd2; }

@media screen and (max-width: 768px) { #security .table_wrap table th { font-size: 4.6875vw; padding: 3.125vw 0; width: 100%; display: block; border: none; } }

#security .table_wrap table td { background: #f7f8ff; font-size: 1.4rem; color: #424242; padding: 25px 20px; text-align: left; border-bottom: solid 1px #92bbd2; }

@media screen and (max-width: 768px) { #security .table_wrap table td { font-size: 3.90625vw; padding: 6.25vw 5.20833vw; width: 100%; display: block; border-bottom: none; } }

/* -------------------------
	contact
--------------------------- */
.contact { background: #12305a url(../img/sec_contact_bg.png) no-repeat right top/contain; text-align: left; color: #fff; }

@media screen and (max-width: 768px) { .contact { background: #12305a url(../img/sp/sec_contact_bg.png) no-repeat center/cover; } }

.contact .inner { padding: 32px 0 0; height: 280px; position: relative; }

@media (min-width: 769px) and (max-width: 982px) { .contact .inner { max-width: 100%; margin: 0 0 0 5%; } }

@media screen and (max-width: 768px) { .contact .inner { padding: 7.29167vw 0 5.20833vw 5.20833vw; max-width: 100%; height: auto; z-index: 1; } }

.contact .inner::after { content: ""; display: inline-block; position: absolute; bottom: 0; right: 0; width: 373px; height: 314px; background: url(../img/sec_contact_img.png) no-repeat right bottom/100% auto; }

@media screen and (max-width: 768px) { .contact .inner::after { width: 52.08333vw; height: 71.61458vw; background: url(../img/sp/sec_contact_img.png) no-repeat center/100% 100%; z-index: -2; } }

.contact .contact_ttl { font-size: 3.2rem; font-weight: bold; margin-bottom: 8px; }

@media screen and (max-width: 768px) { .contact .contact_ttl { font-size: 5.20833vw; margin-bottom: 3.125vw; } }

.contact .btn { position: relative; display: inline-block; color: #fff; text-decoration: none; cursor: pointer; background: #ef9b38; -webkit-box-shadow: 0 5px 0 0 #af732d; box-shadow: 0 5px 0 0 #af732d; border-radius: 5px; font-weight: 700; text-align: center; -webkit-transition: 0.2s ease; -o-transition: 0.2s ease; transition: 0.2s ease; overflow: hidden; width: 480px; height: 80px; }

@media screen and (max-width: 768px) { .contact .btn { width: 89.58333vw; height: 16.14583vw; padding: 0; } }

.contact .btn span { display: -webkit-box; /*Android4.3*/ display: -ms-flexbox; /*IE10*/ display: -webkit-flex; /*PC-Safari,iOS8.4*/ display: flex; -ms-flex-align: center; /*IE10*/ -webkit-box-align: center; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-align-items: center; /* Safari6.1以降 */ align-items: center; -ms-flex-pack: center; /*IE10*/ -webkit-box-pack: center; /* Android4.3以下、Safari3.1〜6.0 */ -webkit-justify-content: center; /* Safari6.1以降 */ justify-content: center; color: #ef9b38; position: absolute; left: 12px; top: 12px; width: 80px; height: 56px; border-radius: 4px; background: #fff; font-size: 2.4rem; text-align: center; }

@media screen and (max-width: 768px) { .contact .btn span { left: 2.08333vw; top: 2.86458vw; width: 17.44792vw; height: 10.41667vw; border-radius: 0.78125vw; font-size: 5.20833vw; } }

.contact .btn b { font-size: 2.8rem; line-height: 80px; letter-spacing: 0; padding-left: 112px; }

@media screen and (max-width: 768px) { .contact .btn b { font-size: 5.46875vw; line-height: 16.14583vw; padding-left: 26.04167vw; } }

.contact .btn b::before { content: ""; display: inline-block; position: absolute; top: 50%; left: 100px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 40px; height: 34px; background-repeat: no-repeat; background-size: contain; background-image: url(../img/contact_mail.svg); }

@media screen and (max-width: 768px) { .contact .btn b::before { left: 20.83333vw; width: 7.03125vw; height: 5.98958vw; } }

.contact .btn:hover { -webkit-box-shadow: none; box-shadow: none; -webkit-transform: translateY(5px); -ms-transform: translateY(5px); transform: translateY(5px); color: #fff; opacity: 1; }

.contact .contact_tel { font-size: 14px; margin-top: 16px; }

@media screen and (max-width: 768px) { .contact .contact_tel { font-size: 3.38542vw; margin-top: 3.125vw; } }

.contact .contact_tel_info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin-top: 9px; }

@media screen and (max-width: 768px) { .contact .contact_tel_info { display: block; margin-top: 3.125vw; } }

.contact .contact_tel_info .contact_tel_img { font-size: 0; pointer-events: none; }

@media screen and (max-width: 768px) { .contact .contact_tel_info .contact_tel_img { pointer-events: all; display: block; } }

.contact .contact_tel_info .contact_tel_img img { width: 280px; }

@media screen and (max-width: 768px) { .contact .contact_tel_info .contact_tel_img img { width: 62.5vw; } }

.contact .contact_tel_info_txt { font-size: 1.5rem; margin-left: 9px; line-height: 1; }

@media screen and (max-width: 768px) { .contact .contact_tel_info_txt { font-size: 3.38542vw; margin-left: 0; margin-top: 1.95313vw; line-height: 1.5; } }

/* -------------------------
	form
--------------------------- */
#form { padding: 60px 0 0; }

@media screen and (max-width: 768px) { #form { padding: 10.41667vw 0 0; } }

#form .form_ttl { font-size: 4.0rem; font-weight: bold; color: #273067; margin-bottom: 40px; }

@media screen and (max-width: 768px) { #form .form_ttl { font-size: 5.85938vw; margin-bottom: 7.29167vw; } }

@media screen and (max-width: 768px) { #form .cap { font-size: 3.64583vw; } }

#form .form_wrapper { margin-top: 40px; }

@media screen and (max-width: 768px) { #form .form_wrapper { margin-top: 10.41667vw; } }

/*# sourceMappingURL=style.css.map */