@charset "UTF-8";
/* Welcome to Compass. In this file you should write your main styles. (or centralize your imports) Import this file using the following HTML or equivalent: <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
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: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

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

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

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

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; }
.slick-track:before, .slick-track:after { content: ""; display: table; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; display: none; }
[dir="rtl"] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

/* Slider */
.slick-loading .slick-list { background: #fff slick-image-url("../images/ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
/* Dots */
.slide { padding: 0 3em; position: relative; z-index: 9; }
.slide .slick-slide { margin: 1em; }
.slide .slick-slide a { display: inline-block; width: 100%; height: 100%; border: 1px solid #dcdcdc; background-color: #fff; box-shadow: 3px 3px 0 #e5e5e5; padding: 1em; text-decoration: none; font-size: 1.6rem; color: #000; transition: -webkit-transform 0.15s linear; transition: transform 0.15s linear; transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
.slide .slick-slide a img { float: left; margin-right: 1em; }
.slide .slick-slide a:hover { -webkit-transform: scale(1.05); transform: scale(1.05); border: 1px solid #adadad; box-shadow: 0 8px 5px #ededed; }
.slide .slick-slide a dl dt { font-size: 1.8rem; margin-bottom: 0.1em; }
.slide .slick-slide a dl dt .date { display: block; font-size: 1.6rem; margin-bottom: 0.3em; }
.slide .slick-slide a dl dd { line-height: 1.6875; }
.slide .slick-list { z-index: 9; }
.slide .slick-prev, .slide .slick-next { position: absolute; top: 0; bottom: 0; margin: auto; display: block; width: 2.8em; height: 4.6em; padding: 0; cursor: pointer; color: transparent; border: none; outline: none; background: transparent; z-index: 1; }
.slide .slick-prev:before, .slide .slick-next:before { content: ""; display: inline-block; width: 100%; height: 100%; background-image: url(../images/home/arrow.png); background-position: center; background-repeat: no-repeat; background-size: contain; }
.slide .slick-prev:hover, .slide .slick-next:hover { opacity: 0.8; }
.slide .slick-prev { left: 1em; }
.slide .slick-prev:before { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
.slide .slick-next { right: 1em; }

@-webkit-keyframes rotatecw { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }

@keyframes rotatecw { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@-webkit-keyframes rotateccw { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  to { -webkit-transform: rotate(-360deg); transform: rotate(-360deg); } }
@keyframes rotateccw { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  to { -webkit-transform: rotate(-360deg); transform: rotate(-360deg); } }
@-webkit-keyframes arrow { from { left: 0; }
  to { left: 0.5em; } }
@keyframes arrow { from { left: 0; }
  to { left: 0.5em; } }
@-webkit-keyframes arrow-back { from { right: 0; }
  to { right: 0.5em; } }
@keyframes arrow-back { from { right: 0; }
  to { right: 0.5em; } }
@-webkit-keyframes arrow-up { from { top: 0em; }
  to { top: 0.25em; } }
@keyframes arrow-up { from { top: 0em; }
  to { top: 0.25em; } }
@-webkit-keyframes bganime { 0% { background-position: 0% 10%; }
  50% { background-position: 100% 91%; }
  100% { background-position: 0% 10%; } }
@keyframes bganime { 0% { background-position: 0% 10%; }
  50% { background-position: 100% 91%; }
  100% { background-position: 0% 10%; } }
* { box-sizing: border-box; }

html { font-size: 62.5%; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic'; }

body { background-color: #f8f8f8; font-size: 16px; line-height: 1.4; position: relative; }

header .container { display: -webkit-box; display: -ms-flexbox; display: flex; }
header .logo { width: 40%; }
header .logo p { margin-bottom: 0; line-height: 1; }
header .logo a { display: inline-block; margin: 1.4em 0; }
header nav { width: 60%; text-align: right; }
header nav ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
header nav ul li { display: inline-block; }
header nav ul li a { position: relative; font-size: 2rem; text-decoration: none; display: inline-block; padding: 1.42em 1.4em; color: #000; }
header nav ul li a span { transition: all 0.3s; tranform: scale(1, 1); letter-spacing: 0.05em; }
header nav ul li a:after { content: ''; position: absolute; transition: all 0.3s; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: rgba(0, 102, 204, 0.1); -webkit-transform: scale(1, 0.1); transform: scale(1, 0.1); }
header nav ul li a:hover::after { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); }
header nav ul li a:hover { color: #0066cc; }
header nav ul li:last-child a { font-size: 1.2rem; background-color: #e5e5e5; padding: 1.22em 1.8em; }
header nav ul li:last-child a:before { content: url(../images/home/mail.png); display: block; text-align: center; margin-bottom: 0.4em; }

.mynavi {padding: 0.5em 0em 0em 1.0em;
        }

footer { background-color: #004488; }
footer .info-box { color: #fff; font-size: 1.4rem; display: -webkit-box; display: -ms-flexbox; display: flex; padding: 4em 2em 2em; line-height: 1.8; }
footer .info-box .information { width: 34%; }
footer .info-box nav { display: -webkit-box; display: -ms-flexbox; display: flex; width: 66%; }
footer .info-box nav > dl dt, footer .info-box nav > dl li, footer .info-box nav > ul dt, footer .info-box nav > ul li { font-weight: bold; }
footer .info-box nav > dl dt a, footer .info-box nav > dl li a, footer .info-box nav > ul dt a, footer .info-box nav > ul li a { color: #fff; text-decoration: none; }
footer .info-box nav > dl dt a:hover, footer .info-box nav > dl li a:hover, footer .info-box nav > ul dt a:hover, footer .info-box nav > ul li a:hover { border-bottom: 1px solid #fff; }
footer .info-box nav > dl dd ul, footer .info-box nav > ul dd ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
footer .info-box nav > dl dd ul li, footer .info-box nav > ul dd ul li { display: inline-block; min-width: 50%; }
footer .info-box nav > dl dd ul li a, footer .info-box nav > ul dd ul li a { position: relative; margin-left: 1em; }
footer .info-box nav > dl dd ul li a:before, footer .info-box nav > ul dd ul li a:before { content: "・"; position: absolute; left: -1em; }
footer .info-box nav > dl dd ul li a:hover, footer .info-box nav > ul dd ul li a:hover { border-bottom: 1px solid #fff; }
footer .info-box nav > dl dd ul li a:hover:before, footer .info-box nav > ul dd ul li a:hover:before { border-bottom: none; }
footer .info-box nav > dl dd + dt, footer .info-box nav > ul dd + dt { margin-top: 1em; }
footer .info-box nav > dl { width: 43%; padding-right: 2em; }
footer .info-box nav > ul { width: 14%; }
footer .site-poricy { background-color: #003365; text-align: center; padding: 1.8em 0; }
footer .site-poricy li { display: inline-block; margin-left: 4em; }
footer .site-poricy li:first-child { margin-left: 0; }
footer .site-poricy li a { color: #fff; text-decoration: none; font-size: 1.4rem; }
footer .site-poricy li a:hover { text-decoration: underline; }
@media (max-width: 768px) {
  footer {
    background-color: white;
  }
  footer .info-box .information {
    display: none;
  }
  footer .info-box nav {
    display: none;
  }
  footer .site-poricy {
    display: none;
  }
}
footer .copyright { background-color: #fff; text-align: center; font-size: 1.2rem; padding: 2.4em 0; margin-bottom: 0; }

img { display: block; margin: 0 auto; max-width: 100%; height: auto; }
.container { width: 980px; margin: 0 auto; }
@media (max-width: 768px) {
  .container {
    width: 100%; 
  }
  .main-images .container img {
    width: 80%; /* 画像の幅を元のサイズの50%に設定 */
    height: auto; /* 高さを自動調整してアスペクト比を維持 */
  }
}

.main-images { background-image: url(../images/home/main-images_back.jpg); background-position: center; background-repeat: repeat-x; }
.main-images .title { font-size: 3.6rem; color: #0066cc; position: relative; margin: 0 0 1em; padding: 2em 0 1em; }
.main-images .title:after { content: ""; display: inline-block; position: absolute; bottom: 0; left: 0; width: 8.0rem; height: 1px; border-bottom: 1px solid #0066cc; }
.main-images .text { font-size: 1.8rem; line-height: 1.66; }

.sub-images { background-image: url(../images/common/bganime.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; height: 6em; position: relative; }
.sub-images .sub-bg { width: 100%; height: 6em; background: linear-gradient(45deg, rgba(19, 63, 205, 0.7), rgba(21, 135, 111, 0.7), rgba(19, 63, 205, 0.7)); background-size: 200% 200%; -webkit-animation: bganime 18s ease infinite; animation: bganime 18s ease infinite; position: absolute; }
.sub-images .title { font-size: 2.4rem; color: #fff; position: relative; padding: 1.3em 0 1.3em; letter-spacing: 0.2em; }
.sub-images .title small { font-size: 67%; margin-left: 1em; }
.sub-images .title small:before, .sub-images .title small:after { content: "-"; margin: 0 0.5em; }
.sub-images .text { font-size: 1.8rem; line-height: 1.66; }

section { margin-top: 7rem; }
section:first-child { margin-top: 0; }
section.slider { margin-top: 2em; }

article { display: inline-block; width: 73rem; vertical-align: top; margin-bottom: 4em; }
@media screen and (max-width: 768px) {
  article {
    width: 100%;
    margin: auto;
  }
}

aside { display: inline-block; width: 24.5rem; vertical-align: top; margin-bottom: 4em; }
aside .sidebar { width: 22rem; background-color: #eeeeee; padding: 1.5rem; float: right; }
aside .sidebar .title { font-size: 1.6rem; border-bottom: 1px solid #7d7d7d; padding-bottom: 0.5em; margin-bottom: 0.5em; }
aside .sidebar .title a { width: 100%; display: inline-block; padding: 0.5em; text-decoration: none; color: #000; }
aside .sidebar .title a:hover { background-color: #c9d5e1; }
aside .sidebar .title small { font-size: 1.2rem; margin-left: 0.5em; }
aside .sidebar .title small:before, aside .sidebar .title small:after { content: "-"; margin: 0 0.5em; }
aside .sidebar ul li { position: relative; padding-left: 1em; }
aside .sidebar ul li.active { background-color: #c9d5e1; }
aside .sidebar ul li:before { content: "・"; display: inline-block; width: 1em; height: 1em; position: absolute; left: 0; top: 0; bottom: 0; margin: auto; line-height: 1; }
aside .sidebar ul li:hover { background-color: #d6dee6; }
aside .sidebar ul li a { display: inline-block; width: 100%; font-size: 1.4rem; padding: 1em 1em 1em 0; color: #000; text-decoration: none; }
aside .bnr-area { display: inline-block; width: 22rem; float: right; margin-top: 2em; }
aside .bnr-area div a:hover { opacity: 0.8; }
aside .bnr-area div + div { margin-top: 1em; }
@media (max-width: 768px) {
  aside .sidebar  {
    display: none;
  }
  aside .bnr-area  {
    display: none;
  }
}

[class^=box-] { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; margin-top: 4rem; text-align: center; }
@media screen and (max-width: 768px) {
  [class^=box-] {
    display: block;
  }
}
[class^=box-] .box { display: inline-block; }
[class^=box-] .box img { border: 1px solid #aeaeae; }
[class^=box-] .box a { text-decoration: none; color: #000; }
[class^=box-] .box a.btn { color: #0066cc; }

.box-1 .box { width: 100%; }
.box-2 .box { width: 50%; }
.box-2.bi-color { height: 17.5em; }
.box-2.bi-color .box { background-image: url(../images/home/img-chihou.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; }
.box-2.bi-color .box .full-btn { background-color: rgba(68, 138, 202, 0.75); height: 17.5em; }
.box-2.bi-color .box .full-btn span { width: 330px; height: 60px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; border-radius: 0.2em; color: #fff; font-size: 3rem; padding: 0.3em; text-align: center; line-height: 1.2; }
.box-2.bi-color .box .full-btn span:before, .box-2.bi-color .box .full-btn span:after { content: ''; position: absolute; width: 100%; height: 100%; bottom: 0; left: 0; z-index: 1; transition: all 0.3s; border: 3px solid rgba(255, 255, 255, 0.5); }
.box-2.bi-color .box .full-btn:hover { background-color: rgba(68, 138, 202, 0.9); }
.box-2.bi-color .box .full-btn:hover span:after { -webkit-animation-name: rotatecw; animation-name: rotatecw; -webkit-animation-duration: 2s; animation-duration: 2s; }
.box-2.bi-color .box .full-btn:hover span:before { -webkit-animation-name: rotateccw; animation-name: rotateccw; -webkit-animation-duration: 3s; animation-duration: 3s; }
.box-2.bi-color .box .full-btn:hover span:after, .box-2.bi-color .box .full-btn:hover span:before { left: 135px; width: 60px; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; }
.box-2.bi-color .box + .box { background-image: url(../images/home/img-minkan.jpg); }
.box-2.bi-color .box + .box .full-btn { background-color: rgba(19, 174, 169, 0.75); }
.box-2.bi-color .box + .box .full-btn:hover { background-color: rgba(19, 174, 169, 0.9); }
@media (max-width: 768px) {
  .box-2.bi-color {
    display: flex;
    flex-direction: column;
  }
  .box-2.bi-color .box {
    width: 100%; /* 各ボックスがコンテナの幅いっぱいに広がるように設定 */
  }  
}
.box-2.recruit { height: 17.8125em; background: #fff; }
.box-2.recruit .box { background-image: url(../images/home/back-img_recruit.png); background-position: center right; background-repeat: no-repeat; background-size: auto; }
.box-2.recruit .box .btn-area { margin-top: 1.8em; text-align: right; }
.box-2.recruit .box .btn-area li { display: inline-block; margin-right: 1.8em; }
.box-2.recruit .box + .box { background-image: url(../images/home/icon-back-img_temporary-staff.png); background-position: bottom left; background-size: auto; }
.box-2.recruit .box + .box .btn-area { margin-left: 16.1em; margin-top: 1.8em; text-align: left; }
@media (max-width: 768px) {
  .box-2.recruit {
    height: 35em;  
    display: flex;
    flex-direction: column;
  }
  .box-2.recruit .box {
    background-position: initial;
    width: 100%; /* 各ボックスがコンテナの幅いっぱいに広がるように設定 */
  }
  .box-2.recruit .box + .box {
    background-position: initial;
    width: 100%; /* 各ボックスがコンテナの幅いっぱいに広がるように設定 */
  }
  .box-2.recruit .box .btn-area {
    text-align: center;
    height: 17.8125em
  }
  .box-2.recruit .box + .box .btn-area {
    margin-left: 0em;
    text-align: center;
    height: 17.8125em
  }
}
.box-3 .box { width: 33.33%; }
@media (max-width: 768px) {
  .box-3 {
    margin-top: 32rem;
    display: flex;
    flex-direction: column;
  }
  .box-3 .box {
    width: 100%; /* 必要に応じて */
  }  
}
.box-3 .box img { border: 1px solid #aeaeae; }
.box-3.card .box { margin-left: 1.8em; }
@media (max-width: 768px) {
  .box-3.card .box {
     margin-left: 0.0em; 
  }
}
.box-3.card .box:first-child { margin-left: 0; }
.box-3.card .box .title-3 { background-color: #e5e5e5; padding: 0.6em 1em; position: relative; }
.box-3.card .box .title-3 span { position: relative; transition: all 0.3s; tranform: scale(1, 1); z-index: 9; }
.box-3.card .box .title-3:after { content: ''; position: absolute; transition: all 0.3s; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: #0066cc; -webkit-transform: scale(1, 0.1); transform: scale(1, 0.1); }
.box-3.card .box img { float: left; margin: 1em; }
.box-3.card .box p { font-size: 1.4rem; margin: 1em; }
.box-3.card .box .full-btn { border: 1px solid #aeaeae; background-color: #fff; transition: -webkit-transform 0.3s linear; transition: transform 0.3s linear; transition: transform 0.3s linear, -webkit-transform 0.3s linear; }
.box-3.card .box .full-btn:hover { box-shadow: 1px 6px 8px #ccc; }
.box-3.card .box .full-btn:hover .title-3 span { color: #fff; }
.box-3.card .box .full-btn:hover .title-3:after { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); }

.box-4 .box { width: 24%; text-align: center; }
@media (max-width: 768px) {
  .box-4 .box {
    width: 40%; 
  }
}
.box-4 .box img { border: none; }
.company .box-4 .box h3, #company .box-4 .box h3, #recruit .box-4 .box h3 { padding-top: 0.8em; }
.company .box-4 .box a span, #company .box-4 .box a span, #recruit .box-4 .box a span { display: inline-block; width: 14.7rem; height: 14.7rem; overflow: hidden; border: 1px solid #aeaeae; }
.company .box-4 .box a span img, #company .box-4 .box a span img, #recruit .box-4 .box a span img { -webkit-transform: scale(1, 1); transform: scale(1, 1); transition: -webkit-transform 0.15s linear; transition: transform 0.15s linear; transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
.company .box-4 .box a:hover span, #company .box-4 .box a:hover span, #recruit .box-4 .box a:hover span { border-color: #0066cc; box-shadow: 1px 6px 8px #ccc; }
.company .box-4 .box a:hover span img, #company .box-4 .box a:hover span img, #recruit .box-4 .box a:hover span img { -webkit-transform: scale(1.2, 1.2); transform: scale(1.2, 1.2); }
.company .box-4 .box a:hover h3, #company .box-4 .box a:hover h3, #recruit .box-4 .box a:hover h3 { color: #0066cc; }

.box-5 .box { width: 40.00%; }
.box-5 .box img { border: 1px solid #aeaeae; }
.box-5.card .box { margin-left: 1.8em; margin-top: -4.0em; }
.box-5.card .box:first-child { margin-left: 0; }
.box-5.card .box .title-3 { background-color: #e5e5e5; padding: 0.6em 1em; position: relative; top: -2.0em; }
.box-5.card .box .title-3 span { position: relative; transition: all 0.3s; tranform: scale(1, 1); z-index: 9; }
.box-5.card .box .title-3:after { content: ''; position: absolute; transition: all 0.3s; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: #0066cc; -webkit-transform: scale(1, 0.1); transform: scale(1, 0.1); }
.box-5.card .box img { float: left; margin: 1em; margin-top: -2.3em; }
.box-5.card .box p { font-size: 1.4rem; margin: 1em; position: relative; top: -2.3em; }
@media (max-width: 768px) {
  .box-5.card .box p {
    font-size: 1.4rem; /* フォントサイズ */
    margin: 2em; /* 上下左右の余白 */
    position: relative; /* 相対位置 */
    top: 0.5em; /* 上に2.3em移動 */
  }
}
.box-5.card .box .full-btn { border: 1px solid #aeaeae; background-color: #fff; transition: -webkit-transform 0.3s linear; transition: transform 0.3s linear; transition: transform 0.3s linear, -webkit-transform 0.3s linear; }
.box-5.card .box .full-btn:hover { box-shadow: 1px 6px 8px #ccc; }
.box-5.card .box .full-btn:hover .title-3 span { color: #fff; }
.box-5.card .box .full-btn:hover .title-3:after { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); }

.box-6 .box { width: 50.00%; }
@media (max-width: 768px) {
  .box-6 .box {
    width: 33.33%;
  }
}
.box-6 .box img { border: 1px solid #aeaeae; }
.box-6.card .box { margin-left: 1.8em; margin-top: -4.0em; }
.box-6.card .box:first-child { margin-left: 0; }
.box-6.card .box .title-3 { background-color: #e5e5e5; padding: 0.6em 1em; position: relative; top: -2.0em; }
.box-6.card .box .title-3 span { position: relative; transition: all 0.3s; tranform: scale(1, 1); z-index: 9; }
.box-6.card .box .title-3:after { content: ''; position: absolute; transition: all 0.3s; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: #0066cc; -webkit-transform: scale(1, 0.1); transform: scale(1, 0.1); }
.box-6.card .box img { float: left; margin: 1em; margin-top: -2.3em; }
.box-6.card .box p { font-size: 1.4rem; margin: 1em; position: relative; top: -2.3em; }
@media (max-width: 768px) {
  .box-6.card .box p {
    font-size: 1.4rem; /* フォントサイズ */
    margin: 2em; /* 上下左右の余白 */
    position: relative; /* 相対位置 */
    top: 0.5em; /* 上に2.3em移動 */
  }
}
.box-6.card .box .full-btn { border: 1px solid #aeaeae; background-color: #fff; transition: -webkit-transform 0.3s linear; transition: transform 0.3s linear; transition: transform 0.3s linear, -webkit-transform 0.3s linear; }
.box-6.card .box .full-btn:hover { box-shadow: 1px 6px 8px #ccc; }
.box-6.card .box .full-btn:hover .title-3 span { color: #fff; }
.box-6.card .box .full-btn:hover .title-3:after { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); }

.box-1-2 { margin-bottom: 2em; }
.box-1-2 .box { text-align: left; width: 30%; vertical-align: top; margin-right: 5%; float: left; }
.box-1-2 .box:nth-child(2) { width: 65%; margin-right: 0; }

.right { float: right; }

.left { float: left; }

.center { text-align: center; }

.text-right { text-align: right; }

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

.breadcrumb { background: #eeeeee; font-size: 1.0rem; }
.breadcrumb ul { padding: 2em 0; }
.breadcrumb ul li { display: inline-block; font-size: 12px; }
.breadcrumb ul li:before { content: "〉"; margin: 0 0.5em 0 1em; }
.breadcrumb ul li:first-child:before { content: none; }
.breadcrumb + section { margin-top: 0; }

.title-2 { color: #0066cc; font-size: 3.6rem; position: relative; text-align: center; margin-bottom: 1.8em; letter-spacing: 0.15em; }
.title-2:after { content: ""; border-bottom: 1px solid #004488; position: absolute; width: 8rem; height: 100%; top: 0; left: 0; margin: auto; right: 0; padding-bottom: 2.5rem; }
article .title-2 { text-align: left; }
article .title-2:after { content: ""; margin: 0; }

.title-3 { font-size: 2.4rem; color: #000; margin-bottom: 0.5em; }
#home .title-3 { font-size: 1.8rem; color: #000; margin-bottom: 0; }

.title-4 { font-size: 2.0rem; color: #000; margin-bottom: 0.5em; margin-top: 2em; }
#home .title-4 { font-size: 1.8rem; color: #000; margin-bottom: 0; }

.title-5 { font-size: 1.6rem; color: #000; margin-bottom: 0.5em; font-weight: bold; }

.text-center { text-align: center; }
@media (max-width: 768px) {
  .text-center {
    font-size: 0.9rem;
  }
}

p { margin-bottom: 1em; line-height: 1.875; }
p + .title-2, p + .title-3 { margin-top: 2em; }
p.lead { font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; font-size: 2.4rem; color: #000; margin-bottom: 0.5em; }

.name { font-size: 2.4rem; text-align: right; }
.name small { font-size: 1.6rem; }

.caution { font-size: 1.2rem; }

.btn { display: inline-block; width: 8.33em; border: 3px solid #0066cc; border-radius: 0.2em; color: #0066cc; font-size: 2.4rem; padding: 0.3em 0.3em 0.3em 1.4em; text-align: left; line-height: 1.2; text-decoration: none; position: relative; }
.btn span { position: relative; transition: all 0.3s; tranform: scale(1, 1); z-index: 9; }
.btn span:after { content: ""; position: relative; display: inline-block; width: 1em; height: 1em; background-image: url(../images/home/icon-arrow2.png); background-position: bottom; background-repeat: no-repeat; transition: all 0.5s linear; margin-left: 0.5em; overflow-y: hidden; }
.btn:before { content: ''; position: absolute; transition: all 0.3s; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: rgba(0, 102, 204, 0.8); -webkit-transform: scale(1, 0.1); transform: scale(1, 0.1); }
.btn:hover span { color: #fff; }
.btn:hover span:after { background-image: url(../images/home/icon-arrow2_o.png); -webkit-animation-name: arrow; animation-name: arrow; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-direction: alternate; }
.btn:hover:before { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); }

.btn-s { display: inline-block; width: 9em; border: 3px solid #0066cc; border-radius: 0.2em; color: #0066cc; font-size: 1.6rem; padding: 0.3em; text-align: center; line-height: 1.2; text-decoration: none; position: relative; }
.btn-s span { position: relative; transition: all 0.3s; tranform: scale(1, 1); vertical-align: text-top; z-index: 9; }
.btn-s span:after { content: ""; position: relative; display: inline-block; width: 1em; height: 1em; background-image: url(../images/home/icon-arrow2.png); background-position: bottom; background-repeat: no-repeat; background-size: contain; transition: all 0.5s linear; margin-left: 0.5em; overflow-y: hidden; top: 0.1em; }
.btn-s:before { content: ''; position: absolute; transition: all 0.3s; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: rgba(0, 102, 204, 0.8); -webkit-transform: scale(1, 0.1); transform: scale(1, 0.1); }
.btn-s:hover span { color: #fff; }
.btn-s:hover span:after { background-image: url(../images/home/icon-arrow2_o.png); -webkit-animation-name: arrow; animation-name: arrow; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-direction: alternate; }
.btn-s:hover:before { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); }
.btn-s:hover.back span:before { background-image: url(../images/home/icon-arrow2_o.png); -webkit-animation-name: arrow-back; animation-name: arrow-back; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-direction: alternate; }
.btn-s:hover.back span:after { content: none; }
.btn-s:hover.up span:after { background-image: url(../images/home/icon-arrow2_o.png); -webkit-animation-name: arrow-up; animation-name: arrow-up; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-direction: alternate; }
.btn-s.back span:before { content: ""; position: relative; display: inline-block; width: 1em; height: 1em; background-image: url(../images/home/icon-arrow2.png); background-position: top; -webkit-transform: rotate(180deg); transform: rotate(180deg); background-repeat: no-repeat; background-size: contain; transition: all 0.5s linear; margin-right: 0.5em; overflow-y: hidden; top: 0.1em; }
.btn-s.back span:after { content: none; }
.btn-s.up span:after { background-image: url(../images/home/icon-arrow2.png); background-position: top; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }

.btn-ss { display: inline-block; width: 9em; border: 3px solid #0066cc; border-radius: 0.2em; color: #0066cc; font-size: 1.2rem; padding: 0.3em; text-align: left; line-height: 1.2; text-decoration: none; position: relative; }
.btn-ss span { position: relative; transition: all 0.3s; tranform: scale(1, 1); vertical-align: text-top; z-index: 9; }
.btn-ss span:after { content: ""; position: relative; display: inline-block; width: 1em; height: 1em; background-image: url(../images/home/icon-arrow2.png); background-position: bottom; background-repeat: no-repeat; background-size: contain; transition: all 0.5s linear; margin-left: 0.5em; overflow-y: hidden; top: 0.1em; }
.btn-ss:before { content: ''; position: absolute; transition: all 0.3s; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: rgba(0, 102, 204, 0.8); -webkit-transform: scale(1, 0.1); transform: scale(1, 0.1); }
.btn-ss:hover span { color: #fff; }
.btn-ss:hover span:after { background-image: url(../images/home/icon-arrow2_o.png); -webkit-animation-name: arrow; animation-name: arrow; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-direction: alternate; }
.btn-ss:hover:before { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); }

.full-btn { display: inline-block; position: relative; text-decoration: none; width: 100%; height: 100%; }

.btn-area { margin-top: 3em; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#home .btn-area { display: block; }

#pageTop { position: fixed; bottom: 20px; right: 20px; z-index: 999; display: inline-block; font-size: 1.2rem; color: #0066cc; border-radius: 0.3em; border: 3px solid #0066cc; width: 7em; height: 4em; padding: 0.4em 2em 0.6em 0.6em; font-weight: bold; text-decoration: none; text-align: center; cursor: pointer; background: rgba(255, 255, 255, 0.8); }
#pageTop span { position: relative; }
#pageTop span:after { content: ""; position: absolute; display: inline-block; width: 2em; height: 1.6em; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); right: -2.2em; top: 0; bottom: 0; margin: auto; background-image: url(../images/home/icon-arrow2.png); background-position: bottom; background-repeat: no-repeat; }
#pageTop:hover { background: rgba(0, 102, 204, 0.8); }
#pageTop:hover span { color: #fff; }
#pageTop:hover span:after { background-image: url(../images/home/icon-arrow2_o.png); -webkit-animation-name: none; animation-name: none; }
#pageTop:focus, #pageTop:active { background: rgba(255, 255, 0, 0.8); }

/* タブメニュー */
#tab-menu { list-style: none; }
#tab-menu li { display: inline-block; background: #eee; }
#tab-menu li.active { background: #0066cc; padding: 0.5em 2em; }
#tab-menu li.active span { color: #fff; }
#tab-menu li a { display: inline-block; padding: 0.5em 2em; text-decoration: none; color: #000; cursor: pointer; }

/* タブの中身 */
#tab-box { padding: 2em; border: 1px solid #0066cc; }
#tab-box div { display: none; }
#tab-box div.active { display: block; }

table { margin-bottom: 2em; width: 100%; }
table tr th, table tr td { border: 1px solid #999; padding: 0.5em; background-color: #fff; }
table tr th { background-color: #dee9f4; width: 10em; }
