@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Shippori+Mincho+B1:wght@700&family=Shippori+Mincho:wght@600&display=swap');

/* resset.dev • v5.0.2 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
  color: inherit; /* Correct border color in Firefox. */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type='search'] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type='button'],
[type='reset'],
[type='submit'],
[role='button'] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type='button'], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Specify the progress cursor of updating elements */
[aria-busy='true'] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled='true'] {
  cursor: default;
}

/* common ------------------------------------------------------------ */
html { font-size:62.5%;}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .1em;
  margin: 0;
  padding: 0;
  color: #595858;
  background: #fff;
}
.wrapper {
  width: 100%;
  max-width:1920px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  position: relative;
}

/*  support iOS */
@media screen and (max-width:767px) {
  html{
    height:100%;
    height: -webkit-fill-available;
    overfrow:hidden;
  }
  body{
    min-height: 100vh;
    min-height: -webkit-fill-available;
  }
  .wrapper { overflow-y:auto; height:100vh;}
}

header,footer,section,div,h1,h2,h3,h4,h5,h6,p,li,td,dt,dd {
  font-size: 1em;
  line-height:1.75;
  margin: 0;
  padding: 0;
}
a { color:#003ca0;}/* 仮 */
a:focus, *:focus { outline:none;}
a:hover img,
a:hover { opacity:.8;}
*, *:before, *:after {
  -webkit-box-sizing:border-box;
  box-sizing:border-box
}
img {	vertical-align:bottom; display:block; width:100%; height:auto;}
ul, ol { list-style-type:none; margin:0; padding:0;}
.clearfix:after {
  content:"";
  display:block;
  clear:both;
} 
.clearfix:before {
  content:"";
  display:block;
  clear:both;
} 
.clearfix {
  display:block;
}

/* NotoSans */
.fw_normal { font-weight:400;}
.fw_medium { font-weight:500;}
.fw_bold,.text-bold { font-weight:700;}
/* Mincho */
.ff_Shippori { font-family: 'Shippori Mincho', serif; font-weight:600;}
.ff_ShipporiB1 { font-family: 'Shippori Mincho B1', serif; font-weight:700;}

.global-nav a,
.footer-nav a { display:block; color:#595858; text-decoration:none;}
.text-red { color:#f00;}
.text-center { text-align:center;}

/* header */
.header-box { height:96px; width:100%; position:fixed; top:0; left:0; z-index:100; transition: .3s;}
header { width:100%; background:#fff; margin:0; position:relative;}
.site-logo { width:474px; position:absolute; top:50%; left:88px; transform:translateY(-50%);}
.header-nav { display:flex; justify-content:flex-end; align-items:center;}
.global-nav { display:flex; justify-content:flex-end; width:auto; margin-right:30px; position:relative;}
.global-nav .nav-item { padding:0 20px;}

.search-box { background:#585858; width:405px; height:96px; margin-top:-2px !important; padding-left:35px; display:flex; justify-content:flex-start; align-items:center;}
.search-box form { margin:0 !important; padding:0 !important;}
.search-box .search-input { vertical-align:middle; margin:0; padding:0; width:160px; height:26px; background:#fff; font-size:1.6rem;}
.search-box .search-button { width:26px; margin:0 !important; padding:0 !important; vertical-align:middle !important;}
.search-box .search-button > img { width:100%; height:auto;}
.search-box .language { font-size:1.8rem;}
.search-box .language a { color:#fff; text-decoration:none; margin-left:3rem; line-height:26px;}
.search-box ::placeholder { color:#fff;}

.global-nav > li > a { white-space:nowrap; padding:0; display:inline-block; position:relative; font-size:1.8rem;}
.global-nav > li > a::after { position:absolute; bottom:-.3em; left:50%; content:""; width:0; height:2px; background-color:#595858; transition:.2s; transform: translateX(-50%); z-index:2;}
.global-nav > li > a:hover::after { width:100%;}
.global-nav > li > a:hover { opacity:1; color:#333;}

.global-nav-child-box { background:transparent; position:absolute; top:100%; left:0; width:1000%; overflow:hidden; z-index:100;}
.global-nav-child-background { background:#f7f7f7; margin-top:46px; padding:50px 120px; text-align:left;}
.global-nav-child-background p { font-size:1.8rem; line-height:1; margin-bottom:30px;}
.global-nav-child li a { color:#595858;}

.nav-item .global-nav-child-box { top:100%; left:0; visibility:hidden; opacity:0;}
.nav-item:hover > .global-nav-child-box { left:calc(-5.5em - 12px); visibility:visible; opacity:1; transition:all .3s;}

.global-nav-child-box p.global-nav-child-title { padding-left:0 !important;}

.global-nav-child > li a { padding:1.8em 1.6em; position:relative; font-size:1.6rem; line-height:1;}
.global-nav-child > li a::before { position:absolute; top:50%; left:0; content:""; width:12px; height:56px; background:#595858; transform:translateY(-50%);}
.nav-business .global-nav-child li:first-of-type a::before { background:#e6b300;}
.nav-business .global-nav-child li:nth-of-type(2) a::before { background:#a0be50;}
.nav-business .global-nav-child li:nth-of-type(3) a::before { background:#70af5a;}
.nav-business .global-nav-child li:nth-of-type(4) a::before { background:#68b6d3;}
.nav-business .global-nav-child li:nth-of-type(5) a::before { background:#6c78b5;}
.nav-business .global-nav-child li:nth-of-type(6) a::before { background:#9774ac;}
.nav-business .global-nav-child li:nth-of-type(7) a::before { background:#d06c49;}
.nav-business .global-nav-child li:nth-of-type(8) a::before { background:#dc950f;}

@media screen and (min-width:1401px) { 
  .global-nav-child { width:800px; display:flex; flex-wrap:wrap; align-items:center;}
  .global-nav-child li { width:33.33333333%;}/* PCサイズで表示順変更
  .nav-business .global-nav-child li:nth-of-type(2) { order:4;}
  .nav-business .global-nav-child li:nth-of-type(3) { order:7;}
  .nav-business .global-nav-child li:nth-of-type(4) { order:2;}
  .nav-business .global-nav-child li:nth-of-type(5) { order:5;}
  .nav-business .global-nav-child li:nth-of-type(6) { order:8;}
  .nav-business .global-nav-child li:nth-of-type(7) { order:3;}
  .nav-business .global-nav-child li:nth-of-type(8) { order:6;}
  .nav-about .global-nav-child li:nth-of-type(2) { order:4;}
  .nav-about .global-nav-child li:nth-of-type(3) { order:7;}
  .nav-about .global-nav-child li:nth-of-type(4) { order:2;}
  .nav-about .global-nav-child li:nth-of-type(5) { order:5;}
  .nav-about .global-nav-child li:nth-of-type(6) { order:8;}
  .nav-about .global-nav-child li:nth-of-type(7) { order:3;}
  .nav-about .global-nav-child li:nth-of-type(8) { order:6;}*/
}


/* */
.pc_only { display:block;}
.sp_only { display:none;}
.top_pc_only { display:block;}
.top_sp_only { display:none;}
@media screen and (max-width:1024px) {
  .top_pc_only { display:none !important;}
}

@media screen and (max-width:1700px) {
  .site-logo { left:44px; z-index:1000;}
  .global-nav { margin-right:16px; flex:1;}
  .global-nav .nav-item { padding:0 12px; position:relative;}
  .search-box { width:260px; padding:30px 0 30px 20px;}
  .search-box .search-input { width:100px;}
  .search-box .language a { margin-left:10px;}
  .global-nav-child { width:600px;}
  .global-nav-child li { width:50%;}
  .global-nav-child li.pc_only { display:none !important;}
  .nav-item:hover > .global-nav-child-box { left:calc(-120px - 12px - 5.5em - 12px);}
  .nav-item:hover > .global-nav-child-box.nav-about { left:calc(-120px - 12px - 5.5em - 12px - 12px - 5.5em - 12px - 12px);}
}
@media screen and (max-width:1400px) { /* ヘッダ＝SP */
  .header-box { height:50px; position:fixed; top:0;/* left:0;*/ z-index:100;}
  header { height:50px;}
  .pc_only { display:none;}
  .global-nav > li > a::after { display:none;}
  .sp_only { display:block;}
  .sp-nav-content { box-shadow:4px 4px 8px rgba(0,0,0,.3); z-index:10;}
  .sp-nav-content .header-nav, .sp-nav-content .global-nav { top:-9999px;}
  .sp-nav-content.active .header-nav { top:0; display:block; width:100% !important; margin:0;}
  .sp-nav-content.active .global-nav { top:0; display:block; width:94%; margin-right:0 !important; margin:0 auto;}
  .site-logo { width:68.2666666666%; max-width:256px; left:6%; line-height:1;}
  .nav-item > .global-nav-child-box, .nav-item:hover > .global-nav-child-box { position:static; display:block; visibility:visible; opacity:1; transition:0;}
  .global-nav-child-box { background:transparent; position:static; width:100%; overflow:hidden; z-index:1;}
  .global-nav-child-background { background:#f7f7f7; margin-top:0; padding:0;}
  .global-nav-child-background p { font-size:1.4rem; line-height:1; margin-bottom:14px;}
  .global-nav .nav-item { margin:0; padding:0; border-top:1px dashed #ccc;}
  .global-nav > li > a { display:block; margin:2px 0; padding:12px 0; line-height:1;}
  .global-nav > li:nth-of-type(2) > a, .global-nav > li:nth-of-type(3) > a { margin-bottom:0;}
  .global-nav > li:nth-of-type(2), .global-nav > li:nth-of-type(3) { margin-bottom:8px;}
  .global-nav > li:last-of-type { margin-bottom:4px;}
  .search-box { width:94%; height:44px; margin:0 0 10px auto; padding:8px 0 8px 24px;}
  .search-box .search-input { vertical-align:middle; margin:0; padding:0; width:160px; height:28px; background:#fff; font-size:1.4rem;}
  .search-box .search-button { width:28px;}
  .search-box .language a { margin-left:3rem; line-height:2;}
  .search-box .language, .global-nav > li > a { font-size:1.4rem;}
  .search-box ::placeholder { color:#999;}
  .sp-nav-button { width:50px; height:50px; background:#595858; cursor:pointer; text-align:center; z-index:100000; position:absolute; top:0; right:0;}
  .sp-nav-content { width:100%; background:#f7f7f7; visibility:hidden; opacity:0; transition:all .3s; position:absolute; top:50px; left:0; z-index:10;}
  .sp-nav-content.active { display:block; visibility:visible; opacity:1; transition:all .3s;}
  .global-nav-child { width:100% !important; padding:4px; display:flex; align-items:center; flex-wrap:wrap;}
  .global-nav-child > li { width:25%; white-space:nowrap; margin:3px 0;}
  .global-nav-child > li a { padding:12px 0 12px 14px; font-size:1.2rem; line-height:1;}
  .global-nav-child li a::before { width:6px; height:34px;}
  .sp-nav-button span { display:block; position:absolute; width:30px; border-bottom:solid 3px #eee; left:10px;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  .sp-nav-button span:nth-child(1) { top:14px;}
  .sp-nav-button span:nth-child(2) { top:23px;}
  .sp-nav-button span:nth-child(3) { top:32px;}
  /*.sp-nav-button span:nth-child(4) { border:none; color:#eee; font-size:1rem; top:32px;}*/
  /* 最初のspanをマイナス45度に */
  .sp-nav-button.active span:nth-child(1) { top:24px; left:10px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  /* 2番目と3番目のspanを45度に */
  .sp-nav-button.active span:nth-child(2),
  .sp-nav-button.active span:nth-child(3) { top:24px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  /* 最初のspanをマイナス45度に */
  .sp-nav-button.active span:nth-child(1) { top:24px; left:10px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  /* 2番目と3番目のspanを45度に */
  .sp-nav-button.active span:nth-child(2),
  .sp-nav-button.active span:nth-child(3) { top:24px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
@media screen and (max-width:1023px) {
  .global-nav-child > li { width:33.333333%;}
}
@media screen and (max-width:767px) {
  .global-nav-child > li { width:50%;}
}
@media screen and (max-width:319px) {
  .global-nav-child > li { width:100%;}
}

footer { width:100%; background:#fff;}
address { width:100%; font-style:normal; border-bottom:1px solid rgba(89,88,88,.75); padding:48px 0;}
address p { margin-left:calc(4.5833333333% + 80px);}/*home h2のmargin-left*/
address p.footer-name { font-weight:700;}
address .footer-logo > img { width:254px; margin-bottom:24px;}
@media screen and (max-width:1023px) {
  address { width:86%; margin:0 auto; padding:30px 0 24px; border-bottom:0 none;}
  address p { margin-left:0 !important;}
  address .footer-name { font-size:1.5rem; line-height:25px; margin-bottom:4px;}
  address .footer-address { font-size:1.4rem; line-height:23px;}
  address .footer-logo > img { width:162px; margin-bottom:16px;}
}

footer nav, .copyright { width:100%; background:#f7f7f7; padding:48px 0;}
.css-accordion-toggle, .sitemap-button { display:none;}
.footer-nav { width:1150px; display:flex; margin-left:9%;}
.footer-nav > li { width:26.5%;}
.footer-nav > li:first-of-type { width:20.5%;}
.footer-nav > li:last-of-type > a:last-of-type { margin-top:28px;}
.footer-nav-child li { padding-left:1em; position:relative;}
.footer-nav-child li::before { position:absolute; top:50%; left:0; content:""; display:block; width:8px; height:8px; border:1px solid #595858; border-bottom:transparent; border-left:transparent; transform:rotate(45deg); margin-top:-3px;}
.copyright { padding-top:0 !important;}
.copyright p { font-size:1.4rem; margin-left:176px;}
@media screen and (max-width:1200px) {
  .footer-nav { width:90%; margin-left:0; margin:0 6%;}
}
@media screen and (max-width:1023px) {  
  footer nav { width:100%; background:#707070; padding:2em 0;}
  /* SP版フッタsitemap開閉 */
  footer .css-accordion-toggle { display:none;}
  footer .sitemap-button { display:block; width:180px; margin:0 auto 30px; border:1px solid #fff; border-radius:2px; font-size:1.3rem; text-align:center; color:#fff; text-decoration:none;}
  footer .sitemap-button, footer .css-accordion-content {
	  -webkit-backface-visibility: hidden;
	  backface-visibility: hidden;
	  transform: translateZ(0);
	  transition: all .5s;
  }
  .css-accordion-content {
  	height: 0;
  	margin-bottom:10px;
  	padding:0 20px;
  	overflow: hidden;
  }
  .css-accordion-toggle:checked + .sitemap-button + .css-accordion-content {
  	height: auto;
  	transition: all .5s;
  }
  .css-accordion-toggle:checked + .sitemap-button span::before { transform:rotate(-180deg) !important; top:6px; transition:all .2s;} 
  .sitemap-button span { display:inline-block; position:relative; line-height:36px; padding:0 0 0 1.6em;}
  .sitemap-button span::before { position:absolute; content:""; top:50%; left:0; transform:translateY(-50%); border:6px solid transparent; border-top:8px solid #fff; margin-top:3px; transition:all .2s;}
  .footer-nav { width:100%; display:flex; flex-direction:column;}
  .footer-nav > li,
  .footer-nav > li:first-of-type { width:100%; font-size:1.4rem; margin-bottom:1.4em;}
  .footer-nav a { display:block; width:13em; color:#fff; line-height:2.8;}
  .footer-nav-child { margin-bottom:1em;}
  .footer-nav-child li::before { width:7px; height:7px; border:1px solid #fff; border-bottom:transparent; border-left:transparent;}
  .footer-nav > li:last-of-type > a:last-of-type { margin:1.4em 0 0;}
  .copyright { width:100%; background:#fff; padding:10px 0 !important;}
  .copyright p { text-align:center; font-size:1rem; margin-left:0 !important;}
}
@media screen and (max-width:400px) {
  .copyright p { letter-spacing:0;}
}

/* アコーディオン */
.accordion,
.pages.pj02 .accordion-title { position:relative;}
.accordion-title, .js-accordion, .sitemap-button { cursor:pointer;}
.accordion-item { border:1px solid #595858; border-top:none; overflow:hidden;}
.accordion-item p { padding:0; margin:0;}
/* アコーディオン開閉icon */
.accordion-title .accordion-icon { position:absolute; top:50%; right:32px; width:1em;}
.accordion-title .accordion-icon::before,
.accordion-title .accordion-icon::after { content:""; position:absolute; top:50%; left:50%; transform:translate(50%, 50%); width:32px; height:5px; border-radius:5px; background:#595858; margin-top:-4px;}
.accordion-title .accordion-icon::before { transform:translate(50%, 50%) rotate(90deg); transition: all .3s;}
.accordion-title.selected .accordion-icon::before { transform:translate(50%, 50%) rotate(180deg); transition: all .3s;}
@media screen and (max-width:1023px) {
  .accordion-title .accordion-icon { right:0;}
  .accordion-title .accordion-icon::before,
  .accordion-title .accordion-icon::after { width:17px; height:3px; border-radius:3px; margin-top:-4px;}
}

/* noscript */
noscript p,
.noscript-text { padding:20px; background:#ff9; text-align:center; font-weight:700; font-size:2rem;}

/* 下層共通 ********************************************************************************************* */
/* 背景画像 */
.pages .background {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background-size:cover;
}

/* 下層コンテンツエリア */
.pages .content-wrap { width:90.83333333%; max-width:1744px; margin:356px auto 0; padding:0;}
.pages#video-playback .content-wrap { margin:94px auto 0;}
@media screen and (max-width:1400px) {
  .pages#video-playback .content-wrap { margin:50px auto 0;}
}
@media screen and (max-width:1024px) {
  .pages .content-wrap { width:100%; max-width:inherit; margin:300px auto 0;}
}
@media screen and (max-width:767px) {
  .pages .content-wrap { width:100%; max-width:inherit; margin:200px auto 0;}
}

/* 背景色を右端までのばす */
.pages .content-header,
.pages .content-body {
  border-image-source:linear-gradient(#f7f7f7,#f7f7f7);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
  border-image-width:0;
  border-width:0;
}
.pages .title-box {
  border-image-source:linear-gradient(#595858,#595858);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
  border-image-width:0;
  border-width:0;
}

/* 下層コンテンツヘッダ */
.pages .content-header { display:flex; line-height:1; position:relative;}
.pages .category-title { width:16%; min-width:8em; padding:58px 0 20px 40px; font-size:3.5rem; color:#251e1c;}
.pages .category-title span { display:block; font-size:2.1rem; color:#595858;}
.pages .title-box { width:calc(100% - 16%); color:#fff; padding:50px 0 20px 40px;}
.pages .title-box h2 { font-size:4.6rem; font-weight:700; margin-bottom:30px;}
.pages.pj05 .title-box h2, .pages.pj06 .title-box h2 { /*font-size:4.4rem;*/ font-weight:700; margin-bottom:30px;}
.breadcrumb-list { display:flex; flex-wrap:wrap;}
.breadcrumb-item { font-size:1.6rem;}
.breadcrumb-item::before { content:""; border:1px solid #eee; border-bottom:transparent; border-left:transparent; transform:rotate(45deg); width:8px; height:8px; display:inline-block; vertical-align:middle; margin:-4px 2px 0;}
.breadcrumb-item:last-of-type::before { margin:-4px 8px 0 0;}
.breadcrumb-item:first-of-type::before { display:none;}
.breadcrumb-item a { color:#fff; text-decoration:none;}
@media screen and (max-width:1400px) {
  .breadcrumb-item::before { margin:-3px 2px 0;}
  .breadcrumb-item:last-of-type::before { margin:-3px 8px 0 0;}
  .pages#project-child .title-box h2 { font-size:3.8rem; margin:0;}
}
@media screen and (max-width:1024px) {
  .pages .content-header { flex-direction:column;}
  .pages .category-title { padding:2px !important; width:inherit; text-align:center; position:absolute; top:24px; left:40px; font-size:0; background:#fff; color:#595858;}
  .pages .category-title span { display:inline-block; font-size:1.4rem; padding-right:1em;}
  .pages .title-box { width:100%;}
  .pages .title-box h2 { font-size:3.8rem; margin:14px 0 0 0;}
  .pages#project-child .title-box h2 { font-size:3.2rem; margin:14px 14px 0 0;}
  .breadcrumb-list { width:86%; margin:0 auto; justify-content:flex-end; margin-right:40px;}
  .breadcrumb-item { font-size:1.4rem;}
}
@media screen and (max-width:767px) {
  .pages .category-title { width:inherit; left:28px; top:16px;}
  .pages .category-title span { font-size:1.2rem;}
  .pages .title-box { padding:28px 14px 14px 28px;}
  .pages .title-box h2 { font-size:2.7rem; margin:24px 0 10px 0 !important;}
  .pages#project-child .title-box h2 { font-size:2.2rem;}
  .breadcrumb-list { margin-right:0;}
  .breadcrumb-item { font-size:1.1rem;}
  .breadcrumb-item::before { width:6px; height:6px; margin:-2px 2px 0;}
  .breadcrumb-item:last-of-type { text-align:right;}
  .breadcrumb-item:last-of-type::before { margin:-2px 6px 0 0;}
}

/* 下層コンテンツボディ */
.pages .content-body { margin-bottom:102px;}
.pages .content-body:last-of-type { margin-bottom:0;}
.pages .content-body .content-innerbox { width:75%; max-width:1374px; margin:0 auto; padding:76px 0;}
@media screen and (max-width:1400px) {
  .pages .content-body .content-innerbox { width:calc(75% + 160px); max-width:inherit;}
}
@media screen and (max-width:1024px) {
  .pages .content-body { margin-bottom:0;}
  .pages .content-body .content-innerbox { width:100%; padding:62px 0;}
}
@media screen and (max-width:767px) {
  .pages .content-body .content-innerbox { padding:30px 0;}
  .pages .content-body .content-innerbox.padding-bottom-0 { padding:30px 0 0;}
}

/* フォントサイズ */
.content-innerbox h3 { font-size:3.2rem;}
.content-innerbox h4 { font-size:2.6rem;}
.content-innerbox h5 { font-size:2rem;}
.content-innerbox p,
.content-innerbox li { font-size:1.8rem; line-height:1.75;}
@media screen and (max-width:1024px) {
  .content-innerbox h3 { font-size:2.6rem;}
  .content-innerbox h4 { font-size:2.2rem;}
  .content-innerbox h5 { font-size:1.8rem; width:86%; margin:0 auto;}
  .content-innerbox p,
  .content-innerbox li { font-size:1.6rem !important;}
}
@media screen and (max-width:767px) {
  .content-innerbox h3 { font-size:2rem;}
  .content-innerbox h4 { font-size:1.7rem;}
  .content-innerbox h5 { font-size:1.6rem;}
  .content-innerbox p,
  .content-innerbox li { font-size:1.4rem !important;}
}

/* 見出し：左に太線 */
.h-border-left { display:block; font-size:3.2rem; line-height:1.4; padding:45px 0 45px 64px; margin-bottom:40px; position:relative;}
.h-border-left::before { position:absolute; top:0; left:64px; content:""; width:18px; height:100%; margin-left:-64px;}
@media screen and (max-width:1024px) {
  .h-border-left { width:86%; margin:0 auto 40px; font-size:2.8rem; padding:36px 0 36px 64px;}
  .h-border-left::before { width:16px; margin-left:-64px;}
}
@media screen and (max-width:767px) {
  .h-border-left { width:86%; font-size:1.6rem; padding:16px 0 16px 26px; margin-bottom:22px;}
  .h-border-left::before { left:26px; width:8px; margin-left:-26px;}
}
@media screen and (max-width:1024px) {
  .h-border-left-0 { width:86%; margin:0 auto 1em;}
}

/* リスト */
.list-number { list-style-type:decimal; width:100%; margin:50px auto;}/* 数値 */
#contribution-index .list-number { margin:14px auto;}
.list-number li { margin:0 0 2em 1.5em; font-size:1.8rem; line-height:2;}
.list-number .list-child-ul li { margin:0 0 0 1em;}
.list-number .list-child-ul li > div { margin:0 0 0 4em;}
.list-number .list-child-ul.list-style-maru li { margin-left:1em;}
.list-number .list-child-ul.list-style-maru li::before { content:"○"; margin-left:-1em;}
.pages.pj08 .list-number li > p { margin-left:0; }
@media screen and (max-width:1024px) {
  .list-number { width:86%; margin:30px auto;}
  .list-number li { font-size:1.6rem;}
}
@media screen and (max-width:767px) {
  .list-number li { font-size:1.4rem;}
}
.list-disc { list-style-type:disc;}
.list-disc li { margin:0 0 0 1.5em;}

.list-number-child { margin-left:1em; list-style-type:decimal;}
.list-number-child > li { position:relative;}
.list-number-child > li::before { position:absolute; left:-2.4em;}
.list-number-child.no3 > li::before { content:"3.";}
.list-number-child.no4 > li::before { content:"4.";}



/* アイコンつきテキストリンク */
.list-textlink { width:100%; margin:0 auto;}
.list-textlink li a { display:inline-block; padding:14px 20px 14px 14px; text-decoration:none; font-size:1.8rem; color:#595858;}
.list-textlink li a::before { content:""; display:inline-block; vertical-align:middle; border:6px solid transparent; margin-top:-6px;}
.pages.pj01 .list-textlink li a::before { border-left:12px solid #e6b300;}
.pages.pj04 .list-textlink li a::before { border-left:12px solid #68b6d3;}
.pages.pj05 .list-textlink li a::before { border-left:12px solid #6c78b5;}
.pages.pj08 .list-textlink li a::before { border-left:12px solid #dc950f;}
.list-researcher li a { color:#e6b300; font-size:2.6rem;}
.pages.pj04 .list-textlink.list-result li a { line-height:2.5;}
.pages.pj04 .list-textlink.list-result li a::before { top:1em; transform:none;}
.pages.pj08 .list-textlink { margin:50px auto;}
@media screen and (max-width:1024px) {
  .list-textlink { width:86%; margin:0 auto;}
  .list-textlink li a { font-size:1.6rem;}
  .list-researcher li a { color:#e6b300; font-size:2.6rem;}
  .pages.pj08 .list-textlink { margin:30px auto 0; padding-bottom:30px;}
}
@media screen and (max-width:767px) {
  .list-textlink li a { font-size:1.4rem;}
  .list-textlink li a::before { margin-top:-2px;}
  .list-researcher li a { color:#e6b300; font-size:1.8rem;}
  .pages.pj02 .list-textlink li a { font-size:1.4rem; margin-bottom:1em;}
  .pages.pj02 .list-textlink li a::before { top:1.1em; left:0;}
}

/* アイコンつきテキストリンク こちらに変更 */
.list-textlink-icon { width:100%; margin:0 auto;}
.list-textlink-icon li { padding:0;}
.list-textlink-icon li a { display:inline-block; padding:12px 12px 12px 30px; text-decoration:none; color:#595858; position:relative;}
.list-textlink-icon li.link-pdf a::before { position:absolute; top:14px; left:0; content:""; background:url("../images/PDF_24.png") no-repeat; background-size:contain; width:24px; height:24px;}
#about-disclosure .list-textlink-icon li.link-pdf a { line-height:1.8;}
#about-disclosure .list-textlink-icon li.link-pdf a::before { top:16px;}

.list-textlink-icon li.link-arrow a::before { position:absolute; top:21px; left:8px; content:""; border:6px solid transparent;}
.pages.pj01 .list-textlink-icon li.link-arrow a::before { border-left:12px solid #e6b300;}
.pages.pj02 .list-textlink-icon li.link-arrow a::before { border-left:12px solid #a0be50;}
.pages.pj04 .list-textlink-icon li.link-arrow a::before { border-left:12px solid #68b6d3;}
.pages.pj05 .list-textlink-icon li.link-arrow a::before { border-left:12px solid #6c78b5;}
.pages.pj06 .list-textlink-icon li.link-arrow a::before { border-left:12px solid #9774ac;}
.pages.pj08 .list-textlink-icon li.link-arrow a::before { border-left:12px solid #dc950f;}
.category-about .list-textlink-icon li.link-arrow a::before { border-left:12px solid #00a3df; top:29px;}
.list-textlink-icon li.no-icon a { display:inline; padding:0 !important; word-break:break-all !important; white-space:normal !important;}
.list-textlink-icon li.ex-link a::after { content:""; background:url("../images/icon_ex-link.png") no-repeat; background-size:contain; width:18px; height:18px; display:inline-block; vertical-align:middle; margin-left:6px; margin-top:-2px;}
@media screen and (max-width:1024px) {
  .category-about .list-textlink-icon li.link-arrow a::before { top:26px;}
}
@media screen and (max-width:767px) {
  .list-textlink-icon li.link-arrow a::before { top:19px; left:8px;}
  #about-disclosure .list-textlink-icon li.link-pdf a::before { width:20px; height:20px; top:15px;}
  .category-about .list-textlink-icon li.link-arrow a::before { top:24px;}
}
.list-textlink-icon li.link-pdf:hover::before { opacity:.8;}

/* アイコンつきテキストリンクを目立たせる */
.list-textlink-icon li.link-arrow.link-button { margin-bottom:12px;}
.list-textlink-icon li.link-arrow.link-button:last-of-type { margin-bottom:0;}
.list-textlink-icon li.link-arrow.link-button a { width:100%; max-width:24em; padding:12px 12px 12px 30px; border:1px solid #595858; border-radius:2px;}
.list-textlink-icon li.link-arrow.link-button a::before { top:22px; left:12px;}
.list-textlink-icon li.link-arrow.link-button a:hover { background:#595858; border:1px solid #595858; border-radius:2px; color:#fff;}
.list-textlink-icon li.link-arrow.link-button a:hover::before { border-left:12px solid #fff;}
.pages.pj01 .list-textlink-icon li.link-arrow.link-button a { border:1px solid #e6b300;}
.pages.pj01 .list-textlink-icon li.link-arrow.link-button a:hover { background:#e6b300; border:1px solid #e6b300;}
.pages.pj02 .list-textlink-icon li.link-arrow.link-button a { border:1px solid #a0be50;}
.pages.pj02 .list-textlink-icon li.link-arrow.link-button a:hover { background:#a0be50; border:1px solid #a0be50;}
.pages.pj04 .list-textlink-icon li.link-arrow.link-button a { border:1px solid #68b6d3;}
.pages.pj04 .list-textlink-icon li.link-arrow.link-button a:hover { background:#68b6d3; border:1px solid #68b6d3;}
.pages.pj05 .list-textlink-icon li.link-arrow.link-button a { border:1px solid #6c78b5;}
.pages.pj05 .list-textlink-icon li.link-arrow.link-button a:hover { background:#6c78b5; border:1px solid #6c78b5;}
.pages.pj06 .list-textlink-icon li.link-arrow.link-button a { border:1px solid #9774ac;}
.pages.pj06 .list-textlink-icon li.link-arrow.link-button a:hover { background:#9774ac; border:1px solid #9774ac;}
.pages.pj08 .list-textlink-icon li.link-arrow.link-button a { border:1px solid #dc950f;}
.pages.pj08 .list-textlink-icon li.link-arrow.link-button a:hover { background:#dc950f; border:1px solid #dc950f;}
.category-about .list-textlink-icon li.link-arrow.link-button a { border:1px solid #00a3df;}
.category-about .list-textlink-icon li.link-arrow.link-button a:hover { background:#00a3df; border:1px solid #00a3df;}



#download-adobereader { width:100%; margin:30px auto;}
#download-adobereader dt a { display:inline-block;}
#download-adobereader dt a img { width:158px;}
#download-adobereader dd { font-size:1.8rem;}
@media screen and (max-width:1024px) {
  .list-textlink-icon { width:86%; margin:0 auto;}
  .list-textlink-icon._w100 { width: 100%;}
  #download-adobereader { width:86%;}
  #download-adobereader dd { font-size:1.6rem;}
}
@media screen and (max-width:767px) {
  #download-adobereader dd { font-size:1.4rem;}
  .list-textlink-icon li.link-arrow.link-button a { width:100%; max-width:100%;}
  .list-textlink-icon li.link-arrow.link-button a::before { top:18px;}
  .list-textlink-icon._w100 { width: 86%;}
}






/* 親ページへ戻る */
.back-parentpage li a { display:inline-block; padding:24px 24px 25px 40px; text-decoration:none; position:relative; background:#fff; border:1px solid #595858; border-radius:2px;  color:#595858; line-height:1; transition:all .2s;}
.back-parentpage li a::before { content:""; position:absolute; top:27px; left:18px; width:14px; height:14px; border-left:1px solid #595858; border-top:1px solid #595858; transform:rotate(-45deg);}
.pages.pj02 .back-parentpage li a { border:1px solid #a0be50; color:#595858;}
.pages.pj02 .back-parentpage li a::before { border-left:1px solid #a0be50; border-top:1px solid #a0be50;}
.pages.pj02 .back-parentpage li a:hover { background:#a0be50; color:#fff; opacity:1; transition:all .2s;}
.pages.pj02 .back-parentpage li a:hover::before { border-left:1px solid #fff; border-top:1px solid #fff;}
.pages.pj04 .back-parentpage li a { border:1px solid #68b6d3; color:#595858;}
.pages.pj04 .back-parentpage li a::before { border-left:1px solid #68b6d3; border-top:1px solid #68b6d3;}
.pages.pj04 .back-parentpage li a:hover { background:#68b6d3; color:#fff; opacity:1; transition:all .2s;}
.pages.pj04 .back-parentpage li a:hover::before { border-left:1px solid #fff; border-top:1px solid #fff;}
.pages.pj05 .back-parentpage li a { border:1px solid #6c78b5; color:#595858;}
.pages.pj05 .back-parentpage li a::before { border-left:1px solid #6c78b5; border-top:1px solid #6c78b5;}
.pages.pj05 .back-parentpage li a:hover { background:#6c78b5; color:#fff; opacity:1; transition:all .2s;}
.pages.pj05 .back-parentpage li a:hover::before { border-left:1px solid #fff; border-top:1px solid #fff;}
.pages.pj06 .back-parentpage li a { border:1px solid #9774ac; color:#595858;}
.pages.pj06 .back-parentpage li a::before { border-left:1px solid #9774ac; border-top:1px solid #9774ac;}
.pages.pj06 .back-parentpage li a:hover { background:#9774ac; color:#fff; opacity:1; transition:all .2s;}
.pages.pj06 .back-parentpage li a:hover::before { border-left:1px solid #fff; border-top:1px solid #fff;}
@media screen and (max-width:1024px) {
  .back-parentpage { width:86%; margin:0 auto;}
  .back-parentpage li a { padding:16px 16px 17px 32px;}
  .back-parentpage li a::before { top:19px; left:14px; width:12px; height:12px;}
}
@media screen and (max-width:767px) {
  .back-parentpage { width:86%; margin:0 auto; text-align:center;}
  .back-parentpage li a { padding:16px 16px 17px 32px;}
  .back-parentpage li a::before { top:18px; left:14px; width:12px; height:12px;}  
}

/* 旧サイト画像 */
.floatimg-w240 { width:240px; float:right; margin:14px 0 30px 30px;}
@media screen and (max-width:1024px) {
  .floatimg-w240 { margin-right:7%;}
}
@media screen and (max-width:767px) {
  .floatimg-w240 { float:none; width:60%; margin:0 auto 30px;}
}
.floatimg-w190 { width:190px; float:right; margin:14px 0 30px 30px;}
@media screen and (max-width:1024px) {
  .floatimg-w190 { margin-right:7%;}
}
@media screen and (max-width:767px) {
  .floatimg-w190 { float:none; width:40%; margin:0 auto 30px;}
}



/* 初期の設定
.contents-wrap { padding:0; background:#f7f7f7; margin:13.55% 0 0 88px;}
@media screen and (max-width:1023px) {
  .contents-wrap { margin:25% 0 0 0;}
}
@media screen and (max-width:780px) {
  .contents-wrap { margin:40% 0 0 0;}
}
.contents-header { display:flex; line-height:1;}
.category-title { width:16%; min-width:8em; padding:58px 0 20px 40px; font-size:3.5rem; color:#251e1c;}
.category-title span { display:block; font-size:2.1rem; color:#595858;}
.title-box { width:calc(100% - 16%); background:#595858; color:#fff; padding:50px 0 20px 40px;}
.title-box h2 { font-size:4.6rem; font-weight:700; margin-bottom:30px;}
.contents-body { padding:80px 184px;}
.contents-body p { font-size:1.8rem;}
.pages-h3 { display:flex; align-items:center; margin-bottom:40px;}
.pages-h3 span:first-of-type { display:inline-block; width:74px; min-height:134px; position:relative;}
.pages-h3 span:first-of-type::before { content:""; position:absolute; top:0; left:0; width:20px; height:134px; background:#595858;}
.pages-h3.line3 span:first-of-type { min-height:184px;}
.pages-h3.line3 span:first-of-type::before { height:184px !important;}
.pages-h3 span:last-of-type { font-size:3.2rem; color:#595858;}
.pages-h3-line0, #symposium-videolist .pages-h4-line0 { font-size:2rem; margin-bottom:4px;}
*/

/* form */
.pages-form input, .pages-form textarea, #comfirm input { border:1px solid #ddd; border-radius:4px; line-height:1; padding:8px; background:#fff;}
.pages-form input[type="text"], .pages-form textarea { width:100%;}
.pages-form input[type="submit"], .pages-form input[type="button"], #comfirm input[type="button"] { width:200px; padding:20px; background:#595858; color:#fff;}
.pages-form input[type="submit"]:hover, .pages-form input[type="button"]:hover, #comfirm input[type="button"]:hover { background:#333;}
.pages-form textarea { line-height:1.75;}
.pages-form label, .pages-form input[type="radio"], .pages-form input[type="checkbox"] { cursor:pointer;}
.pages-form #name, .pages-form #name2, .pages-form #company, .pages-form #company2, .pages-form #postal-code, .pages-form #address, .pages-form #tel, .pages-form #email, .pages-form #magazine { width:35em; margin-bottom:4px;}
.pages-form h3 { font-size:1.8rem;}
.video-questionnaire dd input { border:1px solid #ddd; border-radius:4px; line-height:1; padding:2px; background:#fff;}
button:hover { transition: all .2s;}
@media screen and (max-width:1400px) {
  .pages-form #name, .pages-form #name2, .pages-form #company, .pages-form #company2, .pages-form #postal-code, .pages-form #address, .pages-form #tel, .pages-form #email, .pages-form #magazine { width:30em;}
}
@media screen and (max-width:1024px) {
  .pages-form { width:86%; margin:0 auto;}
  .pages-form #name, .pages-form #name2, .pages-form #company, .pages-form #company2, .pages-form #postal-code, .pages-form #address, .pages-form #tel, .pages-form #email, .pages-form #magazine { width:22em;}
}
@media screen and (max-width:767px) {
  .pages-form #name, .pages-form #name2, .pages-form #company, .pages-form #company2, .pages-form #postal-code, .pages-form #address, .pages-form #tel, .pages-form #email, .pages-form #magazine { width:100%;}
}

.mb_05em { margin-bottom:.5em !important;}
.mb_1em { margin-bottom:1em !important;}
.mb_2em { margin-bottom:2em !important;}
.mb_3em { margin-bottom:3em !important;}
.mb_4em { margin-bottom:4em !important;}
.mb_5em { margin-bottom:5em !important;}
.mb_6em { margin-bottom:5em !important;}

.ml_1em { margin-left:1.1em !important;}
.ml_2em { margin-left:2.2em !important;}
.ml_3em { margin-left:3.3em !important;}

.ml_18 { margin-left:1.8em !important;}
.ml_28 { margin-left:2.8em !important;}

.pb_2em { padding-bottom:2em !important;}
.pb_3em { padding-bottom:3em !important;}

.letter-spacing_1em { letter-spacing:1.1em;}
.letter-spacing_2em { letter-spacing:2.3em;}
.text-indent_1em { display:inline-block; text-indent:1.1em;}
.text-indent_2em { display:inline-block; text-indent:2.2em;}

/* かっこつき番号リスト(1) */
.ol-brackets { counter-reset:cnt; width:100%; margin:0 auto;}
.ol-brackets li:before {
  list-style-type:none;
  counter-increment:cnt;
  content: "(" counter(cnt) ")";
  text-align: right;
  top: 0;
  left: -1em; /* 好みで位置の調整 */
  font-weight:lighter !important;
}

@media screen and (max-width:1024px) {
  .ol-brackets { width:86%;}
}

/* トップへ戻る */
@media screen and (max-width:767px) {
  .wrapper { scroll-behavior: smooth !important;}
}
.gotop {
  display: block;
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #595858;
  border-radius:2px;
  padding-top: 34px;
  text-align: center;
  font-size: 85%;
  text-decoration: none;
  text-indent:.15em;
  color: #595858;
  opacity: 0.5;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999/*1000000*/;
}
.gotop::before{
  content: "";
  display: block;
  border-top: 2px solid #595858;
  border-right: 2px solid #595858;
  width: 25%;
  height: 25%;
  top: 35%;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  transform: rotate(-45deg);
  z-index: 9998/*999999*/;
}
.gotop:hover{
  opacity: 1;
}
@media screen and (max-width:767px) {
  .gotop {
    width: 40px;
    height: 40px;
    background:rgba(255,255,255,.6);
    border:1px solid rgba(197,197,197,0.50);
    text-indent: -9999px;
    opacity: 1;
    bottom: 10px;
    right: 10px;
  }
  .gotop::before{
    bottom: 8px;
  }
}