@charset "UTF-8";
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/** 1. Change the default font family in all browsers (opinionated). 2. Prevent adjustments of font size after orientation changes in IE and iOS. */
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 <10. Add the correct display in Edge, IE, and Firefox for `details` or `summary`. Add the correct display in IE for `main`. */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }

/** Add the correct display in IE <10. */
audio, canvas, progress, video { display: inline-block; }

/** Add the correct display and remove excess height 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 <11, Safari <8, and Firefox <22. 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 <40. 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; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }

/** Add the correct font style in Android <4.4. */
dfn { font-style: italic; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
#header h1 { font-size: 2em; /* Set 1 unit of vertical rhythm on the top and bottom margins. */ margin: 0.75em 0; }

/** Add the correct background and color in IE <10. */
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 <11. */
img { border-style: none; }

/** Hide the overflow in IE. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** Add the correct margin in IE 8. */
figure { margin: 1.5em 40px; }

/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { -webkit-box-sizing: content-box; box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

pre { font-family: monospace, monospace; font-size: 1em; }

/* Forms ========================================================================== */
/** Known issues: - By default, Chrome on OS X and Safari on OS X allow very limited styling of select, unless a border property is set. The default font weight on optgroup elements cannot safely be changed in Chrome on OSX and Safari on OS X. - It is recommended that you do not style checkbox and radio inputs as Firefox's implementation does not respect box-sizing, padding, or width. - Certain font size values applied to number inputs cause the cursor style of the decrement button to change from default to text. - The search input is not fully stylable by default. In Chrome and Safari on OSX/iOS you can't control font, padding, border, or background. In Chrome and Safari on Windows you can't control border properly. It will apply border-width but will only show a border color (which cannot be controlled) for the outer 1px of that border. Applying -webkit-appearance: textfield addresses these issues without removing the benefits of search inputs (e.g. showing past searches). Safari (but not Chrome) will clip the cancel button on when it has padding (and textfield appearance). */
/** 1. Change font properties to `inherit` in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. 3. Address `font-family` inconsistency between `textarea` and other form in IE 7 4. Improve appearance and consistency with IE 6/7. */
button, input, optgroup, select, textarea { font: inherit; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. */
button { 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 */ }

button, [type="button"], [type="reset"], [type="submit"] { /** Remove the inner border and padding in Firefox. */ /** Restore the focus styles unset by the previous rule. */ }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Show the overflow in Edge. */
input { overflow: visible; }

/** 1. Add the correct box sizing in IE <11. 2. Remove the padding in IE <11. 3. Remove excess padding in IE 7. Known issue: excess padding remains in IE 6. */
[type="checkbox"], [type="radio"] { -webkit-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: 1; }

/** 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 */ }

/** 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. 4. Correct alignment displayed oddly in IE 6/7. */
legend { -webkit-box-sizing: border-box; box-sizing: border-box; /* 1 */ display: table; /* 1 */ max-width: 100%; /* 1 */ white-space: normal; /* 1 */ color: inherit; /* 2 */ padding: 0; /* 3 */ }

/** Restore the font weight unset by a previous rule. */
optgroup { font-weight: bold; }

/** Remove the default vertical scrollbar in IE. */
textarea { overflow: auto; }

body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, form { margin: 0px; padding: 0px; }

h1, h2, h3, h4, h5, h6 { font-size: 1em; }

table { border-collapse: collapse; border-spacing: 0; }

fieldset, img { border: 0; }

ol, ul { list-style-type: none; }

img { border: none; }

@font-face { font-family: 'Genshin'; font-style: normal; font-weight: 100; src: url("../font/GenShinGothic-P-Light.eot");
  /* IE9 Compat Modes */
src: url("../font/GenShinGothic-P-Light.eot?#iefix") format("embedded-opentype"), url("../font/GenShinGothic-P-Light.woff") format("woff"), url("../font/GenShinGothic-P-Light.ttf") format("truetype");
  /* Safari, Android, iOS */ }
@font-face { font-family: 'Genshin'; font-style: normal; font-weight: 500; src: url("../font/GenShinGothic-P-Regular.eot");
  /* IE9 Compat Modes */
src: url("../font/GenShinGothic-P-Regular.eot?#iefix") format("embedded-opentype"), url("../font/GenShinGothic-P-Regular.woff") format("woff"), url("../font/GenShinGothic-P-Regular.ttf") format("truetype");
  /* Safari, Android, iOS */ }
@font-face { font-family: 'Genshin'; font-style: normal; font-weight: 700; src: url("../font/GenShinGothic-P-Medium.eot");
  /* IE9 Compat Modes */
src: url("../font/GenShinGothic-P-Medium.eot?#iefix") format("embedded-opentype"), url("../font/GenShinGothic-P-Medium.woff") format("woff"), url("../font/GenShinGothic-P-Medium.ttf") format("truetype");
  /* Safari, Android, iOS */ }
@font-face { font-family: 'Genshin'; font-style: normal; font-weight: 900; src: url("../font/GenShinGothic-P-Bold.eot");
  /* IE9 Compat Modes */
src: url("../font/GenShinGothic-P-Bold.eot?#iefix") format("embedded-opentype"), url("../font/GenShinGothic-P-Bold.woff") format("woff"), url("../font/GenShinGothic-P-Bold.ttf") format("truetype");
  /* Safari, Android, iOS */ }
@font-face { font-family: 'Gyre'; font-style: normal; font-weight: 100; src: url("../font/texgyreadventor-regular.eot");
  /* IE9 Compat Modes */
src: url("../font/texgyreadventor-regular.eot?#iefix") format("embedded-opentype"), url("../font/texgyreadventor-regular.woff") format("woff"), url("../font/texgyreadventor-regular.ttf") format("truetype");
  /* Safari, Android, iOS */ }
@font-face { font-family: 'Gyre'; font-style: normal; font-weight: 500; src: url("../font/texgyreadventor-regular.eot");
  /* IE9 Compat Modes */
src: url("../font/texgyreadventor-regular.eot?#iefix") format("embedded-opentype"), url("../font/texgyreadventor-regular.woff") format("woff"), url("../font/texgyreadventor-regular.ttf") format("truetype");
  /* Safari, Android, iOS */ }
@font-face { font-family: 'Gyre'; font-style: normal; font-weight: 700; src: url("../font/texgyreadventor-bold.eot");
  /* IE9 Compat Modes */
src: url("../font/texgyreadventor-bold.eot?#iefix") format("embedded-opentype"), url("../font/texgyreadventor-bold.woff") format("woff"), url("../font/texgyreadventor-bold.ttf") format("truetype");
  /* Safari, Android, iOS */ }
@font-face { font-family: 'Gyre'; font-style: normal; font-weight: 900; src: url("../font/texgyreadventor-bold.eot");
  /* IE9 Compat Modes */
src: url("../font/texgyreadventor-bold.eot?#iefix") format("embedded-opentype"), url("../font/texgyreadventor-bold.woff") format("woff"), url("../font/texgyreadventor-bold.ttf") format("truetype");
  /* Safari, Android, iOS */ }
#header-container header .search, #header-container header .search ul, #header-container header #globalnavi > ul, #header-container header #globalnavi > ul > li#link_philosophy .subnavi ul, #header-container header #globalnavi > ul > li#link_company .subnavi ul, #header-container header #globalnavi > ul > li#link_ir .subnavi ul, #header-container header #globalnavi > ul > li#link_group .subnavi ul, #header-container header #sp-navi .search, #localnavi ul, #premium-group ul, footer .inr nav, footer .inr .footer-submenu ul, #contents .wrapper, #breadcrumb ul, #home #contents #news .sp-icons, #home #contents #news ul li, #home #contents #news ul li a, #topmessage #main .messages .row, #companyinformation .company-link, #groupinformation .company-link, #groupinformation table tr td dl, #philosophy .value, #philosophy .value .left .box, #newstop #main #news-link ul, #newstop #main #news .sp-icons, #newstop #main #news ul li, #newstop #main #news ul li a, #executive #main #executive-link ul, #executive #main .ex-section .ex-positions .ex-group { *zoom: 1; }
#header-container header .search:after, #header-container header .search ul:after, #header-container header #globalnavi > ul:after, #header-container header #globalnavi > ul > li#link_philosophy .subnavi ul:after, #header-container header #globalnavi > ul > li#link_company .subnavi ul:after, #header-container header #globalnavi > ul > li#link_ir .subnavi ul:after, #header-container header #globalnavi > ul > li#link_group .subnavi ul:after, #header-container header #sp-navi .search:after, #localnavi ul:after, #premium-group ul:after, footer .inr nav:after, footer .inr .footer-submenu ul:after, #contents .wrapper:after, #breadcrumb ul:after, #home #contents #news .sp-icons:after, #home #contents #news ul li:after, #home #contents #news ul li a:after, #topmessage #main .messages .row:after, #companyinformation .company-link:after, #groupinformation .company-link:after, #groupinformation table tr td dl:after, #philosophy .value:after, #philosophy .value .left .box:after, #newstop #main #news-link ul:after, #newstop #main #news .sp-icons:after, #newstop #main #news ul li:after, #newstop #main #news ul li a:after, #executive #main #executive-link ul:after, #executive #main .ex-section .ex-positions .ex-group:after { content: ""; display: table; clear: both; }

html, body { width: 100%; }

body { color: #231815; font: 18px/1.8 "Gyre", "Genshin"; font-weight: 500 !important; position: relative; }

:placeholder-shown { color: #eee; opacity: 1; }

::-webkit-input-placeholder { color: #eee; opacity: 1; }

:-moz-placeholder { color: #eee; opacity: 1; }

::-moz-placeholder { color: #eee; opacity: 1; }

:-ms-input-placeholder { color: #eee; opacity: 1; }

body.fs__large { font: 24px/1.8 "Genshin"; }

img { vertical-align: bottom; }

@media only screen and (max-width: 760px) { .pc { display: none !important; } }

.spi { display: none !important; }
@media only screen and (max-width: 760px) { .spi { display: inline !important; } }

.spb { display: none !important; }
@media only screen and (max-width: 760px) { .spb { display: block !important; } }

a { color: #231815; text-decoration: none; }

a.link_line { position: relative; }
a.link_line span { background: #d41619; bottom: 0; display: block; height: 4px; left: 0; position: absolute; -webkit-transition: width .5s; transition: width .5s; width: 0; }
a.link_line:hover span { width: 100%; }

/* 共通 ----------------------------*/
#header .tenth_logo { left: 15px; position: absolute; top: 15px; }
@media only screen and (max-width: 760px) { #header .tenth_logo { left: 8px; top: 8px; }
#header .tenth_logo img { width: 31px; } }
#header .main-title { margin: 0 auto; width: 1000px; }
@media only screen and (max-width: 760px) { #header .main-title { width: auto; } }
#header .main-title h1 { font-size: 267%; font-weight: 700; letter-spacing: 0.1em; line-height: 1; padding-left: 27px; }
@media only screen and (max-width: 760px) { #header .main-title h1 { font-size: 133%; line-height: 1.2; padding: 0 15px; } }
#header .main-title h1 span { color: #d41619; }
#header .main-title h1 small { font-size: 50%; letter-spacing: 0.3em; }
@media only screen and (max-width: 760px) { #header .main-title h1 small { font-size: 50%; } }

#header-container { height: 132px; }
@media only screen and (max-width: 760px) { #header-container { height: 126px; } }
#header-container header { background: #fff; border: 1px solid #eee; border-radius: 12px; left: 50%; margin-left: -500px; padding-top: 15px; position: absolute; top: 18px; width: 1000px; z-index: 9999; }
@media only screen and (max-width: 760px) { #header-container header { border-radius: 7px; left: 2%; margin-left: 0; padding-top: 0; top: 15px; width: 96%; } }
#header-container header h1 { text-align: center; }
@media only screen and (max-width: 760px) { #header-container header h1 { line-height: 50px; }
#header-container header h1 img { vertical-align: middle; } }
#header-container header .copyright { font-size: 36%; left: 20px; position: absolute; top: 16px; -webkit-transform: scale(0.65); }
@media only screen and (max-width: 760px) { #header-container header .copyright { display: none; } }
#header-container header .search { position: absolute; right: 20px; top: 16px; }
@media only screen and (max-width: 760px) { #header-container header .search { display: none; } }
#header-container header .search .lang_link { float: left; font-size: 67%; margin-right: 12px; padding-top: 14px; }
#header-container header .search label { display: none; }
#header-container header .search form { float: left; }
#header-container header .search form input[type=text] { background: #d41619; border: none; color: #eee; font-size: 78%; height: 25px; padding: 0 10px; vertical-align: baseline; width: 149px; }
#header-container header .search form input[type=submit] { background: url(../sw_img/btn_search.png) no-repeat left top; border: none; cursor: pointer; display: inline-block; height: 24px; margin-left: 4px; text-indent: -9999px; vertical-align: middle; width: 23px; }
#header-container header .search ul { float: left; margin-left: 8px; }
#header-container header .search ul li { float: left; margin-left: 4px; }
@media only screen and (max-width: 760px) { #header-container header #globalnavi { display: none; } }
#header-container header #globalnavi > ul { padding: 0 16px; }
#header-container header #globalnavi > ul > li { background: url(../sw_img/bg_nav_line.png) no-repeat left bottom; float: left; }
#header-container header #globalnavi > ul > li#link_philosophy, #header-container header #globalnavi > ul > li#link_company { position: relative; width: 275px; }
#header-container header #globalnavi > ul > li#link_philosophy > a, #header-container header #globalnavi > ul > li#link_company > a { background: url("../sw_img/icon_arrow_b.png") no-repeat center 25px; display: block; font-size: 89%; font-weight: 900; line-height: 1; padding-bottom: 25px; position: relative; text-align: center; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi, #header-container header #globalnavi > ul > li#link_company .subnavi { left: -16px; display: none; overflow: hidden; padding-top: 11px; position: absolute; top: 40px; width: 1000px; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi.on ul, #header-container header #globalnavi > ul > li#link_company .subnavi.on ul { opacity: 1; top: 0; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul, #header-container header #globalnavi > ul > li#link_company .subnavi ul { background: #fff; border: 1px solid #eee; opacity: 0; padding: 15px 14px; position: relative; top: -127px; -webkit-transition: all .5s; transition: all .5s; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li, #header-container header #globalnavi > ul > li#link_company .subnavi ul li { float: left; font-size: 78%; line-height: 1.4; margin-left: 30px; position: relative; width: 220px; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li small, #header-container header #globalnavi > ul > li#link_company .subnavi ul li small { font-size: 86%; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li:first-child, #header-container header #globalnavi > ul > li#link_company .subnavi ul li:first-child { margin-left: 0; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li.l1 a, #header-container header #globalnavi > ul > li#link_company .subnavi ul li.l1 a { height: 53px; padding-top: 33px; ; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li a, #header-container header #globalnavi > ul > li#link_company .subnavi ul li a { background: url("../sw_img/icon_arrow_r01.png") no-repeat 27px center; display: table-cell; vertical-align: middle; overflow-wrap: anywhere; height: 86px; padding-left: 36px; position: relative; z-index: 2; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li span, #header-container header #globalnavi > ul > li#link_company .subnavi ul li span { background: url("../sw_img/bg_subnavi.png") repeat-x; height: 86px; left: 0; position: absolute; top: 0; -webkit-transition: width .5s; transition: width .5s; width: 0; z-index: 1; }
#header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li span.on, #header-container header #globalnavi > ul > li#link_company .subnavi ul li span.on { width: 100%; }
#header-container header #globalnavi > ul > li#link_company .subnavi { left: -305px; }
#header-container header #globalnavi > ul > li#link_ir, #header-container header #globalnavi > ul > li#link_recruit, #header-container header #globalnavi > ul > li#link_sdgs, #header-container header #globalnavi > ul > li#link_group { height: 16px; margin-top: 25px; position: relative; width: 100px; }
#header-container header #globalnavi > ul > li#link_ir > a, #header-container header #globalnavi > ul > li#link_sdgs > a, #header-container header #globalnavi > ul > li#link_recruit > a, #header-container header #globalnavi > ul > li#link_group > a { display: block; font-size: 56%; font-weight: 500; height: 26px; left: 0; line-height: 1; position: absolute; top: -10px; text-align: center; width: 100px; }
#header-container header #globalnavi > ul > li#link_ir .subnavi { left: -596px; display: none; overflow: hidden; padding-top: 11px; position: absolute; top: 15px; width: 1000px; }
#header-container header #globalnavi > ul > li#link_ir .subnavi.on ul { opacity: 1; top: 0; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul { background: #fff; border: 1px solid #eee; opacity: 0; padding: 15px 14px; position: relative; top: -127px; -webkit-transition: all .5s; transition: all .5s; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li { float: left; font-size: 78%; line-height: 1.4; margin-left: 30px; position: relative; width: 220px; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li small { font-size: 86%; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li:first-child { margin-left: 0; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li.l1 a { height: 53px; padding-top: 33px; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li a { background: url("../sw_img/icon_arrow_r01.png") no-repeat 27px center; display: block; height: 61px; padding-top: 25px; padding-left: 36px; position: relative; z-index: 2; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li a.disabled { cursor: default; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li a.disabled + span.on { width: 0; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li span { background: url("../sw_img/bg_subnavi.png") repeat-x; height: 86px; left: 0; position: absolute; top: 0; -webkit-transition: width .5s; transition: width .5s; width: 0; z-index: 1; }
#header-container header #globalnavi > ul > li#link_ir .subnavi ul li span.on { width: 100%; }
#header-container header #globalnavi > ul > li#link_group a { background: url(../sw_img/bg_nav_line.png) no-repeat right bottom; }
#header-container header #globalnavi > ul > li#link_group .subnavi { left: -851px; display: none; overflow: hidden; padding-top: 11px; position: absolute; top: 15px; width: 1000px; }
#header-container header #globalnavi > ul > li#link_group .subnavi.on ul { opacity: 1; top: 0; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul { background: #fff; border: 1px solid #eee; opacity: 0; padding: 15px 14px; position: relative; top: -127px; -webkit-transition: all .5s; transition: all .5s; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li { float: left; font-size: 78%; line-height: 1.4; margin-left: 30px; position: relative; width: 160px; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li small { font-size: 86%; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li:first-child { margin-left: 0; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li.l1 a { height: 86px; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li a { background: url("../sw_img/icon_arrow_r01.png") no-repeat 27px center; display: table-cell; vertical-align: middle; overflow-wrap: anywhere; height: 86px; padding-left: 36px; position: relative; z-index: 2; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li a.disabled { cursor: default; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li a.disabled + span.on { width: 0; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li span { background: url("../sw_img/bg_subnavi.png") repeat-x; height: 86px; left: 0; position: absolute; top: 0; -webkit-transition: width .5s; transition: width .5s; width: 0; z-index: 1; }
#header-container header #globalnavi > ul > li#link_group .subnavi ul li span.on { width: 100%; }
@media only screen and (max-width: 760px) { #header-container header #sp-menu { line-height: 1; position: absolute; right: 7px; top: 17px; } }
#header-container header #sp-navi { display: none; padding: 0 25px 20px; }
#header-container header #sp-navi h3 { font-size: 100%; }
#header-container header #sp-navi li { font-size: 78%; line-height: 1.9; }
#header-container header #sp-navi .lang_link { font-size: 61%; margin-top: 20px; }
#header-container header #sp-navi .search { position: static; right: 20px; top: 16px; }
@media only screen and (max-width: 760px) { #header-container header #sp-navi .search { display: block; } }
#header-container header #sp-navi .search label { display: none; }
#header-container header #sp-navi .search form { float: none; margin: 0 auto; width: 202px; }
#header-container header #sp-navi .search form input[type=text] { background: #d41619; border: none; color: #eee; font-size: 78%; height: 25px; padding: 0 10px; vertical-align: baseline; width: 149px; }
#header-container header #sp-navi .search form input[type=submit] { background: url(../sw_img/btn_search.png) no-repeat left top; border: none; cursor: pointer; display: inline-block; height: 24px; margin-left: 4px; text-indent: -9999px; vertical-align: middle; width: 23px; }

#localnavi { margin: 0 auto; width: 996px; }
@media only screen and (max-width: 760px) { #localnavi { display: none; margin-bottom: 70px; width: 100%; } }
#localnavi ul li { background: url("../sw_img/bg_translucent.png") repeat; border-radius: 10px; float: left; margin-left: 12px; width: 240px; }
@media only screen and (max-width: 760px) { #localnavi ul li { border-bottom: 1px solid #a59a94; border-radius: 0; float: none; margin: 0; padding: 12px 0; width: 100%; } }
#localnavi ul li:first-child { margin-left: 0; }
#localnavi ul li h3 { font-size: 89%; font-weight: 900; line-height: 43px; text-align: center; }
@media only screen and (max-width: 760px) { #localnavi ul li h3 { font-size: 100%; line-height: 1; margin-bottom: 3px; } }
#localnavi ul li .img { line-height: 1; position: relative; }
#localnavi ul li .img span { background: #d41619; bottom: 0; display: block; height: 4px; left: 0; position: absolute; -webkit-transition: width .5s; transition: width .5s; width: 0; }
#localnavi ul li .cap { font-size: 78%; font-weight: 900; line-height: 1; padding-top: 15px; text-align: center; }
@media screen and (max-width: 1500px) { #localnavi ul li .cap { font-size: 72%; } }
@media only screen and (max-width: 760px) { #localnavi ul li .cap { font-size: 56%; line-height: 1; } }
#localnavi ul li .cap-sub { font-size: 67%; letter-spacing: .15em; line-height: 1.5; min-height: 108px; padding: 10px 15px 15px; text-align: justify; }
@media screen and (max-width: 1500px) { #localnavi ul li .cap-sub { font-size: 61%; min-height: 80px; } }
#localnavi ul li a { display: block; }
#localnavi ul li a:hover span { width: 100%; }

.sub-text { display: none; font-size: 44%; font-weight: 900; -webkit-transform: scale(0.8); -webkit-transform-origin: 0 50% 0; transform-origin: 0 50% 0; left: 0; position: absolute; }

#contents { background: #fff url("../sw_img/bg_line.gif") repeat-x left top; }
@media only screen and (max-width: 760px) { #contents { background: #fff url("../sw_img/sp/bg_line.gif") repeat-x left top; background-size: 9px auto; } }
#contents #main { margin: 0 auto; width: 1000px; }
@media only screen and (max-width: 760px) { #contents #main { width: 100%; } }

.title-circle { background: url("../sw_img/icon_ttl.png") no-repeat center top; margin: 0 auto 50px; padding-top: 45px; position: relative; text-align: center; width: 1000px; }
@media only screen and (max-width: 760px) { .title-circle { background: url("../sw_img/sp/icon_ttl.png") no-repeat center top; background-size: 23px auto; margin-bottom: 26px; padding-top: 25px; width: auto; } }
.title-circle h2 { display: inline-block; font-size: 113%; font-weight: 900; letter-spacing: 0.1em; line-height: 1; padding-bottom: 6px; position: relative; }
@media only screen and (max-width: 760px) { .title-circle h2 { font-size: 78%; } }
.title-circle h2 span { background: #231815; bottom: 0; height: 3px; left: 0; position: absolute; -webkit-transition: width .5s; transition: width .5s; width: 0; }
@media only screen and (max-width: 760px) { .title-circle h2 span { height: 1px; } }
.title-circle h2.on span { width: 100%; }
.title-circle p { top: 60px; }
@media only screen and (max-width: 760px) { .title-circle p { display: none; } }

.item { margin-bottom: 200px; }
@media only screen and (max-width: 760px) { .item { margin-bottom: 63px; } }

#premium-recruit { margin: 0 auto 133px; width: 1028px; }
@media only screen and (max-width: 760px) { #premium-recruit { margin-bottom: 70px; width: 100%; } }
@media only screen and (max-width: 760px) { #premium-recruit .recruit-image img { width: 100%; } }
#premium-recruit .recruit-lead { font-size: 111%; letter-spacing: .2em; margin-bottom: 8px; text-align: center; }
@media only screen and (max-width: 760px) { #premium-recruit .recruit-lead { font-size: 56%; } }
#premium-recruit a { background: #d41619; color: white; display: block; font-weight: 100; font-size: 133%; letter-spacing: .2em; line-height: 80px; text-align: center; -webkit-transition: all .5s ease-in-out; transition: all .5s ease-in-out; }
@media only screen and (max-width: 760px) { #premium-recruit a { font-size: 67%; line-height: 40px; } }
#premium-recruit a:hover { opacity: .7; }

#premium-group { margin: 0 auto 80px; width: 1028px; }
@media only screen and (max-width: 760px) { #premium-group { margin-bottom: 20px; width: 100%; } }
#premium-group ul li { float: left; margin-left: 14px; width: 333px; }
@media only screen and (max-width: 760px) { #premium-group ul li { float: none; margin-left: 0; margin-top: 25px; width: 100%; } }
#premium-group ul li:first-child { margin-left: 0; }
@media only screen and (max-width: 760px) { #premium-group ul li:first-child { margin-top: 0; } }
#premium-group ul li .img { margin-bottom: 5px; }
#premium-group ul li .img img { width: auto; }
@media only screen and (max-width: 760px) { #premium-group ul li .img img { width: 100%; } }
#premium-group ul li .cap { font-size: 67%; font-weight: 900; margin-bottom: 5px; text-align: center; }
@media only screen and (max-width: 760px) { #premium-group ul li .cap { font-size: 56%; margin-bottom: 5px; } }
#premium-group ul li .lead { font-size: 67%; letter-spacing: .15em; line-height: 1.5; margin-bottom: 25px; min-height: 54px; padding: 0 15px; text-align: justify; }
@media only screen and (max-width: 760px) { #premium-group ul li .lead { font-size: 56%; margin-bottom: 15px; min-height: 0; } }
#premium-group ul li .link a { background: #d41619; color: white; display: block; font-size: 78%; letter-spacing: .2em; line-height: 50px; text-align: center; -webkit-transition: all .5s ease-in-out; transition: all .5s ease-in-out; }
@media only screen and (max-width: 760px) { #premium-group ul li .link a { font-size: 67%; line-height: 40px; } }
#premium-group ul li .link a:hover { opacity: .7; }
#premium-group ul li .link a.disabled { cursor: default; }
#premium-group ul li .link a.disabled:hover { opacity: 1; }

.pagetop { margin: 0 auto; padding-bottom: 46px; position: relative; text-align: center; width: 1000px; }
@media only screen and (max-width: 760px) { .pagetop { line-height: 1; padding-bottom: 20px; width: auto; } }
.pagetop img { position: relative; top: 0; }
.pagetop .sub-text { display: none; top: 15px; }
@media only screen and (max-width: 760px) { .pagetop .sub-text { display: none; } }

.icon { border-radius: 7px; color: #fff; float: right; font-size: 67%; line-height: 27px; text-align: center; width: 122px; background: #d41619; letter-spacing: 0.1em; }
@media only screen and (max-width: 760px) { .icon { border-radius: 5px; float: left; font-size: 56%; line-height: 18px; margin-right: 6px; width: 61px; } }

footer { background: #eeeeef; }
footer .inr { margin: 0 auto; padding: 60px 0 80px; position: relative; width: 1000px; }
@media only screen and (max-width: 760px) { footer .inr { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 15px; width: 100%; } }
footer .inr h1 { line-height: 1; margin-bottom: 16px; }
footer .inr .lead { font-size: 89%; font-weight: 900; letter-spacing: 0.2em; line-height: 1; margin-bottom: 40px; }
@media only screen and (max-width: 760px) { footer .inr .lead { font-size: 67%; margin-bottom: 20px; } }
footer .inr .address { bottom: 80px; font-size: 83%; font-weight: 700; letter-spacing: .1em; line-height: 1.5; position: absolute; right: 0; }
@media only screen and (max-width: 760px) { footer .inr .address { font-size: 61%; margin-bottom: 20px; position: static; } }
footer .inr h2 { font-weight: 500; letter-spacing: 0.15em; line-height: 1; margin-bottom: 26px; }
@media only screen and (max-width: 760px) { footer .inr h2 { font-size: 39%; -webkit-transform: scale(0.7); -webkit-transform-origin: 0 50% 0; transform-origin: 0 50% 0; margin-bottom: 6px; } }
footer .inr nav { margin-bottom: 30px; }
@media only screen and (max-width: 760px) { footer .inr nav { margin-bottom: 20px; }
  footer .inr nav .sp-group { float: left; width: 50%; } }
footer .inr nav .footer-menu { float: left; margin-right:40px; }
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu { width: 45%; } }
footer .inr nav .footer-menu h3 { font-size: 78%; font-weight: 900; margin-bottom: 25px; }
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu h3 { font-size: 67%; margin-bottom: 10px; } }
footer .inr nav .footer-menu li { font-size: 78%; letter-spacing: 0.15em; }
footer .inr nav .footer-menu li a:hover { text-decoration: underline; }
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu li { font-size: 56%; } }
/*ooter .inr nav .footer-menu.footer-menu01 { width: 64px; } */
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu.footer-menu01 { float: none; margin-bottom: 10px; } }
/*footer .inr nav .footer-menu.footer-menu02 { width: 200px; } */
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu.footer-menu02 { float: none; margin-bottom: 20px; } }
/*footer .inr nav .footer-menu.footer-menu03 { width: 170px; } */
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu.footer-menu03 { float: right; margin-bottom: 30px; width: 50%; } }
/*footer .inr nav .footer-menu.footer-menu04 { width: 150px; } */
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu.footer-menu04 { float: right; width: 50%; } }
/*footer .inr nav .footer-menu.footer-menu05 { width: 120px; } */
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu.footer-menu05 { float: none; width: 1000%; } }
/*footer .inr nav .footer-menu.footer-menu06 { width: 280px; } */
@media only screen and (max-width: 760px) { footer .inr nav .footer-menu.footer-menu06 { float: none; width: 1000%; } }
footer .inr .footer-submenu { margin-bottom: 20px; }
footer .inr .footer-submenu ul li { float: left; margin-right: 26px; }
@media only screen and (max-width: 760px) { footer .inr .footer-submenu ul li { float: none; margin-right: 10px; line-height: 1.2; } }
footer .inr .footer-submenu ul li a { font-size: 78%; }
@media only screen and (max-width: 760px) { footer .inr .footer-submenu ul li a { font-size: 67%; } }
footer .inr .footer-submenu ul li a:hover { text-decoration: underline; }
footer .inr .copyright { font-size: 67%; font-weight: 700; letter-spacing: 0.1em; }
footer .inr .footer-btn { bottom: 15px; left: 50%; margin-left: -16px; opacity: 0; position: absolute; }
footer #footer-message { background: white; display: none; padding: 25px 0 40px; }
footer #footer-message .item { margin: 0 auto 35px; width: 1000px; }
footer #footer-message .item h3 { font-size: 78%; margin-bottom: 18px; }
footer #footer-message .item p { font-size: 67%; }

/* main page ----------------------------*/
#mainvisual { height: 160%; margin: 0 auto; opacity: 0; padding-top: 18px; position: fixed; -webkit-transition: opacity .5s; transition: opacity .5s; width: 100%; z-index: -1; }
#mainvisual.on { opacity: 1; }
@media only screen and (max-width: 760px) { #mainvisual { height: 305px; opacity: 1; padding-top: 15px; } }
#header { margin: 0 auto; padding-top: 18px; position: relative; -webkit-transition: height .2s; transition: height .2s; width: 100%; }
/*@media screen and (max-width: 1500px) { #header { height: 600px; } }*/
@media only screen and (max-width: 760px) { #header { height: 305px; padding-top: 15px; position: relative; } }
#header #header-container { margin-bottom: 62px; }
@media screen and (max-width: 1500px) { #header #header-container { margin-bottom: 60px; } }
@media only screen and (max-width: 760px) { #header #header-container { height: 95px; margin-bottom: 0; } }
#header #header-container header h1 { margin: 0 0 30px 0; font-size: 1em; }
@media only screen and (max-width: 760px) { #header #header-container header h1 { margin-bottom: 0; } }
#header .lead { color: #000; font-size: 161%; font-weight: 900; margin-bottom: 20px; line-height: 1; letter-spacing: .2em; text-align: center; }
@media screen and (max-width: 1500px) { #header .lead { font-size: 111%; margin-bottom: 20px; }
  #header .lead img { width: 100px; } }
@media only screen and (max-width: 760px) { #header .lead { font-size: 67%; left: 0; margin-top: -6px; top: 50%; width: 100%; } }
#header .lead-sub { color: #000; font-size: 89%; font-weight: 700; letter-spacing: .2em; margin-bottom: 50px; text-align: center; }
@media screen and (max-width: 1500px) { #header .lead-sub { font-size: 67%; margin-bottom: 40px; } }
@media only screen and (max-width: 760px) { #header .lead-sub { color: white; font-size: 78%; margin-top: 30px; margin-bottom: 0; } }
#header .down { bottom: 40px; left: 50%; position: absolute; margin-left: -50px; }
@media only screen and (max-width: 760px) { #header .down { margin-left: -25px; }
  #header .down img { width: 50%; } }
@media only screen and (max-width: 760px) { #contents { padding-top: 30px; } }
#contents .wrapper { margin: 0 auto 200px; width: 1000px; }
@media only screen and (max-width: 760px) { #contents .wrapper { -webkit-box-sizing: border-box; box-sizing: border-box; line-height: 1.3; margin-bottom: 60px; padding: 0 15px; width: 100%; } }
#contents .wrapper .left { float: left; width: 475px; }
@media only screen and (max-width: 760px) { #contents .wrapper .left { display: inline; float: none; width: 100%; } }
#contents .wrapper .right { float: right; margin-top: 72px; width: 475px; }
@media only screen and (max-width: 760px) { #contents .wrapper .right { display: inline; float: none; margin-top: 0; width: 100%; } }
#contents .wrapper h3 { font-size: 133%; font-weight: 900; margin-bottom: 30px; }
@media only screen and (max-width: 760px) { #contents .wrapper h3 { font-size: 78%; margin-bottom: 10px; } }
#contents .wrapper p { font-weight: 100; letter-spacing: 0.1em; line-height: 2; text-align: justify; }
@media only screen and (max-width: 760px) { #contents .wrapper p { display: inline; font-size: 72%; line-height: 1.3; } }

#breadcrumb { margin: 0 auto 35px; padding-top: 50px; position: relative; width: 1000px; }
@media only screen and (max-width: 760px) { #breadcrumb { display: none; width: 100%; } }
#breadcrumb ul { margin: 0 auto; width: 1000px; }
@media only screen and (max-width: 760px) { #breadcrumb ul { width: 100%; } }
#breadcrumb ul li { float: left; font-size: 78%; margin-left: 5px; }
#breadcrumb ul li:first-child { margin-left: 0; }
#breadcrumb ul li a:hover { text-decoration: underline; }
#breadcrumb .sub-text { display: none; top: 60px; }
@media only screen and (max-width: 760px) { #breadcrumb .sub-text { display: none; } }



#header-container header #globalnavi > ul > li#link_company .subnavi ul li { margin-left: 0; width: auto; }
#header-container header #globalnavi > ul > li#link_company .subnavi ul li a { background-position: 5px center; padding-left: 20px; padding-right: 13px; }



.font-large #header #header-container { margin-bottom: 40px; }
.font-large #header .lead-sub { margin-bottom: 35px; }
@media screen and (max-width: 1500px) { .font-large #header { height: 780px; } }
.font-large #localnavi ul li .cap { min-height: 36px; }
.font-large #localnavi ul li .cap-sub { min-height: 170px; }
.font-large #contents .wrapper h3 { letter-spacing: -0.04em; margin-bottom: 15px; }
.font-large .large-dn { display: none !important; }
.font-large #topmessage #main .messages .row .item h3 br { display: none; }
.font-large #localnavi ul li a .cap { letter-spacing: -0.04em; }
.font-large #header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li a, .font-large #header-container header #globalnavi > ul > li#link_company .subnavi ul li a { height: 68px !important; padding-top: 8px !important; }
.font-large #header-container header #globalnavi > ul > li#link_philosophy .subnavi ul li.large-l3 a, .font-large #header-container header #globalnavi > ul > li#link_company .subnavi ul li.large-l3 a { height: 76px !important; padding-top: 0 !important; }
.font-large #header-container header #globalnavi > ul > li#link_group .subnavi ul li.large-nobr a br { display: none; }
.font-large #premium-group ul li .lead { min-height: 96px; }
.font-large footer .inr .address { bottom: 50px; font-size: 74%; }

#header #header-container header .header-sd { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 30px; }
#header #header-container header .header-sd h1 { margin: 0 }
#header #header-container header .header-sd h1 img { height: 46px; }
/*#header #header-container header .header-sd h1 img:first-child { margin-right: 20px; }
#header #header-container header .header-sd h1 img:nth-child(2) { opacity: 0; -webkit-transform: translate(-20px); -ms-transform: translate(-20px); transform: translate(-20px); -webkit-transition: 0.4s ease-in-out; -o-transition: 0.4s ease-in-out; transition: 0.4s ease-in-out; }
#header #header-container header .header-sd h1.on img:nth-child(2) { opacity: 1; -webkit-transform: translate(0); -ms-transform: translate(0); transform: translate(0); }*/
#header #header-container header .header-sd .header-sd-detail { margin-left: 20px; opacity: 0; padding-top: 5px; -webkit-transition: 0.4s ease-in-out; -o-transition: 0.4s ease-in-out; transition: 0.4s ease-in-out; -webkit-transition-delay: 1s; -o-transition-delay: 1s; transition-delay: 1s; }
#header #header-container header .header-sd .header-sd-detail.on { opacity: 1; }
#header #header-container header .header-sd .header-sd-detail h4 { font-size: 18px; font-weight: normal; line-height: 1.2; margin-bottom: 7px; }
#header #header-container header .header-sd .header-sd-detail p { font-size: 14px; font-weight: 900; line-height: 1.2; }
@media only screen and (max-width: 760px) { #header #header-container header .header-sd { margin-bottom: 0; padding: 8px 0; }
#header #header-container header .header-sd h1 { line-height: 1;  }
#header #header-container header .header-sd h1 img:first-child { margin-right: 10px; height: 31px; }
#header #header-container header .header-sd h1 img:nth-child(2) { width: 80px; }
#header #header-container header .header-sd .header-sd-detail { margin-left: 10px; padding-top: 0; }
#header #header-container header .header-sd .header-sd-detail h4 { font-size: 12px; margin-bottom: 0; }
#header #header-container header .header-sd .header-sd-detail p { font-size: 10px; } }
