@charset "UTF-8";
/* -------------------------------
	mainvisual
-------------------------------- */
#mainvisual { padding: 6.6667vw 0 8.3333vw; background-color: #fff; position: relative; z-index: 0; }
@media print, screen and (min-width: 1200px) { #mainvisual { padding: 80px 0 100px; } }

.scrolldown { position: absolute; bottom: 35%; left: 30px; z-index: 10; display: none; }
@media print, screen and (min-width: 1200px) { .scrolldown { display: block; } }
.scrolldown span { position: absolute; left: -16px; bottom: 110px; color: #13293c; font-size: 18px; font-family: 'Bebas Neue', sans-serif; font-weight: 400; letter-spacing: 1; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.scrolldown:before { content: ""; position: absolute; bottom: 0; left: 0; width: 2px; height: 100px; background: #13293c; }
.scrolldown:after { content: ""; position: absolute; bottom: 0; left: -4px; width: 10px; height: 10px; border-radius: 50%; background: rgba(0, 91, 172, 0.8); animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite; }

@keyframes circlemove { 0% { bottom: 100px; }
  100% { bottom: -5px; } }
@keyframes cirlemovehide { 0% { opacity: 0; }
  50% { opacity: 1; }
  80% { opacity: 0.9; }
  100% { opacity: 0; } }
 /* -------------------------------
	home
-------------------------------- */
.home_point { padding: 13.020833vw 0; background: url("../images/home/home_point_bg.jpg") no-repeat center center/cover; }
@media print, screen and (min-width: 768px) { .home_point { padding: 100px 0; } }
.home_point .title-style-1 { max-width: none; padding: 1.5em; margin: 0; border-radius: 0.66667em; background-color: rgba(0, 91, 172, 0.9); position: relative; z-index: 10; }
.home_point .content { font-size: 30px; padding: 2em; margin-top: 16px; border-radius: 0.66667em; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; background-color: #fff; }
@media screen and (max-width: 1199px) { .home_point .content { font-size: calc(18px + 12 * (100vw - 320px) / 880); } }
@media print, screen and (min-width: 992px) { .home_point .content { margin-top: 115px; margin-left: -16.43835616%; } }
.home_point .content .in { width: 100%; }
.home_point .content dl { line-height: normal; margin: 0 auto; max-width: 567px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.home_point .content dl + dl { margin-top: 0.66667em; }
.home_point .content dl dt { -webkit-flex: 0 0 3em; flex: 0 0 3em; max-width: 3em; }
.home_point .content dl dd { -webkit-flex: 1; flex: 1; max-width: 100%; padding-left: 1em; }
.home_point .content dl dd .en { color: #005bac; }
.home_point .content dl dd .txt { font-weight: 700; line-height: 1.5; border-bottom: solid 1px #ccc; }
.home_point .btns { text-align: center; }
@media print, screen and (min-width: 992px) { .home_point .btns { margin-left: -16.43835616%; } }

/**/
.home_sec_1 { background-color: #fff; position: relative; z-index: 0; }
@media print, screen and (min-width: 992px) { .home_sec_1 { min-height: calc(500px + 140px); }
  .home_sec_1:before { content: ""; position: absolute; bottom: 0; width: 59%; height: 200px; background-color: #f5f5f5; z-index: -1; } }
@media print, screen and (min-width: 992px) { .home_sec_1 .bg-img { position: absolute; top: 0; width: 50%; height: 500px; } }
.home_sec_1 .img-txt { color: #ddd; font-size: 16px; line-height: 1.66667; white-space: nowrap; position: absolute; top: 0; right: 0; padding: 1em; z-index: -1; display: none; }
@media print, screen and (min-width: 768px) { .home_sec_1 .img-txt { display: block; } }
@media print, screen and (min-width: 992px) { .home_sec_1 .img-txt { font-size: 18px; left: auto; right: auto; top: auto; bottom: 0; width: 41%; height: 140px; } }
@media print, screen and (min-width: 992px) { .home_sec_1.odd:before { left: 0; }
  .home_sec_1.odd .bg-img { right: 0; }
  .home_sec_1.odd .img-txt { right: 0; } }
@media print, screen and (min-width: 992px) { .home_sec_1.even:before { right: 0; }
  .home_sec_1.even .bg-img { left: 0; }
  .home_sec_1.even .img-txt { left: 0; text-align: right; }
  .home_sec_1.even .row { -webkit-justify-content: flex-end; justify-content: flex-end; } }

/* -------------------------------
	事業内容
-------------------------------- */
@media print, screen and (min-width: 992px) { .guard_point_wrap { position: relative; z-index: 0; }
  .guard_point_wrap:before { content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 40%; -ms-transform: translate3d(0, -50%, 0); -webkit-transform: translate3d(0, -50%, 0); transform: translate3d(0, -50%, 0); background-color: #E9F5FF; z-index: -1; } }

.guard_point { max-width: 350px; margin-left: auto; margin-right: auto; }
.guard_point .point { color: #005bac; font-size: 40px; line-height: 0.8; margin-bottom: -.4em; margin-left: .5em; text-shadow: 0 0 3px rgba(0, 0, 0, 0.15); }
@media print, screen and (min-width: 1200px) { .guard_point .point { font-size: 50px; } }
.guard_point .photo { overflow: hidden; position: relative; }
.guard_point .photo .point { position: absolute; left: 0.5em; top: -.4em; margin: 0; color: #fff; z-index: 10; }
.guard_point h4 { color: #005bac; font-size: 20px; text-align: center; margin: 1em 0; }
.guard_point h4:before, .guard_point h4:after { content: "ー"; margin: 0 0.5em; }
.guard_point .columns { font-size: 0.9375rem; padding: 0 1em; }
.guard_point .columns *:last-child { margin-bottom: 0; }

/* -------------------------------
	会社概要/採用情報
-------------------------------- */
.company_head { position: relative; z-index: 0; }
@media print, screen and (min-width: 768px) { .company_head { height: 250px; } }
@media print, screen and (min-width: 1200px) { .company_head { height: 300px; } }
.company_head .company_banner { text-align: center; padding: 5%; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background: url("../images/company/company_1.jpg") no-repeat center center/cover; }
.company_head .company_banner h4 { font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; letter-spacing: 0.1em; text-align: center; padding: 1em; margin: 0; background-color: rgba(255, 255, 255, 0.9); }
.company_head .company_banner h4 > .en { font-size: 1.2em; }
.company_head .company_banner h4 strong { color: #df4242; font-size: 1.5em; display: block; }
@media print, screen and (min-width: 768px) { .company_head .company_banner { height: 100%; margin-right: calc((100% - 100vw) / 2); position: absolute; right: 0; top: 0; width: calc(66.66667% + ((100vw - 100%) / 2)); } }

/* -------------------------------
	お問い合わせ
-------------------------------- */
.tel_content h3 { margin: 0; }
.tel_content .telphone { font-size: 60px; margin: 0.5em 0 0; }
@media screen and (max-width: 1199px) { .tel_content .telphone { font-size: calc(40px + 20 * (100vw - 320px) / 880); } }

/* フォーム用　table */
.table-contact { line-height: 1.6666; width: 100%; border-collapse: collapse; border-top: 1px solid #ccc; margin-bottom: 20px; }
.table-contact > tbody > tr { border-bottom: 1px solid #ccc; }
.table-contact > tbody > tr > th, .table-contact > tbody > tr > td { padding: 1em 0; }
.table-contact > tbody > tr > th { font-weight: bold; text-align: left; width: 16em; padding-left: 1em; }
.table-contact > tbody > tr > th.hisu { background-image: url("../images/common/hisu.svg"); background-repeat: no-repeat; background-position: right 1em center; }
.table-contact > tbody > tr > td { padding-left: 2em; }
.table-contact > tbody > tr > td .sm { width: auto !important; display: inline; }
.table-contact > tbody > tr > td .md { max-width: 360px !important; }
.table-contact > tbody > tr > td .rei { color: #999; font-size: 12px; line-height: normal; display: block; margin: 5px 0 0; }
@media only screen and (max-width: 767px) { .table-contact > tbody > tr { width: 100%; display: block; }
  .table-contact > tbody > tr > th, .table-contact > tbody > tr > td { width: 100% !important; display: block; padding: 1em; position: relative; }
  .table-contact > tbody > tr > th + td { padding-top: 0; } }

.img-hisu { margin: -.2em .5em 0 0; }

/*  */
.agree { text-align: center; margin-top: 20px; }

.buttons { text-align: center; margin-top: 20px; }
.buttons .btn { margin: 5px 10px; min-width: 260px; cursor: pointer; }

/* プライバシーポリシー */
#policy { margin-top: 30px; }
#policy .contents { padding: 1.5% 3.4448%; border: solid 1px #ccc; max-height: 300px; overflow: auto; }
#policy .contents h5 { font-size: 1rem; font-weight: bold; margin: 2rem 0 0; }
#policy .contents p, #policy .contents ol { font-size: 0.9375rem; margin: 1rem 0; }
#policy .contents ol { padding-left: 0; list-style: none; counter-reset: number; }
#policy .contents ol li { padding-left: 2em; margin-bottom: 5px; position: relative; }
#policy .contents ol li:before { position: absolute; top: 0; left: 0; counter-increment: number; content: counter(number) " )"; }

/*2024/3/28追加*/
.home_sec_2 {
  min-height: auto;
}
.home_sec_2::before {
  content: none;
}

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