@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/** 1. Change the default font family in all browsers (opinionated). 2. Prevent adjustments of font size after orientation changes in IE and iOS. */
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/** Remove the margin in all browsers (opinionated). */
body { margin: 0; }

/* HTML5 display definitions ========================================================================== */
/** Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. 2. Add the correct display in IE. */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { /* 1 */ display: block; }

/** Add the correct display in IE 9-. */
audio, canvas, progress, video { display: inline-block; }

/** Add the correct display in iOS 4-7. */
audio:not([controls]) { display: none; height: 0; }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Add the correct display in IE 10-. 1. Add the correct display in IE. */
template, [hidden] { display: none; }

/* Links ========================================================================== */
/** 1. Remove the gray background on active links in IE 10. 2. Remove gaps in links underline in iOS 8+ and Safari 8+. */
a { background-color: transparent; /* 1 */ -webkit-text-decoration-skip: objects; /* 2 */ }

/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */
a:active, a:hover { outline-width: 0; }

/* Text-level semantics ========================================================================== */
/** 1. Remove the bottom border in Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */
b, strong { font-weight: inherit; }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** Add the correct font style in Android 4.3-. */
dfn { font-style: italic; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Add the correct background and color in IE 9-. */
mark { background-color: #ff0; color: #000; }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10-. */
img { border-style: none; }

/** Hide the overflow in IE. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct margin in IE 8. */
figure { margin: 1em 40px; }

/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { -moz-box-sizing: content-box; box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/* Forms ========================================================================== */
/** 1. Change font properties to `inherit` in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
button, input, select, textarea { font: inherit; /* 1 */ margin: 0; /* 2 */ }

/** Restore the font weight unset by the previous rule. */
optgroup { font-weight: bold; }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Change the border, margin, and padding in all browsers (opinionated). */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { -moz-box-sizing: border-box; box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Remove the default vertical scrollbar in IE. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */
[type="checkbox"], [type="radio"] { -moz-box-sizing: border-box; box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding and cancel buttons in Chrome and Safari on OS X. */
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Correct the text style of placeholders in Chrome, Edge, and Safari. */
::-webkit-input-placeholder { color: inherit; opacity: 0.54; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

html { font-size: 62.5%; }

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

@media (min-width: 769px) and (max-width: 960px) { html { font-size: 1vw; } }

body { font-family: 'noto-sans-cjk-jp', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", 'Hiragino Kaku Gothic Pro', "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", 'MS PGothic', Arial, sans-serif; font-style: normal; font-size: 14px; font-size: 1.4rem; line-height: 1.28571; color: #101010; background-color: #fff; word-break: normal; line-break: strict; font-weight: 400; letter-spacing: 0.03em; }

a { color: inherit; text-decoration: none; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; transition-duration: 0.3s; }

a:hover { text-decoration: none; }

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

a:focus { outline: none; text-decoration: none; }

ul, ol { margin: 0; padding: 0; }

ul li, ol li { list-style: none; }

h1, h2, h3, h4, h5, h6 { font-weight: 700; margin: 0; }

p { margin: 0px 0px 30px 0px; padding: 0; }

p:last-child { margin-bottom: 0px; }

@media screen and (max-width: 768px) { p { margin: 0 0 8vw 0; } }

figure { margin: 0; padding: 0; line-height: 0; }

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

input[type="submit"] { border: none; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s; }

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

dl, dt, dd { margin: 0; padding: 0; }

* { -moz-box-sizing: border-box; box-sizing: border-box; word-break: break-word; }

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

/* clearfix (micro) */
.clearfix:before, .clearfix:after { content: ' '; display: table; }

.clearfix:after { clear: both; }

/* For IE 6/7 only */
.clearfix { *zoom: 1; }

div, p { word-break: break-all; }

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, nav, picture { margin: 0; padding: 0; border: 0; vertical-align: baseline; }

ul, ol, li { list-style: none; }

.text-bold { font-weight: 700; }

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

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

.c-white { color: #fff; }

.fw-bold { font-weight: bold; }

.fit { font-family: "object-fit: cover;"; height: 100%; width: 100%; object-fit: cover; }

#wrapper { margin: 0 auto; position: relative; overflow: hidden; }

.container { max-width: 118.6rem; padding: 0 1.5rem; margin: 0 auto; }

@media screen and (max-width: 768px) { .container { padding: 0 2rem; } }

.container-md { max-width: 106.6rem; padding: 0 1.5rem; margin: 0 auto; }

@media screen and (max-width: 768px) { .container-md { padding: 0 2rem; } }

#hambuger { width: 2.5rem; height: 2rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-flow: column; flex-flow: column; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; z-index: 12; cursor: pointer; position: relative; -moz-border-radius: 50%; border-radius: 50%; }

#hambuger.open span.open { display: none; }

#hambuger.open span.close { display: inline-block; }

.nav-icon ul { position: relative; width: 100%; height: 100%; }

.nav-icon ul li { list-style: none; position: absolute; background: #0E5DA8; width: 100%; height: 0.2rem; left: 50%; -moz-border-radius: 20px; border-radius: 20px; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }

.nav-icon ul li:nth-of-type(1) { top: 10%; }

.nav-icon ul li:nth-of-type(2) { top: 50%; }

.nav-icon ul li:nth-of-type(3) { top: 90%; }

.nav-icon ul li span { display: inline-block; }

.nav-icon.open ul { opacity: 1; visibility: visible; }

.nav-icon.open ul li:nth-of-type(1) { width: 100%; top: 50%; -webkit-transform: translate(-50%, -50%) rotate(36deg); -moz-transform: translate(-50%, -50%) rotate(36deg); -ms-transform: translate(-50%, -50%) rotate(36deg); transform: translate(-50%, -50%) rotate(36deg); }

.nav-icon.open ul li:nth-of-type(3) { width: 100%; top: 50%; -webkit-transform: translate(-50%, -50%) rotate(-36deg); -moz-transform: translate(-50%, -50%) rotate(-36deg); -ms-transform: translate(-50%, -50%) rotate(-36deg); transform: translate(-50%, -50%) rotate(-36deg); }

.nav-icon.open ul li:nth-of-type(2) { opacity: 0; }

@media screen and (min-width: 769px) { .show_sp { display: none !important; }
  .show_pc { display: inherit; }
  a[href^=tel] { pointer-events: none; text-decoration: none; opacity: 1 !important; cursor: default !important; }
  #hambuger { display: none; } }

@media screen and (max-width: 768px) { body p { word-break: normal; line-break: strict; }
  .show_sp { display: inherit; }
  .show_pc { display: none !important; } }

.mode-txt { writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; }

.txt_center { text-align: center; }

.js-view { opacity: 0; -webkit-transform: translate(0, 50px); -moz-transform: translate(0, 50px); -ms-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transition: all 0.8s; -moz-transition: all 0.8s; transition: all 0.8s; }

.js-view.fadein { opacity: 1; -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.js-view-img { opacity: 0; -webkit-transition: all 2s ease; -moz-transition: all 2s ease; transition: all 2s ease; }

.js-view-img.fadein { opacity: 1; }

.page-main { position: relative; }

.anim_img { overflow: hidden; }

.pic-js { width: 100%; height: 100%; top: 0; left: 0; object-fit: cover; font-family: 'object-fit: contain;'; opacity: 0; -webkit-transform: scale(1.3); -moz-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); }

.pic-js img { width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: contain;'; }

.active .pic-wrap:after { -webkit-transition: background 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); transition: background 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); -moz-transition: transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), background 2s cubic-bezier(0.19, 1, 0.22, 1), -moz-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), background 2s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), background 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), -moz-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); -webkit-transform: scaleY(0); -moz-transform: scaleY(0); -ms-transform: scaleY(0); transform: scaleY(0); }

.active .pic-js { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transition: 3s 0.2s cubic-bezier(0.5, 1, 0.9, 1); -moz-transition: 3s 0.2s cubic-bezier(0.5, 1, 0.9, 1); transition: 3s 0.2s cubic-bezier(0.5, 1, 0.9, 1); }

#cursor-border { position: fixed; top: -webkit-calc(var(--size) / -2); top: -moz-calc(var(--size) / -2); top: calc(var(--size) / -2); left: -webkit-calc(var(--size) / -2); left: -moz-calc(var(--size) / -2); left: calc(var(--size) / -2); width: var(--size); height: var(--size); -moz-border-radius: 50%; border-radius: 50%; pointer-events: none; -webkit-transition: top 0.15s ease-out, left 0.15s ease-out, width 0.15s ease-out, height 0.15s ease-out, background-color 0.15s ease-out, opacity 0.15s ease-out; -moz-transition: top 0.15s ease-out, left 0.15s ease-out, width 0.15s ease-out, height 0.15s ease-out, background-color 0.15s ease-out, opacity 0.15s ease-out; transition: top 0.15s ease-out, left 0.15s ease-out, width 0.15s ease-out, height 0.15s ease-out, background-color 0.15s ease-out, opacity 0.15s ease-out; z-index: 999; opacity: 1; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; background-color: rgba(14, 93, 168, 0.6); mix-blend-mode: multiply; }

.txt { font-size: 1.6rem; line-height: 2.375; font-weight: 300; letter-spacing: 0; }

@media screen and (max-width: 768px) { .txt { font-size: 1.4rem; line-height: 2; } }

.key-visual { width: -webkit-calc((100% - 1156px) / 2 + 1171px); width: -moz-calc((100% - 1156px) / 2 + 1171px); width: calc((100% - 1156px) / 2 + 1171px); margin-left: auto; padding: 6.5rem 0 0 1.5rem; margin-top: 9rem; position: relative; z-index: 2; }

.key-visual.no-kv .page-title { margin: 0; }

@media screen and (max-width: 768px) { .key-visual { width: 100%; margin-top: 5rem; padding: 5rem 0 0 2rem; } }

.sc-title .ja, .page-title .ja { display: inline-block; font-size: 2.4rem; line-height: 1.58333; font-weight: 300; letter-spacing: 0.05em; color: #0E5DA8; }

.sc-title .en, .page-title .en { font-size: 5.2rem; line-height: 1.11538; font-family: "Lato", sans-serif; font-weight: bold; }

.sc-title .nt, .page-title .nt { font-size: 1.6rem; line-height: 1.875; font-weight: 300; margin-top: 2rem; }

@media screen and (max-width: 768px) { .sc-title .ja, .page-title .ja { font-size: 1.4rem; line-height: 1.71429; }
  .sc-title .en, .page-title .en { font-size: 3.2rem; line-height: 1.125; }
  .sc-title .nt, .page-title .nt { font-size: 1.4rem; line-height: 1.42857; } }

.page-title { margin-bottom: 3rem; }

.page-title .ja { font-size: 2rem; line-height: 1.9; }

.page-title .en { font-size: 6.8rem; line-height: 1.08824; }

@media screen and (max-width: 768px) { .page-title { margin-bottom: 1rem; }
  .page-title .ja { font-size: 1.4rem; line-height: 1.71429; }
  .page-title .en { font-size: 3.2rem; line-height: 1.125; } }

.sc-rc_title { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; position: relative; padding-left: 2rem; margin-bottom: 3rem; }

.sc-rc_title:before { position: absolute; content: ''; width: 0.4rem; height: 100%; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-color: #0E5DA8; -moz-border-radius: 1rem; border-radius: 1rem; }

.sc-rc_title .ja { font-size: 2.8rem; line-height: 1.42857; font-weight: bold; letter-spacing: 0; }

.sc-rc_title .en { display: inline-block; font-size: 1.8rem; line-height: 1; font-weight: 400; color: #0E5DA8; font-family: "Lato", sans-serif; margin-left: 2rem; }

@media screen and (max-width: 768px) { .sc-rc_title { padding-left: 1.5rem; }
  .sc-rc_title .ja { font-size: 2rem; line-height: 1.5; }
  .sc-rc_title .en { font-size: 1.4rem; line-height: 1.42857; margin-left: 1rem; } }

.banner-link { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 100%; -moz-box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16); box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16); padding: 2rem 5rem 2rem 2rem; -moz-border-radius: 0.9rem; border-radius: 0.9rem; background-color: #fff; }

.banner-link_img { width: -webkit-calc(230/790 * 100%); width: -moz-calc(230/790 * 100%); width: calc(230/790 * 100%); }

.banner-link_img figure { width: 100%; height: 16.7rem; -moz-border-radius: 0.4rem; border-radius: 0.4rem; overflow: hidden; }

.banner-link_img figure img { width: 100%; height: 100%; object-fit: cover; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.banner-link_ctn { width: -webkit-calc(540/790 * 100%); width: -moz-calc(540/790 * 100%); width: calc(540/790 * 100%); display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.banner-link_ctn .sc-title { margin-bottom: 0 !important; }

.banner-link_ctn .sc-title .ja { font-size: 2rem; line-height: 1.5; margin-bottom: 1rem; }

.banner-link_ctn .sc-title .en { font-size: 4.2rem; line-height: 1.04762; }

.banner-link_ctn .sc-title .nt { font-size: 1.6rem; line-height: 1.5; letter-spacing: 0; font-weight: 300; margin-top: 2rem; }

.banner-link.blue { background-color: #0E5DA8; color: #fff; }

.banner-link.blue .sc-title .ja { color: #fff; }

.banner-link:hover .arrow-cycle .cc { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.banner-link:hover .banner-link_img figure img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

@media screen and (max-width: 768px) { .banner-link { display: block; padding: 2rem 2rem 3rem; }
  .banner-link_img { width: 100%; margin-bottom: 2rem; }
  .banner-link_img figure { height: 13rem; overflow: hidden; }
  .banner-link_img figure img { width: 100%; height: 100%; object-fit: cover; }
  .banner-link_ctn { width: 100%; }
  .banner-link_ctn .sc-title .ja { font-size: 1.4rem; line-height: 1.42857; margin-bottom: 0.5rem; }
  .banner-link_ctn .sc-title .en { font-size: 2.4rem; line-height: 1.25; }
  .banner-link_ctn .sc-title .nt { display: none; }
  .banner-link .nt { font-size: 1.4rem; line-height: 1.42857; margin-top: 1rem; } }

.arrow-cycle { display: inline-block; width: 7rem; height: 7rem; position: relative; }

.arrow-cycle .cc { display: inline-block; width: 100%; height: 100%; border: 0.15rem solid #0E5DA8; -moz-border-radius: 50%; border-radius: 50%; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.arrow-cycle .arr { display: inline-block; width: 2rem; height: 0.7rem; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.arrow-cycle .arr svg { display: block; }

.arrow-cycle.arr__black .cc { border-color: #000; }

.arrow-cycle.arr__black .arr path { fill: #000; }

.arrow-cycle.arr__white .cc { border-color: #fff; background-color: #0E5DA8; }

.arrow-cycle.arr__white .arr path { fill: #fff; }

@media screen and (max-width: 768px) { .arrow-cycle { width: 4rem; height: 4rem; }
  .arrow-cycle .arr { width: 1.3rem; height: 0.5rem; }
  .arrow-cycle .arr svg { width: 100%; height: auto; } }

.btn { width: 20rem; height: 6.4rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; font-size: 1.6rem; line-height: 1.875; letter-spacing: 0.05em; font-family: "Lato", sans-serif; -moz-border-radius: 3.2rem; border-radius: 3.2rem; border: 1px solid transparent; color: #0E5DA8; position: relative; }

.btn:after { position: absolute; content: ''; width: 0.6rem; height: 0.6rem; top: 50%; margin-top: -0.3rem; right: 2.6rem; background: #0E5DA8; -moz-border-radius: 50%; border-radius: 50%; -webkit-transition: background 0.3s ease-in-out; -moz-transition: background 0.3s ease-in-out; transition: background 0.3s ease-in-out; }

.btn-white { background-color: #fff; }

.btn-blue { background-color: #E4ECF4; }

.btn:hover { border-color: #0E5DA8; }

.btn:hover:after { width: 1rem; height: 0.7rem; right: 2.3rem; background: url(../img/common/arr_link_blue.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .btn { width: 21.8rem; height: 5.8rem; font-size: 1.4rem; } }

.slider-nav .slick-arrow { width: 7rem; height: 7rem; z-index: 2; border: none; outline: none; cursor: pointer; padding: 0; background-color: transparent; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.slider-nav .slick-arrow:hover .arrow-cycle .cc { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.slider-nav .next { margin-left: 2rem; }

@media screen and (max-width: 768px) { .slider-nav .slick-arrow { width: 4rem; height: 4rem; }
  .slider-nav .next { margin-left: 1rem; } }

.main-box { margin-top: 5rem; margin-bottom: 5rem; }

.main-box_ttl { font-size: 3.2rem; line-height: 1.5; font-weight: bold; letter-spacing: 0; margin-bottom: 3rem; }

.main-box .dep { display: inline-block; font-size: 2.2rem; margin-right: 2rem; font-weight: 500; color: #0E5DA8; }

@media screen and (max-width: 768px) { .main-box .dep { font-size: 1.8rem; font-weight: 500; display: block; margin: 0 0 1rem 0; } }

.main-box_info { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }

.main-box_info .name { font-size: 3.2rem; line-height: 1.5; font-weight: bold; letter-spacing: 0; display: inline-block; }

.main-box_info .pos { display: inline-block; font-size: 2rem; font-weight: bold; margin-left: 1rem; }

@media screen and (max-width: 768px) { .main-box_info .pos { font-size: 1.6rem; } }

.main-box_info .his { font-size: 1.6rem; line-height: 1.875; font-weight: 300; letter-spacing: 0; display: inline-block; margin-left: 3rem; color: #0E5DA8; border: 1px solid #0E5DA8; padding: 0.8rem 2rem; -moz-border-radius: 3rem; border-radius: 3rem; }

@media screen and (min-width: 769px) { .main-box_info.dis_inl { display: inline-block; } }

.main-box .txt { margin-top: 3rem; }

@media screen and (max-width: 768px) { .main-box { margin-top: 2rem; margin-bottom: 4rem; }
  .main-box_ttl { font-size: 2.2rem; line-height: 1.72727; margin-bottom: 2rem; }
  .main-box_info { margin-bottom: 2rem; }
  .main-box_info .name { font-size: 2.2rem; line-height: 1.36364; }
  .main-box_info .his { font-size: 1.4rem; line-height: 2.14286; margin-left: 1rem; padding: 0.3rem 2rem; } }

.p-sub { position: relative; }

.p-sub:after { position: absolute; content: ''; width: 100%; height: 100%; top: 49rem; left: 0; background-color: #E8F0FD; }

@media screen and (max-width: 768px) { .p-sub:after { top: 25rem; } }

.p-page { position: relative; z-index: 2; padding-bottom: 11rem; }

@media screen and (max-width: 768px) { .p-page { padding: 0; } }

@media screen and (min-width: 1157px) { .main-content { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; position: relative; }
  .main-content .sidebar { width: -webkit-calc((100% - 1366px) / 2 + 250px); width: -moz-calc((100% - 1366px) / 2 + 250px); width: calc((100% - 1366px) / 2 + 250px); display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -moz-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -ms-flex-item-align: start; align-self: flex-start; position: sticky; position: -webkit-sticky; top: 0; -webkit-transition: all .7s ease-in-out; -moz-transition: all .7s ease-in-out; transition: all .7s ease-in-out; }
  .main-content .sidebar-list { -ms-flex-item-align: start; align-self: flex-start; width: 20rem; margin-top: 8rem; }
  .main-content .sidebar-item + .sidebar-item { margin-top: 1.6rem; }
  .main-content .sidebar-item.link { position: relative; padding-top: 1.5rem; }
  .main-content .sidebar-item.link:before { position: absolute; content: ''; width: 85%; height: 0.1rem; left: 1.2rem; top: 0; background-color: #A2A2A2; }
  .main-content .sidebar-item .it { display: inline-block; font-size: 1.4rem; font-weight: 300; letter-spacing: 0; color: #919191; position: relative; padding-left: 1.2rem; }
  .main-content .sidebar-item .it.active, .main-content .sidebar-item .it:hover { color: #101010; font-weight: 500; }
  .main-content .sidebar-item .it.active:before, .main-content .sidebar-item .it:hover:before { position: absolute; content: ''; width: 0.5rem; height: 0.5rem; left: 0; top: 0.7rem; -moz-border-radius: 50%; border-radius: 50%; background-color: #0E5DA8; }
  .main-content .contents { width: -webkit-calc((100% - 1366px) / 2 + 1116px); width: -moz-calc((100% - 1366px) / 2 + 1116px); width: calc((100% - 1366px) / 2 + 1116px); background-color: #fff; padding: 6.5rem 1.5rem 12rem 8rem; }
  .main-content .contents .inner { max-width: 86rem; } }

.main-content_md { background-color: #fff; padding: 8rem 0 12rem; position: relative; z-index: 2; }

@media screen and (max-width: 768px) { .main-content_md { padding: 4rem 0 8rem; } }

@media screen and (min-width: 1156px) { .main-content.__fixed .sidebar { position: fixed; top: 9rem; }
  .main-content.__fixed .contents { margin-left: -webkit-calc((100% - 1366px) / 2 + 250px); margin-left: -moz-calc((100% - 1366px) / 2 + 250px); margin-left: calc((100% - 1366px) / 2 + 250px); } }

@media screen and (max-width: 1156px) { .main-content .sidebar { display: none; } }

@media (min-width: 769px) and (max-width: 1156px) { .main-content .contents { width: 100%; padding: 4rem 2rem 8rem; background-color: #fff; } }

@media screen and (max-width: 768px) { .main-content .sidebar { display: none; }
  .main-content .contents { width: 100%; padding: 4rem 2rem 8rem; background-color: #fff; } }

.progress { display: block; width: -webkit-calc(100% - 20rem); width: -moz-calc(100% - 20rem); width: calc(100% - 20rem); height: 0.5rem; background-image: -webkit-gradient(linear, left top, right top, from(#0E5DA8), to(#0E5DA8)); background-image: -webkit-linear-gradient(left, #0E5DA8, #0E5DA8); background-image: -moz- oldlinear-gradient(left, #0E5DA8, #0E5DA8); background-image: linear-gradient(to right, #0E5DA8, #0E5DA8); background-repeat: no-repeat; -moz-background-size: 0 100%; background-size: 0 100%; -webkit-transition: background-size .4s ease-in-out; -moz-transition: background-size .4s ease-in-out, -moz-background-size .4s ease-in-out; transition: background-size .4s ease-in-out; transition: background-size .4s ease-in-out, -moz-background-size .4s ease-in-out; position: relative; z-index: 2; -moz-border-radius: 0.2rem; border-radius: 0.2rem; }

@media screen and (max-width: 768px) { .progress { width: 23rem; } }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

.cpn-link { background-color: #E8F0FD; padding: 4.5rem 0 7rem; }

.cpn-link_list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 2rem 0 0 -1.7rem; }

.cpn-link_item { width: -webkit-calc(100%/4 - 1.7rem); width: -moz-calc(100%/4 - 1.7rem); width: calc(100%/4 - 1.7rem); margin: 0 0 0 1.7rem; }

.cpn-link_item__img { position: relative; line-height: 0; width: 100%; overflow: hidden; }

.cpn-link_item__img img { width: 100%; height: 100%; object-fit: cover; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.cpn-link_item__ttl { font-size: 1.6rem; line-height: 1.875; font-weight: 500; color: #0E5DA8; letter-spacing: 0; margin-top: 1rem; }

.cpn-link_item .arrow-cycle { width: 4.5rem; height: 4.5rem; position: absolute; right: 1.5rem; bottom: 1.5rem; }

.cpn-link_item__link:hover .cpn-link_item__img img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.cpn-link_item__link:hover .arrow-cycle .cc { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

@media screen and (max-width: 768px) { .cpn-link { padding: 4rem 0 4rem; }
  .cpn-link_list { margin: 2rem 0 -3.6rem -1.5rem; }
  .cpn-link_item { width: -webkit-calc(100%/2 - 1.5rem); width: -moz-calc(100%/2 - 1.5rem); width: calc(100%/2 - 1.5rem); margin: 0 0 3.6rem 1.5rem; }
  .cpn-link_item__ttl { font-size: 1.4rem; line-height: 1.42857; text-decoration: underline; }
  .cpn-link_item .arrow-cycle { width: 4rem; height: 4rem; }
  .cpn-link_item .arrow-cycle .arr { width: 1.2rem; height: 0.4rem; margin-top: -0.3rem; }
  .cpn-link_item .arrow-cycle .arr svg { display: inline-block; width: 100%; height: auto; } }

/*----------------------------------------------------------
    keyframes
----------------------------------------------------------*/
@-webkit-keyframes menu { 0% { -webkit-transform: translateX(0); transform: translateX(0); }
  50% { -webkit-transform: translateX(100%); transform: translateX(100%); }
  50.001% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -webkit-transform: translateX(0); transform: translateX(0); } }
@-moz-keyframes menu { 0% { -moz-transform: translateX(0); transform: translateX(0); }
  50% { -moz-transform: translateX(100%); transform: translateX(100%); }
  50.001% { -moz-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -moz-transform: translateX(0); transform: translateX(0); } }
@keyframes menu { 0% { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); }
  50% { -webkit-transform: translateX(100%); -moz-transform: translateX(100%); transform: translateX(100%); }
  50.001% { -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); } }

@-webkit-keyframes openMenu { 0% { -webkit-transform: translateY(120%); transform: translateY(120%); }
  40% { -webkit-transform: translateY(120%); transform: translateY(120%); }
  100% { -webkit-transform: translateY(0); transform: translateY(0); } }

@-moz-keyframes openMenu { 0% { -moz-transform: translateY(120%); transform: translateY(120%); }
  40% { -moz-transform: translateY(120%); transform: translateY(120%); }
  100% { -moz-transform: translateY(0); transform: translateY(0); } }

@keyframes openMenu { 0% { -webkit-transform: translateY(120%); -moz-transform: translateY(120%); transform: translateY(120%); }
  40% { -webkit-transform: translateY(120%); -moz-transform: translateY(120%); transform: translateY(120%); }
  100% { -webkit-transform: translateY(0); -moz-transform: translateY(0); transform: translateY(0); } }

@-webkit-keyframes closeMenu { 0% { -webkit-transform: translateY(0); transform: translateY(0); }
  60% { -webkit-transform: translateY(-120%); transform: translateY(-120%); }
  100% { -webkit-transform: translateY(-120%); transform: translateY(-120%); } }

@-moz-keyframes closeMenu { 0% { -moz-transform: translateY(0); transform: translateY(0); }
  60% { -moz-transform: translateY(-120%); transform: translateY(-120%); }
  100% { -moz-transform: translateY(-120%); transform: translateY(-120%); } }

@keyframes closeMenu { 0% { -webkit-transform: translateY(0); -moz-transform: translateY(0); transform: translateY(0); }
  60% { -webkit-transform: translateY(-120%); -moz-transform: translateY(-120%); transform: translateY(-120%); }
  100% { -webkit-transform: translateY(-120%); -moz-transform: translateY(-120%); transform: translateY(-120%); } }

@-webkit-keyframes scrollDown { 0% { -webkit-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0; }
  50% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }
  50.1% { -webkit-transform: scaleY(1); transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%; }
  100% { -webkit-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%; } }

@-moz-keyframes scrollDown { 0% { -moz-transform: scaleY(0); transform: scaleY(0);
    -moz-transform-origin: 100% 0;
         transform-origin: 100% 0; }
  50% { -moz-transform-origin: 100% 0; transform-origin: 100% 0;
    -moz-transform: scaleY(1);
         transform: scaleY(1); }
  50.1% { -moz-transform: scaleY(1); transform: scaleY(1);
    -moz-transform-origin: 0 100%;
         transform-origin: 0 100%; }
  100% { -moz-transform: scaleY(0); transform: scaleY(0);
    -moz-transform-origin: 0 100%;
         transform-origin: 0 100%; } }

@keyframes scrollDown { 0% { -webkit-transform: scaleY(0); -moz-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 100% 0;
       -moz-transform-origin: 100% 0;
            transform-origin: 100% 0; }
  50% { -webkit-transform-origin: 100% 0; -moz-transform-origin: 100% 0; transform-origin: 100% 0;
    -webkit-transform: scaleY(1);
       -moz-transform: scaleY(1);
            transform: scaleY(1); }
  50.1% { -webkit-transform: scaleY(1); -moz-transform: scaleY(1); transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
       -moz-transform-origin: 0 100%;
            transform-origin: 0 100%; }
  100% { -webkit-transform: scaleY(0); -moz-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
       -moz-transform-origin: 0 100%;
            transform-origin: 0 100%; } }

.js-effect { -webkit-transition: opacity 0.5s, -webkit-transform 0.5s; transition: opacity 0.5s, -webkit-transform 0.5s; -moz-transition: transform 0.5s, opacity 0.5s, -moz-transform 0.5s; transition: transform 0.5s, opacity 0.5s; transition: transform 0.5s, opacity 0.5s, -webkit-transform 0.5s, -moz-transform 0.5s; }

.delay_01 { -webkit-transition-delay: 0.1s; -moz-transition-delay: 0.1s; transition-delay: 0.1s; }

.delay_02 { -webkit-transition-delay: 0.2s; -moz-transition-delay: 0.2s; transition-delay: 0.2s; }

.delay_03 { -webkit-transition-delay: 0.3s; -moz-transition-delay: 0.3s; transition-delay: 0.3s; }

.delay_04 { -webkit-transition-delay: 0.4s; -moz-transition-delay: 0.4s; transition-delay: 0.4s; }

.delay_05 { -webkit-transition-delay: 0.5s; -moz-transition-delay: 0.5s; transition-delay: 0.5s; }

.delay_06 { -webkit-transition-delay: 0.6s; -moz-transition-delay: 0.6s; transition-delay: 0.6s; }

.delay_07 { -webkit-transition-delay: 0.7s; -moz-transition-delay: 0.7s; transition-delay: 0.7s; }

.delay_08 { -webkit-transition-delay: 0.8s; -moz-transition-delay: 0.8s; transition-delay: 0.8s; }

.delay_09 { -webkit-transition-delay: 0.9s; -moz-transition-delay: 0.9s; transition-delay: 0.9s; }

.delay_10 { -webkit-transition-delay: 1s; -moz-transition-delay: 1s; transition-delay: 1s; }

.delay_11 { -webkit-transition-delay: 1.1s; -moz-transition-delay: 1.1s; transition-delay: 1.1s; }

.delay_12 { -webkit-transition-delay: 1.2s; -moz-transition-delay: 1.2s; transition-delay: 1.2s; }

.delay_13 { -webkit-transition-delay: 1.3s; -moz-transition-delay: 1.3s; transition-delay: 1.3s; }

.delay_14 { -webkit-transition-delay: 1.4s; -moz-transition-delay: 1.4s; transition-delay: 1.4s; }

.delay_15 { -webkit-transition-delay: 1.5s; -moz-transition-delay: 1.5s; transition-delay: 1.5s; }

.fadeIn { opacity: 0; }

.fadeIn.active { opacity: 1; }

.slideUp { -webkit-transform: translate3d(0, 10rem, 0); -moz-transform: translate3d(0, 10rem, 0); transform: translate3d(0, 10rem, 0); opacity: 0; }

.slideUp.active { opacity: 1; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slideToRight { -webkit-transform: translate3d(10rem, 0, 0); -moz-transform: translate3d(10rem, 0, 0); transform: translate3d(10rem, 0, 0); opacity: 0; }

.slideToRight.active { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); opacity: 1; }

.fadeInUp { opacity: 0; -webkit-transform: translate(0, 5rem); -moz-transform: translate(0, 5rem); -ms-transform: translate(0, 5rem); transform: translate(0, 5rem); }

.fadeInUp.active { opacity: 1; -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

/** header area
====================================== **/
.page-header { position: fixed; left: 0; top: 0; width: 100%; z-index: 9; padding: 2.2rem 0; background-color: #fff; }

.page-header .container { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }

@media screen and (min-width: 769px) { .page-header { border-bottom: 1px solid #D6D6D6; } }

@media screen and (min-width: 1280px) { .page-header .container { max-width: 100%; padding: 0 -webkit-calc(105/1366 * 100%); padding: 0 -moz-calc(105/1366 * 100%); padding: 0 calc(105/1366 * 100%); } }

@media screen and (max-width: 768px) { .page-header { padding: 1.5rem 0; } }

.site-logo { width: 19.5rem; line-height: 0; position: relative; z-index: 10; }

.site-logo a { display: inline-block; line-height: 0; }

@media screen and (max-width: 768px) { .site-logo { width: 13.8rem; } }

@media screen and (min-width: 769px) { .menu { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; } }

@media screen and (max-width: 768px) { .menu { height: 100%; overflow-y: auto; padding: 0 0 6rem 0; } }

@media screen and (min-width: 769px) { .menu-item + .menu-item { margin: 0 0 0 3rem; position: relative; } }

.menu-item_link { display: inline-block; padding: 1rem 0; }

@media screen and (min-width: 769px) { .menu-item_link:not(.no-bool) { position: relative; }
  .menu-item_link:not(.no-bool):after { position: absolute; content: ''; width: 0.7rem; height: 0.7rem; -moz-border-radius: 50%; border-radius: 50%; left: 50%; bottom: -0.5rem; background: #0E5DA8; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); opacity: 0; visibility: hidden; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }
  .menu-item_link:not(.no-bool):hover { opacity: 1; }
  .menu-item_link:not(.no-bool):hover:after { opacity: 1; visibility: visible; } }

.menu-item.btn-cta a { color: #0E5DA8; border: 0.15rem solid #0E5DA8; -moz-border-radius: 1.8rem; border-radius: 1.8rem; padding: 0.8rem 2.5rem; }

@media screen and (min-width: 769px) { .menu-item:hover .menu-sub { top: 120%; opacity: 1 !important; visibility: visible !important; } }

@media screen and (max-width: 768px) { .menu-item { display: block; border-bottom: 1px solid #D6D6D6; position: relative; }
  .menu-item.btn-cta { border: none; padding: 2rem 0; text-align: center; }
  .menu-item.btn-cta a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; width: 20rem; height: 5rem; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; margin: 0 auto; -moz-border-radius: 5rem; border-radius: 5rem; }
  .menu-item_link { display: block; padding: 1.7rem 2rem; } }

.menu-arrow { position: relative; padding-right: 1.7rem; }

.menu-arrow:after { position: absolute; content: ''; width: 0.95rem; height: 0.6rem; top: 0.8rem; right: 0; background: url(../img/common/arr_menu.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .menu-arrow { display: block; position: absolute; right: 0; top: 0; width: 7rem; height: 5.2rem; padding: 0; z-index: 2; }
  .menu-arrow:after { right: auto; top: 2.5rem; left: 50%; margin-left: -0.5rem; }
  .menu-arrow.active:after { -webkit-transform: rotateZ(180deg); -moz-transform: rotateZ(180deg); -ms-transform: rotate(180deg); transform: rotateZ(180deg); } }

@media screen and (min-width: 769px) { .menu-sub { background-color: #fff; position: absolute; top: 150%; left: -2rem; width: 24rem; -moz-box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.16); box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.16); padding: 2.5rem 2rem 2.5rem 2.5rem; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; opacity: 0 !important; visibility: hidden !important; z-index: 9; display: block !important; } }

@media screen and (max-width: 768px) { .menu-sub { display: none; padding: 0 3rem 2rem; } }

.menu-sub_item__link { font-size: 1.4rem; line-height: 2.28571; font-weight: 300; }

@media screen and (min-width: 769px) { .menu-sub_item__link { display: block; position: relative; }
  .menu-sub_item__link:after { position: absolute; content: ''; width: 1rem; height: 0.6rem; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 0.5rem; background: url(../img/common/arr_link_black.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
  .menu-sub_item__link:hover { color: #0E5DA8; }
  .menu-sub_item__link:hover:after { right: 0; background: url(../img/common/arr_link_blue.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; } }

.g-nav { display: block; margin-left: auto; }

@media screen and (max-width: 768px) { .g-nav { width: 100%; height: 100%; background-color: #fff; position: fixed; left: 0; top: 6rem; z-index: 9; opacity: 0; visibility: hidden; -moz-box-shadow: inset 0 0.1rem 0.3rem 0 rgba(0, 0, 0, 0.16); box-shadow: inset 0 0.1rem 0.3rem 0 rgba(0, 0, 0, 0.16); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; } }

.g-nav.open { opacity: 1; visibility: visible; }

/** footer
======================================= **/
.page-footer { background-color: #F7F7F7; padding: 6rem 0 2.5rem 0; position: relative; z-index: 2; }

@media screen and (max-width: 768px) { .page-footer { padding: 4rem 0 2rem; } }

.menu-footer { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; }

@media screen and (max-width: 768px) { .menu-footer { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; } }

@media screen and (min-width: 769px) { .menu-footer_item + .menu-footer_item { margin-left: 5rem; } }

.menu-footer_item__link { display: inline-block; font-size: 1.4rem; line-height: 1.42857; margin-bottom: 0.5rem; }

@media screen and (min-width: 769px) { .menu-footer_item a { display: inline-block; }
  .menu-footer_item a:hover { text-decoration: underline; } }

@media screen and (max-width: 768px) { .menu-footer_item { width: 50%; margin-top: 3rem; }
  .menu-footer_item a { display: inline-block; text-decoration: underline; }
  .menu-footer_item:nth-child(1) { -webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .menu-footer_item:nth-child(4) { -webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; padding-left: 1.5rem; }
  .menu-footer_item:nth-child(2) { -webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
  .menu-footer_item:nth-child(5) { -webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; margin-top: -10rem; padding-left: 1.5rem; }
  .menu-footer_item:nth-child(3) { -webkit-box-ordinal-group: 6; -moz-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
  .menu-footer_item:nth-child(6) { -webkit-box-ordinal-group: 7; -moz-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; margin-top: -5rem; padding-left: 1.5rem; } }

.menu-footer_sub__item--link { display: inline-block; font-size: 1.2rem; line-height: 2.16667; font-weight: 300; }

@media screen and (min-width: 769px) { .footer-top { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0 0 5.5rem 0; } }

@media screen and (max-width: 768px) { .footer-top { border-bottom: 1px solid #707070; padding-bottom: 4rem; margin-bottom: 3rem; } }

.footer-logo { width: 20.3rem; }

@media screen and (max-width: 768px) { .footer-logo { width: 15.5rem; } }

@media screen and (min-width: 769px) { .footer-bottom { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -moz-box-orient: horizontal; -moz-box-direction: reverse; -ms-flex-flow: row-reverse; flex-flow: row-reverse; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

@media screen and (max-width: 768px) { .footer-bottom { position: relative; } }

@media screen and (min-width: 769px) { .footer-banner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; } }

@media screen and (max-width: 768px) { .footer-banner { padding: 0 1.5rem; } }

@media screen and (min-width: 769px) { .footer-banner_left { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; } }

.footer-banner_left .tl { font-size: 1.2rem; line-height: 1.41667; margin-bottom: 0.5rem; }

.footer-banner_left .is { font-size: 0.8rem; line-height: 1.25; letter-spacing: 0; text-align: right; margin-top: 0.2rem; }

@media screen and (min-width: 769px) { .footer-banner_left li { width: 12rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-flow: column; flex-flow: column; }
  .footer-banner_left li + li { margin-left: 2rem; }
  .footer-banner_left li .ig { -webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .footer-banner_left li .tl { -webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .footer-banner_left li .is { -webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } }

@media screen and (max-width: 768px) { .footer-banner_left li { clear: both; overflow: hidden; }
  .footer-banner_left li + li { margin-top: 1.7rem; }
  .footer-banner_left li .ig { width: 10.5rem; float: left; }
  .footer-banner_left li .tl { width: -webkit-calc(100% - 12rem); width: -moz-calc(100% - 12rem); width: calc(100% - 12rem); margin-left: 1.5rem; float: right; }
  .footer-banner_left li .is { width: -webkit-calc(100% - 12rem); width: -moz-calc(100% - 12rem); width: calc(100% - 12rem); margin-left: 1.5rem; text-align: left; float: right; font-size: 1.2rem; line-height: 1.33333; letter-spacing: 0.03em; } }

.footer-banner_right { margin-left: 3rem; }

.footer-banner_right li { width: 16.8rem; }

.footer-banner_right li + li { margin-top: 1.7rem; }

@media screen and (max-width: 768px) { .footer-banner_right { margin: 0; position: absolute; right: 0; top: -16.5rem; }
  .footer-banner_right li { width: 15.2rem; }
  .footer-banner_right li + li { margin-top: 0.8rem; } }

.copyright { -ms-flex-item-align: end; align-self: flex-end; display: inline-block; font-size: 1rem; line-height: 1.5; font-weight: 300; }

@media screen and (max-width: 768px) { .copyright { text-align: center; display: block; margin: 3rem 0 0; } }

/** home
======================================= **/
@-webkit-keyframes header_animate { 0% { opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@-moz-keyframes header_animate { 0% { opacity: 1;
    -moz-transform: scale(1.1);
         transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1); } }
@keyframes header_animate { 0% { opacity: 1;
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
            transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes lineWidth { 0% { width: 0%;
    opacity: 0; }
  100% { width: 100%;
    opacity: 1.0; } }

@-moz-keyframes lineWidth { 0% { width: 0%;
    opacity: 0; }
  100% { width: 100%;
    opacity: 1.0; } }

@keyframes lineWidth { 0% { width: 0%;
    opacity: 0; }
  100% { width: 100%;
    opacity: 1.0; } }

.main-visual { margin: 9rem 0 0; width: 100%; height: -webkit-calc(100vh - 9rem); height: -moz-calc(100vh - 9rem); height: calc(100vh - 9rem); position: relative; }

@media screen and (max-width: 768px) { .main-visual { margin: 6rem 0 0; height: 48rem; } }

.main-visual figure { width: 100%; height: 100%; overflow: hidden; }

.main-visual figure img { width: 100%; height: 100%; object-fit: cover; -webkit-animation: header_animate 2s linear; -moz-animation: header_animate 2s linear; animation: header_animate 2s linear; }

.main-visual .movie { width: 100%; position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; }

.main-visual .movie video { object-fit: cover; height: 120%; width: 120%; top: -10%; left: -10%; opacity: 1; display: block; position: relative; z-index: 1; }

.main-visual .mv-ctn { position: absolute; z-index: 3; width: 100%; bottom: 15%; }

@media screen and (min-width: 769px) { .main-visual .mv-ctn { left: -webkit-calc(105/1366 * 100%); left: -moz-calc(105/1366 * 100%); left: calc(105/1366 * 100%); } }

@media screen and (max-width: 768px) { .main-visual .mv-ctn { left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); bottom: 3.5rem; } }

.main-visual .mv-ctn_ttl { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-flow: column; flex-flow: column; -webkit-box-align: start; -moz-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.main-visual .mv-ctn span { display: inline-block; font-size: 6rem; line-height: 1.36667; font-weight: 300; letter-spacing: 0.06em; position: relative; opacity: 0; -webkit-transform: translateY(50px); -moz-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px); -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; /*&:before { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; background-color: $color_main; }*/ }

.main-visual .mv-ctn span:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; background-color: #fff; z-index: -1; }

.main-visual .mv-ctn span em { display: inline-block; color: #0E5DA8; }

.main-visual .mv-ctn span + span { margin-top: 0.5rem; }

@media screen and (max-width: 768px) { .main-visual .mv-ctn span { font-size: 3.8rem; line-height: 1.36842; } }

.main-visual .mv-ctn span:nth-of-type(1) { -webkit-transition-delay: 0.25s; -moz-transition-delay: 0.25s; transition-delay: 0.25s; }

.main-visual .mv-ctn span:nth-of-type(2) { -webkit-transition-delay: 0.5s; -moz-transition-delay: 0.5s; transition-delay: 0.5s; }

.main-visual .mv-ctn span:nth-of-type(3) { -webkit-transition-delay: 0.75s; -moz-transition-delay: 0.75s; transition-delay: 0.75s; }

.main-visual .scroll { display: inline-block; font-size: 1.2rem; line-height: 1.41667; font-weight: 300; letter-spacing: 0; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; position: absolute; z-index: 3; left: 5.5rem; bottom: 15%; }

.main-visual .scroll:before, .main-visual .scroll:after { position: absolute; content: ''; background-color: #101010; }

.main-visual .scroll:before { width: 0.1rem; height: 11rem; top: 0; right: -0.3rem; }

.main-visual .scroll:after { width: 0.1rem; height: 1rem; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); top: 10rem; right: 0.1rem; }

@media screen and (max-width: 768px) { .main-visual .scroll { left: auto; right: 0.5rem; }
  .main-visual .scroll:before { right: auto; left: -0.4rem; }
  .main-visual .scroll:after { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); right: auto; top: 10.2rem; left: -0.1rem; } }

.main-visual.active .mv-ctn span { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

.main-visual.active .mv-ctn span:before { -webkit-animation: lineWidth_B 1s ease-in-out; -moz-animation: lineWidth_B 1s ease-in-out; animation: lineWidth_B 1s ease-in-out; }

.main-visual.active .mv-ctn span:after { -webkit-animation: lineWidth 2s ease-in-out; -moz-animation: lineWidth 2s ease-in-out; animation: lineWidth 2s ease-in-out; -webkit-transition-delay: 1.5s; -moz-transition-delay: 1.5s; transition-delay: 1.5s; }

.p-top { /** p-top_intro **/ /** p-top_advantage **/ /** p-top_product **/ /** p-top_recruit **/ }

.p-top_intro { padding: 13rem 0 12rem; background-color: #F6F8FA; }

.p-top_intro__inner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; width: -webkit-calc((100% - 1156px) / 2 + 1171px); width: -moz-calc((100% - 1156px) / 2 + 1171px); width: calc((100% - 1156px) / 2 + 1171px); margin-left: auto; padding-left: 1.5rem; }

.p-top_intro__ctn { width: -webkit-calc(602/1260 * 100%); width: -moz-calc(602/1260 * 100%); width: calc(602/1260 * 100%); }

.p-top_intro__ctn--inner h2 { font-size: 4.8rem; line-height: 1.54167; font-weight: bold; letter-spacing: 0; margin-bottom: 5rem; }

.p-top_intro__img { width: -webkit-calc(658/1260 * 100%); width: -moz-calc(658/1260 * 100%); width: calc(658/1260 * 100%); }

@media screen and (max-width: 768px) { .p-top_intro { padding: 3rem 0 4rem; }
  .p-top_intro__inner { display: block; padding: 0 2rem; width: 100%; }
  .p-top_intro__ctn { width: 100%; margin-bottom: 3rem; }
  .p-top_intro__ctn--inner h2 { font-size: 2.4rem; line-height: 1.58333; margin-bottom: 3rem; }
  .p-top_intro__img { width: 100%; } }

.p-top_advantage { padding: 12rem 0; background: url(../img/top/idx_adv_bg.png) left top repeat; -moz-background-size: 100% auto; background-size: 100% auto; }

@media screen and (min-width: 769px) { .p-top_advantage .container { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -moz-box-orient: horizontal; -moz-box-direction: reverse; -ms-flex-flow: row-reverse; flex-flow: row-reverse; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

.p-top_advantage .sc-title { margin-bottom: 3rem; }

.p-top_advantage__ctn { width: -webkit-calc(520/1156 * 100%); width: -moz-calc(520/1156 * 100%); width: calc(520/1156 * 100%); }

.p-top_advantage__ctn .txt { margin-bottom: 7rem; }

.p-top_advantage__img { width: -webkit-calc(552/1156 * 100%); width: -moz-calc(552/1156 * 100%); width: calc(552/1156 * 100%); }

@media screen and (max-width: 768px) { .p-top_advantage { padding: 4rem 0 7rem; }
  .p-top_advantage .sc-title { margin-bottom: 2.5rem; }
  .p-top_advantage__ctn { width: 100%; margin-bottom: 4.5rem; }
  .p-top_advantage__ctn .txt { margin-bottom: 0; }
  .p-top_advantage__img { width: 100%; margin-bottom: 4rem; }
  .p-top_advantage .btn { margin: 0 auto; } }

.p-top_product { padding: 9rem 0 8rem; background-color: #E8F0FD; }

.p-top_product .sc-title { margin-bottom: 4rem; }

.p-top_product .pr-top { position: relative; margin-bottom: 5rem; }

.p-top_product .pr-top .btn { position: absolute; right: 1.5rem; bottom: 0.5rem; }

.p-top_product__wrap { width: -webkit-calc((100% - 1156px) / 2 + 1171px); width: -moz-calc((100% - 1156px) / 2 + 1171px); width: calc((100% - 1156px) / 2 + 1171px); margin-left: auto; padding-bottom: 6rem; padding-left: 1.5rem; overflow: hidden; }

.p-top_product .pr-item { width: 51rem !important; padding: 0 3rem; }

.p-top_product .pr-item_thumb { width: 100%; height: 50rem; overflow: hidden; }

.p-top_product .pr-item_thumb img { width: 100%; height: 100%; object-fit: cover; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.p-top_product .pr-item_ttl { font-size: 2.4rem; font-weight: 500; margin: 2.5rem 0 1.5rem; }

.p-top_product .pr-item_link:hover .pr-item_thumb img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.p-top_product__slider { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; margin: 0 -3rem; }

.p-top_product__slider__nav { max-width: 115.6rem; width: -webkit-calc(1156/1366 * 100%); width: -moz-calc(1156/1366 * 100%); width: calc(1156/1366 * 100%); position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 6rem; }

.p-top_product__slider__nav:after { position: absolute; content: ''; width: -webkit-calc(100% - 20rem); width: -moz-calc(100% - 20rem); width: calc(100% - 20rem); height: 0.2rem; left: 0; bottom: 3.5rem; background-color: #fff; }

@media screen and (min-width: 769px) { .p-top_product .banner-link { padding: 2.5rem 6rem 2.5rem 2.5rem; }
  .p-top_product .banner-link_img { width: -webkit-calc(400/1070 * 100%); width: -moz-calc(400/1070 * 100%); width: calc(400/1070 * 100%); }
  .p-top_product .banner-link_img figure { width: 100%; height: 20rem; }
  .p-top_product .banner-link_ctn { width: -webkit-calc(645/1070 * 100%); width: -moz-calc(645/1070 * 100%); width: calc(645/1070 * 100%); } }

@media screen and (max-width: 768px) { .p-top_product { padding: 4rem 0 5rem; }
  .p-top_product .sc-title { margin-bottom: 2.5rem; }
  .p-top_product .pr-top { position: relative; margin-bottom: 3.5rem; }
  .p-top_product .pr-top .btn { position: static; }
  .p-top_product__wrap { width: 100%; padding-bottom: 2.5rem; padding-left: 2rem; }
  .p-top_product .pr-item { width: 22rem !important; padding: 0 1rem; }
  .p-top_product .pr-item_thumb { width: 100%; height: 22.3rem; }
  .p-top_product .pr-item_ttl { font-size: 1.6rem; font-weight: 500; margin: 2rem 0 1rem; }
  .p-top_product__slider { margin: 0 -1rem; }
  .p-top_product__slider__nav { width: -webkit-calc(100% - 2rem); width: -moz-calc(100% - 2rem); width: calc(100% - 2rem); margin-top: 3.5rem; }
  .p-top_product__slider__nav:after { position: absolute; content: ''; width: 23rem; height: 0.2rem; left: 0; bottom: 2rem; background-color: #fff; } }

.p-top_recruit { padding: 10rem 0 12rem; }

.p-top_recruit .container { position: relative; }

.p-top_recruit .sc-title { margin-bottom: 2rem; }

.p-top_recruit__img { width: 100%; height: 44rem; position: relative; }

.p-top_recruit__img:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; background-color: rgba(54, 150, 240, 0.3); mix-blend-mode: multiply; }

.p-top_recruit__img img { width: 100%; height: 100%; object-fit: cover; }

.p-top_recruit__ctn { height: 36rem; width: 100%; max-width: 47rem; padding: 3.5rem 3.5rem 5rem 5rem; background-color: rgba(255, 255, 255, 0.9); position: absolute; top: 4rem; left: 7.5rem; }

.p-top_recruit__ctn .txt { margin-bottom: 3.5rem; }

@media screen and (max-width: 768px) { .p-top_recruit { padding: 4rem 0 7rem; }
  .p-top_recruit .sc-title { margin-bottom: 2.6rem; }
  .p-top_recruit__img { height: auto; margin-bottom: 2rem; }
  .p-top_recruit__img img { width: 100%; height: auto; }
  .p-top_recruit__ctn { position: static; width: 100%; height: auto; padding: 0; }
  .p-top_recruit__ctn .txt { margin-bottom: 3rem; }
  .p-top_recruit .btn { margin: 0 auto; } }

/** home
======================================= **/
.p-advantage .sc-title { border-bottom: 1px solid #0E5DA8; padding: 0 0 2rem; margin-bottom: 3rem; }

.p-advantage .sc-title .ja { font-size: 2rem; line-height: 1.9; letter-spacing: 0; margin-bottom: 0.7rem; }

.p-advantage .sc-title .en { font-size: 4rem; font-weight: bold; font-family: "noto-sans-cjk-jp", sans-serif; }

@media screen and (max-width: 768px) { .p-advantage .sc-title .ja { font-size: 1.4rem; line-height: 1.42857; }
  .p-advantage .sc-title .en { font-size: 2.8rem; } }

.p-advantage .adv-sc + .adv-sc { margin-top: 12rem; }

@media screen and (max-width: 768px) { .p-advantage .adv-sc + .adv-sc { margin-top: 8rem; } }

.p-advantage .adv-tech { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 3rem 0 0 -5rem; }

.p-advantage .adv-tech_col { width: -webkit-calc(50% - 5rem); width: -moz-calc(50% - 5rem); width: calc(50% - 5rem); margin: 0 0 0 5rem; }

.p-advantage .adv-tech_ttl { font-size: 2.2rem; line-height: 1.45455; font-weight: 500; color: #0E5DA8; margin: 2.5rem 0; }

.p-advantage .adv-tech_txt { font-size: 1.4rem; line-height: 2.42857; letter-spacing: 0; font-weight: 300; }

@media screen and (max-width: 768px) { .p-advantage .adv-tech { display: block; margin: 3.6rem 0 0; }
  .p-advantage .adv-tech_col { width: 100%; margin: 0; }
  .p-advantage .adv-tech_col + .adv-tech_col { margin-top: 6rem; }
  .p-advantage .adv-tech_ttl { font-size: 1.6rem; line-height: 1.5; margin: 2rem 0 1.6rem; } }

/** home
======================================= **/
.pr-sc_title { font-size: 2.8rem; line-height: 1.42857; font-weight: bold; letter-spacing: 0; margin-bottom: 3rem; position: relative; padding-left: 2rem; }

.pr-sc_title:before { position: absolute; content: ''; width: 0.4rem; height: 100%; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-color: #0E5DA8; }

.pr-sc_img { margin-bottom: 2.5rem; }

@media screen and (max-width: 768px) { .pr-sc_title { font-size: 2rem; line-height: 1.6; margin-bottom: 2.4rem; }
  .pr-sc_img { margin-bottom: 2rem; } }

.pr-sc_slider .slick-dots { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 1.6rem; }

.pr-sc_slider .slick-dots li { width: 0.8rem; height: 0.8rem; -moz-border-radius: 50%; border-radius: 50%; background-color: #A2A2A2; }

.pr-sc_slider .slick-dots li + li { margin-left: 1.4rem; }

.pr-sc_slider .slick-dots li button { border: none; outline: none; background: none; text-indent: -99999px; padding: 0; margin: 0; }

.pr-sc_slider .slick-dots li.slick-active { -webkit-transform: scale(1.5); -moz-transform: scale(1.5); -ms-transform: scale(1.5); transform: scale(1.5); background-color: #0E5DA8; }

@media screen and (max-width: 768px) { .pr-sc_slider .slick-dots { margin-top: 1.1rem; }
  .pr-sc_slider .slick-dots li { width: 0.6rem; height: 0.6rem; }
  .pr-sc_slider .slick-dots li.slick-active { -webkit-transform: scale(2); -moz-transform: scale(2); -ms-transform: scale(2); transform: scale(2); } }

.p-products .pr-sc + .pr-sc { margin-top: 10rem; }

@media screen and (max-width: 768px) { .p-products .pr-sc + .pr-sc { margin-top: 6rem; } }

.p-products .pr-sc_tbl { margin-top: 6rem; }

.p-products .pr-sc_tbl__tl { font-size: 2.2rem; line-height: 1.45455; font-weight: 500; color: #0E5DA8; margin-bottom: 1.6rem; }

.p-products .pr-sc_tbl__note { font-size: 1.4rem; line-height: 1.71429; font-weight: 300; margin-top: 2rem; }

@media screen and (max-width: 768px) { .p-products .pr-sc_tbl__tl { font-size: 1.6rem; line-height: 1.5; }
  .p-products .pr-sc_tbl__note { font-size: 1.4rem; line-height: 2; margin-top: 1.6rem; }
  .p-products .pr-sc_tbl__wrap { width: 100%; overflow-x: auto; padding-bottom: 1rem; }
  .p-products .pr-sc_tbl__wrap::-webkit-scrollbar { height: 0.5rem; }
  .p-products .pr-sc_tbl__wrap::-webkit-scrollbar-track { background-color: #F6F8FA; }
  .p-products .pr-sc_tbl__wrap::-webkit-scrollbar-thumb { background-color: #0E5DA8; } }

.p-products .tbl01 { width: 100%; background-color: #F6F8FA; border-right: 1px solid #A2A2A2; }

.p-products .tbl01 thead th { background-color: #0E5DA8; color: #fff; font-size: 1.6rem; line-height: 1.5; font-weight: 400; text-align: center; letter-spacing: 0; padding: 1.5rem; border-left: 1px solid #A2A2A2; /*&:nth-child(1) { width: 23rem; } &:nth-child(2) { width: 15rem; } &:nth-child(3) { width: 47rem; }*/ }

.p-products .tbl01 td { border-left: 1px solid #A2A2A2; border-bottom: 1px solid #A2A2A2; vertical-align: middle; font-size: 1.4rem; line-height: 1.71429; padding: 1.2rem 2rem; }

.p-products .tbl01 td:nth-child(2) { padding: 4rem; font-size: 1.4rem; line-height: 2.85714; }

.p-products .tbl01 td:nth-child(3) { font-weight: 300; font-size: 1.4rem; line-height: 2.14286; padding: 4rem; }

@media screen and (max-width: 768px) { .p-products .tbl01 { width: 562px; } }

.p-products .tbl01.atb .col1 { width: 23.1rem; }

.p-products .tbl01.atb .col2 { width: 15.3rem; }

.p-products .tbl01.atb .col3 { width: 47.4rem; }

@media screen and (max-width: 768px) { .p-products .tbl01.atb .col1 { width: 140px; }
  .p-products .tbl01.atb .col2 { width: 145px; }
  .p-products .tbl01.atb .col3 { width: 277px; } }

.p-products .tbl01.btb .col1 { width: 23.1rem; }

.p-products .tbl01.btb .col2 { width: 15.3rem; }

.p-products .tbl01.btb .col3 { width: 47.4rem; }

@media screen and (max-width: 768px) { .p-products .tbl01.btb { width: 650px; }
  .p-products .tbl01.btb .col1 { width: 230px; }
  .p-products .tbl01.btb .col2 { width: 145px; }
  .p-products .tbl01.btb .col3 { width: 277px; } }

.p-products .tbl02 { width: 100%; background-color: #F6F8FA; border-right: 1px solid #A2A2A2; }

.p-products .tbl02 thead th { background-color: #0E5DA8; color: #fff; font-size: 1.6rem; line-height: 1.5; font-weight: 400; text-align: center; letter-spacing: 0; padding: 1.5rem; border-left: 1px solid #A2A2A2; /*&:nth-child(1) { width: 23rem; } &:nth-child(2) { width: 15rem; } &:nth-child(3) { width: 12rem; } &:nth-child(4) { width: 35.4rem; }*/ }

.p-products .tbl02 td { border-left: 1px solid #A2A2A2; border-bottom: 1px solid #A2A2A2; vertical-align: middle; font-size: 1.4rem; line-height: 1.71429; padding: 1.2rem 2rem; /*&:nth-child(4) { font-weight: 300; @include fz(14, 30); padding: 3rem; }*/ }

.p-products .tbl02 td:nth-child(2) { text-align: center; }

.p-products .tbl02 td:nth-child(3) { text-align: center; }

.p-products .tbl02.ctb colgroup { width: 100%; }

.p-products .tbl02.ctb .col1 { width: 23.1rem; }

.p-products .tbl02.ctb .col2 { width: 15.3rem; }

.p-products .tbl02.ctb .col3 { width: 12rem; }

.p-products .tbl02.ctb .col4 { width: 35.4rem; }

@media screen and (max-width: 768px) { .p-products .tbl02.ctb { width: 770px; }
  .p-products .tbl02.ctb colgroup { width: 100%; }
  .p-products .tbl02.ctb .col1 { width: 230px; }
  .p-products .tbl02.ctb .col2 { width: 145px; text-align: center; }
  .p-products .tbl02.ctb .col3 { width: 118px; text-align: center; }
  .p-products .tbl02.ctb .col4 { width: 277px; font-weight: 300; font-size: 1.4rem; line-height: 2.14286; padding: 3rem 4rem; } }

.tbn { margin-top: 1rem; }

/** home
======================================= **/
.p-process { counter-reset: ol-counter; }

.mp-main { margin-bottom: 9rem; }

.mp-main figure { position: relative; line-height: 0; }

.mp-main figure img { width: 100%; }

.mp-main figure img.img-map { position: absolute; left: 0; top: -1.5rem; }

@media screen and (max-width: 768px) { .mp-main { margin: 0 -2rem 6rem 0; }
  .mp-main figure img.img-map { left: 0; top: -1.3rem; } }

.mp-row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 3rem 0; border-top: 1px solid #0E5DA8; counter-increment: ol-counter; }

.mp-row:last-child { border-bottom: 1px solid #0E5DA8; }

.mp-row_img { width: 22rem; }

.mp-row_ctn { width: -webkit-calc(100% - 25rem); width: -moz-calc(100% - 25rem); width: calc(100% - 25rem); margin-left: 3rem; position: relative; padding-left: 8.6rem; }

.mp-row_ctn:before { position: absolute; content: ''; width: 6.8rem; height: 6.8rem; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-color: #E18C44; -moz-border-radius: 50%; border-radius: 50%; }

.mp-row_ctn:after { position: absolute; content: "0" counter(ol-counter); font-size: 3rem; line-height: 1.93333; color: #fff; font-weight: bold; font-family: "Lato", sans-serif; left: 1.6rem; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.mp-row_ctn h3 { font-size: 2.2rem; line-height: 1.45455; margin-bottom: 0.8rem; font-weight: 500; }

@media screen and (max-width: 768px) { .mp-row { padding: 2.2rem 0; -webkit-box-align: start; -moz-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .mp-row_img { width: 15rem; }
  .mp-row_ctn { width: 16.8rem; margin: 1rem 0 0; padding: 0; }
  .mp-row_ctn:before { top: 1rem; width: 3.8rem; height: 3.8rem; }
  .mp-row_ctn:after { font-size: 1.5rem; line-height: 1.93333; left: 1rem; top: 1rem; }
  .mp-row_ctn h3 { font-size: 1.4rem; line-height: 1.42857; margin-bottom: 2rem; padding-left: 4.5rem; } }

/** home
======================================= **/
input[type=checkbox], input[type=radio] { position: relative; border: 1px solid #000; cursor: pointer; line-height: 0; margin: 0.4rem 1rem 0 0; outline: 0; padding: 0 !important; vertical-align: text-top; height: 1.8rem; width: 1.8rem; -webkit-appearance: none; background: #fff; }

input[type=checkbox]:hover, input[type=radio]:hover { opacity: 1; }

input[type=checkbox]:checked, input[type=radio]:checked { background-color: #000; opacity: 1; }

input[type=checkbox]:before, input[type=radio]:before { content: ''; position: absolute; right: 50%; top: 50%; width: 4px; height: 10px; border: solid #FFF; border-width: 0 2px 2px 0; margin: -1px -1px 0 -1px; -webkit-transform: rotate(45deg) translate(-50%, -50%); -moz-transform: rotate(45deg) translate(-50%, -50%); -ms-transform: rotate(45deg) translate(-50%, -50%); transform: rotate(45deg) translate(-50%, -50%); z-index: 2; }

.ipt { width: 100%; padding: 0.6rem 1rem; border: none; background: #F7F7F7; outline: none; }

.ipt.medium { max-width: 29rem; }

.ipt.are { max-width: 100%; height: 34.5rem; }

@media screen and (max-width: 768px) { .ipt { padding: 1.2rem 1.5rem; }
  .ipt.medium { max-width: 23rem; }
  .ipt.long { max-width: 100%; }
  .ipt.are { height: 19.5rem; } }

.req { display: inline-block; color: #fff; background-color: #E5111F; font-size: 1.2rem; line-height: 1; padding: 0.4rem 1rem; }

.l-check li + li { margin-top: 1rem; }

.p-contact { padding-bottom: 0; }

.p-contact .main-content_md { padding-top: 5rem; }

.p-contact_head { margin-bottom: 6rem; }

@media screen and (max-width: 768px) { .p-contact .main-content_md { padding-top: 4rem; }
  .p-contact_head { margin-bottom: 4rem; } }

.p-form_ctrl { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-bottom: 5rem; font-size: 1.6rem; line-height: 2.375; letter-spacing: 0; font-weight: 300; }

.p-form_ctrl__lbl { width: -webkit-calc(296/1036 * 100%); width: -moz-calc(296/1036 * 100%); width: calc(296/1036 * 100%); position: relative; padding: 0.5rem 0 0.5rem 6rem; }

.p-form_ctrl__lbl .req { position: absolute; left: 0; top: 1.4rem; }

.p-form_ctrl__ctn { width: -webkit-calc(740/1036 * 100%); width: -moz-calc(740/1036 * 100%); width: calc(740/1036 * 100%); }

@media screen and (max-width: 768px) { .p-form_ctrl { display: block; font-size: 1.4rem; line-height: 1.42857; margin-bottom: 2.8rem; }
  .p-form_ctrl__lbl { width: 100%; padding: 0; margin-bottom: 1rem; }
  .p-form_ctrl__lbl .req { position: static; margin-right: 0.5rem; }
  .p-form_ctrl__ctn { width: 100%; } }

.p-form_privacy { max-width: 82rem; margin: 0 auto 4rem; border: 1px solid #707070; padding: 2rem; }

.p-form_privacy h2 { font-size: 1.8rem; font-weight: bold; margin-bottom: 2rem; text-align: center; }

.p-form_privacy__in { height: 16rem; padding-right: 1rem; overflow-y: auto; }

.p-form_privacy h3 { font-size: 1.6rem; line-height: 1.75; margin-top: 2rem; }

.p-form_privacy p { font-size: 1.4rem; line-height: 2; }

.p-form_privacy p + p { margin-top: 2rem; }

.p-form_privacy a { display: inline-block; color: #2580ba; }

.p-form_privacy a:hover { text-decoration: underline; }

@media screen and (max-width: 768px) { .p-form_privacy { padding-right: 1rem; margin-bottom: 3rem; }
  .p-form_privacy h2 { font-size: 1.6rem; }
  .p-form_privacy h3 { font-size: 1.4rem; line-height: 1.85714; margin-top: 2rem; }
  .p-form_privacy p { font-size: 1.2rem; line-height: 2.16667; } }

.p-form_consent { font-size: 1.6rem; font-weight: 300; text-align: center; margin-bottom: 5rem; }

@media screen and (max-width: 768px) { .p-form_consent { font-size: 1.4rem; }
  .p-form_consent input[type=checkbox] { margin-top: 0.2rem; margin-right: 0.5rem; } }

.p-form .btn-link-primary .frmBtn-link { width: 20rem; height: 6.4rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; font-size: 1.6rem; line-height: 1.875; letter-spacing: 0.05em; font-family: "Lato", sans-serif; -moz-border-radius: 3.2rem; border-radius: 3.2rem; border: 1px solid transparent; color: #0E5DA8; background-color: #E4ECF4; position: relative; cursor: pointer; }

.p-form .btn-link-primary .frmBtn-link:after { position: absolute; content: ''; width: 0.6rem; height: 0.6rem; top: 50%; margin-top: -0.3rem; right: 2.6rem; background: #0E5DA8; -moz-border-radius: 50%; border-radius: 50%; -webkit-transition: background 0.3s ease-in-out; -moz-transition: background 0.3s ease-in-out; transition: background 0.3s ease-in-out; }

.p-form .btn-link-primary .frmBtn-link:hover { border-color: #0E5DA8; }

.p-form .btn-link-primary .frmBtn-link:hover:after { width: 1rem; height: 0.7rem; right: 2.3rem; background: url(../img/common/arr_link_blue.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .p-form .btn-link-primary .frmBtn-link { width: 21.8rem; height: 5.5rem; font-size: 1.4rem; line-height: 1.42857; } }

.m-auto { margin: 0 auto; }

.p-thanks { text-align: center; min-height: -webkit-calc(100vh - 65rem); min-height: -moz-calc(100vh - 65rem); min-height: calc(100vh - 65rem); }

@media screen and (max-width: 768px) { .p-thanks { padding: 0 0 4rem 0; } }

.p-thanks_ttl { font-size: 5.5rem; font-weight: 400; margin-bottom: 4rem; }

@media screen and (max-width: 768px) { .p-thanks_ttl { font-size: 3.2rem; } }

.p-thanks_txt { font-size: 1.8rem; line-height: 1.6667; margin-bottom: 5rem; }

@media screen and (max-width: 768px) { .p-thanks_txt { font-size: 1.6rem; } }

@media screen and (min-width: 769px) { .p-thanks_btn { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; } }

@media screen and (min-width: 769px) { .p-thanks_btn li + li { margin-left: 3rem; } }

@media screen and (max-width: 768px) { .p-thanks_btn li + li { margin-top: 2rem; } }

.p-thanks_btn li a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; width: 32rem; height: 6.6rem; font-size: 1.8rem; border: 1px solid #493759; color: #493759; -moz-border-radius: 4rem; border-radius: 4rem; }

.p-thanks_btn li a.btn-top { color: #fff; background-color: #493759; }

@media screen and (max-width: 768px) { .p-thanks_btn li a { width: 100%; height: 5rem; font-size: 1.4rem; } }

.error-st { font-size: 1.4rem; color: #e91b56; margin: 0.5rem 0 0; }

.wpcf7-list-item { margin: 0; }

.p-form.form.wpcf7-form-mode-confirm .p-form_privacy { display: none; }

.p-form.form.wpcf7-form-mode-confirm .constraint { opacity: 0; visibility: hidden; }

@media screen and (min-width: 769px) { .p-form.form.wpcf7-form-mode-confirm .submit-button.buttons-area { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; } }

.p-form.form.wpcf7-form-mode-confirm .submit-button.buttons-area .btn-link-primary { width: 31.5rem; }

.p-form.form.wpcf7-form-mode-confirm .submit-button.buttons-area .btn-link-primary.btn-small { margin-right: 4rem; }

.p-form.form.wpcf7-form-mode-confirm .submit-button.buttons-area .btn-link-primary.btn-small .button-rewrite { border: none; outline: none; width: 31.5rem; height: 6.5rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; font-size: 1.8rem; font-weight: bold; -moz-border-radius: 4rem; border-radius: 4rem; cursor: pointer; margin: 4rem auto 0; border: 1px solid #493759; color: #493759; background-color: transparent; }

@media screen and (max-width: 768px) { .p-form.form.wpcf7-form-mode-confirm .submit-button.buttons-area .btn-link-primary { width: 100%; }
  .p-form.form.wpcf7-form-mode-confirm .submit-button.buttons-area .btn-link-primary.btn-small { margin-right: 0; }
  .p-form.form.wpcf7-form-mode-confirm .submit-button.buttons-area .btn-link-primary.btn-small .button-rewrite { width: 100%; margin: 0; } }

button { cursor: pointer; }

button.wpcf7-submit { border: none; outline: none; width: 31.5rem; height: 6.5rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; font-size: 1.8rem; font-weight: bold; color: #fff; -moz-border-radius: 4rem; border-radius: 4rem; background-color: #f76e00; cursor: pointer; margin: 4rem auto 0; }

@media screen and (max-width: 768px) { button.wpcf7-submit { margin: 2rem 0 0; width: 100%; } }

.p-contact_thank { max-width: 88rem; margin: 0 auto; text-align: center; }

.p-contact_thank h2 { font-size: 3.2rem; font-weight: bold; margin-bottom: 5rem; line-height: 1.5; }

@media screen and (max-width: 768px) { .p-contact_thank h2 { font-size: 3.3rem; } }

.p-contact_thank p { line-height: 2.25; margin-bottom: 5rem; }

@media screen and (max-width: 768px) { .p-contact_thank p { text-align: left; } }

.p-contact_thank .frm__btn { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; border: none; outline: none; -moz-border-radius: 0.5rem; border-radius: 0.5rem; background: #E50044; color: #fff; font-size: 1.6rem; font-weight: bold; cursor: pointer; width: 20rem; height: 4.6rem; margin: 0 auto; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }

.p-contact_thank .frm__btn:hover { background: #6CB2D3; }

@media screen and (max-width: 768px) { .p-contact_thank .frm__btn { width: 100%; height: 11rem; font-size: 3.2rem; } }

.p-contact_thank .btn { margin: 0 auto; }

.p-contact_form__confirm .p-frm_ctn { padding: 1.5rem; }

.p-contact_form__confirm .p-frm_btn { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.p-contact_form__confirm .p-frm_btn .frm__back { margin-right: 2rem; }

.entry-form__error { background: #fff; color: #E60013; padding: 2rem; margin-bottom: 2rem; }

.entry-form__error .error-ttl { margin-bottom: 1rem; font-size: 1.6rem; line-height: 1.5; font-weight: 500; }

.entry-form__error ul li { position: relative; }

.entry-form__error ul li:before { content: "・"; display: inline-block; }

.entry-form__error ul li + li { margin-top: 1rem; }

.error em { font-size: 1.2rem; color: #E60013; }

@media screen and (max-width: 768px) { .error em { font-size: 2rem; } }

/** home
======================================= **/
.p-company { padding-bottom: 0; }

.p-company_list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -3.5rem; }

.p-company_item { width: -webkit-calc(50% - 3.5rem); width: -moz-calc(50% - 3.5rem); width: calc(50% - 3.5rem); margin: 0 0 4rem 3.5rem; }

.p-company_item__img { width: 100%; height: 25rem; position: relative; overflow: hidden; }

.p-company_item__img > img { width: 100%; height: 100%; object-fit: cover; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.p-company_item__img .arrow-cycle { position: absolute; right: 2.8rem; bottom: 2.5rem; }

.p-company_item__txt { font-size: 1.6rem; line-height: 2.375; font-weight: 500; letter-spacing: 0; color: #0E5DA8; text-decoration: underline; margin: 1.2rem 0 0; }

.p-company_item__link:hover .p-company_item__img > img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.p-company_item__link:hover .arrow-cycle .cc { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

@media screen and (max-width: 768px) { .p-company .main-content_md { padding: 4rem 0 8rem; }
  .p-company_list { margin: 0 0 -3.6rem -1.5rem; }
  .p-company_item { width: -webkit-calc(50% - 1.5rem); width: -moz-calc(50% - 1.5rem); width: calc(50% - 1.5rem); margin: 0 0 3.6rem 1.5rem; }
  .p-company_item__img { height: 11rem; }
  .p-company_item__img .arrow-cycle { width: 4rem; height: 4rem; right: 1.5rem; bottom: 1.5rem; }
  .p-company_item__img .arrow-cycle .arr { width: 1.2rem; height: 0.4rem; }
  .p-company_item__img .arrow-cycle .arr svg { display: block; width: 100%; height: auto; }
  .p-company_item__txt { font-size: 1.4rem; line-height: 1.42857; } }

/** p-outline **/
.p-outline .main-content_md { padding-top: 10rem; padding-bottom: 0; }

@media screen and (max-width: 768px) { .p-outline .main-content_md { padding-top: 4rem; } }

.p-outline_message .sc-rc_title { margin-bottom: 4rem; }

.p-outline_message__lead { font-size: 2.4rem; line-height: 1.91667; font-weight: 500; letter-spacing: 0; color: #0E5DA8; margin-bottom: 4rem; }

@media screen and (max-width: 768px) { .p-outline_message__lead { font-size: 1.6rem; line-height: 1.875; margin-bottom: 2rem; } }

.p-outline_message__cp p { font-size: 1.6rem; line-height: 1.875; }

.p-outline_message__cp p + p { margin-top: 1.5rem; }

@media screen and (max-width: 768px) { .p-outline_message__cp p { font-size: 1.4rem; line-height: 2; }
  .p-outline_message__cp p + p { margin-top: 1rem; } }

.p-outline_message__sign { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: end; -moz-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; margin-top: 3rem; }

.p-outline_message__sign .nam { font-size: 2.4rem; line-height: 1.5; font-weight: 500; letter-spacing: 0; margin-left: 1.5rem; }

.p-outline_message__sign .nam img { max-width: 14.2rem; }

@media screen and (max-width: 768px) { .p-outline_message__sign .cpn { font-size: 1.4rem; line-height: 1.42857; }
  .p-outline_message__sign .nam { font-size: 1.8rem; line-height: 1.66667; }
  .p-outline_message__sign .nam img { max-width: 11.6rem; } }

.p-outline_profile { margin: 12rem 0 14rem; }

.p-outline_profile .sc-rc_title { margin-bottom: 7rem; }

@media screen and (max-width: 768px) { .p-outline_profile { margin: 8rem 0; }
  .p-outline_profile .sc-rc_title { margin-bottom: 4rem; } }

/** p-history **/
.p-history .main-content_md { padding-top: 10rem; padding-bottom: 0; }

@media screen and (max-width: 768px) { .p-history .main-content_md { padding-top: 4rem; } }

.p-history_content { margin: 0 0 14rem; }

.p-history_content .sc-rc_title { margin-bottom: 7rem; }

@media screen and (max-width: 768px) { .p-history_content { margin: 0 0 8rem; }
  .p-history_content .sc-rc_title { margin-bottom: 4rem; } }

/** p-organization **/
.p-organization .main-content_md { padding-top: 10rem; padding-bottom: 0; }

@media screen and (max-width: 768px) { .p-organization .main-content_md { padding-top: 4rem; } }

.p-organization_content { margin: 0 0 14rem; }

.p-organization_content .sc-rc_title { margin-bottom: 7rem; }

@media screen and (max-width: 768px) { .p-organization_content { margin: 0 0 8rem; } }

/** p-access **/
.p-access .main-content_md { padding-top: 10rem; padding-bottom: 0; }

@media screen and (max-width: 768px) { .p-access .main-content_md { padding-top: 4rem; } }

.p-access_info { padding-bottom: 13rem; }

@media screen and (max-width: 768px) { .p-access_info { padding-bottom: 8rem; } }

.p-access .access-article + .access-article { margin-top: 12rem; }

@media screen and (max-width: 768px) { .p-access .access-article + .access-article { margin-top: 8rem; } }

.p-access .access-row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: end; -moz-box-align: end; -ms-flex-align: end; align-items: flex-end; margin-bottom: 6rem; }

.p-access .access-row_img { width: -webkit-calc(520/1036 * 100%); width: -moz-calc(520/1036 * 100%); width: calc(520/1036 * 100%); }

.p-access .access-row_ctn { width: -webkit-calc(466/1036 * 100%); width: -moz-calc(466/1036 * 100%); width: calc(466/1036 * 100%); }

.p-access .access-row_ctn dl + dl { margin-top: 4rem; }

.p-access .access-row_ctn dl dt { font-size: 2.2rem; line-height: 1.45455; font-weight: 500; letter-spacing: 0; color: #0E5DA8; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid #0E5DA8; }

.p-access .access-row_ctn dl dd { font-size: 1.6rem; line-height: 2.375; font-weight: 300; letter-spacing: 0; }

@media screen and (max-width: 768px) { .p-access .access-row { display: block; margin-bottom: 3rem; }
  .p-access .access-row_img { width: 100%; margin-bottom: 2rem; }
  .p-access .access-row_ctn { width: 100%; }
  .p-access .access-row_ctn dl dt { font-size: 1.6rem; line-height: 1.75; }
  .p-access .access-row_ctn dl dd { font-size: 1.4rem; line-height: 2; } }

.p-access .access-maps { width: 100%; height: 37rem; }

.p-access .access-maps iframe { width: 100%; height: 100%; }

@media screen and (max-width: 768px) { .p-access .access-maps { height: 15rem; } }

.p-access .access-fl { padding: 10rem 0 6rem; position: relative; }

.p-access .access-fl:before { position: absolute; content: 'Access'; font-size: 8rem; line-height: 1; font-weight: 300; letter-spacing: 0; color: #fff; left: -6rem; top: 0; }

.p-access .access-fl:after { position: absolute; content: ''; width: 300%; height: 130%; bottom: 0; left: -6rem; background-color: #F6F8FA; z-index: -1; }

.p-access .access-fl figure { max-width: 86rem; margin: 0 auto; }

@media screen and (max-width: 1100px) { .p-access .access-fl:before { left: 0; } }

@media screen and (max-width: 768px) { .p-access .access-fl { padding: 6rem 0 4rem; }
  .p-access .access-fl:before { font-size: 5rem; line-height: 1; left: -2rem; } }

/** p-eact **/
.p-eact_sc + .p-eact_sc { margin-top: 8rem; }

.p-eact_sc .llist { padding-left: 2rem; }

.p-eact_sc .llist li { list-style: decimal; font-size: 1.6rem; line-height: 2.375; font-weight: 300; letter-spacing: 0; padding-left: 1rem; }

.p-eact_art { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border-bottom: 1px solid #0E5DA8; padding: 4rem 0; }

.p-eact_art__ctn { width: -webkit-calc(504/860 * 100%); width: -moz-calc(504/860 * 100%); width: calc(504/860 * 100%); }

.p-eact_art__ctn ul { padding-left: 2rem; }

.p-eact_art__ctn ul li { list-style: disc; font-size: 1.6rem; line-height: 2.375; font-weight: 300; letter-spacing: 0; }

.p-eact_art__img { width: -webkit-calc(290/860 * 100%); width: -moz-calc(290/860 * 100%); width: calc(290/860 * 100%); }

.p-eact_art__img ul { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 6rem 0 0 -1.2rem; }

.p-eact_art__img ul li { width: -webkit-calc(100%/3 - 1.2rem); width: -moz-calc(100%/3 - 1.2rem); width: calc(100%/3 - 1.2rem); margin: 0 0 1.2rem 1.2rem; line-height: 0; }

.p-eact_art__ttl { font-size: 2.2rem; line-height: 1.45455; font-weight: 500; letter-spacing: 0; color: #0E5DA8; margin-bottom: 2rem; }

@media screen and (max-width: 768px) { .p-eact .pr-sc_title { margin-bottom: 2rem; }
  .p-eact_sc + .p-eact_sc { margin-top: 6rem; }
  .p-eact_sc .llist { padding-left: 2rem; }
  .p-eact_sc .llist li { font-size: 1.4rem; line-height: 2; padding-left: 0; }
  .p-eact_art { display: block; padding: 3rem 0; }
  .p-eact_art__ctn { width: 100%; margin-bottom: 3rem; }
  .p-eact_art__ctn ul li { font-size: 1.4rem; line-height: 2; }
  .p-eact_art__img { width: 100%; }
  .p-eact_art__img ul { margin: 0 0 0 -0.4rem; }
  .p-eact_art__img ul li { margin: 0 0 0.4rem 0.4rem; }
  .p-eact_art__ttl { font-size: 1.6rem; line-height: 1.5; } }

/** home
======================================= **/
.p-recruit { padding-bottom: 0; }

@media screen and (min-width: 769px) { .rc-row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .rc-row.reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -moz-box-orient: horizontal; -moz-box-direction: reverse; -ms-flex-flow: row-reverse; flex-flow: row-reverse; }
  .rc-row_ctn { width: -webkit-calc(537/1036 * 100%); width: -moz-calc(537/1036 * 100%); width: calc(537/1036 * 100%); }
  .rc-row_ctn p + p { margin-top: 3rem; }
  .rc-row_img { width: -webkit-calc(436/1036 * 100%); width: -moz-calc(436/1036 * 100%); width: calc(436/1036 * 100%); } }

@media screen and (max-width: 768px) { .rc-row_ctn { margin-bottom: 3rem; }
  .rc-row_ctn p + p { margin-top: 2rem; } }

@media screen and (max-width: 768px) { .sc-rc_message .sc-rc_title { margin-bottom: 2rem; } }

.sc-rc_our { margin: 13rem 0 0; }

@media screen and (max-width: 768px) { .sc-rc_our { margin: 6rem 0 0; } }

.sc-rc_interview { margin: 15rem 0 0; padding: 6rem 0; position: relative; }

.sc-rc_interview:after { position: absolute; content: ''; width: -webkit-calc((100% - 1260px) / 2 + 1210px); width: -moz-calc((100% - 1260px) / 2 + 1210px); width: calc((100% - 1260px) / 2 + 1210px); height: 100%; right: 0; top: 0; background-color: #F6F8FA; z-index: -1; }

.sc-rc_interview__top { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: end; -moz-box-align: end; -ms-flex-align: end; align-items: flex-end; margin-bottom: 4rem; }

.sc-rc_interview__slider { width: -webkit-calc((100% - 1056px) / 2 + 1040px); width: -moz-calc((100% - 1056px) / 2 + 1040px); width: calc((100% - 1056px) / 2 + 1040px); margin-left: auto; }

.sc-rc_interview__slider .item { width: 32rem; height: 40rem; margin: 0 2rem; -webkit-transition: all 1s cubic-bezier(0.4, 0, 0.84, 1); -moz-transition: all 1s cubic-bezier(0.4, 0, 0.84, 1); transition: all 1s cubic-bezier(0.4, 0, 0.84, 1); }

.sc-rc_interview__slider .item-img { width: 100%; height: 100%; overflow: hidden; }

.sc-rc_interview__slider .item-img img { width: 100%; height: 100%; object-fit: cover; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

.sc-rc_interview__slider .item-ctn { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-flow: column; flex-flow: column; color: #fff; -webkit-box-pack: end; -moz-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; z-index: 2; padding: 3rem 1.5rem; }

.sc-rc_interview__slider .item-ctn h3 { font-size: 2rem; letter-spacing: 0; font-weight: 500; }

.sc-rc_interview__slider .item-ctn h3 span { display: inline-block; font-size: 1.2rem; font-weight: 300; letter-spacing: 0; font-family: "Lato", sans-serif; margin-right: 0.5rem; }

.sc-rc_interview__slider .item-ctn p { font-size: 1.4rem; line-height: 2.14286; letter-spacing: 0; padding-left: 2rem; }

.sc-rc_interview__slider .item.slick-current { width: 36rem; margin-top: -2rem; padding: 0 2rem; -webkit-transform: scale(1.25); -moz-transform: scale(1.25); -ms-transform: scale(1.25); transform: scale(1.25); }

.sc-rc_interview__slider .item-link { display: block; position: relative; }

.sc-rc_interview__slider .item-link:after { position: absolute; content: ''; width: 100%; height: 23.4rem; left: 0; bottom: 0; background: rgba(11, 21, 31, 0); background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(11, 21, 31, 0)), color-stop(100%, rgba(16, 16, 16, 0.5))); background: -webkit-linear-gradient(top, rgba(11, 21, 31, 0) 0%, rgba(16, 16, 16, 0.5) 100%); background: -webkit-gradient(linear, left top, left bottom, from(rgba(11, 21, 31, 0)), to(rgba(16, 16, 16, 0.5))); background: -moz- oldlinear-gradient(top, rgba(11, 21, 31, 0) 0%, rgba(16, 16, 16, 0.5) 100%); background: linear-gradient(to bottom, rgba(11, 21, 31, 0) 0%, rgba(16, 16, 16, 0.5) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0b151f', endColorstr='#101010', GradientType=0 ); }

.sc-rc_interview__slider .item-link:hover .item-img img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.sc-rc_interview__slider .slick-list { padding: 7rem 0 3rem; overflow: visible; }

.sc-rc_interview__slider__nav { position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 6rem; }

.sc-rc_interview__slider__nav:after { position: absolute; content: ''; width: -webkit-calc(100% - 20rem); width: -moz-calc(100% - 20rem); width: calc(100% - 20rem); height: 0.2rem; left: 0; bottom: 3.5rem; background-color: #fff; }

@media screen and (max-width: 768px) { .sc-rc_interview { margin: 6rem 0 0 2rem; padding: 4rem 0; }
  .sc-rc_interview:after { position: absolute; content: ''; width: 100%; height: 100%; right: auto; left: 0; top: 0; background-color: #F6F8FA; z-index: -1; }
  .sc-rc_interview .sc-title { margin-bottom: 2rem; }
  .sc-rc_interview__top { display: block; margin-bottom: 3rem; }
  .sc-rc_interview__slider { width: 100%; margin-left: 2rem; }
  .sc-rc_interview__slider .item { width: 17.4rem; height: 21.5rem; margin: 0 1rem; }
  .sc-rc_interview__slider .item.slick-current { width: 21.5rem; height: 100%; padding: 0 2rem; }
  .sc-rc_interview__slider__nav { margin-top: 2rem; }
  .sc-rc_interview__slider__nav:after { width: 21rem; bottom: 2rem; }
  .sc-rc_interview__slider__nav .progress { width: 21rem; }
  .sc-rc_interview__slider__nav .slider-nav .next { margin-left: 0.5rem; }
  .sc-rc_interview__slider .slick-list { padding: 4rem 0 2rem; overflow: visible; }
  .sc-rc_interview__slider .slick-track { left: 2rem; } }

.sc-rc_job { margin: 11rem 0 0; }

.sc-rc_job .sc-rc_title { margin-bottom: 5rem; }

@media screen and (max-width: 768px) { .sc-rc_job { margin: 7rem 0 0; }
  .sc-rc_job .sc-rc_title { margin-bottom: 2rem; } }

.rc-job_list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -4.5rem; }

.rc-job_item { width: -webkit-calc(100%/4 - 4.5rem); width: -moz-calc(100%/4 - 4.5rem); width: calc(100%/4 - 4.5rem); margin: 0 0 0 4.5rem; border-bottom: 1px solid #101010; font-size: 2.2rem; font-weight: 500; letter-spacing: 0; }

.rc-job_item__link { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; padding: 1.5rem 0; }

.rc-job_item__link .arrow-cycle { width: 4.5rem; height: 4.5rem; }

.rc-job_item__link .arrow-cycle .arr { width: 1.5rem; height: 0.5rem; }

.rc-job_item__link .arrow-cycle .arr svg { width: 100%; height: auto; }

.rc-job_item__link:hover .arrow-cycle .cc { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

@media screen and (max-width: 768px) { .rc-job_list { margin: 0 0 0 -2.5rem; }
  .rc-job_item { width: -webkit-calc(100%/2 - 2.5rem); width: -moz-calc(100%/2 - 2.5rem); width: calc(100%/2 - 2.5rem); margin: 0 0 1rem 2.5rem; font-size: 1.6rem; }
  .rc-job_item__link { padding: 1rem 0; }
  .rc-job_item__link .arrow-cycle { width: 4rem; height: 4rem; }
  .rc-job_item__link .arrow-cycle .arr { width: 1.3rem; height: 0.5rem; } }

.rc-banner { max-width: 86rem; margin: 8rem auto 0; }

@media screen and (max-width: 768px) { .rc-banner { max-width: 33.5rem; margin: 5rem auto 0; } }

.sc-rc_itv { border-bottom: 1px solid #0E5DA8; padding-bottom: 3rem; margin-bottom: 4rem; }

.sc-rc_itv .sm { font-size: 2.2rem; line-height: 1.63636; font-weight: 500; letter-spacing: 0; color: #0E5DA8; position: relative; padding-left: 3.5rem; }

.sc-rc_itv .sm:before { position: absolute; content: ''; width: 2.3rem; height: 0.3rem; left: 0; top: 1.6rem; background-color: #0E5DA8; }

.sc-rc_itv .lg { font-size: 2.8rem; line-height: 1.28571; font-weight: bold; letter-spacing: 0; margin-top: 1rem; }

@media screen and (max-width: 768px) { .sc-rc_itv { padding-bottom: 1.2rem; margin-bottom: 2rem; }
  .sc-rc_itv .sm { font-size: 1.4rem; line-height: 1.42857; padding-left: 2rem; }
  .sc-rc_itv .sm:before { width: 1.4rem; height: 0.2rem; top: 1rem; }
  .sc-rc_itv .lg { font-size: 2rem; line-height: 1.4; } }

/** p-interview **/
.p-interview { padding-bottom: 0; }

@media screen and (min-width: 769px) { .p-interview .main-box { margin-top: 3rem; } }

@media screen and (max-width: 768px) { .p-interview .main-box { margin-bottom: 3rem; } }

.p-interview .sc-rc + .sc-rc { margin-top: 12rem; }

@media screen and (max-width: 768px) { .p-interview .sc-rc + .sc-rc { margin-top: 6rem; } }

@media screen and (min-width: 769px) { .p-interview .rc-row_ctn { width: -webkit-calc(500/1036 * 100%); width: -moz-calc(500/1036 * 100%); width: calc(500/1036 * 100%); }
  .p-interview .rc-row_img { width: -webkit-calc(475/1036 * 100%); width: -moz-calc(475/1036 * 100%); width: calc(475/1036 * 100%); } }

@media screen and (max-width: 768px) { .p-interview .rc-row_ctn { margin-bottom: 2rem; } }

.p-interview .itv-message { position: relative; margin: 22rem 0 15rem; }

.p-interview .itv-message:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; background-color: #F6F8FA; z-index: -1; }

.p-interview .itv-message_row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding-right: 6rem; }

.p-interview .itv-message_row__img { width: -webkit-calc(436/1096 * 100%); width: -moz-calc(436/1096 * 100%); width: calc(436/1096 * 100%); margin: -4rem 0; }

.p-interview .itv-message_row__ctn { width: -webkit-calc(620/1096 * 100%); width: -moz-calc(620/1096 * 100%); width: calc(620/1096 * 100%); padding: 5rem 0; }

.p-interview .itv-message_row__ctn p + p { margin-top: 3rem; }

.p-interview .itv-message_row__ttl { font-size: 2.8rem; font-weight: bold; letter-spacing: 0; padding-bottom: 2rem; margin-bottom: 4rem; border-bottom: 1px solid #0E5DA8; }

@media screen and (min-width: 769px) { .p-interview .itv-message .itv-message_ttl { display: none; } }

@media screen and (max-width: 768px) { .p-interview .itv-message { margin: 6rem 0 6rem; padding: 3rem 0 4rem; }
  .p-interview .itv-message_ttl { display: block; font-size: 2rem; line-height: 1.6; padding-bottom: 1.2rem; margin-bottom: 2.4rem; border-bottom: 1px solid #0E5DA8; }
  .p-interview .itv-message_row { display: block; padding-right: 0; }
  .p-interview .itv-message_row__img { width: 100%; margin: 0 0 2rem 0; }
  .p-interview .itv-message_row__img figure { overflow: hidden; }
  .p-interview .itv-message_row__img figure img { width: 100%; height: 100%; object-fit: cover; }
  .p-interview .itv-message_row__ctn { width: 100%; padding: 0; }
  .p-interview .itv-message_row__ctn .itv-message_row__ttl { display: none; } }

/** p-job **/
.p-job { padding-bottom: 0; }

.p-job_sc .sc-rc_title { margin-bottom: 7rem; }

@media screen and (max-width: 768px) { .p-job_sc .sc-rc_title { margin-bottom: 4rem; } }

@media screen and (max-width: 768px) { .p-job .main-content_md { padding-bottom: 5rem; } }

.dl-row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; padding: 3rem 0; border-bottom: 1px solid #DEDEDE; font-size: 1.6rem; line-height: 2.375; letter-spacing: 0; }

.dl-row:first-child { border-top: 1px solid #DEDEDE; }

.dl-row dt { width: 15rem; font-weight: 500; color: #0E5DA8; }

.dl-row dd { width: -webkit-calc(100% - 15rem); width: -moz-calc(100% - 15rem); width: calc(100% - 15rem); padding: 0 0 0 2rem; font-weight: 300; }

.dl-row dd p + p { margin-top: 3rem; }

@media screen and (max-width: 768px) { .dl-row { display: block; padding: 1.4rem 0; font-size: 1.4rem; line-height: 2; }
  .dl-row dt { width: 100%; margin-bottom: 1rem; }
  .dl-row dd { width: 100%; padding: 0; } }

.cl_blue { display: inline-block; color: #0E5DA8; }

.list-bool li { position: relative; padding-left: 1.5rem; }

.list-bool li:before { position: absolute; content: ''; width: 0.5rem; height: 0.5rem; left: 0; top: 1.8rem; -moz-border-radius: 50%; border-radius: 50%; background-color: #0E5DA8; }

@media screen and (max-width: 768px) { .list-bool li:before { top: 1.1rem; } }

.job-related { background-color: #F6F8FA; padding: 4.5rem 6rem 6rem; margin-top: 8rem; }

.job-related_ttl { font-size: 2.8rem; font-weight: 500; text-align: center; margin-bottom: 4.5rem; }

.job-related_ttl span { display: inline-block; position: relative; }

.job-related_ttl span:before, .job-related_ttl span:after { position: absolute; content: ''; width: 1.1rem; height: 1.1rem; -moz-border-radius: 50%; border-radius: 50%; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-color: #0E5DA8; }

.job-related_ttl span:before { left: -2rem; }

.job-related_ttl span:after { right: -1.5rem; }

@media screen and (max-width: 768px) { .job-related { padding: 3rem 2rem 4rem; margin: 5rem -2rem 0; }
  .job-related_ttl { font-size: 1.8rem; margin-bottom: 3rem; } }

.p-job_end { text-align: center; margin-bottom: 11rem; }

.p-job_end h2 { font-size: 2.2rem; line-height: 1.45455; font-weight: 500; color: #0E5DA8; margin-bottom: 3rem; }

@media screen and (max-width: 768px) { .p-job_end { text-align: left; margin-bottom: 7rem; }
  .p-job_end h2 { text-align: center; font-size: 1.6rem; line-height: 1.5; } }

/** home
======================================= **/
.p-privacy { padding-bottom: 8rem; }

.p-privacy h2 { font-size: 1.8rem; font-weight: 500; color: #493759; margin: 4rem 0 2rem; }

@media screen and (max-width: 768px) { .p-privacy h2 { font-size: 1.6rem; } }

.p-privacy p { font-size: 1.6rem; line-height: 1.875; font-weight: 400; }

@media screen and (max-width: 768px) { .p-privacy p { font-size: 1.3rem; } }

.p-privacy a { display: inline-block; color: #2580ba; }

.p-privacy a:hover { text-decoration: underline; }

.p-privacy ul li { font-size: 1.6rem; line-height: 1.875; font-weight: 400; position: relative; }

@media screen and (max-width: 768px) { .p-privacy ul li { font-size: 1.3rem; } }

.p-privacy ul.li-lv1 { counter-reset: ol-counter1; }

.p-privacy ul.li-lv1 > li { counter-increment: ol-counter1; padding-left: 2.5rem; text-indent: -2.5rem; }

.p-privacy ul.li-lv1 > li:before { content: counter(ol-counter1) "，"; }

.p-privacy ul.li-lv2 { counter-reset: ol-counter2; }

.p-privacy ul.li-lv2 > li { counter-increment: ol-counter2; padding-left: 2.5rem; text-indent: -2.5rem; }

.p-privacy ul.li-lv2 > li:before { content: counter(ol-counter2) "："; }

.p-privacy ul.li-lv3 { padding-left: 2rem; margin-bottom: 4rem; }

.p-privacy ul.li-lv3 > li { padding-left: 2.5rem; list-style: lower-roman; }

.mb4 { margin-bottom: 4rem; }
