* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}

@font-face {
	font-family: "Gotham";
	src:
	  url("/assets/fonts/Gotham-Ultra.woff2") format("woff2"),
	  url("/assets/fonts/Gotham-Ultra.woff") format("woff");
  }

html{
	font-size: 10px;
}

body {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;		
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: antialiased;
	letter-spacing: 0.25rem;
}

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

nav ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color: #000;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.top-video{
	width: 100%;
	height: 43vw;
	overflow: hidden;
	position: relative;
}

.top-video video{
	width: 100%;
	height: auto;
	position: absolute;
	/* top: 50%; */
	/* transform: translateY(-50%);*/
}

@media all and (max-width: 640px) {
	.top-video{
		height: 53vw;
	}
	.top-video video{
		top: 20%;
	}	
}

.section-inner {
	position: relative;
	margin: 0 6%;
	margin-right: calc(6% + 100px);
	box-sizing: border-box;
}

.section-inner-ja{
    font-size: 3.5rem;
    font-weight: bold;	
}
.section-inner-en{
	font-family: "Gotham";
}
.section-inner-gray{
	color: #ccc;
}

@media screen and (min-width: 1040px) {
	.story-all .section-inner {
		margin-right: calc(6% + 80px);
	}
}

.section-inner.borderTop {
  	/* border-top: solid 6px #000; */
	border-top: solid 1px #ccc;
}

.section-inner.borderBottom {
  	/* border-bottom: solid 6px #000; */
	  border-bottom: solid 1px #ccc;
}

.sp-on {
	display: none;
}

section {
	position: relative;
	background-color: #fff;
	overflow: hidden;
}

video {
	width: 100%;
}

.container {
	opacity: 0;
}

.mt-0{ margin-top: 0 !important; }
.mb-0{ margin-bottom: 0 !important; }
.mt-1{ margin-top: 0.5rem !important; }
.mb-1{ margin-bottom: 0.5rem !important; }
.mb-2{ margin-bottom: 1rem !important; }
.mb-3{ margin-bottom: 2rem !important; }

.border-none{ border: none !important; }


/* ToTop
-------------------------------------------------- */
.totop{
    position: fixed;
    bottom: 2rem;
    right: calc(2rem + 100px);
    display: none;
    z-index: 99999;
}
.totop img{
    width: 36px;
	height: 36px;;
}
@media screen and (max-width: 1040px) {
	.totop{
		bottom: 2rem;
		right: 2rem;
	}	
}


/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: rgba(255, 255, 255, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* padding: 60px 5.55%; */
  padding:16px 2.55%;
  box-sizing: border-box;
  z-index: 100;
  transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: background-color,transform,padding;
}

.home header {
  /* background: rgba(255, 255, 255, 0.6); */
  background: #fff;
}

header.is-hide {
  transform: translateY(-40px);
}

header.scrolled {
  background-color: #fff;
  /* padding: 16px 5.55%; */
  padding:16px 2.55%;
  border-bottom: solid 1px #eee;
}

header.scrolled h1 a {
  fill: #000;
}

header.scrolled .navi a {
  color: #000;
}

header.scrolled .navi a:before {
  background-color: #000;
}

header .h-logo{
	width: auto;
	height: 60px;
}

@media screen and (min-width: 1041px) {
  header.scrolled .btn-entry {
    background-color: #000;
    top: 24px;
  }

  header.scrolled .btn-entry a {
    color: #fff;
  }
  
  header.scrolled .btn-entry a:before {
    background: url(../img/icon/arrow-white.svg) no-repeat;
  }
}

header .navi-area {
  display: flex;
  align-items: center;
}

header .navi-area h1 a {
  display: inline-block;
}

@media screen and (min-width: 1041px) {
  .lc_forecast_home header .navi-area h1 a svg {
    fill: #fff;
  }

  .lc_forecast_home header.scrolled .navi-area h1 a svg {
    fill: #000;
  }
}

header .navi-area_sp {
  display: none;
}

header h1 {
  margin-right: 6rem;
}

header h1 a {
  fill: #fff;
}

header h1 img {
  width: 100%;
}

header .navi {
  display: flex;
  gap: 3.4rem;
  letter-spacing: 0.125em;
}

header .navi a {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
}

header .navi a:before {
  content: "";
  width: 0;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: -8px;
  transition: width 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

header .navi a:hover:before {
  width: 100%;
}

header .btn-entry {
  display: none;
  width: 180px;
  height: 40px;
  background-color: #fff;
  position: absolute;
  top: 58px;
  right: 6%;
  margin-right: 100px;
  transition: top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

header .btn-entry a {
  position: relative;
  display: block;
  color: #000;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  line-height: 40px;
  padding-left: 12px;
  font-weight: 600;
  box-sizing: border-box;
  transition: background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

header .btn-entry a:before {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 7px;
  height: 11px;
  background-size: 100%;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

footer {
  background-color: #000;
  margin-top: 90px;;
  padding: 0 0 90px 0;
  box-sizing: border-box;
}

footer .flex-box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
  border-bottom: solid 1px #222;
}

footer .flex-option-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

footer .content-box {
  display: flex;
  align-items: center;
}

footer .btn-box {
  width: 50%;
  height: 136px;
}

footer .btn-box:first-child {
  border-right: solid 1px #222;
}

footer .btn-box a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  color: #fff;
}

footer .btn-box a:before {
  content: "";
  width: 29px;
  height: 29px;
  border-radius: 50%;
  position: absolute;
  right: 80px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

footer .btn-box a span {
  font-size: 1.9rem;
  font-weight: bold;
  color: #666;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 7px;
  margin-left: 16px;
  padding-top: 4.8rem;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

footer .btn-box a span.jp {
  padding-left: 32px;
  color: #fff;
  font-size: 4rem;
  font-weight: normal;
}

footer .btn-box a span.en {
  font-size: 4rem;
  color: #fff;
}

footer .btn-box a:hover span {
  opacity: .8;
}

footer .btn-box a:hover:before {
  background-color: #009CAE;
}

footer .logo {
  padding: 80px 0;
}

footer .logo a {
  transition: opacity .3s ease;
}

footer .logo img.f-logo {
  	width: 360px;
}
@media screen and (max-width: 400px) {
	footer .logo img.f-logo {
		width: 100%;
	}	
}

footer .logo a:hover {
  opacity: .8;
}

footer .list {
  display: flex;
}

footer .list li {
  width: 194px;
  width: 100%;
  padding-left: 24px;
  box-sizing: border-box;
  border-right: solid 1px #222;
}

footer .list li:first-child {
  padding-left: 0;
}

footer .list li:last-child {
  border-right: none;
}

footer .list .title {
  margin-bottom: 30px;
  line-height: 1.2;
}

footer .list .title a,
footer .list .title span {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  transition: opacity .3s ease;
}

footer .list .title a:hover
footer .list .title span:hover {
  opacity: .8;
}

footer .list .link li {
  padding-left: 0;
  border-right: none;
  margin-bottom: 16px;
  line-height: 1.5;
}

footer .list .link a {
  color: #fff;
  font-size: 1.2rem;
  transition: opacity .3s ease;
}

footer .list .link a:hover {
  opacity: .8;
}

footer .list-option a {
  color: #fff;
  line-height: 1.5;
  transition: opacity .3s ease;
}

footer .list-option a:hover {
  opacity: .8;
}

footer .list-sns a {
  fill: #fff;
  transition: opacity .3s ease;
}

footer .list-sns a:hover {
  opacity: .8;
}

footer .copy {
  color: #fff;
  font-size: 1.2rem;
  color: #666;
}

footer .footer-cookie {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.4;
  margin: 25px auto 33px;
}

footer .footer-cookie p {
  color: #b3b3b3;
}

.side-navigation {
  position: fixed;
  top: 0;
  right: 0;
  width: 100px;
  height: 100vh;
  padding: 40px 24px;
  box-sizing: border-box;
  background-color: #fff;
  border-left: solid 1px #eee;
  z-index: 200;
}

.side-navigation .text-subtitle {
  margin-top: 6px;
  text-align: center;
  font-size: 1.4rem;
  color: #444;
  letter-spacing: 0.04em;
  font-weight: bold;
}

.side-navigation .language-box {
  display: flex;
  justify-content: center;
}

.side-navigation .language-box .text {
  margin: 0 6px;
}

.side-navigation .language-box .text.active a {
  color: #000;
}

.side-navigation .language-box .text a {
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  font-weight: bold;
  color: #BCBDBD;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.side-navigation .language-box .text a:before {
  content: "";
  width: 0;
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 0;
  bottom: -2px;
  transition: width 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.side-navigation .language-box .text a:hover {
  color: #000;
}

.side-navigation .language-box .text a:hover:before {
  width: 100%;
}

.side-navigation .humberger {
  width: 36px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.side-navigation .humberger:hover {
  cursor: pointer;
}

.side-navigation .humberger:hover span:nth-child(2) {
  width: 80%;
}

.side-navigation .humberger.active span:nth-child(1) {
  transform: rotate(45deg);
}

.side-navigation .humberger.active span:nth-child(2) {
  width: 100%;
  transform: rotate(-45deg);
  bottom: 7px;
}

.side-navigation .humberger .inner {
  position: relative;
  width: 100%;
  height: 10px;
}

.side-navigation .humberger span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #444444;
  transition: transform .3s ease;
  transition-property: width,transform;
}

.side-navigation .humberger span:nth-child(2) {
  top: initial;
  bottom: 0;
}

.side-navigation .contact-box {
  position: absolute;
  left: 50%;
  bottom: 40px;
  transform: translateX(-50%);
}

.side-navigation .contact-box .btn a {
  position: relative;
  display: block;
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #EEEEEE;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.side-navigation .contact-box .btn a:hover {
  transform: scale(1.15);
}

.side-navigation .contact-box .btn a:before {
  content: "";
  background: url(../img/icon/contact.svg) no-repeat;
  width: 18px;
  height: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.side-menu {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: #111;
  transition: 0.7s;
  visibility: hidden;
}

.side-menu .section-inner {
  height: 100%;
}

.side-menu .logo {
  padding-top: 80px;
  margin-bottom: 110px;
}

.side-menu .logo img.s-logo{
	width: 360px;
}

.side-menu .list {
  display: flex;
}

.side-menu .list li {
  margin-right: 60px;
}

.side-menu .list li:last-child {
  margin-right: 0;
}

.side-menu .list .title {
  font-size: 1.8rem;
  margin-bottom: 40px;
}

.side-menu .list .title a,
.side-menu .list .title span {
  color: #fff;
  font-weight: 600;
}

.side-menu .list .link {
  opacity: 0;
  transform: translateY(30px);
  transition: 0.7s;
}

.side-menu .list .link .img {
  width: 210px;
}

.side-menu .list .link .img:first-child {
  margin-bottom: 28px;
}

.side-menu .list .link li {
  margin-right: 0;
  margin-bottom: 20px;
}

.side-menu .list .link li img {
  width: 100%;
}

.side-menu .list .link li.svg {
  margin-bottom: 28px;
}

.side-menu .list .link li.svg:last-child {
  margin-top: 32px;
}

.side-menu .list .link li.svg svg {
  fill: #aaa;
}

.side-menu .list .link a,
.side-menu .list .link p {
  display: inline-block;
  color: #aaa;
  font-size: 1.4rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: color,transform;
  cursor: pointer;
}

.side-menu .list .link a:hover,
.side-menu .list .link p:hover {
  color: #fff;
  transform: translateX(5px);
}

.side-menu .list .link a:hover svg {
  fill: #fff;
}

.side-menu .option-box {
  position: absolute;
  bottom: 40px;
  left: 0;
  display: flex;
  align-items: center;
}

.side-menu .list-option a {
  color: #aaa;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.side-menu .list-option a:hover {
  color: #fff;
}

.side-menu .list-sns a {
  fill: #aaa;
  transition: fill 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.side-menu .list-sns a:hover {
  fill: #fff;
}

.linebreak {
  display: none;
}

.no-letter-space {
  letter-spacing: 0 !important;
}

@media screen and (max-width: 1340px) and (min-width: 1041px) {
  footer .btn-box:first-child a span.en {
    padding-top: 34px;
  }
  .linebreak {
    display: block;
  }
}

@media screen and (max-width: 1040px) {
  .linebreak {
    display: none;
  }
  .section-inner {
    margin: 0;
    margin: 0 24px;
  }
  .section-inner.borderTop {
    border-top: solid 3px #000;
  }
  .section-inner.borderBottom {
    border-bottom: solid 3px #000;
  }
  .sp-on {
    display: block;
  }
  .sp-none {
    display: none;
  }
  .side-navigation {
    display: none;
  }
  header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0;
    background-color: #fff;
    padding: 12px 6%;
    mix-blend-mode: initial;
    z-index: 200;
    border-bottom: solid 1px #eee;
  }
  header.scrolled {
    padding: 12px 6%;
  }
  header h1 a {
    fill: #000;
  }
  header h1 svg {
    width: 131px;
    height: 28px;
  }
  header nav {
    display: none;
  }
  header .navi-area_sp {
    display: flex;
    align-items: center;
  }
  header .navi-area_sp .language-box {
    display: flex;
    margin-right: 30px;
  }
  header .navi-area_sp .language-box .text {
    margin: 0 4px;
  }
  header .navi-area_sp .language-box .text.active a {
    color: #000;
  }
  header .navi-area_sp .language-box .text a {
    font-size: 1.4rem;
    font-weight: bold;
    color: #BCBDBD;
  }
  header .navi-area_sp .humberger {
    width: 36px;
    height: 10px;
  }
  header .navi-area_sp .humberger.active span {
    bottom: 3px;
  }
  header .navi-area_sp .humberger.active span:nth-child(1) {
    transform: rotate(45deg);
  }
  header .navi-area_sp .humberger.active span:nth-child(2) {
    width: 100%;
    transform: rotate(-45deg);
    bottom: 3px;
  }
  header .navi-area_sp .humberger .inner {
    position: relative;
    width: 100%;
    height: 100%;
  }
  header .navi-area_sp .humberger span {
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: #444444;
    transition: 0.5s;
  }
  header .navi-area_sp .humberger span:nth-child(2) {
    bottom: 0;
  }
  footer {
    padding-bottom: 40px;
  }
  footer .content-box {
    display: block;
  }
  footer .list {
    display: block;
  }
  footer .list li {
    position: relative;
    width: 100%;
    padding-left: 0;
    border-right: none;
    border-bottom: solid 1px #222;
  }
  footer .list li:last-child {
    border-bottom: none;
  }
  footer .list li:last-child .title {
    border-bottom: none;
  }
  footer .list li.is-open .link li {
    line-height: 1.5;
    margin-bottom: 24px;
    opacity: 1;
    transition: .3s ease-out;
  }
  footer .list .title {
    margin-bottom: 0;
    padding: 24px 0;
  }
  footer .list .title a,
  footer .list .title span {
    font-size: 1.4rem;
  }
  footer .list .link {
    padding-left: 12px;
  }
  footer .list .link li {
    border-bottom: none;
    line-height: 0;
    opacity: 0;
    margin-bottom: 0;
    transition: .3s ease-out;
  }
  footer .flex-option-box {
    display: block;
  }
  footer .list-option {
    display: block;
  }
  footer .list-option a {
    line-height: 1.5;
  }
  footer .flex-box {
    display: block;
    padding: 0;
  }
  footer .btn-box {
    width: 100%;
    height: 105px;
  }
  footer .btn-box:first-child {
    border-right: none;
    border-bottom: solid 1px #222;
  }
  footer .btn-box:last-child {
    border-bottom: none;
  }
  footer .btn-box a {
    padding: 0;
    padding-top: 4rem;
    font-size: 2.4rem;
  }
  footer .btn-box a:before {
    width: 24px;
    height: 24px;
    right: 0;
  }
  footer .btn-box a span {
    font-size: 1.4rem;
    margin-bottom: 0;
    padding: 0;
  }
  footer .btn-box a span.jp {
    font-size: 2.4rem;
    padding: 0;
  }
  footer .btn-box a span.en {
    font-size: 2.4rem;
  }
  footer .list-option {
    margin-right: 0;
  }
  footer .list-option li {
    margin-right: 0;
    margin-bottom: 18px;
  }
  footer .list-option a {
    font-size: 1.3rem;
  }
  footer .list-sns {
    margin: 30px 0 40px 0;
  }
  footer .list-sns li:nth-child(1) svg {
    width: 24px;
    height: 21px;
  }
  footer .list-sns li:nth-child(2) svg {
    width: 12px;
    height: 24px;
  }
  footer .list-sns li:nth-child(3) svg {
    width: 25px;
    height: 22px;
  }
  footer .list-sns li:nth-child(4) svg {
    width: 30px;
    height: 20px;
  }
  .side-menu {
    position: fixed;
    padding-top: 100px;
    height: 100vh;
    top: 0;
    left: 0;
  }
  .side-menu .section-inner {
    height: 500px;
    padding-bottom: 50px;
    overflow-y: scroll;
  }
  .side-menu .logo {
    display: none;
  }
  .side-menu .language-box {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 30px;
  }
  .side-menu .language-box .text {
    margin: 0 9px;
  }
  .side-menu .language-box .text.active a {
    color: #fff;
  }
  .side-menu .language-box .text a {
    font-size: 1.8rem;
    font-weight: bold;
    color: #BCBDBD;
  }
  .side-menu .list {
    display: block;
  }
  .side-menu .list li {
    position: relative;
    margin-right: 0;
    border-bottom: solid 1px #222;
  }
  .side-menu .list li:first-child .link,
  .side-menu .list li:nth-of-type(2) .link {
    display: block;
  }
  .side-menu .list li.active .link {
    display: block;
  }
  .side-menu .list .title {
    margin-bottom: 0;
    padding: 22px 0;
  }
  .side-menu .list .title a,
  .side-menu .list .title span {
    font-size: 1.4rem;
  }
  .side-menu .list .link {
    display: none;
  }
  .side-menu .list .link li {
    border-bottom: none;
    margin-bottom: 28px;
  }
  .side-menu .list .link li.svg {
    margin-bottom: 26px;
  }
  .side-menu .list .link li.svg:last-child {
    margin-top: 28px;
  }
  .side-menu .btn-contact {
    margin-top: 30px;
    margin-bottom: 40px;
  }
  .side-menu .btn-contact a {
    position: relative;
    display: block;
    background-color: #fff;
    color: #000;
    font-size: 1.4rem;
    padding: 18px 16px;
    box-sizing: border-box;
    font-weight: 600;
  }
  .side-menu .btn-contact a:before {
    content: "";
    background: url(../img/icon/btn-arrow.svg) no-repeat;
    width: 16px;
    height: 16px;
    background-size: 100%;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
  }
  .side-menu .option-box {
    position: initial;
    display: block;
  }
  .side-menu .list-option {
    display: block;
    margin-right: 0;
    margin-bottom: 35px;
  }
  .side-menu .list-option li {
    margin-bottom: 16px;
  }
  .side-menu .list-option li:last-child {
    margin-bottom: 0;
  }
  .side-menu .list-option a {
    font-size: 1.4rem;
    color: #fff;
  }
}

.list-option {
  display: flex;
  margin-right: 70px;
}

.list-option li {
  margin-right: 24px;
}

.list-option li:last-child {
  margin-right: 0;
}

.list-option a {
  font-size: 1.2rem;
}

.list-sns {
  display: flex;
  align-items: center;
}

.list-sns li {
  margin-right: 24px;
}

.section-title {
  padding: 301px 0 51px 0;
  box-sizing: border-box;
  background-color: #000;
}

.section-title:before {
  content: "";
  background: url(../img/bg-titlearea.png) no-repeat center center;
  width: 517px;
  height: 100%;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 6%;
}

.section-title.mini {
  padding: 225px 0 56px 0;
}

.section-title.mini h1 {
  font-size: 4.8rem;
  line-height: 1.2;
}

.section-title.mini h1 span {
  font-size: 2.8rem;
}

.section-title h1 {
  font-size: 9.2rem;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  opacity: 0;
  transform: translateY(20px);
  -webkit-clip-path: inset(100% 0 0 0);
  clip-path: inset(100% 0 0 0);
}

.section-title h1.eng {
  font-size: 9.2rem;
}

.section-title h1.jp {
  letter-spacing: .04em;
}

.section-title h1 span {
  display: inline-block;
  margin-left: 15px;
  font-size: 2.8rem;
  letter-spacing: .04em;
  color: #fff;
  font-weight: normal;
}

.section-title h1.contact_sub {
  font-size: 5.6rem;
  line-height: 1.4;
}

.section-title h1.contact_sub span {
  display: block;
  font-size: 2.8rem;
  margin-left: 0;
}

.btn-black {
  width: 570px;
  height: 132px;
  background-color: #000;
}

.btn-black a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
  padding-left: 60px;
  box-sizing: border-box;
  padding-top: 52px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.btn-black a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.btn-black a:hover {
  color: #ccc;
}

.btn-black a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .btn-black {
    width: 100%;
    height: 80px;
  }
  .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .btn-black a:before {
    width: 24px;
    height: 24px;
  }
}

.breadcrumb-area {
  padding: 18px 0;
  background-color: #f7f7f7;
}

.breadcrumb-area .breadcrumb {
  display: flex;
}

.breadcrumb-area li {
  position: relative;
  margin: auto 0;
  margin-right: 24px;
  font-size: 1.4rem;
}

.breadcrumb-area li a {
  text-decoration: underline;
  display: inline-block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.breadcrumb-area li:last-child a {
  display: inline;
  width: auto;
}

.breadcrumb-area li:last-child:before {
  display: none;
}

.breadcrumb-area li:before {
  content: "";
  background: url(../img/icon/arrow-breadcrumb.svg) no-repeat;
  width: 5px;
  height: 9px;
  background-size: 100%;
  position: absolute;
  right: -13px;
  top: 59%;
  transform: translateY(-50%);
}

.breadcrumb-area a {
  font-size: 1.4rem;
}

.optionalLinkArea {
  padding: 60px 0;
  background-color: #F7F7F7;
  margin-bottom: 80px;
}

.optionalLinkArea .flex-box {
  display: flex;
  align-items: center;
}

.optionalLinkArea .btn-black {
  width: 570px;
  height: 132px;
  background-color: #000;
  margin-right: 80px;
}

.optionalLinkArea .btn-black a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
  padding-left: 60px;
  box-sizing: border-box;
  padding-top: 52px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.optionalLinkArea .btn-black a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.optionalLinkArea .btn-black a:hover {
  color: #ccc;
}

.optionalLinkArea .btn-black a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .optionalLinkArea .btn-black {
    width: 100%;
    height: 80px;
  }
  .optionalLinkArea .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .optionalLinkArea .btn-black a:before {
    width: 24px;
    height: 24px;
  }
}

.optionalLinkArea .list {
  display: flex;
}

.optionalLinkArea .list li {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .06em;
  margin-right: 28px;
}

.optionalLinkArea .list li a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.optionalLinkArea .list li a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.optionalLinkArea .list li a:hover {
  color: #333;
}

.optionalLinkArea .list li a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .optionalLinkArea .list li a {
    padding-right: 3rem;
  }
  .optionalLinkArea .list li a:before {
    background-size: 5px 8px;
  }
}

.optionalLinkArea .list li:last-child {
  margin-right: 0;
}

.list-select {
  display: flex;
  margin-bottom: 16px;
}

.list-select #year {
  display: flex;
}

.list-select li {
  width: auto !important;
  margin-right: 16px;
  border-bottom: 0 !important;
}

.ir .section-ir_presentations .main-area .list-select #year,
.ir .section-ir_results .main-area .list-select #year {
  flex-wrap: wrap;
  gap: 16px;
}
.ir .section-ir_presentations .main-area .list-select li,
.ir .section-ir_results .main-area .list-select li {
  margin-right: 0;
}

.list-select li.selected a {
  background-color: #000;
  color: #fff;
}

.list-select li.active a {
  background-color: #000;
  color: #fff;
}

.list-select a {
  display: block;
  color: #000;
  font-size: 1.6rem;
  border: solid 3px #000;
  box-sizing: border-box;
  padding: 6px 20px;
  text-align: center;
  white-space: pre;
}

.list-select a[aria-current="page"] {
  background-color: #000;
  color: #fff;
}

.list-news li {
  border-bottom: solid 1px #EEEEEE;
}

.list-news a {
  position: relative;
  display: block;
  width: 100%;
  /* padding: 40px 0; */
  padding: 15px 0;
  box-sizing: border-box;
}

.list-news a:hover:after {
  width: 100%;
}

.list-news a:before {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.list-news a:after {
  content: "";
  background: rgba(0, 0, 0, 0.02);
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: width 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.list-news .flex-box {
  display: flex;
  margin-bottom: 6px;
  min-height: 36px;
}

@media screen and (max-width: 1040px) {
  .list-news .flex-box {
    min-height: 0;
  }
}

.list-news .date {
  color: #666666;
  font-size: 2rem;
  font-weight: bold;
  margin-right: 24px;
  padding-top: 3px;
}
.list-news .tag-wrap {
  display :flex;
  flex-wrap: wrap;
}
.list-news .tag {
  font-size: 1.4rem;
  font-weight: 700;
  padding: 6px 16px;
  box-sizing: border-box;
  border-radius: 20px;
  text-align: center;
  white-space: nowrap;
  margin: 0 10px 10px 0;
}

.list-news .tag.corporate {
  background-color: #F2F2F2;
}

.list-news .title {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  padding-right: 5rem;
  box-sizing: border-box;
}

.list-news .xj-pdf:before {
  width: 34px;
  height: 18px;
  /* background: url(../img/ir/icon-pdf.svg) no-repeat; */
  background-size: 100%;
}

.pagenation .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagenation .page, .pagenation .current {
  margin: 0 8px;
}

.pagenation .item {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 8px;
}

.pagenation .item:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #eee;
  position: absolute;
  left: 0;
  bottom: 0;
}

.pagenation .item.active:before {
  height: 3px;
  background-color: #000;
}

.pagenation a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  width: 64px;
  height: 64px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 64px;
  text-align: center;
  box-sizing: border-box;
  border-bottom: solid 1px #eee;
}

.pagenation a.nextpostslink {
  color: transparent;
}

.pagenation a.nextpostslink:after {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.pagenation a.previouspostslink {
  color: transparent;
}

.pagenation a.previouspostslink:after {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-180deg);
}

.pagenation a:before {
  content: "";
  width: 100%;
  width: 0;
  height: 3px;
  background-color: #000;
  position: absolute;
  left: 0;
  bottom: -1px;
  transition: width .3s ease;
}

.pagenation a:hover:before {
  width: 100%;
}

.pagenation span {
  width: 64px;
  height: 64px;
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 64px;
  text-align: center;
  box-sizing: border-box;
  border-bottom: solid 3px #000;
}

.pagenation span.extend {
  border-bottom: none;
}

.information-area h3 {
  font-size: 2.4rem;
  margin-bottom: 24px;
}

.information-area .btn-accordion {
  position: absolute;
  right: 20px;
  top: 22px;
  width: 12px;
  height: 12px;
  cursor: pointer;
}

.information-area .btn-accordion.two-line {
  top: 30px;
}

.information-area .btn-accordion .bar {
  position: relative;
  width: 100%;
  height: 100%;
}

.information-area .btn-accordion .bar:before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 150%;
  transform: translateY(-50%);
}

.information-area .btn-accordion .bar:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 150%;
  transform: translateY(-50%) rotate(90deg);
  transition: .3s ease-out;
}

.information-area .navi {
  background-color: #F7F7F7;
  padding: 20px 2.777777778vw;
  box-sizing: border-box;
}

.information-area .navi li {
  position: relative;
  border-bottom: solid 1px #ccc;
}

.information-area .navi li .title {
  display: block;
  padding: 20px 0;
  padding-right: 20px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 700;
}

.information-area .navi li:last-child {
  border-bottom: none;
}

.information-area .navi .link li {
  opacity: 0;
  margin-left: 12px;
  font-size: 1.4rem;
  line-height: 0;
  border: 0;
  margin-bottom: 0;
  transition: .3s ease-out;
}

.information-area .navi .accordion p {
  cursor: pointer;
}

.information-area .navi .is-open .btn-accordion .bar:after {
  opacity: 0;
  transform: rotateX(90deg);
  transition: .3s ease-out;
}

.information-area .navi .is-open .link li {
  opacity: 1;
  line-height: 1;
  margin-bottom: 16px;
  transition: .3s ease-out;
}

.information-area .navi .is-open .link li .link-icon:after {
  content: "";
  display: inline-block;
  /* background: url(../img/ir/icon/link.svg) no-repeat; */
  width: 12px;
  height: 12px;
  margin-top: 2px;
  margin-left: 4px;
  background-size: 100%;
}

.information-area .navi .is-open .link li:last-child {
  margin-bottom: 20px;
}

.information-area .btn-black {
  width: 570px;
  height: 132px;
  background-color: #000;
  width: 100%;
  height: 68px;
}

.information-area .btn-black a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
  padding-left: 60px;
  box-sizing: border-box;
  padding-top: 52px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.information-area .btn-black a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.information-area .btn-black a:hover {
  color: #ccc;
}

.information-area .btn-black a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .information-area .btn-black {
    width: 100%;
    height: 80px;
  }
  .information-area .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .information-area .btn-black a:before {
    width: 24px;
    height: 24px;
  }
}

.information-area .btn-black a {
  font-size: 1.4rem;
  padding: 27px 1.666666667vw;
}

.information-area .btn-black a:before {
  right: 1.666666667vw;
  background-size: 5px 8px;
  width: 20px;
  height: 20px;
}

@media screen and (max-width: 1040px) {
  .btn-accordion {
    position: absolute;
    right: 20px;
    top: 30px;
    width: 14px;
    height: 14px;
  }
  .btn-accordion.two-line {
    top: 22px !important;
  }
  .btn-accordion .bar {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .btn-accordion .bar:before {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #666;
    position: absolute;
    top: 0;
    left: 0;
  }
  .btn-accordion .bar:after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #666;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(90deg);
  }
  .section-title {
    padding-top: 160px;
    padding-bottom: 24px;
  }
  .section-title:before {
    width: 100%;
    height: 100%;
    right: 0;
    top: 0;
  }
  .section-title.mini {
    padding-top: 160px;
    padding-bottom: 24px;
  }
  .section-title.mini h1 {
    font-size: 3rem;
  }
  .section-title.mini h1.eng {
    font-size: 5.8rem;
  }
  .section-title h1 {
    font-size: 6.4rem;
  }
  .section-title h1 span {
    display: block;
    font-size: 1.6rem;
    margin-left: 0;
    margin-top: 12px;
  }
  .section-title h1.contact_sub {
    font-size: 4rem;
  }
  .section-title h1.contact_sub span {
    font-size: 1.6rem;
  }
  .breadcrumb-area {
    overflow-x: scroll;
    padding: 16px 0;
  }
  .breadcrumb-area li {
    font-size: 1.2rem;
  }
  .breadcrumb-area li:last-child {
    padding-right: 24px;
  }
  .breadcrumb-area a {
    font-size: 1.2rem;
  }
  .breadcrumb-area span {
    white-space: pre;
  }
  .optionalLinkArea {
    padding: 40px 0;
    margin-bottom: 40px;
  }
  .optionalLinkArea .flex-box {
    display: block;
  }
  .optionalLinkArea .btn-black {
    margin-bottom: 32px;
  }
  .optionalLinkArea .list {
    display: block;
  }
  .optionalLinkArea .list li {
    margin-right: 0;
    margin-bottom: 24px;
    font-size: 1.4rem;
  }
  .optionalLinkArea .list li:last-child {
    margin-bottom: 0;
  }
  .optionalLinkArea .list li a:before {
    width: 20px;
    height: 20px;
  }
  .list-news a {
    padding: 2.4rem 0;
  }
  .list-news a:before {
    display: none;
  }
  .list-news .date {
    font-size: 1.6rem;
  }
  .list-news .tag {
    font-size: 1.2rem;
    margin: 0 5px 5px 0;
  }
  .list-news .title {
    font-size: 1.75rem;
    line-height: 1.7;
    padding-right: 0;
  }
  .list-news .xj-pdf:before {
    width: 26px;
    height: 15px;
  }
  .information-area h3 {
    font-size: 1.8rem !important;
  }
  .information-area .navi {
    width: 100%;
  }
  .information-area .navi li .title {
    font-size: 1.4rem;
  }
  .information-area .btn-black a {
    padding: 32px 20px;
  }
  .information-area .btn-black a:before {
    right: 20px;
  }
}

.home header a {
  fill: #000;
}

.home header .navi a {
  color: #000;
}

.home header .navi a:before {
  background-color: #000;
}

.lc_forecast_home.home header .navi a {
  color: #fff;
}

.lc_forecast_home.home header .navi a:before {
  background-color: #fff;
}

.lc_forecast_home.home header.scrolled .navi a {
  color: #000;
}

.lc_forecast_home.home header.scrolled .navi a:before {
  background-color: #000;
}

@media screen and (max-width: 1340px) and (min-width: 1041px) {
  .home.service header {
    /* background-color: initial; */
    /* padding: 60px 6%; */
	background-color: #fff;
	padding: 16px 2.55%;
    border-bottom: initial;
  }
  .home.service header.scrolled {
    background-color: #fff;
    /* padding: 24px 6%; */
	padding: 16px 2.55%;
    border-bottom: solid 1px #eee;
  }
  .home header {
    background-color: #fff;
    /* padding: 16px 6%; */
	padding: 16px 2.55%;
    border-bottom: solid 1px #eee;
  }
  .home header h1 a {
    fill: #000;
  }
  .home header .navi a {
    color: #000;
  }
  .home header .navi a:before {
    background-color: #000;
  }
  .home header .btn-entry {
    background-color: #000;
    top: 24px;
  }
  .home header .btn-entry a {
    color: #fff;
  }
  .home header .btn-entry a:before {
    background: url(../img/icon/arrow-white.svg) no-repeat;
  }
}

.jp .content h2 {
  letter-spacing: .12em;
}

.content h2 {
  font-size: 4.8rem;
  margin-bottom: 40px;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.content h2 span {
  display: block;
  font-size: 2.4rem;
  letter-spacing: initial;
  margin-bottom: 1.6rem;
  font-weight: bold;
}

#keyCanvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

#catchphrase{
    /* padding-top: 120px;
    padding-bottom: 120px; */
	padding-top: 25px;
    padding-bottom: 0px;	
}

#catchphrase h1{
	/* font-size: 8rem; */
	font-size: 4rem;
	line-height: 1.5em;
}	

@media screen and (max-width: 1040px) {
	#catchphrase h1{
		font-size: 6rem;
		line-height: 1.25em;
	}	
}
@media screen and (max-width: 640px) {
	#catchphrase h1{
		font-size: 4rem;
		line-height: 1.25em;
	}	
}


.section-fv {
  position: relative;
  height: 100vh;
  overflow: initial;
  z-index: -1;
}

.section-fv .section-inner {
  height: 100%;
}

.section-fv h2 {
  width: 48.959vw;
  position: absolute;
  top: calc(50% + 20px);
  transform: translateY(-50%);
  z-index: 10;
  left: -4px;
}

.section-fv h2 img {
  width: 100%;
  height: auto;
}

.section-fv h2.en {
  width: 53.473vw;
  top: calc(50% + 30px);
}

.section-fv .slider {
  position: absolute;
  right: 0;
  top: 0;
  width: 842px;
  height: 819px;
}

.section-fv .slider .item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.section-fv .slider .item img {
  width: 100%;
}

.section-product {
  /* padding-top: 180px; */
  padding-top: 20px;
  padding-bottom: 40px;
}

.section-product.isView h1 {
  opacity: 1;
  transform: translateY(0);
}

.section-product.isView h1 span {
  opacity: 1;
  transform: translateY(0);
}

.section-product .thumb.isView.thumb1,
.section-product .thumb.isView.thumb2 {
  transform: translateX(0);
}

.section-product .thumb.isView.thumb1:before {
  transform: translateX(100%);
}

.section-product .thumb.isView.thumb2:before {
  transform: translateX(-100%);
}


.section-product.flow-area.sp-none .thumb.isView.thumb1{
  transform: translateX(0);
}
.section-product.flow-area.sp-none .thumb.isView.thumb1:before {
	transform: translateX(100%);
}

.section-product h1 {
  font-size: 11rem;
  font-weight: bold;
  margin-bottom: 40px;
  opacity: 0;
  transform: translateY(20px);
  transform-origin: left;
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: transform,opacity;
}

.section-product h1 span {
  display: inline-block;
  margin-left: 39px;
  font-size: 2.8rem;
  letter-spacing: .06em;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: .4s;
}

.section-product .text {
  /* width: 70.2vw; */
  font-size: 2rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}

.section-product .thumb {
  position: relative;
  width: 79.16vw;
  height: 600px;
  overflow: hidden;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-product.flow-area.sp-none {
	padding-top: 0;
	padding-bottom: 0;
}
.section-product.flow-area.sp-none .thumb {
	height: auto;
}

.section-product.flow-area.sp-none .thumb.thumb1 {
    margin: 0;
}

.section-product .thumb:before {
  content: "";
  background-color: #f6f6f6;
  width: 100%;
  height: 100%;
  top: 0;
  position: absolute;
  z-index: 10;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
}

.section-product .thumb.thumb1 {
  /* width: 100%;
  height: 600px; */
  /* margin: 80px 0 75px; */
  margin:20px 0 75px;
  left: 0;
  transform: translateX(-99%);
}

.section-product.flow-area.sp-none .thumb.thumb1 {
	/* transform: translateX(-111%); */
	transform: translateX(-90%);
}

.section-product .thumb.thumb2 {
  margin: 140px 100px 80px 0;
  margin-left: auto;
  right: 0;
  transform: translateX(100%);
}


.section-product .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* .section-product .content {
  margin-left: 2.77vw;
} */

.section-product .content2 {
  margin-left: 13.2vw;
  margin-bottom: 80px;
}

.section-product .btn,
.section-consulting .btn {
  display: flex;
  justify-content: flex-end;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: .06em;
  margin-top: 140px;
}

.section-product .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-product .btn a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-product .btn a:hover {
  color: #333;
}

.section-product .btn a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .section-product .btn a {
    padding-right: 3rem;
  }
  .section-product .btn a:before {
    background-size: 5px 8px;
  }
}




.section-about,
.section-consulting {
  padding-bottom: 40px;
}

.section-consulting .borderTop {
  padding-top: 160px;
}

.section-about.isView h1,
.section-consulting.isView h1 {
  opacity: 1;
  transform: translateY(0);
}

.section-about.isView h1 span,
.section-consulting.isView h1 span {
  opacity: 1;
  transform: translateX(0);
}

.section-about .section-inner {
  /* padding-top: 160px; */
  padding-top: 35px;
}

.section-about h1,
.section-consulting h1 {
  font-size: 11rem;

  font-weight: bold;
  margin-bottom: 40px;
  opacity: 0;
  transform: translateY(20px);
  transform-origin: left;
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: transform,opacity;
}

.section-consulting h1 p {
}
@media screen and (min-width: 1041px) {
  .section-consulting h1 p {
    display: inline;  
  }
}

.section-consulting h1 {
  margin-bottom: 73px;
}

.section-about h1 span,
.section-consulting h1 span {
  display: inline-block;
  margin-left: 39px;
  font-size: 2.8rem;
  letter-spacing: .06em;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: .4s;
}

.section-about .thumb {
  width: 100%;
  height: 600px;
}

.section-about .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.section-about .text,
.section-consulting .text {
  width: 70.2vw;
  font-size: 2rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}

.section-about .link {
  display: flex;
  align-items: center;
  margin: 40px 0 80px 0;
}

.section-about .link li {
  margin-right: 5rem;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .06em;
  letter-spacing: .1em;
}

.section-about .link li a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-about .link li a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-about .link li a:hover {
  color: #333;
}

.section-about .link li a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .section-about .link li a {
    padding-right: 3rem;
  }
  .section-about .link li a:before {
    background-size: 5px 8px;
  }
}

.section-about .link li a:before {
  background-size: 7px 11px;
}

.section-about .btn {
  display: flex;
  justify-content: flex-end;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.section-about .btn a,
.section-consulting .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-about .btn a:before,
.section-consulting .btn a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-about .btn a:hover,
.section-consulting .btn a:hover {
  color: #333;
}

.section-about .btn a:hover:before,
.section-consulting .btn a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .section-about .btn a,
  .section-consulting .btn a {
    padding-right: 3rem;
  }
  .section-about .btn a:before,
  .section-consulting .btn a:before {
    background-size: 5px 8px;
  }
}

.section-news {
  /* padding-bottom: 175px; */
  padding-bottom: 80px;
}

.section-news.isView h1 {
  opacity: 1;
  transform: translateY(0);
}

.section-news.isView h1 span {
  opacity: 1;
  transform: translateY(0);
}

.section-news .section-inner {
  /* padding-top: 160px; */
  padding-top: 35px;
}

.section-news h1 {
  font-size: 11rem;
  font-weight: bold;
  margin-bottom: 40px;
  opacity: 0;
  transform: translateY(20px);
  transform-origin: left;
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: transform,opacity;
}

.section-news h1 span {
  display: inline-block;
  margin-left: 32px;
  font-size: 2.8rem;
  letter-spacing: .06em;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: .4s;
}

.section-news .btn {
  display: flex;
  justify-content: flex-end;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: .06em;
  padding-bottom: 40px;
  margin-top: 80px;
}

.section-news .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-news .btn a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-news .btn a:hover {
  color: #333;
}

.section-news .btn a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .section-news .btn a {
    padding-right: 3rem;
  }
  .section-news .btn a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .content h2 {
    font-size: 2.75rem;
    margin-bottom: 2.4rem;
  }
  .content h2 span {
    font-size: 1.6rem;
    margin-bottom: 1.3rem;
  }
  .section-fv {
    height: initial;
    padding-top: 0;
  }
  .section-fv .section-inner {
    height: initial;
  }
  .section-fv h2 {
    position: initial;
    width: 97.1%;
    padding-top: 9.3rem;
    transform: none;
  }
  .section-fv h2.en {
    width: 98.471%;
    transform: none;
    padding-top: 12.1rem;
  }
  .section-fv .slider {
    position: relative;
    width: 90vw;
    height: 96vw;
    margin-top: 4rem;
    margin-left: auto;
  }
  .section-product {
    padding-top: 7.2rem;
    padding-bottom: 26px;
  }
  .section-product h1,
  .section-consulting h1 {
    font-size: 6.4rem;
  }
  .section-consulting h1 {
    margin-bottom: 46px;
  }
  .section-consulting h1 p {
    transform: scale(0.83, 1) translateX(-41px);
    width: fit-content;
  }
  .section-product h1 span,
  .section-consulting h1 span {
    font-size: 1.6rem;
    display: block;
    margin-left: 0;
    margin-top: 1.4rem;
  }
  .section-product .text,
  .section-consulting .text {
    width: 100%;
    /* font-size: 1.6rem; */
    line-height: 1.6;
  }
  .section-product .thumb {
    width: 93.3vw;
    height: 62.4vw;
  }
  .section-product .thumb.thumb1 {
    /* margin: 60px 0 48px 0; */
    height: 64vw;
  }
  .section-product .thumb.thumb2 {
    margin: 60px 0 32px auto;
  }
  .section-product .content {
    margin-left: 0;
  }
  .section-product .content2 {
    margin-bottom: 6rem;
  }
  .section-product .btn,
  .section-consulting .btn {
    margin-right: 0;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .06em;
    margin-top: 58px;
  }
  .section-product .btn a,
  .section-consulting .btn a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-product .btn a:before,
  .section-consulting .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-product .btn a:hover,
  .section-consulting .btn a:hover {
    color: #333;
  }
  .section-product .btn a:hover:before,
  .section-consulting .btn a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .section-product .btn a,
  .section-consulting .btn a {
    padding-right: 3rem;
  }
  .section-product .btn a:before,
  .section-consulting .btn a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .section-about,
  .section-consulting {
    padding-bottom: 24px;
  }
  .section-about .section-inner,
  .section-consulting .borderTop {
    padding-top: 8rem;
  }
  .section-about h1 {
    font-size: 6.4rem;
  }
  .section-about h1 span {
    display: block;
    font-size: 1.6rem;
    margin-left: 0;
    margin-top: 1.6rem;
  }
  .section-about .thumb {
    height: 64vw;
  }
  .section-about .text {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .section-about .link {
    margin: 32px 0 60px 0;
  }
  .section-about .link li {
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .06em;
    margin-right: 2.4rem;
  }
  .section-about .link li a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-about .link li a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-about .link li a:hover {
    color: #333;
  }
  .section-about .link li a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .section-about .link li a {
    padding-right: 3rem;
  }
  .section-about .link li a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .section-about .link li:last-child {
    margin-right: 0;
  }
  .section-about .btn {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .06em;
    margin-right: 0;
  }
  .section-about .btn a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-about .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-about .btn a:hover {
    color: #333;
  }
  .section-about .btn a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .section-about .btn a {
    padding-right: 3rem;
  }
  .section-about .btn a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .section-news {
    padding-bottom: 110px;
  }
  .section-news .section-inner {
    padding-top: 80px;
  }
  .section-news h1 {
    font-size: 6.4rem;
  }
  .section-news h1 span {
    display: block;
    font-size: 1.6rem;
    margin-left: 0;
    margin-top: 1.6rem;
  }
  .section-news .btn {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .06em;
    margin-right: 0;
    padding-bottom: 24px;
    margin-top: 60px;
  }
  .section-news .btn a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-news .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-news .btn a:hover {
    color: #333;
  }
  .section-news .btn a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .section-news .btn a {
    padding-right: 3rem;
  }
  .section-news .btn a:before {
    background-size: 5px 8px;
  }
}

.about .section-main {
  background-color: #fff;
  padding: 113px 0 50px;
}

.about .section-main.jp h2 {
  letter-spacing: .08em !important;
}

.about .section-main .head-box .title {
  letter-spacing: .08em !important;
}

.about .section-main .ceo-box .text-box h3 {
  letter-spacing: .08em !important;
}

.about .section-main .text-box {
  margin-bottom: 120px;
}

.about .section-main h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  margin-bottom: 40px;
}

@media screen and (max-width: 1040px) {
  .about .section-main h2 {
    font-size: 3rem;
  }
}

.about .section-main h3 {
  font-size: 3.2rem;
  line-height: 1.4;
}

@media screen and (max-width: 1040px) {
  .about .section-main h3 {
    font-size: 3rem;
  }
}

.about .section-main .text {
  font-size: 2rem;
  line-height: 1.6;
}

@media screen and (max-width: 1040px) {
  .about .section-main .text {
    font-size: 1.6rem;
  }
}

.about .section-main .pict {
  width: 100%;
  height: 600px;
  margin-bottom: 120px;
}

.about .section-main .pict img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.about .section-main .head-box {
  margin-bottom: 78px;
}

.about .section-main .head-box.vision,
.about .section-main .head-box.mission {
  margin-bottom: 118px;
}

@media screen and (max-width: 1040px) {
  .about .section-main .head-box.vision,
  .about .section-main .head-box.mission {
    margin-bottom: 58px;
  } 
}

.about .section-main .head-box.value {
  margin-bottom: 165px;
}

@media screen and (max-width: 1040px) {
  .about .section-main .head-box.value {
    margin-bottom: 81px;
  }

  .about .section-main .head-box.value .title {
    font-size: 2.6rem;
    letter-spacing: 0.04em !important;
  }
  
  .about .section-main .head-box.value .title.ja {
    margin-bottom: 4px;
  }
}

.about .section-main .head-box .title {
  text-align: left;
  margin-bottom: 29px;
  font-size: min(4.1vw, 4.8rem);
  line-height: 1.4;
  font-weight: bold;
}

.about .section-main .head-box .value-sub {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-top: -8px;
}

.about .section-main .head-box .value-text {
  font-size: 20px;
  width: 100%;
  max-width: 940px;
  text-align: left;
  letter-spacing: 0.065em;
  line-height: 1.65;
  margin-top: 34px;
}

@media screen and (max-width: 1040px) {
  .about .section-main .head-box .value-sub {
    font-size: 18px;
    margin-top: 0;
    line-height: 1.6;
  }

  .about .section-main .head-box .value-text {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 9px;
  }
}

.about .section-main .head-box .title.eng {
  font-size: min(4.1vw, 4.8rem);
}

.about .section-main .head-box .title span {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 14px;
  /* letter-spacing: 0.02em; */
}

.about .section-main .head-box .text {
  max-width: 980px;
  width: 100%;
  text-align: left;
  letter-spacing: 0.065em;
  line-height: 1.65;
}

.about .section-main .ceo-box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 120px;
}

.about .section-main .ceo-box figure {
  width: 30.5vw;
}

.about .section-main .ceo-box figure img {
  width: 100%;
}

.about .section-main .ceo-box .text-box {
  width: 44.4vw;
  margin-bottom: 0;
}

.about .section-main .ceo-box .text-box h3 {
  margin: 120px 0 50px 0;
}

.about .section-main .ceo-box .text-box .text {
  margin-bottom: 40px;
}

.about .section-main .ceo-box .text-box .name-box {
  text-align: right;
}

.about .section-main .btn-box {
  display: flex;
  justify-content: space-between;
}

.about .section-main .btn-black {
  height: 112px;
  background-color: #000;
  width: 31.288%;
}

.about .section-main .btn-black a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: min(1.8vw, 2.4rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 0 0 0 min(2.5vw, 36px);
  box-sizing: border-box;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  line-height: 1.5;
}

.about .section-main.about-en .btn-black a {
  padding: 0 80px 0 min(2.5vw, 36px);
}

.about .section-main .btn-black a:before {
  content: "";
  width: 32px;
  height: 32px;
  border-radius: 50%;
  position: absolute;
  right: min(2.3vw, 31px);
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.about .section-main .btn-black a:hover {
  color: #ccc;
}

.about .section-main .btn-black a:hover:before {
  background-color: #009CAE;
}

.about :target {
  scroll-margin-top: 93px;
}

@media screen and (max-width: 1040px) {
  .about .section-main .btn-black {
    width: 100%;
    height: 80px;
  }
  .about .section-main .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .about .section-main .btn-black a:before {
    width: 24px;
    height: 24px;
  }
  .about :target {
    scroll-margin-top: 53px;
  }
}

.about .section-company {
  margin-bottom: 100px;
  padding-top: 100px;
}

.about .section-company .detail-box p{
	font-size: 1.6rem;
	line-height: 2.5rem;
}

.section-company .section-inner {
	/* padding-top: 160px; */
	padding-top: 35px;
}

.about .section-company.jp h3 {
  letter-spacing: .08em;
}

.about .section-company .detail-box {
  margin-bottom: 100px;
}

.about .section-company .detail-box .detail {
  display: flex;
  padding: 18px 0;
  border-bottom: solid 1px #eee;
}

.about .section-company .detail-box .title {
  width: 30%;
  font-size: 1.8rem;
  font-weight: 600;
  padding-top: 6px;
}

.about .section-company .detail-box .content {
  width: 70%;
}

.about .section-company .detail-box .text {
  font-size: 2rem;
  line-height: 1.6;
  font-size: 1.8rem;
}

@media screen and (max-width: 1040px) {
  .about .section-company .detail-box .text {
    /* font-size: 1.6rem; */
  }
}

.about .section-company .detail-box a {
  display: inline-block;
  margin-top: 3rem;
  font-size: 1.4rem;
  text-decoration: underline;
  transition: opacity .3s ease;
}

.about .section-company .detail-box a:hover {
  opacity: .5;
}

.about .section-company h3 {
  font-size: 3.2rem;
  line-height: 1.4;
  font-size: 4.8rem;
  margin-bottom: 60px;
}

@media screen and (max-width: 1040px) {
  .about .section-company h3 {
    font-size: 3rem;
  }
}

.about .section-company .img {
  width: 100%;
  margin-bottom: 80px;
}

.about .section-company .img img {
  width: 100%;
}

@media screen and (max-width: 1040px) {
  .about .section-main {
    padding: 56px 0 20px 0;
  }
  .about .section-main .text-box {
    margin-bottom: 60px;
  }
  .about .section-main .pict {
    height: 16.6rem;
    margin-bottom: 8rem;
  }
  .about .section-main .head-box {
    margin-left: 0;
    margin-bottom: 8rem;
  }
  .about .section-main .head-box .title {
    font-size: 2.5rem;
    text-align: left;
    margin-bottom: 24px;
  }
  .about .section-main .head-box .title.eng {
    font-size: 2.5rem;
    margin-bottom: 10px;
  }
  .about .section-main .head-box .title span {
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
  .about .section-main .head-box .text {
    width: 100%;
    text-align: left;
    line-height: 1.6;
  }
  .about .section-main .head-box:last-child {
    margin-bottom: 31px;
  }
  .about .section-main .ceo-box {
    display: block;
    margin-bottom: 40px;
  }
  .about .section-main .ceo-box figure {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
  .about .section-main .ceo-box .text-box {
    width: 100%;
    margin-top: 4rem;
  }
  .about .section-main .ceo-box .text-box h3 {
    margin-top: 0;
    margin-bottom: 16px;
  }
  .about .section-main .ceo-box .text-box .text {
    margin-bottom: 24px;
  }
  .about .section-main .btn-box {
    display: block;
  }
  .about .section-main .btn-box .btn-black {
    margin-bottom: 20px;
  }
  .about .section-main .btn-box .btn-black:last-child {
    margin-bottom: 0;
  }
  .about .section-main .btn-box .btn-black a:before {
    right: 28px;
  }
  .about .section-company {
    margin-bottom: 60px;
    padding-top: 60px;
  }
  .about .section-company h3 {
    margin-bottom: 20px;
  }
  .about .section-company .img {
    margin-bottom: 30px;
  }
  .about .section-company .detail-box {
    margin-bottom: 60px;
  }
  .about .section-company .detail-box .detail {
    display: block;
  }
  .about .section-company .detail-box .title {
    width: 100%;
    /* font-size: 1.4rem; */
    margin-bottom: 12px;
  }
  .about .section-company .detail-box .content {
    width: 100%;
  }
  .about .section-company .detail-box .text {
    /* font-size: 1.4rem; */
  }
  .about .section-company .history-box .detail-box {
    margin-bottom: 0;
  }
}

.section-company .detail-box ul,
.section-company .detail-box ol {
	margin-bottom: 30px;
}
.section-company .detail-box ul li,
.section-company .detail-box ol li {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.7;
	padding-left: 1em;
	margin-bottom: 6px;
}
.section-company .detail-box ul li:before,
.section-company .detail-box ol li:before {
	content: "";
	width: 8px;
	height: 8px;
	background-color: #000;
	position: absolute;
	left: 0;
	top: 12px;
	border-radius: 50%;
}

/* 2023/04 */
@media screen and (min-width: 1041px) {
  .about .section-inner {
    /* margin: 0 calc(6% + 100px) 0 5.6%; */
	margin: 0 calc(6% + 100px) 0 2.55%;
  }
}

.about .carousel-area {
  margin-bottom: 114px;
}

@media screen and (max-width: 1040px) {
  .about .carousel-area {
    margin-bottom: 57px;
  }
}

.about .slide-track {
  -webkit-animation: aboutScroll 50s linear infinite;
  animation: aboutScroll 50s linear infinite;
  display: flex;
  width: fit-content;
}

.about .slide-track .slide {
  margin-right: 20px;
}

@media screen and (max-width: 1040px) {
  .about .slide-track .slide {
    margin-right: 11px;
  }
}

.about .slide-track .slide figure img {
  height: 340px;
}

@media screen and (max-width: 1040px) {
  .about .slide-track .slide figure img {
    height: 166px;
  }
}

.about .section-main .head-box .title strong {
  display: flex;
  margin-top: -11px;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 1040px) {
  .about .section-main .head-box .title strong {
    margin-top: -6px;
  }
}

.about .section-main .head-box .title i {
  display: flex;
  font-style: normal;
}

.about .section-main .head-box .title i:nth-child(2) {
  margin-left: 16px;
}

@media screen and (max-width: 1040px) {
  .about .section-main .head-box .title i:nth-child(2) {
    margin-left: 9px;
  }
}

.about .section-main .head-box .title i::before {
  content: '“';
  margin-right: -3px;
}

.about .section-main .head-box .title i::after {
  content: '”';
  margin-right: 14px;
}

@media screen and (max-width: 1040px) {
  .about .section-main .head-box .title i::after {
    margin-right: 6px;
  }
}

.about .roi {
  max-width: 1068px;
  width: 100%;
  display: grid;
}

@media screen and (min-width: 1041px) {
  .about .roi {
    grid-template-columns: repeat(2, min(39vw, 504px));
    gap: 61px min(5.2%, 60px);
    justify-content: space-between;
    margin-bottom: 200px;
  }
}

@media screen and (max-width: 1040px) {
  .about .roi {
    gap: 49px;
    margin-bottom: 127px;
  }
}

.about .roi li strong {
  display: inline-block;
  background: #000;
  color: #fff;
  font-size: min(3.5vw, 47px);
  letter-spacing: 0.08em;
  padding: 4px 13px 8px 16px;
  margin-bottom: 33px;
  line-height: 1.2;
}

@media screen and (max-width: 1040px) {
  .about .roi li strong {
    font-size: 34px;
    margin-bottom: 15px;
    padding: 4px 11px 9px 15px;
  }
}

.about .roi li p {
  line-height: 1.7;
  font-size: 16px;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 1040px) {
  .about .roi li p {
    font-size: 14px;
  }
}
/* 2023/04 */

.privacy .section-main {
  padding: 120px 0 150px 0;
}

.privacy .section-main.jp .detail-box h3 {
  letter-spacing: .08em;
}

.privacy .section-main.jp .detail-box .list .title {
  letter-spacing: .06em;
}

.privacy .section-main .title-box {
  margin-bottom: 120px;
}

.privacy .section-main h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  margin-bottom: 40px;
}

@media screen and (max-width: 1040px) {
  .privacy .section-main h2 {
    font-size: 3rem;
  }
}

.privacy .section-main .text {
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 32px;
}

@media screen and (max-width: 1040px) {
  .privacy .section-main .text {
    /* font-size: 1.6rem; */
  }
}

.privacy .section-main .detail-box {
  margin-top: 160px;
}

.privacy .section-main .detail-box h3 {
  font-size: 3.2rem;
  line-height: 1.4;
  margin-bottom: 60px;
}

@media screen and (max-width: 1040px) {
  .privacy .section-main .detail-box h3 {
    font-size: 3rem;
  }
}

.privacy .section-main .detail-box .list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 60px;
  border-bottom: solid 1px #eee;
  margin-bottom: 60px;
}

.privacy .section-main .detail-box .list li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.privacy .section-main .detail-box .list figure {
  width: 580px;
  margin-right: 80px;
}

.privacy .section-main .detail-box .list figure img {
  width: 100%;
}

.privacy .section-main .detail-box .list .text-box {
  width: calc(100% - 580px);
  margin: auto 0;
}

.privacy .section-main .detail-box .list .text-box .text {
  margin-bottom: 30px;
}

.privacy .section-main .detail-box .list .text-box .text:last-child {
  margin-bottom: 0;
}

.privacy .section-main .detail-box .list .text-box .list {
  margin-left: 18px;
}

.privacy .section-main .detail-box .list .text-box .list li {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 12px;
  padding-left: 18px;
  padding-bottom: 0;
  border-bottom: 0;
}

.privacy .section-main .detail-box .list .text-box .list li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  left: 0;
}

.privacy .section-main .detail-box .list .text-box .list li:last-child {
  margin-bottom: 0;
}

.privacy .section-main .detail-box .list .title {
  font-size: 3.2rem;
  margin-bottom: 24px;
  line-height: 1.4;
  font-weight: 600;
}

.privacy .section-main .detail-box .list .text {
  font-size: 1.8rem;
}

@media screen and (max-width: 1040px) {
  .privacy .section-main {
    padding: 60px 0 80px 0;
  }
  .privacy .section-main h2 {
    margin-bottom: 16px;
  }
  .privacy .section-main .detail-box {
    margin-top: 120px;
  }
  .privacy .section-main .detail-box h3 {
    margin-bottom: 40px;
  }
  .privacy .section-main .detail-box .list li {
    display: block;
    margin-bottom: 40px;
    padding-bottom: 0;
    border-bottom: none;
  }
  .privacy .section-main .detail-box .list figure {
    width: 100%;
  }
  .privacy .section-main .detail-box .list .text-box {
    width: 100%;
  }
  .privacy .section-main .detail-box .list .text-box .text {
    margin-bottom: 20px;
  }
  .privacy .section-main .detail-box .list .text-box .text:last-child {
    margin-bottom: 0;
  }
  .privacy .section-main .detail-box .list .text-box .list {
    margin-left: 0;
  }
  .privacy .section-main .detail-box .list .text-box .list li {
    font-size: 1.4rem;
    margin-bottom: 8px;
    padding-left: 12px;
  }
  .privacy .section-main .detail-box .list .text-box .list li:before {
    width: 4px;
    height: 4px;
    top: 9px;
  }
  .privacy .section-main .detail-box .list .text-box .list li:last-child {
    margin-bottom: 0;
  }
  .privacy .section-main .detail-box .list .title {
    margin: 24px 0 16px;
    font-size: 2.2rem;
  }
  .privacy .section-main .detail-box .list .text {
    font-size: 1.4rem;
  }
}

.sustainability .section-main {
  padding: 120px 0 150px 0;
}

.sustainability .section-main .text-box {
  margin-bottom: 0;
}

.sustainability .section-main h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  margin-bottom: 40px;
}

@media screen and (max-width: 1040px) {
  .sustainability .section-main h2 {
    font-size: 3rem;
  }
}

.sustainability .section-main .text {
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 32px;
}

@media screen and (max-width: 1040px) {
  .sustainability .section-main .text {
    font-size: 1.6rem;
  }
}

.sustainability .section-materility {
  margin-bottom: 160px;
}

.sustainability .section-materility.jp .content-box h3 {
  letter-spacing: .06em;
}

.sustainability .section-materility h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  margin-bottom: 60px;
}

@media screen and (max-width: 1040px) {
  .sustainability .section-materility h2 {
    font-size: 3rem;
  }
}

.sustainability .section-materility .content-box {
  display: flex;
  margin-bottom: 60px;
  border-bottom: solid 1px #eee;
}

.sustainability .section-materility .content-box:last-child {
  margin-bottom: 0;
}

.sustainability .section-materility .content-box .detail-box {
  width: 70%;
  border-right: solid 1px #eee;
  padding: 24px 80px 60px 0;
  box-sizing: border-box;
}

.sustainability .section-materility .content-box .detail-box .text {
  margin-bottom: 24px;
}

.sustainability .section-materility .content-box .detail-box ul li {
  font-size: 1.8rem;
  line-height: 1.6;
  position: relative;
  margin-bottom: 8px;
  padding-left: 16px;
}

.sustainability .section-materility .content-box .detail-box ul li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  left: 0;
}

.sustainability .section-materility .content-box .list-box {
  padding: 30px 60px;
  width: 30%;
  box-sizing: border-box;
}

.sustainability .section-materility .content-box .list-box li {
  position: relative;
  font-size: 1.6rem;
  margin-bottom: 16px;
  padding-left: 1em;
  line-height: 1.6;
}

.sustainability .section-materility .content-box .list-box li:before {
  content: "";
  width: 4px;
  height: 4px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 0;
}

.sustainability .section-materility .content-box h3 {
  font-size: 3.2rem;
  line-height: 1.4;
  margin-bottom: 24px;
}

@media screen and (max-width: 1040px) {
  .sustainability .section-materility .content-box h3 {
    font-size: 3rem;
  }
}

.sustainability .section-materility .content-box .text {
  font-size: 1.8rem;
  line-height: 1.6;
}

.sustainability .section-materility .content-box .title {
  font-size: 2rem;
  margin-bottom: 26px;
  font-weight: 600;
}

.sustainability .section-cycle {
  margin-bottom: 160px;
}

.sustainability .section-cycle.jp h2 {
  letter-spacing: .04em;
}

.sustainability .section-cycle .text-box {
  margin-bottom: 80px;
}

.sustainability .section-cycle h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  margin-bottom: 40px;
}

@media screen and (max-width: 1040px) {
  .sustainability .section-cycle h2 {
    font-size: 3rem;
  }
}

.sustainability .section-cycle .text {
  font-size: 2rem;
  line-height: 1.6;
}

@media screen and (max-width: 1040px) {
  .sustainability .section-cycle .text {
    font-size: 1.6rem;
  }
}

.sustainability .section-cycle .detail-area {
  display: flex;
  justify-content: flex-start;
}

.sustainability .section-cycle .detail-area figure {
  width: 540px;
  margin-right: 80px;
}

.sustainability .section-cycle .detail-area figure img {
  width: 100%;
}

.sustainability .section-cycle .detail-area .list-text {
  width: calc(100% - 540px);
  padding-top: 32px;
  counter-reset: li;
}

.sustainability .section-cycle .detail-area .list-text li {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 16px;
  text-indent: -2.9em;
}

.sustainability .section-cycle .detail-area .list-text li:before {
  display: inline-block;
  width: 32px;
  height: 30px;
  background-color: #808080;
  counter-increment: li;
  font-size: 2rem;
  color: #fff;
  text-align: center;
  content: counter(li);
  text-indent: initial;
  margin-right: 1em;
}

@media screen and (max-width: 1040px) {
  .sustainability .section-main {
    padding: 60px 0 80px 0;
  }
  .sustainability .section-main h2 {
    margin-bottom: 16px;
  }
  .sustainability .section-materility {
    margin-bottom: 120px;
  }
  .sustainability .section-materility h2 {
    margin-bottom: 40px;
  }
  .sustainability .section-materility .content-box {
    display: block;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: solid 1px #eee;
  }
  .sustainability .section-materility .content-box h3 {
    font-size: 2.2rem;
    margin-bottom: 16px;
  }
  .sustainability .section-materility .content-box .detail-box {
    width: 100%;
    padding: 0;
    border-right: none;
    margin-bottom: 32px;
  }
  .sustainability .section-materility .content-box .detail-box ul li {
    font-size: 1.4rem;
    margin-bottom: 8px;
    padding-left: 16px;
  }
  .sustainability .section-materility .content-box .detail-box ul li:before {
    width: 5px;
    height: 5px;
    top: 9px;
  }
  .sustainability .section-materility .content-box .list-box {
    padding: 0;
    width: 100%;
  }
  .sustainability .section-materility .content-box .list-box li {
    font-size: 1.2rem;
    margin-bottom: 14px;
  }
  .sustainability .section-materility .content-box .list-box li:before {
    top: 9px;
  }
  .sustainability .section-materility .content-box .text {
    font-size: 1.4rem;
  }
  .sustainability .section-materility .content-box .title {
    font-size: 1.6rem;
    margin-bottom: 16px;
  }
  .sustainability .section-cycle {
    margin-bottom: 80px;
  }
  .sustainability .section-cycle .text-box {
    margin-bottom: 20px;
  }
  .sustainability .section-cycle .text-box h2 {
    margin-bottom: 20px;
  }
  .sustainability .section-cycle .detail-area {
    display: block;
  }
  .sustainability .section-cycle .detail-area figure {
    width: 100%;
  }
  .sustainability .section-cycle .detail-area .list-text {
    margin-left: 15px;
    width: calc(100% - 15px);
  }
  .sustainability .section-cycle .detail-area .list-text li {
    font-size: 1.4rem;
  }
}

.ir .jp h2 {
  letter-spacing: .08em;
}

.ir .jp h3 {
  letter-spacing: .06em;
}

.ir h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  margin-bottom: 60px;
}

@media screen and (max-width: 1040px) {
  .ir h2 {
    font-size: 3rem;
  }
}

.ir h3 {
  position: relative;
  font-size: 2.4rem;
  padding-left: 22px;
}

.ir h3:before {
  content: "";
  width: 14px;
  height: 4px;
  background-color: #009CAE;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.ir h3 span {
  display: inline-block;
  font-size: 1.6rem;
  margin-left: 10px;
  font-weight: normal;
}

.ir .text {
  font-size: 2rem;
  line-height: 1.6;
}

@media screen and (max-width: 1040px) {
  .ir .text {
    font-size: 1.6rem;
  }
}

.ir .xj-pdf:before {
  width: 34px;
  height: 18px;
  /* background: url(../img/ir/icon-pdf.svg) no-repeat; */
  background-size: 100%;
}

.ir .section-information {
  padding: 120px 0 0 0;
}

.ir .section-information .content-area {
  margin-bottom: 80px;
}

.ir .section-information .content-area:last-child {
  margin-bottom: 0;
}

.ir .section-information .flex-box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}

.ir .section-information .link a {
  font-size: 1.4rem;
  text-decoration: underline;
}

.ir .section-information .list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.ir .section-information .list li {
  width: 24.5vw;
  margin-right: 60px;
}

.ir .section-information .list li:last-child {
  margin-right: 0;
}

.ir .section-information .list li a {
  position: relative;
  display: block;
  width: 100%;
  font-weight: 600;
  padding: 24px 0;
  padding-left: 6px;
  border-bottom: solid 6px #000;
  font-size: 2rem;
  padding-right: calc(2em + 28px);
  box-sizing: border-box;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ir .section-information .list li a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ir .section-information .list li a:hover {
  color: #333;
}

.ir .section-information .list li a:hover:before {
  background-color: #009CAE;
}

.ir .section-information .list-cr li {
  display: flex;
  margin-bottom: 24px;
}

.ir .section-information .list-cr .date {
  font-size: 2rem;
  font-weight: 600;
  color: #666;
  margin-right: 32px;
}

.ir .section-information .list-cr .content {
  font-size: 2rem;
  font-weight: 600;
}

.ir .section-news {
  padding-top: 160px;
  padding-bottom: 140px;
}

.ir .section-news .title-box {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 32px;
}

.ir .section-news .link a {
  font-size: 1.4rem;
  text-decoration: underline;
}

.ir .section-news h2 {
  margin-bottom: 0;
}

.ir .section-news .section-inner {
  padding-top: 0;
}

.ir .section-content {
  padding-bottom: 140px;
}

.ir .section-content h3 {
  margin-bottom: 24px;
}

.ir .section-content .content-area {
  display: flex;
  flex-wrap: wrap;
  margin-top: -50px;
}

.ir .section-content .content {
  margin-top: 50px;
  width: 360px;
  margin-right: 20px;
}

.ir .section-content .content:last-child {
  margin-right: 0;
}

.ir .section-content li {
  margin-bottom: 18px;
  padding-left: 20px;
}

.ir .section-content li a {
  display: inline-block;
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  padding-right: 14px;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ir .section-content li a:before {
  content: "";
  background: url(../img/icon/arrow_breadcrumb.svg) no-repeat;
  width: 6px;
  height: 10px;
  background-size: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.ir .section-content li a.blank {
  padding-right: 24px;
}

.ir .section-content li a.blank:before {
  content: "";
  background: url(../img/icon/blank.svg) no-repeat;
  width: 16px;
  height: 15px;
  background-size: 100%;
}

.ir .section-content li a:hover {
  opacity: .5;
}

.ir .section-research-report {
  margin-bottom: 208px;
}

.ir .section-research-report ul {
  display: flex;
  gap: 0 3%;
  grid-gap: 0 3%;
  flex-wrap: wrap;
}

.ir .section-research-report ul li {
  width: 31.333%;
}

.ir .section-research-report ul li a {
  border: 4px solid #dcdcdc;
  display: block;
  transition: 0.3s;
}

.ir .section-research-report ul li a:hover{
  opacity: 0.5;
}

.ir .section-research-report ul li a img{
  width: 100%;
}

@media screen and (max-width: 1040px) {
  .ir .section-research-report {
    margin-bottom: 140px;
  }
  
  .ir .section-research-report ul {
    display: block;
  }
  
  .ir .section-research-report ul li {
    width: 100%;
    max-width: 327px;
  }
}


.ir .section-report {
  padding-bottom: 120px;
}

.ir .section-report .item-list {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}

.ir .section-report .item-list li {
  width: 30%;
  margin-right: 40px;
}

.ir .section-report .item-list li:nth-child(n + 4) {
  margin-top: 50px;
}

.ir .section-report .item-list li:nth-of-type(3n) {
  margin-right: 0;
}

.ir .section-report .item-list li:last-child {
  margin-right: 0;
}

.ir .section-report .item-list li img {
  width: 100%;
}

.ir .section-ir_news, .ir .section-ir_message, .ir .section-ir_executive,
.ir .section-ir_governance, .ir .section-ir_performance, .ir .section-ir_finance,
.ir .section-ir_cashflow, .ir .section-ir_library, .ir .section-ir_results,
.ir .section-ir_presentations, .ir .section-ir_securities, .ir .section-ir_meeting,
.ir .section-ir_disclosure, .ir .section-ir_stock, .ir .section-ir_calendar,
.ir .section-ir_policy, .ir .section-ir_notice, .ir .section-ir_disclaimer, .ir .section-ir_faq {
  margin-bottom: 160px;
  padding-top: 120px;
}

.ir .section-ir_news .content-area, .ir .section-ir_message .content-area, .ir .section-ir_executive .content-area,
.ir .section-ir_governance .content-area, .ir .section-ir_performance .content-area, .ir .section-ir_finance .content-area,
.ir .section-ir_cashflow .content-area, .ir .section-ir_library .content-area, .ir .section-ir_results .content-area,
.ir .section-ir_presentations .content-area, .ir .section-ir_securities .content-area, .ir .section-ir_meeting .content-area,
.ir .section-ir_disclosure .content-area, .ir .section-ir_stock .content-area, .ir .section-ir_calendar .content-area,
.ir .section-ir_policy .content-area, .ir .section-ir_notice .content-area, .ir .section-ir_disclaimer .content-area, .ir .section-ir_faq .content-area {
  display: flex;
  justify-content: space-between;
}

.ir .section-ir_news .main-area, .ir .section-ir_message .main-area, .ir .section-ir_executive .main-area,
.ir .section-ir_governance .main-area, .ir .section-ir_performance .main-area, .ir .section-ir_finance .main-area,
.ir .section-ir_cashflow .main-area, .ir .section-ir_library .main-area, .ir .section-ir_results .main-area,
.ir .section-ir_presentations .main-area, .ir .section-ir_securities .main-area, .ir .section-ir_meeting .main-area,
.ir .section-ir_disclosure .main-area, .ir .section-ir_stock .main-area, .ir .section-ir_calendar .main-area,
.ir .section-ir_policy .main-area, .ir .section-ir_notice .main-area, .ir .section-ir_disclaimer .main-area, .ir .section-ir_faq .main-area {
  width: 820px;
  width: 69.5%;
}

.ir .section-ir_news .information-area, .ir .section-ir_message .information-area, .ir .section-ir_executive .information-area,
.ir .section-ir_governance .information-area, .ir .section-ir_performance .information-area, .ir .section-ir_finance .information-area,
.ir .section-ir_cashflow .information-area, .ir .section-ir_library .information-area, .ir .section-ir_results .information-area,
.ir .section-ir_presentations .information-area, .ir .section-ir_securities .information-area, .ir .section-ir_meeting .information-area,
.ir .section-ir_disclosure .information-area, .ir .section-ir_stock .information-area, .ir .section-ir_calendar .information-area,
.ir .section-ir_policy .information-area, .ir .section-ir_notice .information-area, .ir .section-ir_disclaimer .information-area, .ir .section-ir_faq .information-area {
  max-width: 300px;
  width: 25.4%;
}

.ir .section-ir_news .select-area, .ir .section-ir_message .select-area, .ir .section-ir_executive .select-area,
.ir .section-ir_governance .select-area, .ir .section-ir_performance .select-area, .ir .section-ir_finance .select-area,
.ir .section-ir_cashflow .select-area, .ir .section-ir_library .select-area, .ir .section-ir_results .select-area,
.ir .section-ir_presentations .select-area, .ir .section-ir_securities .select-area, .ir .section-ir_meeting .select-area,
.ir .section-ir_disclosure .select-area, .ir .section-ir_stock .select-area, .ir .section-ir_calendar .select-area,
.ir .section-ir_policy .select-area, .ir .section-ir_notice .select-area, .ir .section-ir_disclaimer .select-area, .ir .section-ir_faq .select-area {
  display: none;
}

.ir .section-ir_news .content, .ir .section-ir_message .content, .ir .section-ir_executive .content,
.ir .section-ir_governance .content, .ir .section-ir_performance .content, .ir .section-ir_finance .content,
.ir .section-ir_cashflow .content, .ir .section-ir_library .content, .ir .section-ir_results .content,
.ir .section-ir_presentations .content, .ir .section-ir_securities .content, .ir .section-ir_meeting .content,
.ir .section-ir_disclosure .content, .ir .section-ir_stock .content, .ir .section-ir_calendar .content,
.ir .section-ir_policy .content, .ir .section-ir_notice .content, .ir .section-ir_disclaimer .content, .ir .section-ir_faq .content {
  margin-top: 40px;
  margin-bottom: 160px;
}

.ir .section-ir_news .no-border, .ir .section-ir_message .no-border, .ir .section-ir_executive .no-border,
.ir .section-ir_governance .no-border, .ir .section-ir_performance .no-border, .ir .section-ir_finance .no-border,
.ir .section-ir_cashflow .no-border, .ir .section-ir_library .no-border, .ir .section-ir_results .no-border,
.ir .section-ir_presentations .no-border, .ir .section-ir_securities .no-border, .ir .section-ir_meeting .no-border,
.ir .section-ir_disclosure .no-border, .ir .section-ir_stock .no-border, .ir .section-ir_calendar .no-border,
.ir .section-ir_policy .no-border, .ir .section-ir_notice .no-border, .ir .section-ir_disclaimer .no-border, .ir .section-ir_faq .no-border {
  border: 0 !important;
}

.ir .section-ir_news .no-date, .ir .section-ir_message .no-date, .ir .section-ir_executive .no-date,
.ir .section-ir_governance .no-date, .ir .section-ir_performance .no-date, .ir .section-ir_finance .no-date,
.ir .section-ir_cashflow .no-date, .ir .section-ir_library .no-date, .ir .section-ir_results .no-date,
.ir .section-ir_presentations .no-date, .ir .section-ir_securities .no-date, .ir .section-ir_meeting .no-date,
.ir .section-ir_disclosure .no-date, .ir .section-ir_stock .no-date, .ir .section-ir_calendar .no-date,
.ir .section-ir_policy .no-date, .ir .section-ir_notice .no-date, .ir .section-ir_disclaimer .no-date, .ir .section-ir_faq .no-date {
  font-size: 1.6rem;
  margin-top: 40px;
}

.ir .section-ir_news .xj-pdf:before, .ir .section-ir_message .xj-pdf:before, .ir .section-ir_executive .xj-pdf:before,
.ir .section-ir_governance .xj-pdf:before, .ir .section-ir_performance .xj-pdf:before, .ir .section-ir_finance .xj-pdf:before,
.ir .section-ir_cashflow .xj-pdf:before, .ir .section-ir_library .xj-pdf:before, .ir .section-ir_results .xj-pdf:before,
.ir .section-ir_presentations .xj-pdf:before, .ir .section-ir_securities .xj-pdf:before, .ir .section-ir_meeting .xj-pdf:before,
.ir .section-ir_disclosure .xj-pdf:before, .ir .section-ir_stock .xj-pdf:before, .ir .section-ir_calendar .xj-pdf:before,
.ir .section-ir_policy .xj-pdf:before, .ir .section-ir_notice .xj-pdf:before, .ir .section-ir_disclaimer .xj-pdf:before, .ir .section-ir_faq .xj-pdf:before {
  top: 3px;
}

.ir .section-ir_news .news-area .list-select ul {
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  margin-top: -8px !important;
}

.ir .section-ir_news .news-area .list-select ul li {
  margin-top: 8px !important;
  padding-bottom: 0px !important;
}

.ir .section-ir_news .news-area .xj-pdf:before {
  top: 2px;
}

.ir .section-ir_message .message-area figure {
  width: 100%;
  margin-bottom: 60px;
}

.ir .section-ir_message .message-area figure img {
  width: 100%;
}

.ir .section-ir_message .message-area .text {
  margin-bottom: 40px;
}

.ir .section-ir_message .message-area .signature-box {
  text-align: right;
}

.ir .section-ir_message .message-area .signature-box .title {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
}

.ir .section-ir_executive .executive-area .flex-box {
  display: flex;
  justify-content: left;
  margin-bottom: 60px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area {
  width: calc(50% - 30px);
  margin-right: 60px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area figure {
  width: 100%;
  margin-bottom: 40px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area figure img {
  width: 100%;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area .position {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 16px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area .profile-name {
  display: flex;
  margin-bottom: 24px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area .profile-name .title {
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 700;
  margin-right: 12px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area .profile-name .subtitle {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-top: auto;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area .text {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-bottom: 28px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area ul li {
  list-style: inside;
  margin-bottom: 8px;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area ul li p {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.7;
  display: inline;
}

.ir .section-ir_executive .executive-area .flex-box .profile-area:last-child {
  margin-right: 0;
}

.ir .section-ir_executive .executive-area .flex-box:last-child {
  margin-bottom: 0;
}

.ir .section-ir_executive .executive-area .executive-position {
  font-size: 30px;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #000;
  padding-bottom: 22px;
  margin-bottom: 72px;
}

.ir .section-ir_executive .executive-area .executive-position.en {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding-bottom: 12px;
}

@media screen and (max-width: 1040px) {
  .ir .section-ir_executive .executive-area .executive-position {
    font-size: 22px;
    padding-bottom: 10px;
    margin-bottom: 32px;
  }

  .ir .section-ir_executive .executive-area .executive-position.en {
    font-size: 29px;
    line-height: 1;
  }
}

.ir .section-ir_governance .governance-area .about-governance-area {
  margin-bottom: 160px;
}

.ir .section-ir_governance .governance-area .system-diagram-area {
  margin-bottom: 160px;
}

.ir .section-ir_governance .governance-area .system-diagram-area figure {
  width: 100%;
}

.ir .section-ir_governance .governance-area .system-diagram-area figure img {
  width: 100%;
}

.ir .section-ir_governance .governance-area .report-area a {
  font-size: 2rem;
  line-height: 1.7;
  border-bottom: 1px solid;
}

.ir .section-ir_faq .faq-area .faq-box {
  margin-bottom: 40px;
}

.ir .section-ir_faq .faq-area .faq-box .title-box {
  display: flex;
  justify-content: left;
  width: 100%;
  margin-bottom: 16px;
}

.ir .section-ir_faq .faq-area .faq-box .title-box figure {
  margin-right: 16px;
  width: 40px;
  min-width: 40px;
}

.ir .section-ir_faq .faq-area .faq-box .title-box figure img {
  width: 100%;
}

.ir .section-ir_faq .faq-area .faq-box .title-box .title {
  font-size: 2rem;
  line-height: 1.7;
  margin-bottom: 0;
}

.ir .section-ir_faq .faq-area .faq-box .text {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-left: 56px;
}

.ir .section-ir_faq .faq-area .faq-box .text a {
  font-weight: 700;
  text-decoration: underline;
}

.ir .section-ir_performance .main-area .graphical-area, .ir .section-ir_finance .main-area .graphical-area, .ir .section-ir_cashflow .main-area .graphical-area {
  margin-bottom: 80px;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box, .ir .section-ir_finance .main-area .graphical-area .flex-box, .ir .section-ir_cashflow .main-area .graphical-area .flex-box {
  display: flex;
  justify-content: left;
  margin-bottom: 60px;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box {
  width: calc(50% - 30px);
  margin-right: 60px;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .content-title, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .content-title, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .content-title {
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .content-title h2, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .content-title h2, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .content-title h2 {
  font-size: 2.4rem;
  margin-bottom: 0;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .content-title .unit, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .content-title .unit, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .content-title .unit {
  margin-top: auto;
  font-size: 1.2rem;
  font-weight: 700;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .graph-box, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .graph-box, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .graph-box {
  width: 100%;
  margin-bottom: 20px;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .graph-box figure img, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .graph-box figure img, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .graph-box figure img {
  width: 100%;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .table-box, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .table-box, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .table-box {
  width: 100%;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table {
  width: 100%;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr {
  box-sizing: border-box;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr td, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr td, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr td {
  border: 1px solid #ccc;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_header_first, .ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_header, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_header_first, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_header, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_header_first, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_header {
  text-align: center;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_value, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_value, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .table-box .xj_chart_table tbody tr .xj_chart_value {
  text-align: right;
}

.ir .section-ir_performance .main-area .graphical-area .flex-box:last-child, .ir .section-ir_finance .main-area .graphical-area .flex-box:last-child, .ir .section-ir_cashflow .main-area .graphical-area .flex-box:last-child {
  margin-bottom: 0;
}

.ir .section-ir_performance .main-area .text-area .text, .ir .section-ir_finance .main-area .text-area .text, .ir .section-ir_cashflow .main-area .text-area .text {
  font-size: 1.4rem;
  line-height: 1.8;
}

.ir .section-ir_performance .main-area .text-area .caution-box, .ir .section-ir_finance .main-area .text-area .caution-box, .ir .section-ir_cashflow .main-area .text-area .caution-box {
  margin-top: 32px;
}

.ir .section-ir_performance .main-area .text-area .caution-box .title, .ir .section-ir_finance .main-area .text-area .caution-box .title, .ir .section-ir_cashflow .main-area .text-area .caution-box .title {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 12px;
}

.ir .section-ir_library .library-area .flex-box {
  display: flex;
  justify-content: left;
  margin-bottom: 60px;
}

.ir .section-ir_library .library-area .flex-box .content-box {
  width: calc(50% - 30px);
  margin-right: 60px;
}

.ir .section-ir_library .library-area .flex-box .content-box .content-title {
  margin-bottom: 40px;
}

.ir .section-ir_library .library-area .flex-box .content-box .content-title h2 {
  font-size: 2.4rem;
  margin-bottom: 0;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list {
  width: 100%;
  margin-bottom: 20px;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl {
  display: block;
  margin-bottom: 28px;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dt {
  font-size: 1.6rem;
  color: #666;
  font-weight: 700;
  margin-bottom: 16px;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd {
  margin-left: 0;
  font-size: 1.6rem;
  font-weight: 700;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd a {
  line-height: 1.5;
  padding-bottom: 24px;
  border-bottom: 1px solid #f2f2f2;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd a:hover:after {
  width: 100%;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd a:before {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd a:after {
  content: "";
  background: rgba(0, 0, 0, 0.02);
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: width 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd a .library-pdf {
  position: static;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd a .library-pdf:before {
  content: "";
  display: inline-block;
  position: relative;
  top: 3px;
  left: 5px;
  width: 34px;
  height: 18px;
  /* background: url(../img/ir/icon-pdf.svg) no-repeat; */
  background-size: 100%;
}

.ir .section-ir_library .library-area .flex-box .content-box .library-list dl dd a .library-pdf img {
  display: none;
}

.ir .section-ir_library .library-area .flex-box .content-box .more {
  text-align: right;
}

.ir .section-ir_library .library-area .flex-box .content-box .more a {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  border-bottom: 1px solid;
}

.ir .section-ir_library .library-area .flex-box .content-box:last-child {
  margin-right: 0;
}

.ir .section-ir_results .main-area h2, .ir .section-ir_presentations .main-area h2, .ir .section-ir_securities .main-area h2,
.ir .section-ir_meeting .main-area h2, .ir .section-ir_disclosure .main-area h2 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}

.ir .section-ir_results .main-area .yearSelect form select, .ir .section-ir_presentations .main-area .yearSelect form select, .ir .section-ir_securities .main-area .yearSelect form select,
.ir .section-ir_meeting .main-area .yearSelect form select, .ir .section-ir_disclosure .main-area .yearSelect form select {
  font-size: 1.6rem;
}

.ir .section-ir_results .main-area .list-select, .ir .section-ir_presentations .main-area .list-select, .ir .section-ir_securities .main-area .list-select,
.ir .section-ir_meeting .main-area .list-select, .ir .section-ir_disclosure .main-area .list-select {
  margin-bottom: 80px;
}

.ir .section-ir_results .main-area .xj-list dl, .ir .section-ir_presentations .main-area .xj-list dl, .ir .section-ir_securities .main-area .xj-list dl,
.ir .section-ir_meeting .main-area .xj-list dl, .ir .section-ir_disclosure .main-area .xj-list dl {
  margin-top: 40px;
  display: block;
  position: relative;
  padding-bottom: 40px;
  border-bottom: 1px solid #f2f2f2;
}

.ir .section-ir_results .main-area .xj-list dl dt, .ir .section-ir_presentations .main-area .xj-list dl dt, .ir .section-ir_securities .main-area .xj-list dl dt,
.ir .section-ir_meeting .main-area .xj-list dl dt, .ir .section-ir_disclosure .main-area .xj-list dl dt {
  font-size: 1.6rem;
  color: #666;
  font-weight: 700;

  margin-bottom: 20px;
}

.ir .section-ir_results .main-area .xj-list dl dd, .ir .section-ir_presentations .main-area .xj-list dl dd, .ir .section-ir_securities .main-area .xj-list dl dd,
.ir .section-ir_meeting .main-area .xj-list dl dd, .ir .section-ir_disclosure .main-area .xj-list dl dd {
  margin-left: 0;
  font-size: 1.6rem;
  font-weight: 700;
}

.ir .section-ir_results .main-area .xj-list dl dd a, .ir .section-ir_presentations .main-area .xj-list dl dd a, .ir .section-ir_securities .main-area .xj-list dl dd a,
.ir .section-ir_meeting .main-area .xj-list dl dd a, .ir .section-ir_disclosure .main-area .xj-list dl dd a {
  line-height: 1.5;
}

.ir .section-ir_results .main-area .xj-list dl dd a:hover:after, .ir .section-ir_presentations .main-area .xj-list dl dd a:hover:after, .ir .section-ir_securities .main-area .xj-list dl dd a:hover:after,
.ir .section-ir_meeting .main-area .xj-list dl dd a:hover:after, .ir .section-ir_disclosure .main-area .xj-list dl dd a:hover:after {
  width: 100%;
}

.ir .section-ir_results .main-area .xj-list dl dd a:before, .ir .section-ir_presentations .main-area .xj-list dl dd a:before, .ir .section-ir_securities .main-area .xj-list dl dd a:before,
.ir .section-ir_meeting .main-area .xj-list dl dd a:before, .ir .section-ir_disclosure .main-area .xj-list dl dd a:before {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.ir .section-ir_results .main-area .xj-list dl dd a:after, .ir .section-ir_presentations .main-area .xj-list dl dd a:after, .ir .section-ir_securities .main-area .xj-list dl dd a:after,
.ir .section-ir_meeting .main-area .xj-list dl dd a:after, .ir .section-ir_disclosure .main-area .xj-list dl dd a:after {
  content: "";
  background: rgba(0, 0, 0, 0.02);
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: width 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ir .section-ir_results .main-area .xj-list dl:first-child, .ir .section-ir_presentations .main-area .xj-list dl:first-child, .ir .section-ir_securities .main-area .xj-list dl:first-child,
.ir .section-ir_meeting .main-area .xj-list dl:first-child, .ir .section-ir_disclosure .main-area .xj-list dl:first-child {
  margin-top: 0;
}

.ir .section-ir_results .main-area #other, .ir .section-ir_presentations .main-area #other, .ir .section-ir_securities .main-area #other,
.ir .section-ir_meeting .main-area #other, .ir .section-ir_disclosure .main-area #other {
  margin-top: 80px;
}

.ir .section-ir_stock .stock-area .column {
  margin-bottom: 80px;
}

.ir .section-ir_stock .stock-area .column tr td {
  border: 1px solid #eee;
  padding: 20px 32px;
  font-size: 1.6rem;
  line-height: 1.7;
}

.ir .section-ir_stock .stock-area .column tr td a {
  font-weight: 700;
  text-decoration: underline;
}

.ir .section-ir_stock .stock-area .column tr td:first-child {
  font-weight: 700;
  background-color: #F7F7F7;
}

.ir .section-ir_calendar .calendar-area figure {
  margin-bottom: 60px;
}

.ir .section-ir_calendar .calendar-area figure img {
  width: 100%;
}

.ir .section-ir_calendar .calendar-area .text {
  font-size: 1.6rem;
}

.ir .section-ir_calendar .calendar-area .note {
  font-size: 1.4rem;
  line-height: 1.5;
}

.ir .section-ir_calendar .calendar-area .text-box {
  margin-bottom: 24px;
}

.ir .section-ir_calendar .calendar-area .text-box dl {
  display: flex;
  margin-bottom: 24px;
}

.ir .section-ir_calendar .calendar-area .text-box dl dt {
  flex-basis: 200px;
  font-weight: 700;
}

.ir .section-ir_calendar .calendar-area .text-box dl dd {
  flex: 1;
}

.ir .section-ir_policy .policy-area .policy-box {
  margin-bottom: 80px;
}

.ir .section-ir_policy .policy-area .policy-box h2 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}

.ir .section-ir_policy .policy-area .policy-box .text {
  font-size: 1.6rem;
}

.ir .section-ir_disclaimer .disclaimer-area .text {
  font-size: 1.6rem;
  margin-bottom: 40px;
}

.ir .section-ir_notice .notice-area .text {
  font-size: 1.6rem;
  margin-bottom: 40px;
}

.ir .section-ir_notice .notice-area a {
  font-size: 1.6rem;
  position: relative;
  display: inline-block;
  font-weight: 700;
  border-bottom: solid 1px #000;
}

.ir .section-ir_notice .notice-area a:before {
  content: "";
  background: url(../img/icon/link.svg) no-repeat;
  width: 16px;
  height: 16px;
  background-size: 100%;
  position: absolute;
  right: -20px;
}

@media screen and (max-width: 1040px) {
  .ir h2 {
    margin-bottom: 40px;
  }
  .ir h3 {
    font-size: 1.8rem;
  }
  .ir h3:before {
    top: 8px;
    transform: none;
  }
  .ir .xj-pdf:before {
    width: 26px;
    height: 15px;
  }
  .ir .section-information {
    padding-top: 80px;
  }
  .ir .section-information .content-area {
    margin-bottom: 60px;
  }
  .ir .section-information .flex-box {
    display: block;
    margin-bottom: 8px;
  }
  .ir .section-information h3 span {
    display: block;
    font-size: 1.2rem;
    margin-left: -22px;
    margin-top: 20px;
    font-weight: normal;
  }
  .ir .section-information .link {
    margin-top: 30px;
    margin-bottom: 36px;
  }
  .ir .section-information .link a {
    font-size: 1.2rem;
  }
  .ir .section-information .list {
    display: block;
    margin-right: 0;
  }
  .ir .section-information .list li {
    width: 100%;
  }
  .ir .section-information .list li a {
    padding: 24px 0;
    font-size: 1.6rem;
    border-bottom: solid 4px #000;
  }
  .ir .section-information .list li a:before {
    width: 20px;
    height: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-size: 5px 8px;
  }
  .ir .section-information .list-cr li {
    display: block;
  }
  .ir .section-information .list-cr li:last-child {
    margin-bottom: 0;
  }
  .ir .section-information .list-cr .date {
    font-size: 1.4rem;
    margin-bottom: 16px;
  }
  .ir .section-information .list-cr .content {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .ir .section-news {
    padding: 80px 0;
  }
  .ir .section-news .title-box {
    display: block;
  }
  .ir .section-news .link {
    margin-top: 30px;
    margin-bottom: 36px;
  }
  .ir .section-news .link a {
    font-size: 1.2rem;
  }
  .ir .section-content {
    padding-bottom: 80px;
  }
  .ir .section-content .content-area {
    display: block;
    margin-top: 0;
  }
  .ir .section-content .content-area h3 {
    font-size: 1.8rem;
    margin-bottom: 24px;
  }
  .ir .section-content .content-area h3:before {
    top: 7px;
  }
  .ir .section-content .content-area .content {
    width: 100%;
    margin-top: 0;
    margin-bottom: 50px;
  }
  .ir .section-content .content-area .content li {
    padding-left: 0;
  }
  .ir .section-content .content-area .content li a {
    font-size: 1.4rem;
  }
  .ir .section-content .content-area .content li a.blank:before {
    width: 13px;
    height: 12px;
  }
  .ir .section-report .item-list {
    display: block;
  }
  .ir .section-report .item-list li {
    width: 100%;
    max-width: 360px;
    margin: 0 auto 20px !important;
  }
  .ir .section-report .item-list li:last-child {
    margin-bottom: 0 !important;
  }
  .ir .section-ir_news, .ir .section-ir_message, .ir .section-ir_executive,
  .ir .section-ir_governance, .ir .section-ir_performance, .ir .section-ir_finance,
  .ir .section-ir_cashflow, .ir .section-ir_library, .ir .section-ir_results,
  .ir .section-ir_presentations, .ir .section-ir_securities, .ir .section-ir_meeting,
  .ir .section-ir_disclosure, .ir .section-ir_stock, .ir .section-ir_calendar,
  .ir .section-ir_policy, .ir .section-ir_disclaimer, .ir .section-ir_notice, .ir .section-ir_faq {
    margin-bottom: 120px;
    padding-top: 60px;
  }
  .ir .section-ir_news .content-area, .ir .section-ir_message .content-area, .ir .section-ir_executive .content-area,
  .ir .section-ir_governance .content-area, .ir .section-ir_performance .content-area, .ir .section-ir_finance .content-area,
  .ir .section-ir_cashflow .content-area, .ir .section-ir_library .content-area, .ir .section-ir_results .content-area,
  .ir .section-ir_presentations .content-area, .ir .section-ir_securities .content-area, .ir .section-ir_meeting .content-area,
  .ir .section-ir_disclosure .content-area, .ir .section-ir_stock .content-area, .ir .section-ir_calendar .content-area,
  .ir .section-ir_policy .content-area, .ir .section-ir_disclaimer .content-area, .ir .section-ir_notice .content-area, .ir .section-ir_faq .content-area {
    display: block;
  }
  .ir .section-ir_news .list-select, .ir .section-ir_message .list-select, .ir .section-ir_executive .list-select,
  .ir .section-ir_governance .list-select, .ir .section-ir_performance .list-select, .ir .section-ir_finance .list-select,
  .ir .section-ir_cashflow .list-select, .ir .section-ir_library .list-select, .ir .section-ir_results .list-select,
  .ir .section-ir_presentations .list-select, .ir .section-ir_securities .list-select, .ir .section-ir_meeting .list-select,
  .ir .section-ir_disclosure .list-select, .ir .section-ir_stock .list-select, .ir .section-ir_calendar .list-select,
  .ir .section-ir_policy .list-select, .ir .section-ir_disclaimer .list-select, .ir .section-ir_notice .list-select, .ir .section-ir_faq .list-select {
    display: none;
  }
  .ir .section-ir_news .main-area, .ir .section-ir_message .main-area, .ir .section-ir_executive .main-area,
  .ir .section-ir_governance .main-area, .ir .section-ir_performance .main-area, .ir .section-ir_finance .main-area,
  .ir .section-ir_cashflow .main-area, .ir .section-ir_library .main-area, .ir .section-ir_results .main-area,
  .ir .section-ir_presentations .main-area, .ir .section-ir_securities .main-area, .ir .section-ir_meeting .main-area,
  .ir .section-ir_disclosure .main-area, .ir .section-ir_stock .main-area, .ir .section-ir_calendar .main-area,
  .ir .section-ir_policy .main-area, .ir .section-ir_disclaimer .main-area, .ir .section-ir_notice .main-area, .ir .section-ir_faq .main-area {
    width: 100%;
  }
  .ir .section-ir_news .select-area, .ir .section-ir_message .select-area, .ir .section-ir_executive .select-area,
  .ir .section-ir_governance .select-area, .ir .section-ir_performance .select-area, .ir .section-ir_finance .select-area,
  .ir .section-ir_cashflow .select-area, .ir .section-ir_library .select-area, .ir .section-ir_results .select-area,
  .ir .section-ir_presentations .select-area, .ir .section-ir_securities .select-area, .ir .section-ir_meeting .select-area,
  .ir .section-ir_disclosure .select-area, .ir .section-ir_stock .select-area, .ir .section-ir_calendar .select-area,
  .ir .section-ir_policy .select-area, .ir .section-ir_disclaimer .select-area, .ir .section-ir_notice .select-area, .ir .section-ir_faq .select-area {
    display: block;
    margin-bottom: 40px;
  }
  .ir .section-ir_news .select-box, .ir .section-ir_message .select-box, .ir .section-ir_executive .select-box,
  .ir .section-ir_governance .select-box, .ir .section-ir_performance .select-box, .ir .section-ir_finance .select-box,
  .ir .section-ir_cashflow .select-box, .ir .section-ir_library .select-box, .ir .section-ir_results .select-box,
  .ir .section-ir_presentations .select-box, .ir .section-ir_securities .select-box, .ir .section-ir_meeting .select-box,
  .ir .section-ir_disclosure .select-box, .ir .section-ir_stock .select-box, .ir .section-ir_calendar .select-box,
  .ir .section-ir_policy .select-box, .ir .section-ir_disclaimer .select-box, .ir .section-ir_notice .select-box, .ir .section-ir_faq .select-box {
    width: 100%;
    padding: 16px 24px;
    font-size: 1.6rem;
    border: 1px solid #000;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../img/icon/arrow-bottom.svg) no-repeat;
    background-repeat: no-repeat;
    background-size: 11px 7px;
    background-position: right 24px center;
  }
  .ir .section-ir_news .select-box:first-child, .ir .section-ir_message .select-box:first-child, .ir .section-ir_executive .select-box:first-child,
  .ir .section-ir_governance .select-box:first-child, .ir .section-ir_performance .select-box:first-child, .ir .section-ir_finance .select-box:first-child,
  .ir .section-ir_cashflow .select-box:first-child, .ir .section-ir_library .select-box:first-child, .ir .section-ir_results .select-box:first-child,
  .ir .section-ir_presentations .select-box:first-child, .ir .section-ir_securities .select-box:first-child, .ir .section-ir_meeting .select-box:first-child,
  .ir .section-ir_disclosure .select-box:first-child, .ir .section-ir_stock .select-box:first-child, .ir .section-ir_calendar .select-box:first-child,
  .ir .section-ir_policy .select-box:first-child, .ir .section-ir_disclaimer .select-box:first-child, .ir .section-ir_notice .select-box:first-child, .ir .section-ir_faq .select-box:first-child {
    margin-bottom: 19px;
  }
  .ir .section-ir_news .select-box option, .ir .section-ir_message .select-box option, .ir .section-ir_executive .select-box option,
  .ir .section-ir_governance .select-box option, .ir .section-ir_performance .select-box option, .ir .section-ir_finance .select-box option,
  .ir .section-ir_cashflow .select-box option, .ir .section-ir_library .select-box option, .ir .section-ir_results .select-box option,
  .ir .section-ir_presentations .select-box option, .ir .section-ir_securities .select-box option, .ir .section-ir_meeting .select-box option,
  .ir .section-ir_disclosure .select-box option, .ir .section-ir_stock .select-box option, .ir .section-ir_calendar .select-box option,
  .ir .section-ir_policy .select-box option, .ir .section-ir_disclaimer .select-box option, .ir .section-ir_notice .select-box option, .ir .section-ir_faq .select-box option {
    font-size: 1.6rem;
    transform: scale(0.85);
  }
  .ir .section-ir_news .information-area, .ir .section-ir_message .information-area, .ir .section-ir_executive .information-area,
  .ir .section-ir_governance .information-area, .ir .section-ir_performance .information-area, .ir .section-ir_finance .information-area,
  .ir .section-ir_cashflow .information-area, .ir .section-ir_library .information-area, .ir .section-ir_results .information-area,
  .ir .section-ir_presentations .information-area, .ir .section-ir_securities .information-area, .ir .section-ir_meeting .information-area,
  .ir .section-ir_disclosure .information-area, .ir .section-ir_stock .information-area, .ir .section-ir_calendar .information-area,
  .ir .section-ir_policy .information-area, .ir .section-ir_disclaimer .information-area, .ir .section-ir_notice .information-area, .ir .section-ir_faq .information-area {
    width: 100%;
    max-width: none;
    margin-top: 80px;
  }
  .ir .section-ir_news .information-area .navi, .ir .section-ir_message .information-area .navi, .ir .section-ir_executive .information-area .navi,
  .ir .section-ir_governance .information-area .navi, .ir .section-ir_performance .information-area .navi, .ir .section-ir_finance .information-area .navi,
  .ir .section-ir_cashflow .information-area .navi, .ir .section-ir_library .information-area .navi, .ir .section-ir_results .information-area .navi,
  .ir .section-ir_presentations .information-area .navi, .ir .section-ir_securities .information-area .navi, .ir .section-ir_meeting .information-area .navi,
  .ir .section-ir_disclosure .information-area .navi, .ir .section-ir_stock .information-area .navi, .ir .section-ir_calendar .information-area .navi,
  .ir .section-ir_policy .information-area .navi, .ir .section-ir_disclaimer .information-area .navi, .ir .section-ir_notice .information-area .navi, .ir .section-ir_faq .information-area .navi {
    padding: 22px 28px;
  }
  .ir .section-ir_news .information-area .navi a, .ir .section-ir_message .information-area .navi a, .ir .section-ir_executive .information-area .navi a,
  .ir .section-ir_governance .information-area .navi a, .ir .section-ir_performance .information-area .navi a, .ir .section-ir_finance .information-area .navi a,
  .ir .section-ir_cashflow .information-area .navi a, .ir .section-ir_library .information-area .navi a, .ir .section-ir_results .information-area .navi a,
  .ir .section-ir_presentations .information-area .navi a, .ir .section-ir_securities .information-area .navi a, .ir .section-ir_meeting .information-area .navi a,
  .ir .section-ir_disclosure .information-area .navi a, .ir .section-ir_stock .information-area .navi a, .ir .section-ir_calendar .information-area .navi a,
  .ir .section-ir_policy .information-area .navi a, .ir .section-ir_disclaimer .information-area .navi a, .ir .section-ir_notice .information-area .navi a, .ir .section-ir_faq .information-area .navi a {
    font-size: 1.4rem;
  }
  .ir .section-ir_news .no-date, .ir .section-ir_message .no-date, .ir .section-ir_executive .no-date,
  .ir .section-ir_governance .no-date, .ir .section-ir_performance .no-date, .ir .section-ir_finance .no-date,
  .ir .section-ir_cashflow .no-date, .ir .section-ir_library .no-date, .ir .section-ir_results .no-date,
  .ir .section-ir_presentations .no-date, .ir .section-ir_securities .no-date, .ir .section-ir_meeting .no-date,
  .ir .section-ir_disclosure .no-date, .ir .section-ir_stock .no-date, .ir .section-ir_calendar .no-date,
  .ir .section-ir_policy .no-date, .ir .section-ir_disclaimer .no-date, .ir .section-ir_notice .no-date, .ir .section-ir_faq .no-date {
    font-size: 1.4rem;
    margin-top: 24px;
  }
  .ir .section-ir_message .message-area figure {
    margin-bottom: 40px;
  }
  .ir .section-ir_message .message-area .text {
    margin-bottom: 24px;
  }
  .ir .section-ir_message .message-area .signature-box .title {
    font-size: 1.6rem;
  }
  .ir .section-ir_executive .executive-area .flex-box {
    display: block;
    margin-bottom: 0;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area figure {
    margin-bottom: 28px;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area .position {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area .profile-name {
    margin-bottom: 15px;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area .profile-name .title {
    font-size: 2rem;
    margin-right: 8px;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area .profile-name .subtitle {
    font-size: 1.2rem;
    line-height: 1.8;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area .text {
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area ul li {
    margin-bottom: 8px;
  }
  .ir .section-ir_executive .executive-area .flex-box .profile-area ul li p {
    font-size: 1.1rem;
  }
  .ir .section-ir_executive .executive-area .flex-box:last-child .profile-area:last-child {
    margin-bottom: 0;
  }
  .ir .section-ir_governance .governance-area .about-governance-area {
    margin-bottom: 80px;
  }
  .ir .section-ir_governance .governance-area .system-diagram-area {
    margin-bottom: 80px;
  }
  .ir .section-ir_governance .governance-area .report-area a {
    font-size: 1.6rem;
  }
  .ir .section-ir_faq .faq-area .faq-box .title-box {
    margin-bottom: 12px;
  }
  .ir .section-ir_faq .faq-area .faq-box .title-box figure {
    width: 30px;
    min-width: 30px;
    margin-right: 12px;
  }
  .ir .section-ir_faq .faq-area .faq-box .title-box .title {
    font-size: 1.6rem;
  }
  .ir .section-ir_faq .faq-area .faq-box .text {
    font-size: 1.2rem;
    margin-left: 42px;
  }
  .ir .section-ir_performance .main-area .graphical-area, .ir .section-ir_finance .main-area .graphical-area, .ir .section-ir_cashflow .main-area .graphical-area {
    margin-bottom: 40px;
  }
  .ir .section-ir_performance .main-area .graphical-area .flex-box, .ir .section-ir_finance .main-area .graphical-area .flex-box, .ir .section-ir_cashflow .main-area .graphical-area .flex-box {
    display: block;
    margin-bottom: 0;
  }
  .ir .section-ir_performance .main-area .graphical-area .flex-box .content-box, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .content-title h2, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .content-title h2, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .content-title h2 {
    font-size: 1.8rem;
  }
  .ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .content-title .unit, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .content-title .unit, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .content-title .unit {
    font-size: 1.1rem;
  }
  .ir .section-ir_performance .main-area .graphical-area .flex-box .content-box .graph-box, .ir .section-ir_finance .main-area .graphical-area .flex-box .content-box .graph-box, .ir .section-ir_cashflow .main-area .graphical-area .flex-box .content-box .graph-box {
    margin-bottom: 16px;
  }
  .ir .section-ir_performance .main-area .graphical-area .flex-box:last-child .content-box:last-child, .ir .section-ir_finance .main-area .graphical-area .flex-box:last-child .content-box:last-child, .ir .section-ir_cashflow .main-area .graphical-area .flex-box:last-child .content-box:last-child {
    margin-bottom: 0;
  }
  .ir .section-ir_performance .main-area .text-area .text, .ir .section-ir_finance .main-area .text-area .text, .ir .section-ir_cashflow .main-area .text-area .text {
    font-size: 1.2rem;
  }
  .ir .section-ir_performance .main-area .text-area .caution-box, .ir .section-ir_finance .main-area .text-area .caution-box, .ir .section-ir_cashflow .main-area .text-area .caution-box {
    margin-top: 12px;
  }
  .ir .section-ir_performance .main-area .text-area .caution-box .title, .ir .section-ir_finance .main-area .text-area .caution-box .title, .ir .section-ir_cashflow .main-area .text-area .caution-box .title {
    font-size: 1.4rem;
    margin-bottom: 8px;
  }
  .ir .section-ir_library .library-area .flex-box {
    display: block;
    margin-bottom: 0;
  }
  .ir .section-ir_library .library-area .flex-box .content-box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .ir .section-ir_library .library-area .flex-box .content-box .content-title {
    margin-bottom: 10px;
  }
  .ir .section-ir_library .library-area .flex-box .content-box .content-title h2 {
    font-size: 1.8rem;
  }
  .ir .section-ir_library .library-area .flex-box .content-box .library-list {
    margin-bottom: 16px;
  }
  .ir .section-ir_library .library-area .flex-box .content-box .more a {
    font-size: 1.2rem;
  }
  .ir .section-ir_library .library-area .flex-box:last-child .content-box:last-child {
    margin-bottom: 0;
  }
  .ir .section-ir_results .main-area h2, .ir .section-ir_presentations .main-area h2, .ir .section-ir_securities .main-area h2,
  .ir .section-ir_meeting .main-area h2, .ir .section-ir_disclosure .main-area h2 {
    font-size: 1.8rem;
  }
  .ir .section-ir_results .main-area .yearSelect form select, .ir .section-ir_presentations .main-area .yearSelect form select, .ir .section-ir_securities .main-area .yearSelect form select,
  .ir .section-ir_meeting .main-area .yearSelect form select, .ir .section-ir_disclosure .main-area .yearSelect form select {
    font-size: 1.4rem;
  }
  .ir .section-ir_results .main-area .xj-list dl, .ir .section-ir_presentations .main-area .xj-list dl, .ir .section-ir_securities .main-area .xj-list dl,
  .ir .section-ir_meeting .main-area .xj-list dl, .ir .section-ir_disclosure .main-area .xj-list dl {
    margin-top: 20px;
    padding-bottom: 20px;
  }
  .ir .section-ir_results .main-area .xj-list dl dt, .ir .section-ir_presentations .main-area .xj-list dl dt, .ir .section-ir_securities .main-area .xj-list dl dt,
  .ir .section-ir_meeting .main-area .xj-list dl dt, .ir .section-ir_disclosure .main-area .xj-list dl dt {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  .ir .section-ir_results .main-area .xj-list dl dd, .ir .section-ir_presentations .main-area .xj-list dl dd, .ir .section-ir_securities .main-area .xj-list dl dd,
  .ir .section-ir_meeting .main-area .xj-list dl dd, .ir .section-ir_disclosure .main-area .xj-list dl dd {
    font-size: 1.4rem;
  }
  .ir .section-ir_results .main-area .xj-list dl dd a:before, .ir .section-ir_presentations .main-area .xj-list dl dd a:before, .ir .section-ir_securities .main-area .xj-list dl dd a:before,
  .ir .section-ir_meeting .main-area .xj-list dl dd a:before, .ir .section-ir_disclosure .main-area .xj-list dl dd a:before {
    display: none;
  }
  .ir .section-ir_results .main-area .xj-list dl dd a:after, .ir .section-ir_presentations .main-area .xj-list dl dd a:after, .ir .section-ir_securities .main-area .xj-list dl dd a:after,
  .ir .section-ir_meeting .main-area .xj-list dl dd a:after, .ir .section-ir_disclosure .main-area .xj-list dl dd a:after {
    display: none;
  }
  .ir .section-ir_results .main-area #other, .ir .section-ir_presentations .main-area #other, .ir .section-ir_securities .main-area #other,
  .ir .section-ir_meeting .main-area #other, .ir .section-ir_disclosure .main-area #other {
    margin-top: 60px;
  }
  .ir .section-ir_stock .stock-area .column {
    width: 100%;
    margin-bottom: 60px;
  }
  .ir .section-ir_stock .stock-area .column tr {
    display: grid;
  }
  .ir .section-ir_stock .stock-area .column tr td {
    display: block;
    padding: 20px;
    font-size: 1.4rem;
  }
  .ir .section-ir_calendar .calendar-area figure {
    margin-bottom: 40px;
  }
  .ir .section-ir_calendar .calendar-area .text {
    font-size: 1.4rem;
  }
  .ir .section-ir_calendar .calendar-area .note {
    font-size: 1.2rem;
  }
  .ir .section-ir_calendar .calendar-area .text-box {
    margin-bottom: 16px;
  }
  .ir .section-ir_calendar .calendar-area .text-box dl {
    display: flex;
    margin-bottom: 16px;
  }
  .ir .section-ir_calendar .calendar-area .text-box dl dt {
    flex-basis: 150px;
  }
  .ir .section-ir_policy .policy-area .policy-box {
    margin-bottom: 60px;
  }
  .ir .section-ir_policy .policy-area .policy-box h2 {
    font-size: 1.8rem;
  }
  .ir .section-ir_policy .policy-area .policy-box .text {
    font-size: 1.4rem;
  }
  .ir .section-ir_disclaimer .disclaimer-area .text {
    font-size: 1.4rem;
    margin-bottom: 28px;
  }
  .ir .section-ir_notice .notice-area .text {
    font-size: 1.4rem;
    margin-bottom: 28px;
  }
  .ir .section-ir_notice .notice-area a {
    font-size: 1.4rem;
  }
  .ir .section-ir_notice .notice-area a:before {
    width: 14px;
    height: 14px;
    right: -18px;
  }
}

.section-news_page {
  padding-top: 120px;
}

.section-news_page .select-area {
  display: none;
}

.section-news_page .text-empty {
  margin-top: 80px;
  font-size: 2rem;
}

.section-news_page .list li {
  border-bottom: solid 1px #eee;
}

.section-news_page .list li:last-child {
  border-bottom: none;
}

.section-news_page .list a {
  position: relative;
  display: flex;
  padding: 26px 0;
}

.section-news_page .list a:before {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.section-news_page .list a:hover figure img {
  opacity: 0.6;
  transform: scale(1.03);
}

.section-news_page .list a:hover .title {
  text-decoration: underline;
}

.section-news_page .list figure {
  width: 20.8vw;
  height: 11vw;
  margin-right: 40px;
  overflow: hidden;
  background-color: #000;
}

.section-news_page .list figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 501ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.section-news_page .list .flex-box {
  display: flex;
}

.section-news_page .list .detail {
  width: 57vw;
  padding-top: 20px;
}

.section-news_page .list .detail .flex-box {
  margin-bottom: 6px;
  min-height: 38px;
}

.section-news_page .list .date {
  color: #666666;
  font-size: 2rem;
  font-weight: 700;

  margin-right: 24px;
  padding-top: 3px;
}

.section-news_page .list .tag-wrap {
  display: flex;
  flex-wrap: wrap;
  padding-right: 20px;
}

.section-news_page .list .tag {
  font-size: 1.6rem;
  font-weight: bold;
  white-space: nowrap;
  line-height: 1;
  padding: 6px 24px;
  margin: 0 10px 10px 0;
  box-sizing: border-box;
  border-radius: 20px;
  text-align: center;
  background-color: #F2F2F2;
}

.section-news_page .list .title {
  width: 80%;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  box-sizing: border-box;
}

.section-news_page .pagenation {
  padding-top: 32px;
  padding-bottom: 160px;
}

.section-news_page .btn-area {
  display: flex;
  margin-bottom: 120px;
}

.section-news_page .btn-area li {
  width: 24.5vw;
  margin-right: 4.1vw;
}

.section-news_page .btn-area li:last-child {
  margin-right: 0;
}

.section-news_page .btn-area a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 24px;
  padding-left: 12px;
  box-sizing: border-box;
  border-bottom: solid 3px #000;
}

.section-news_page .btn-area a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 7px 10px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-news_page .btn-area a:hover:before {
  background-color: #009CAE;
}

.section-news_single {
  padding-top: 80px;
  padding-bottom: 120px;
}

.section-news_single .fixed-copy-text {
  position: fixed;
  top: 93px;
  left: 0;
  width: 100%;
  padding: 12px 0;
  z-index: 10;
  background-color: #000;
  transform: translateY(-135px);
  transition: transform .5s ease;
}

.section-news_single .fixed-copy-text.isView {
  transform: translateY(0);
}

.section-news_single .fixed-copy-text p {
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  font-weight: 600;
}

.section-news_single .section-inner {
  margin: 0 12%;
  margin-right: calc(12% + 100px);
}

.section-news_single .content {
  max-width: 680px;
  margin: 0 auto;
}

.section-news_single .content .date-box {
  display: flex;
}

.section-news_single .content .date-box .date {
  color: #666666;
  font-size: 2.4rem;
  font-weight: bold;
  margin-right: 24px;
  margin-bottom: 0;
  line-height: 1.2;
}
.section-news_single .content .date-box .tag-wrap {
  display: flex;
  flex-wrap: wrap;
}
.section-news_single .content .date-box .tag {
  font-size: 2rem;
  font-weight: bold;
  white-space: nowrap;

  line-height: 1;
  padding: 6px 24px;
  box-sizing: border-box;
  border-radius: 20px;
  text-align: center;
  margin-bottom: 0;
  background-color: #F2F2F2;
  display: flex;
  align-items: center;
  margin: 0 5px 5px 0;
}

.section-news_single .content h1 {
  font-size: 3.2rem;
  line-height: 1.4;
  margin: 30px 0 40px 0;
}

.section-news_single .content h2 {
  font-size: 3.2rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.section-news_single .content h3 {
  font-size: 2.4rem;
  line-height: 1.6;
  margin-bottom: 32px;
}

.section-news_single .content h4 {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 16px;
}

.section-news_single .content p {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.section-news_single .content strong {
  color: #009CAE;
}

.section-news_single .content .wp-block-table {
  margin: initial;
  border: solid 1px #EEEEEE;
  margin-bottom: 60px;
}

.section-news_single .content .wp-block-table tr {
  border-bottom: solid 1px #EEEEEE;
}

.section-news_single .content .wp-block-table tr:last-child {
  border-bottom: none;
}

.section-news_single .content .wp-block-table tr td {
  border-right: solid 1px #EEEEEE;
}

.section-news_single .content .wp-block-table tr td:last-child {
  border-right: none;
}

.section-news_single .content .wp-block-table tr:first-child td {
  font-weight: 600;
  background-color: #F7F7F7;
}

.section-news_single .content .wp-block-table td {
  padding: 20px;
  box-sizing: border-box;
  font-size: 16px;
}

.section-news_single .content ul, .section-news_single .content ol {
  margin-bottom: 50px;
}

.section-news_single .content ul li, .section-news_single .content ol li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.7;
  padding-left: 1em;
  margin-bottom: 6px;
}

.section-news_single .content ul li:before, .section-news_single .content ol li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #000;
  position: absolute;
  left: 0;
  top: 12px;
  border-radius: 50%;
}

.section-news_single .content ul li p, .section-news_single .content ol li p {
  margin-bottom: 0;
}

.section-news_single .content ul li ul, .section-news_single .content ul li ol, .section-news_single .content ol li ul, .section-news_single .content ol li ol {
  margin-bottom: 0;
}

.section-news_single .content ol {
  counter-reset: li;
}

.section-news_single .content ol li {
  padding-left: 3rem;
}

.section-news_single .content ol li:before {
  background: none;
  counter-increment: li;
  font-size: 1.6rem;
  font-weight: 600;
  top: -6px;
  content: counter(li) ",";
}

.section-news_single .content a {
  position: relative;
  display: inline;
  font-weight: 600;
  text-decoration: underline;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.section-news_single .content a.blank {
  padding-right: 24px;
}

.section-news_single .content a.blank:before {
  content: "";
  background: url(../img/icon/blank.svg) no-repeat;
  width: 20px;
  height: 19px;
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 6px;
}

.section-news_single .content blockquote {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.7;
  background-color: #F7F7F7;
  padding: 40px 40px 40px 84px;
  margin-bottom: 60px;
  border: solid 1px #eee;
  box-sizing: border-box;
}

.section-news_single .content blockquote:before {
  content: "";
  /* background: url(../img/news/single/icon-fukidashi.svg) no-repeat; */
  width: 40px;
  height: 30px;
  background-size: 100%;
  position: absolute;
  left: 18px;
  top: 18px;
}

.section-news_single .content blockquote p {
  font-size: 1.6rem;
  line-height: 1.7;
  margin-bottom: 0;
}

.section-news_single .content figure, .section-news_single .content .img-fluid {
  width: 100%;
  height: auto;
  margin: 80px 0 120px 0;
}

.section-news_single .content figure img, .section-news_single .content .img-fluid img {
  width: 100%;
  height: auto;
}

.section-news_single .content .img-fluid {
  display: block;
  margin: 80px 0;
}

.section-news_single .content .img-box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px;
}

.section-news_single .content .img-box.right figure {
  order: 2;
  margin-right: 0;
  margin-left: 5%;
}

.section-news_single .content .img-box.grey {
  padding: 40px;
  box-sizing: border-box;
  background-color: #F7F7F7;
  border: solid 1px #eee;
}

.section-news_single .content .img-box.grey h3 {
  margin-bottom: 14px;
}

.section-news_single .content .img-box.grey figure {
  height: 293px;
}

.section-news_single .content .img-box.grey figure img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.section-news_single .content .img-box.grey p {
  margin-bottom: 0;
}

.section-news_single .content .img-box figure {
  width: 45%;
  height: auto;
  margin: 0;
  margin-right: 5%;
}

.section-news_single .content .img-box figure img {
  width: 100%;
  height: auto;
}

.section-news_single .content .img-box .text-box {
  width: 50%;
  margin: auto 0;
}

.section-news_single .content .mini p {
  font-size: 1.6rem;
}

.section-news_single .content .grey-box {
  background-color: #F7F7F7;
  padding: 40px;
  box-sizing: border-box;
  margin-bottom: 80px;
  border: solid 1px #eee;
}

.section-news_single .content .grey-box.img {
  display: flex;
  justify-content: space-between;
}

.section-news_single .content .grey-box.img figure {
  width: 45%;
  height: auto;
  margin: 0;
  margin-right: 5%;
}

.section-news_single .content .grey-box.img figure img {
  width: 100%;
  height: auto;
}

.section-news_single .content .grey-box.img .text-box {
  width: 50%;
  margin: auto 0;
}

.section-news_single .content .grey-box h3 {
  margin-bottom: 20px;
}

.section-news_single .content .grey-box p {
  margin-bottom: 0;
}

.section-news_single .content .contact-area {
  border: solid 1px #eee;
  padding: 40px;
  box-sizing: border-box;
  margin-bottom: 80px;
}

.section-news_single .content .contact-area .title {
  font-size: 1.6rem;
  margin-bottom: 32px;
}

.section-news_single .content .contact-area p {
  font-size: 1.6rem;
  margin-bottom: 0;
}

.section-news_single .content .share-area {
  border-top: 1px solid #eee;
  padding-top: 32px;
  margin-bottom: 200px;
}

.section-news_single .content .share-area .flex-box {
  display: flex;
  justify-content: space-between;
}

.section-news_single .content .share-area .share-box {
  display: flex;
  justify-content: left;
}

.section-news_single .content .share-area .share-box .title {
  font-size: 1.6rem;
  font-weight: 600;

  margin: auto 32px auto 0;
}

.section-news_single .content .share-area .share-box .list {
  display: flex;
  margin: auto 0;
}

.section-news_single .content .share-area .share-box .list li {
  height: 30px;
  margin-bottom: 0;
}

.section-news_single .content .share-area .share-box .list li:before {
  display: none;
}

.section-news_single .content .share-area .share-box .list li:first-child {
  padding-left: 0;
}

.section-news_single .content .share-area .share-box .list a {
  transition: opacity .3s ease;
}

.section-news_single .content .share-area .share-box .list a:hover {
  opacity: .8;
}

.section-news_single .content .share-area .share-box .list a:after {
  display: none;
}

.section-news_single .content .share-area .share-box .list a .text {
  font-size: 1.6rem;
}

.section-news_single .content .share-area .share-box .list button {
  transition: opacity .3s ease;
}

.section-news_single .content .share-area .share-box .list button:hover {
  opacity: .8;
}

.section-news_single .content .share-area .btn-file {
  width: 220px;
  padding: 24px 32px;
  background-color: #000;
}

.section-news_single .content .share-area .btn-file .text {
  font-size: 1.6rem;
  line-height: 1;
  color: #fff;
  letter-spacing: 1px;
  margin-bottom: 0;
}

.section-news_single .content .share-area .btn-file a {
  text-decoration: none;
  transition: opacity .3s ease;
}

.section-news_single .content .share-area .btn-file a:hover {
  opacity: .8;
}

.section-news_single .news-list h1 {
  font-size: 4.8rem;
  line-height: 1;
  margin-bottom: 60px;
}

.section-news_single .news-list .list {
  display: flex;
  margin-bottom: 60px;
}

.section-news_single .news-list .list .news {
  width: calc(33% - 24px);
  margin-right: 60px;
}

.section-news_single .news-list .list .news a:hover figure img {
  opacity: 0.6;
  transform: scale(1.03);
}

.section-news_single .news-list .list .news figure {
  width: 20.8vw;
  height: 11vw;
  margin-bottom: 28px;
  background-color: #000;
  overflow: hidden;
}

.section-news_single .news-list .list .news figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 501ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.section-news_single .news-list .list .news .detail .flex-box {
  display: flex;
  justify-content: left;
  margin-bottom: 12px;
}

.section-news_single .news-list .list .news .detail .flex-box .date {
  color: #666666;
  font-size: 1.4rem;
  font-weight: 800;
  margin: 3px 16px 0 0;
}

.section-news_single .news-list .list .news .detail .flex-box .tag-wrap {
  display: flex;
  flex-wrap: wrap;
}
.section-news_single .news-list .list .news .detail .flex-box .tag {
  font-size: 1.4rem;
  font-weight: bold;
  white-space: nowrap;
  margin: 0 5px 5px 0;
  padding: 6px 24px;
  box-sizing: border-box;
  border-radius: 20px;
  text-align: center;
  background-color: #F2F2F2;
}

.section-news_single .news-list .list .news .detail .title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}

.section-news_single .news-list .list .news:last-child {
  margin-right: 0;
}

.section-news_single .news-list .btn {
  border-bottom: 6px solid #000;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.section-news_single .news-list .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-news_single .news-list .btn a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-news_single .news-list .btn a:hover {
  color: #333;
}

.section-news_single .news-list .btn a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .section-news_single .news-list .btn a {
    padding-right: 3rem;
  }
  .section-news_single .news-list .btn a:before {
    background-size: 5px 8px;
  }
}

.section-news_single .news-list .btn a {
  padding-left: 60px;
  padding-bottom: 40px;
}

.section-news_single .news-list .btn a:before {
  top: 0;
  left: 0;
  transform: rotate(180deg);
}

@media screen and (max-width: 1040px) {
  .section-news_page {
    padding-top: 60px;
  }
  .section-news_page .list-select {
    display: none;
  }
  .section-news_page .select-area {
    display: block;
  }
  .section-news_page .select-area .select-box {
    width: 100%;
    padding: 16px 24px;
    font-size: 1.6rem;
    border: 1px solid #000;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../img/icon/arrow-bottom.svg) no-repeat;
    background-repeat: no-repeat;
    background-size: 11px 7px;
    background-position: right 24px center;
  }
  .section-news_page .select-area .select-box:not(:last-child) {
    margin-bottom: 19px;
  }
  .section-news_page .select-area .select-box option {
    font-size: 1.6rem;
    transform: scale(0.85);
  }
  .section-news_page .content {
    margin-top: 40px;
  }
  .section-news_page .content figure {
    height: auto;
  }
  .section-news_page .list li {
    margin-bottom: 32px;
  }
  .section-news_page .list a {
    display: block;
    padding: 0;
    padding-bottom: 32px;
  }
  .section-news_page .list a:before {
    display: none;
  }
  .section-news_page .list .flex-box {
    align-items: center;
    margin-bottom: 16px;
  }
  .section-news_page .list figure {
    width: 100%;
    height: 45.6vw;
  }
  .section-news_page .list .detail {
    width: 100%;
    margin: 0;
  }
  .section-news_page .list .detail .flex-box {
    align-items: flex-start;
    margin-bottom: 13px;
    min-height: 0;
  }
  .section-news_page .list .title {
    width: 100%;
    font-size: 1.5rem;
  }
  .section-news_page .list .date {
    font-size: 1.6rem;
  }
  .section-news_page .list .tag {
    font-size: 1.4rem;
    margin: 0 5px 5px 0;
  }
  .section-news_page .pagenation {
    padding: 24px 0 80px 0;
  }
  .section-news_page .btn-area {
    display: block;
  }
  .section-news_page .btn-area li {
    width: 100%;
    margin-bottom: 24px;
  }
  .section-news_page .btn-area li:last-child {
    margin-bottom: 0;
  }
  .section-news_page .btn-area a {
    font-size: 1.6rem;
    padding-left: 0;
  }
  .section-news_page .btn-area a:before {
    width: 20px;
    height: 20px;
    background-size: 5px 7px;
  }
  .section-news_single {
    padding-top: 60px;
  }
  .section-news_single .fixed-copy-text {
    top: 53px;
  }
  .section-news_single .section-inner {
    margin: 0;
    margin: 0 24px;
  }
  .section-news_single .content .date-box .date {
    font-size: 2rem;
    margin-right: 10px;
  }
  .section-news_single .content .date-box .tag {
    font-size: 1.6rem;
    line-height: 1;
    padding: 6px 24px;
  }
  .section-news_single .content h1 {
    font-size: 2.8rem;
    margin: 20px 0 40px 0;
  }
  .section-news_single .content h2 {
    font-size: 2.2rem;
    line-height: 1.6;
    margin-bottom: 28px;
  }
  .section-news_single .content h3 {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 28px;
  }
  .section-news_single .content h4 {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 24px;
  }
  .section-news_single .content p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 40px;
  }
  .section-news_single .content .wp-block-table {
    border: solid 1px #EEEEEE;
  }
  .section-news_single .content .wp-block-table tr {
    border-bottom: solid 1px #EEEEEE;
  }
  .section-news_single .content .wp-block-table tr:last-child {
    border-bottom: none;
  }
  .section-news_single .content .wp-block-table tr td {
    border-right: solid 1px #EEEEEE;
  }
  .section-news_single .content .wp-block-table tr td:last-child {
    border-right: none;
  }
  .section-news_single .content .wp-block-table tr:first-child td {
    font-weight: 600;
    background-color: #F7F7F7;
  }
  .section-news_single .content .wp-block-table td {
    padding: 20px;
    box-sizing: border-box;
    font-size: 16px;
  }
  .section-news_single .content ul li, .section-news_single .content ol li {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .section-news_single .content ul li:before, .section-news_single .content ol li:before {
    width: 4px;
    height: 4px;
    top: 10px;
  }
  .section-news_single .content ol li {
    padding-left: 1.5em;
  }
  .section-news_single .content ol li:before {
    font-size: 1.6rem;
    top: 0px;
  }
  .section-news_single .content a.blank {
    padding-right: 16px;
  }
  .section-news_single .content a.blank:before {
    width: 16px;
    height: 15px;
    bottom: 2px;
  }
  .section-news_single .content blockquote {
    font-size: 1.4rem;
    line-height: 1.7;
    padding: 32px 24px 28px 52px;
    margin-bottom: 40px;
  }
  .section-news_single .content blockquote:before {
    width: 24px;
    height: 18px;
    left: 12px;
    top: 12px;
  }
  .section-news_single .content figure, .section-news_single .content .img-fluid {
    margin: 40px 0 80px 0;
    height: auto;
  }
  .section-news_single .content figure img, .section-news_single .content .img-fluid img {
    height: auto;
  }
  .section-news_single .content .img-box {
    display: block;
    margin-bottom: 60px;
  }
  .section-news_single .content .img-box.grey {
    padding: 16px;
  }
  .section-news_single .content .img-box.grey h3 {
    font-size: 16px;
    margin-bottom: 14px;
  }
  .section-news_single .content .img-box.grey figure {
    width: 100%;
    height: auto;
  }
  .section-news_single .content .img-box.grey p {
    font-size: 14px;
    margin-bottom: 0;
  }
  .section-news_single .content .img-box figure {
    width: 100%;
    margin: 0 0 28px 0 !important;
  }
  .section-news_single .content .img-box .text-box {
    width: 100%;
  }
  .section-news_single .content .grey-box {
    padding: 16px;
    margin-bottom: 60px;
  }
  .section-news_single .content .grey-box.img {
    display: block;
  }
  .section-news_single .content .grey-box.img figure {
    width: 100%;
    margin-bottom: 28px;
  }
  .section-news_single .content .grey-box.img .text-box {
    width: 100%;
    padding: 0 4px 12px;
  }
  .section-news_single .content .grey-box h3 {
    font-size: 16px;
    margin-bottom: 16px;
  }
  .section-news_single .content .grey-box p {
    font-size: 14px;
  }
  .section-news_single .content .contact-area {
    padding: 20px;
    margin-bottom: 40px;
  }
  .section-news_single .content .contact-area .title {
    font-size: 1.2rem;
    margin-bottom: 24px;
  }
  .section-news_single .content .contact-area p {
    font-size: 1.2rem;
  }
  .section-news_single .content .share-area {
    margin-bottom: 100px;
  }
  .section-news_single .content .share-area .flex-box {
    display: block;
  }
  .section-news_single .content .share-area .share-box {
    margin-bottom: 30px;
  }
  .section-news_single .content .share-area .share-box .title {
    font-size: 1.6rem;
    margin-right: 20px;
  }
  .section-news_single .content .share-area .share-box .list {
    display: flex;
  }
  .section-news_single .content .share-area .share-box .list li {
    padding: 0;
    margin-left: 24px;
  }
  .section-news_single .content .share-area .share-box .list li:before {
    display: none;
  }
  .section-news_single .content .share-area .share-box .list li:first-child {
    margin-left: 0;
  }
  .section-news_single .content .share-area .share-box .list a:after {
    display: none;
  }
  .section-news_single .content .share-area .btn-file {
    width: auto;
  }
  .section-news_single .content .share-area .btn-file .flex-box {
    display: flex;
  }
  .section-news_single .content .share-area .btn-file .text {
    font-size: 1.4rem;
  }
  .section-news_single .news-list h1 {
    font-size: 3rem;
    margin-bottom: 40px;
  }
  .section-news_single .news-list .list {
    display: block;
  }
  .section-news_single .news-list .list .news {
    width: 100%;
    margin-right: 0;
  }
  .section-news_single .news-list .list .news figure {
    display: none;
  }
  .section-news_single .news-list .list .news .detail {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
  }
  .section-news_single .news-list .list .news .detail .flex-box {
    margin-bottom: 10px;
  }
  .section-news_single .news-list .list .news .detail .flex-box .date {
    font-size: 1.2rem;
    font-weight: 600;
  }
  .section-news_single .news-list .list .news .detail .flex-box .tag {
    font-size: 1.2rem;
    font-weight: bold;

    padding: 4px 12px 6px;
  }
  .section-news_single .news-list .list .news .detail .title {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .section-news_single .news-list .list .news .detail:first-child {
    padding-top: 0;
  }
  .section-news_single .news-list .btn {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .06em;
  }
  .section-news_single .news-list .btn a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-news_single .news-list .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .section-news_single .news-list .btn a:hover {
    color: #333;
  }
  .section-news_single .news-list .btn a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .section-news_single .news-list .btn a {
    padding-right: 3rem;
  }
  .section-news_single .news-list .btn a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .section-news_single .news-list .btn a {
    padding-left: 40px;
    padding-bottom: 30px;
  }
  .section-news_single .news-list .btn a:before {
    top: 20%;
    transform: translateY(-50%) rotate(180deg);
  }
}

.press-kit .fixed-copy-text {
  position: fixed;
  top: 93px;
  left: 0;
  width: 100%;
  padding: 12px 0;
  z-index: 10;
  background-color: #000;
  transform: translateY(-135px);
  transition: transform .5s ease;
}

.press-kit .fixed-copy-text.isView {
  transform: translateY(0);
}

.press-kit .fixed-copy-text p {
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  font-weight: 600;
}

.press-kit .section-title {
  padding: 230px 0 80px 0;
}

.press-kit .section-title h1 {
  font-size: 4.8rem;
}

.press-kit .section-title h1 span {
  display: none;
}

.press-kit .section-main {
  background-color: #fff;
  padding: 120px 0;
}

.press-kit .section-main h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  margin-bottom: 60px;
}

@media screen and (max-width: 1040px) {
  .press-kit .section-main h2 {
    font-size: 3rem;
  }
}

.press-kit .section-main h3 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}

.press-kit .section-main .text-area {
  margin-bottom: 120px;
}

.press-kit .section-main .text-area .text {
  font-size: 1.6rem;
  line-height: 2.7rem;
}

.press-kit .section-main .product-area .list, .press-kit .section-main .company-area .list {
  display: flex;
  justify-content: left;
  margin-bottom: 115px;
}

.press-kit .section-main .product-area .list li, .press-kit .section-main .company-area .list li {
  width: calc(33% - 20px);
  margin-right: 40px;
}

.press-kit .section-main .product-area .list li figure, .press-kit .section-main .company-area .list li figure {
  position: relative;
}

.press-kit .section-main .product-area .list li figure img, .press-kit .section-main .company-area .list li figure img {
  width: 100%;
}

.press-kit .section-main .product-area .list li figure .btn-box, .press-kit .section-main .company-area .list li figure .btn-box {
  margin-top: 0;
  background-color: #000;
  position: absolute;
  bottom: 8px;
  right: 8px;
}

.press-kit .section-main .product-area .list li figure .btn-box .btn:hover, .press-kit .section-main .company-area .list li figure .btn-box .btn:hover {
  opacity: .8;
}

.press-kit .section-main .product-area .list li figure .btn-box a, .press-kit .section-main .company-area .list li figure .btn-box a {
  padding: 12px 14px;
}

.press-kit .section-main .product-area .list li .text-box .title, .press-kit .section-main .company-area .list li .text-box .title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 3.4rem;
  margin-top: 24px;
}

.press-kit .section-main .product-area .list li .text-box .text, .press-kit .section-main .company-area .list li .text-box .text {
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin-top: 8px;
}

.press-kit .section-main .product-area .list li:last-child, .press-kit .section-main .company-area .list li:last-child {
  margin-right: 0;
}

.press-kit .section-main .product-area .list:last-child, .press-kit .section-main .company-area .list:last-child {
  margin-bottom: 0;
}

.press-kit .section-main .product-area {
  margin-bottom: 195px;
}

.press-kit .section-main .company-area {
  margin-bottom: 140px;
}

.press-kit .section-main .profile-area {
  margin-bottom: 120px;
}

.press-kit .section-main .profile-area h3 {
  font-size: 2rem;
}

.press-kit .section-main .profile-area .text {
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin: 8px 0 28px 0;
}

.press-kit .section-main .profile-area .profile-box {
  background-color: #F7F7F7;
  padding: 32px 40px;
}

.press-kit .section-main .profile-area .profile-box .text {
  font-size: 1.6rem;
  line-height: 2.7rem;
  margin: 0;
}

.press-kit .section-main .profile-area .btn-box {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

.press-kit .section-main .profile-area .btn-box .btn {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: flex;
}

.press-kit .section-main .profile-area .btn-box .btn .text {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 10px 0 0;
}

.press-kit .section-main .profile-area .btn-box .btn img {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.press-kit .section-main .profile-area .btn-box .btn:hover {
  cursor: pointer;
  opacity: .5;
}

.press-kit .section-main .btn-box {
  display: flex;
  justify-content: center;
}

.press-kit .section-main .btn-box .btn-black {
  width: 570px;
  height: 132px;
  background-color: #000;
  width: 570px;
  height: 130px;
}

.press-kit .section-main .btn-box .btn-black a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
  padding-left: 60px;
  box-sizing: border-box;
  padding-top: 52px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.press-kit .section-main .btn-box .btn-black a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.press-kit .section-main .btn-box .btn-black a:hover {
  color: #ccc;
}

.press-kit .section-main .btn-box .btn-black a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .press-kit .section-main .btn-box .btn-black {
    width: 100%;
    height: 80px;
  }
  .press-kit .section-main .btn-box .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .press-kit .section-main .btn-box .btn-black a:before {
    width: 24px;
    height: 24px;
  }
}

@media screen and (max-width: 1040px) {
  .press-kit .fixed-copy-text {
    top: 53px;
  }
  .press-kit .section-title {
    padding: 165px 0 35px 0;
  }
  .press-kit .section-title h1 {
    font-size: 3rem;
    font-weight: 500;
  }
  .press-kit .section-title h1 span {
    display: none;
  }
  .press-kit .section-main {
    padding: 80px 0;
  }
  .press-kit .section-main h2 {
    margin-bottom: 40px;
  }
  .press-kit .section-main h3 {
    font-size: 1.8rem;
    line-height: 3rem;
  }
  .press-kit .section-main .text-area {
    margin-bottom: 80px;
  }
  .press-kit .section-main .text-area .text {
    font-size: 1.2rem;
    line-height: 2rem;
  }
  .press-kit .section-main .product-area .list, .press-kit .section-main .company-area .list {
    display: block;
    margin-bottom: 0;
  }
  .press-kit .section-main .product-area .list li, .press-kit .section-main .company-area .list li {
    width: 100%;
    margin: 0 0 70px 0;
  }
  .press-kit .section-main .product-area .list li .text-box .title, .press-kit .section-main .company-area .list li .text-box .title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.7rem;
    margin-top: 16px;
  }
  .press-kit .section-main .product-area .list li .text-box .text, .press-kit .section-main .company-area .list li .text-box .text {
    font-size: 1.1rem;
    line-height: 1.9rem;
    margin-top: 4px;
  }
  .press-kit .section-main .product-area {
    margin-bottom: 110px;
  }
  .press-kit .section-main .company-area {
    margin-bottom: 90px;
  }
  .press-kit .section-main .profile-area {
    margin-bottom: 80px;
  }
  .press-kit .section-main .profile-area h3 {
    font-size: 1.6rem;
    line-height: 2.7rem;
  }
  .press-kit .section-main .profile-area .text {
    font-size: 1.1rem;
    line-height: 1.9rem;
    margin: 4px 0 24px 0;
  }
  .press-kit .section-main .profile-area .profile-box {
    background-color: #F7F7F7;
    padding: 28px 20px;
  }
  .press-kit .section-main .profile-area .profile-box .text {
    font-size: 1.2rem;
    line-height: 2rem;
  }
  .press-kit .section-main .profile-area .btn-box {
    margin-top: 28px;
  }
  .press-kit .section-main .profile-area .btn-box .btn .text {
    font-size: 1.2rem;
  }
}

.career .section-title {
  padding: 300px 0 50px 0;
}

.career .btn-entry {
  display: block;
}

.career .section-main {
  padding: 160px 0 174px;
  background-color: #fff;
}

.career .section-main.jp {
  padding-bottom: 0;
}

.career .section-main.jp h2 {
  letter-spacing: .08em;
}

.career .section-main.jp .team-area .team-text h2 {
  letter-spacing: .08em;
}

.career .section-main.jp .environment-area .system-area .row .system .system-title h3 {
  letter-spacing: .06em;
}

.career .section-main h1 {
  font-size: 10rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  color: #000;
}

.career .section-main h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  color: #000;
}

@media screen and (max-width: 1040px) {
  .career .section-main h2 {
    font-size: 3rem;
  }
}

.career .section-main h3 {
  font-size: 3.2rem;
  line-height: 1.4;
  color: #000;
}

@media screen and (max-width: 1040px) {
  .career .section-main h3 {
    font-size: 3rem;
  }
}

.career .section-main .text {
  font-size: 2rem;
  line-height: 1.6;
  color: #000;
}

@media screen and (max-width: 1040px) {
  .career .section-main .text {
    font-size: 1.6rem;
  }
}

.career .section-main .top-area {
  margin-left: 20px;
  margin-bottom: 120px;
}

.career .section-main .top-area .message-area {
  margin-bottom: 120px;
}

.career .section-main .top-area .message-area h1 {
  margin-bottom: 60px;
}

.career .section-main .top-area .message-area .no-letter-space {
  letter-spacing: 0 !important;
}

.career .section-main .carousel-area {
  margin-bottom: 120px;
}

@-webkit-keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-470px * 9));
  }
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-470px * 9));
  }
}

.career .section-main .carousel-area .slider {
  background: white;
  height: 300px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.career .section-main .carousel-area .slider .slide-track {
  -webkit-animation: scroll 50s linear infinite;
  animation: scroll 50s linear infinite;
  display: flex;
  width: calc(470px * 17);
}

.career .section-main .carousel-area .slider .slide {
  height: 300px;
  width: 450px;
  margin-right: 20px;
}

.career .section-main .carousel-area .slider .slide img {
  width: 100%;
}

.career .section-main .innovation-area {
  margin-left: 35px;
  margin-bottom: 163px;
}

.career .section-main .innovation-area h2 {
  margin-bottom: 32px;
  letter-spacing: 0.08em;
}

.career .section-main .innovation-area .read {
  font-size: 20px;
  line-height: 1.7;
  margin-bottom: 62px;
  letter-spacing: 0.071em;
}

.career .section-main.jp .innovation-area .read {
  letter-spacing: 0.064em;
}

.career .section-main .innovation-area .flex-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.career .section-main .innovation-area .rule {
  margin-bottom: 18px;
  /* width: 48.241%; */
  background: #f0f0f0;
}

/* @media screen and (min-width: 1041px) {
  .career .section-main .innovation-area .rule:first-child {
    width: 48%;
    padding-right: 2%;
  }
} */

.career .section-main .innovation-area .title {
  margin-bottom: 20px;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
}

.career .section-main .innovation-area .black {
  width: 100%;
  padding: 14px 59px 19px 19px;
  box-sizing: border-box;
  margin-bottom: 0;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: #000;
  background-color: #f0f0f0;
  min-width: fit-content;
  position: relative;
  cursor: pointer;
}

.career .section-main .innovation-area .black::before {
  position: absolute;
  content: '';
  display: block;
  height: 20px;
  border-left: 2px solid #000;
  right: 37px;
  top: 28px;
}
.career .section-main .innovation-area .black::after {
  position: absolute;
  content: '';
  display: block;
  width: 20px;
  border-bottom: 2px solid #000;
  right: 28px;
  top: 37px;
}

.career .section-main .innovation-area .text {
  font-size: 16px;
  letter-spacing: 0.06em;
  visibility: hidden;
  opacity: 0;
  line-height: 0;
  transition: 0.3s;
  padding: 0 40px;
}

.career .section-main .innovation-area .text.open {
  visibility: visible;
  height: fit-content;
  opacity: 1;
  line-height: 1.7;
  padding: 10px 40px 30px 40px;
}

@media screen and (max-width: 1040px) {
  .career .section-main .innovation-area .text {
    padding: 0 26px;
  }
  .career .section-main .innovation-area .text.open {
    padding: 6px 26px 20px 26px;
  }
}

@media screen and (min-width: 1041px) {
  .career .section-main .team-area {
    margin-bottom: 156px;
    display: flex;
    justify-content: left;
    padding: 0 0 0 72px;
  }
}

.career .section-main .team-area figure {
  width: 100%;
}

@media screen and (min-width: 1041px) {
  .career .section-main .team-area figure {
    max-width: 628px;
  } 
}

.career .section-main .team-area figure img {
  width: 100%;
}

.career .section-main .team-area .team-text {
  width: 79.62%;
  margin: 1.8vw calc(6% + 100px) 0 57px;
}

.career .section-main .team-area .team-text h2 {
  margin-bottom: 21px;
}

.career .section-main .team-area .team-text .text {
  font-size: 1.8rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
  color: #444;
}

.career .section-main .speaker-deck-area {
  margin-bottom: 200px;
}

.career .section-main .speaker-deck-area .slide {
  width: 80%;
  max-width: 1000px;
  margin: 0 auto;
}

.career .section-main .environment-area {
  margin-bottom: 98px;
}

.career .speakerdeck-embed-wrapper iframe {
  width: 100% !important;
}

@media screen and (min-width: 1041px) {
  .career .speakerdeck-embed-wrapper {
    max-width: 741px;
    margin: 0 auto 186px;
  }

  .career .speakerdeck-embed-wrapper iframe {
    height: 417px !important;
  }
}

@media screen and (max-width: 1040px) {
  .career .speakerdeck-embed-wrapper {
    margin-bottom: 77px;
  }
  .career .speakerdeck-embed-wrapper iframe {
    height: calc(61vw - 48px) !important;
  }
}

.career .section-main .environment-area h2 {
  margin-bottom: 21px;
  font-size: 52px;
  letter-spacing: 0.12em;
}

.career .section-main .environment-area .text {
  font-size: 1.8rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}

.career .section-main.ja .environment-area .text {
  text-align: justify;
}

.career .section-main .environment-area .system-area .row {
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #eee;
}

.career .section-main .environment-area .system-area .row .system {
  width: calc(50% - 40px);
  height: 410px;
  padding-right: 80px;
  border-right: 1px solid #eee;
}

.career .section-main .environment-area .system-area .row .system .system-title {
  display: flex;
  justify-content: left;
  margin-bottom: 40px;
}

.career .section-main .environment-area .system-area .row .system .system-title figure {
  width: 100%;
  margin-right: 20px;
  max-width: 60px;
}

.career .section-main .environment-area .system-area .row .system .system-title figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.career .section-main .environment-area .system-area .row .system .system-title h3 {
  font-size: 2.4rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: auto 0;
}

.career .section-main .environment-area .system-area .row .system ul li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  padding-left: 1.5em;
  margin-bottom: 12px;
}

.career .section-main .environment-area .system-area .row .system ul li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #000;
  position: absolute;
  left: 0;
  top: 9px;
  border-radius: 50%;
}

.career .section-main .environment-area .system-area .row .system ul li p {
  margin-bottom: 0;
}

.career .section-main .environment-area .system-area .row .system:last-child {
  width: calc(50% - 40px);
  border: none;
  padding-right: 0;
  margin-left: 80px;
}

.career .section-main .environment-area .system-area .row:last-child {
  border: none;
}

.career .section-main .environment-area .system-area .row:last-child .system {
  height: 350px;
  padding-top: 60px;
}

.career .section-main .official-note-area {
  background: #f5f5f5;
  margin-top: 200px;
  padding: 60px calc(6% + 100px) 174px 6%;
}

.career .section-main .official-note-area h2 {
  margin-bottom: 40px;
}

.career .section-main .official-note-area .text {
  margin-bottom: 60px;
}

.career .section-main .official-note-area .notes {
  display: flex;
  justify-content: left;
  margin-bottom: 80px;
}

.career .section-main .official-note-area .notes .note {
  width: calc(33% - 24px);
  margin-right: 40px;
}

.career .section-main .official-note-area .notes .note a figure {
  width: 100%;
  margin-bottom: 28px;
  background-color: #000;
  overflow: hidden;
  box-sizing: border-box;
}

.career .section-main .official-note-area .notes .note a figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  background-size: cover;
  background-position: center center;
  transform: scale(1.01);
  transition: all 501ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.career .section-main .official-note-area .notes .note a .date {
  color: #666666;
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 12px;
}

.career .section-main .official-note-area .notes .note a h4 {
  font-size: 1.6rem;
  line-height: 1.6;
}

.career .section-main .official-note-area .notes .note a:hover figure img {
  opacity: 0.6;
  transform: scale(1.03);
}

.career .section-main .official-note-area .notes .note:last-child {
  margin-right: 0;
}

.career .section-main .official-note-area .btn-area li {
  width: 100%;
}

.career .section-main .official-note-area .btn-area a {
  padding: 0 60px 40px 0;
  text-align: right;
}

.career .section-main .official-note-area .btn-area a::before {
  top: -4px;
}

.career .section-main .btn-area {
  display: flex;
}

.career .section-main .btn-area li {
  width: 37.5vw;
  margin-right: 4.1vw;
}

.career .section-main .btn-area li:last-child {
  margin-right: 0;
}

.career .section-main .btn-area a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 24px;
  padding-left: 12px;
  box-sizing: border-box;
  border-bottom: solid 3px #000;
}

.career .section-main .btn-area a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 7px 10px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.career .section-main .btn-area a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .career .section-title {
    padding: 170px 0 30px 0;
  }
  .career .btn-entry {
    position: fixed;
    top: unset;
    bottom: 20px;
    right: 20px;
    margin-right: 0;
    background-color: #000;
  }
  .career .btn-entry a {
    color: #fff;
  }
  .career .btn-entry a:before {
    background: url(../img/icon/arrow-white.svg) no-repeat;
  }
  .career .section-main {
    padding: 80px 0 144px;
  }
  .career .section-main.jp {
    padding-bottom: 0;
  }
  .career .section-main h1 {
    font-size: 5.2rem;
    line-height: 1.3;
  }
  .career .section-main .top-area {
    margin: 0 0 80px;
  }
  .career .section-main .top-area .message-area {
    margin-bottom: 60px;
  }
  .career .section-main .top-area .message-area h1 {
    margin-bottom: 40px;
  }
  .career .section-main .carousel-area {
    margin-bottom: 40px;
  }
  @-webkit-keyframes scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-312px * 9));
    }
  }
  @keyframes scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-312px * 9));
    }
  }
  .career .section-main .carousel-area .slider {
    height: 200px;
  }
  .career .section-main .carousel-area .slider .slide-track {
    width: calc(312px * 17);
  }
  .career .section-main .carousel-area .slider .slide {
    height: 200px;
    width: 300px;
    margin-right: 12px;
  }
  .career .section-main .innovation-area {
    margin: 0 0 80px;
  }
  /* .career .section-main .innovation-area::after {
    content: '';
    display: block;
    position: relative;
    width: 100vw;
    border-bottom: 1px solid #0066cc;
    left: -24px;
    margin: 39px 0 40px;
  } */
  .career .section-main .innovation-area h2 {
    margin-bottom: 19px;
    letter-spacing: 0.08em;
  }
  .career .section-main .innovation-area .read {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .career .section-main .innovation-area .rule {
    margin-bottom: 16px;
    min-width: 0;
    width: 100%;
  }
  .career .section-main .innovation-area .title {
    margin-bottom: 16px;
    font-size: 1.8rem;
  }
  .career .section-main .innovation-area .black {
    font-size: 28px;
    padding: 11px 40px 15px 15px;
  }
  .career .section-main .innovation-area .black::before {
    height: 16px;
    border-left: 1px solid #000;
    right: 28px;
    top: 20px;
  }
  .career .section-main .innovation-area .black::after {
    width: 16px;
    border-bottom: 1px solid #000;
    right: 20px;
    top: 28px;
  }
  .career .section-main .innovation-area .text {
    font-size: 1.4rem;
  }
  .career .section-main .team-area {
    margin: 0 24px 60px;
    display: block;
  }
  /* .career .section-main .team-area::after {
    content: '';
    display: block;
    position: relative;
    width: 100vw;
    border-bottom: 1px solid #0066cc;
    left: -24px;
    margin: 40px 0;
  } */
  .career .section-main .team-area figure {
    margin-bottom: 22px;
  }
  .career .section-main .team-area .team-text {
    margin: auto;
    width: 100%;
  }
  .career .section-main .team-area .team-text h2 {
    margin-bottom: 20px;
  }
  .career .section-main .team-area .team-text .text {
    font-size: 14px;
    line-height: 1.7;
  }
  .career .section-main .speaker-deck-area {
    margin-bottom: 80px;
  }
  .career .section-main .speaker-deck-area .slide {
    width: 100%;
  }
  .career .section-main .environment-area {
    margin-bottom: 40px;
  }
  .career .section-main .environment-area h2 {
    margin-bottom: 20px;
    font-size: 30px;
  }
  .career .section-main .environment-area .text {
    /* margin-bottom: 40px; */
    font-size: 14px;
  }
  .career .section-main .environment-area .system-area .row {
    display: block;
    border-bottom: none;
  }
  .career .section-main .environment-area .system-area .row .system {
    width: 100%;
    height: auto;
    border-right: none;
    border-bottom: 1px solid #eee;
    padding-right: 0;
    padding-bottom: 32px;
  }
  .career .section-main .environment-area .system-area .row .system .system-title {
    margin-bottom: 20px;
  }
  .career .section-main .environment-area .system-area .row .system .system-title figure {
    margin-right: 10px;
    max-width: 40px;
  }
  .career .section-main .environment-area .system-area .row .system .system-title h3 {
    font-size: 1.8rem;
  }
  .career .section-main .environment-area .system-area .row .system ul li {
    position: relative;
    font-size: 1.2rem;
    padding-left: 1em;
    margin-bottom: 8px;
  }
  .career .section-main .environment-area .system-area .row .system ul li:before {
    width: 6px;
    height: 6px;
    top: 7px;
  }
  .career .section-main .environment-area .system-area .row .system:last-child {
    width: 100%;
    padding-top: 32px;
    border-bottom: 1px solid #eee;
    margin-left: 0;
  }
  .career .section-main .environment-area .system-area .row:last-child {
    border: none;
  }
  .career .section-main .environment-area .system-area .row:last-child .system {
    height: auto;
    padding-top: 32px;
  }
  .career .section-main .environment-area .system-area .row:last-child .system:last-child {
    border: none;
    padding-bottom: 0;
  }
  .career .section-main .official-note-area h2 {
    margin-bottom: 20px;
  }
  .career .section-main .official-note-area .text {
    margin-bottom: 40px;
  }
  .career .section-main .official-note-area .notes {
    display: block;
    margin-bottom: 60px;
  }
  .career .section-main .official-note-area .notes .note {
    width: 100%;
    padding-top: 28px;
    padding-bottom: 21px;
    margin-right: 0;
    border-bottom: 1px solid #eee;
  }
  .career .section-main .official-note-area .notes .note figure {
    margin-bottom: 20px;
  }
  .career .section-main .official-note-area .notes .note .date {
    font-size: 1.2rem;
    margin-bottom: 8px;
  }
  .career .section-main .official-note-area .notes .note h4 {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .career .section-main .official-note-area .notes .note:first-child {
    padding-top: 0;
  }
  .career .section-main .official-note-area .btn-area a {
    padding: 0 40px 30px 0;
    text-align: right;
  }
  .career .section-main .btn-area {
    display: block;
  }
  .career .section-main .btn-area li {
    width: 100%;
    margin-bottom: 24px;
  }
  .career .section-main .btn-area li:last-child {
    margin-bottom: 0;
  }
  .career .section-main .btn-area a {
    font-size: 1.6rem;
    padding-left: 0;
  }
  .career .section-main .btn-area a:before {
    width: 20px;
    height: 20px;
    background-size: 5px 7px;
  }
}

.service .section-main {
  background-color: #fff;
  /* padding: 0 0 160px; */
  padding: 0;
}


.service .section-main .services ul,
.service .section-main .services ol {
	margin-bottom: 30px;
}
.service .section-main .services ul li,
.service .section-main .services ol li {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.7;
	padding-left: 1em;
	margin-bottom: 6px;
}
.service .section-main .services ul li:before,
.service .section-main .services ol li:before {
	content: "";
	width: 8px;
	height: 8px;
	background-color: #000;
	position: absolute;
	left: 0;
	top: 12px;
	border-radius: 50%;
}



.service .section-main.jp .learning-center-area .content-area h3 {
  letter-spacing: .06em;
}

.service .section-main.jp .top-area h2 {
  letter-spacing: .08em;
}

.service .section-main.jp .content-area h2 {
  letter-spacing: .06em;
}

.service .section-main h2 {
  font-size: 4.8rem;
  line-height: 1.4;
}

@media screen and (max-width: 1040px) {
  .service .section-main h2 {
    font-size: 3rem;
  }
}

.service .section-main h3 {
  font-size: 3.2rem;
  line-height: 1.4;
}

@media screen and (max-width: 1040px) {
  .service .section-main h3 {
    font-size: 3rem;
  }
}

.service .section-main .text {
  font-size: 2rem;
  line-height: 1.7;
  letter-spacing: 1.1;
}

.service .section-main .top-area .text {
  letter-spacing: 1.3;
}

.service .section-main .flex-box {
  display: flex;
}

.service .section-main .title-box {
  display: flex;
  height: 50px;
  margin-bottom: 32px;
}

.service .section-main figure {
  width: 100%;
}

.service .section-main figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.service .section-main .content-area .title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 24px;
}

.service .section-main .content-area h2 {
  line-height: 1;
  margin-bottom: 28px;
}

.service .section-main .content-area .subtitle {
  font-size: 1.8rem;
  letter-spacing: 1.1px;
  margin-bottom: 48px;
}

@media screen and (max-width: 1040px) {
  .service .section-main .amateras-area .content-area .subtitle {
    margin-bottom: 43px;
  }  
}

.service .section-main .content-area .text {
  font-size: 18px;
}

.service .section-main ul.btn-area {
  display: flex;
}

.service .section-main ul.btn-area li {
  width: 100%;
}

.service .section-main ul.btn-area li:last-child {
  margin-right: 0;
}

.service .section-main ul.btn-area a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 24px;
  padding-left: 12px;
  box-sizing: border-box;
  border-bottom: solid 3px #000;
}

.service .section-main ul.btn-area a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 7px 10px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-main ul.btn-area a:hover:before {
  background-color: #009CAE;
}

.service .section-main .btn-box {
  display: flex;
  justify-content: center;
}

.service .section-main .btn-box .btn-black {
  width: 570px;
  height: 132px;
  background-color: #000;
  width: 570px;
  height: 130px;
}

.service .section-main .btn-box .btn-black a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
  padding: 0 0 0 60px;
  box-sizing: border-box;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  letter-spacing: 0.085em;
  line-height: 1.6;
}

.service .section-main .btn-box .btn-black a:before {
  content: "";
  width: 32px;
  height: 32px;
  border-radius: 50%;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-main .btn-box .btn-black a:hover {
  color: #ccc;
}

.service .section-main .btn-box .btn-black a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .service .section-main .btn-box .btn-black {
    width: 100%;
    height: 80px;
  }
  .service .section-main .btn-box .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .service .section-main .btn-box .btn-black a:before {
    width: 24px;
    height: 24px;
  }
}

.service .section-main .top-area h2 {
  margin-bottom: 65px;
}

.service .section-main .top-area figure {
  margin-bottom: 60px;
}

.service .section-main .cube-area {
  margin-top: 160px;
}

.service .section-main .cube-area .left-box {
  width: 50%;
  margin-right: 80px;
}

.service .section-main .cube-area .right-box {
  width: 50%;
}

.service .section-main .cube-area .right-box .content-area .text {
  margin-bottom: 50px;
}

.service .section-main .cube-area .right-box .content-area .btn {
  width: 350px;
  border-bottom: 6px solid #000;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.service .section-main .cube-area .right-box .content-area .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-main .cube-area .right-box .content-area .btn a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-main .cube-area .right-box .content-area .btn a:hover {
  color: #333;
}

.service .section-main .cube-area .right-box .content-area .btn a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .service .section-main .cube-area .right-box .content-area .btn a {
    padding-right: 3rem;
  }
  .service .section-main .cube-area .right-box .content-area .btn a:before {
    background-size: 5px 8px;
  }
}

.service .section-main .cube-area .right-box .content-area .btn a {
  padding-left: 12px;
  padding-bottom: 30px;
  display: block !important;
}

.service .section-main .cube-area .right-box .content-area .btn a:before {
  top: 20%;
}

.service .section-main .learning-center-area, .service .section-main .workflows-area, .service .section-main .amateras-area {
  margin-top: 60px;
  padding-top: 100px;
  padding-bottom: 40px;
  border-bottom: 6px solid #000;
}

.service .section-main .amateras-area {
  border-bottom: 0;
}

.service .section-main .learning-center-area .content-area {
  margin-bottom: 80px;
}

.service .section-main .amateras-area .content-area {
  margin-bottom: 37px;
}

.service .section-main .learning-center-area .content-area .subtitle, .service .section-main .workflows-area .content-area .subtitle, .service .section-main .amateras-area .content-area .subtitle {
  margin-bottom: 60px;
}

.service .section-main .learning-center-area .content-area figure, .service .section-main .amateras-area .content-area figure {
  margin-bottom: 36px;
}

.service .section-main .learning-center-area .content-area .icon, .service .section-main .workflows-area .content-area .icon {
  height: 50px;
  width: auto;
  margin-right: 24px;
}

.service .section-main .learning-center-area .content-area .icon img, .service .section-main .workflows-area .content-area .icon img {
  height: 100%;
  width: auto;
}

.service .section-main .learning-center-area .content-area h3, .service .section-main .workflows-area .content-area h3, .service .section-main .amateras-area .content-area h3 {
  margin-bottom: 20px;
}

.service .section-main .amateras-area .content-area h3 {
  letter-spacing: 2px;
}

.service .section-main .learning-center-area .content-area .text, .service .section-main .workflows-area .content-area .text, .service .section-main .amateras-area .content-area .text {
  margin-bottom: 12px;
}

.service .section-main .learning-center-area .content-area .subtext, .service .section-main .workflows-area .content-area .subtext {
  font-size: 1.4rem;
  line-height: 1.7;
}

.service .section-main .learning-center-area .content-area .left-box, .service .section-main .workflows-area .content-area .left-box, .service .section-main .amateras-area .content-area .left-box {
  width: 50%;
  margin-right: 40px;
}

.service .section-main .learning-center-area .content-area .right-box, .service .section-main .workflows-area .content-area .right-box, .service .section-main .amateras-area .content-area .right-box {
  width: 50%;
}

.service .section-main .learning-center-area .btn, .service .section-main .workflows-area .btn, .service .section-main .amateras-area .btn {
  display: flex;
  justify-content: flex-end;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.service .section-main .learning-center-area .btn a, .service .section-main .workflows-area .btn a, .service .section-main .amateras-area .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-main .workflows-area .btn a {
  padding-right: 60px;
}

.service .section-main .amateras-area .btn a {
  width: 303px;
  border-bottom: 6px solid #000;
  height: 50px;
  text-indent: 11px;
}

.service .section-main .learning-center-area .btn a:before, .service .section-main .workflows-area .btn a:before, .service .section-main .amateras-area .btn a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-main .workflows-area .btn a:before {
  width: 36px;
  height: 36px;
}

.service .section-main .amateras-area .btn a:before {
  top: 24%;
}

.service .section-main .learning-center-area .btn a:hover, .service .section-main .workflows-area .btn a:hover, .service .section-main .amateras-area .btn a:hover {
  color: #333;
}

.service .section-main .learning-center-area .btn a:hover:before, .service .section-main .workflows-area .btn a:hover:before, .service .section-main .amateras-area .btn a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .service .section-main .learning-center-area .btn a, .service .section-main .workflows-area .btn a, .service .section-main .amateras-area .btn a {
    padding-right: 3rem;
  }
  .service .section-main .learning-center-area .btn a:before, .service .section-main .workflows-area .btn a:before, .service .section-main .amateras-area .btn a:before {
    background-size: 5px 8px;
  }
  .service .section-main .amateras-area .btn a {
    text-indent: 0;
    padding-top: 3px;
    height: 43px;
    width: 100%;
  }
  .service .section-main .amateras-area .btn a::before {
    top: 25% !important;
  }
}

.service .section-main .workflows-area h2 .mini-title {
  display: inline-block;
  font-size: 3rem;
  margin-bottom: 0;
}

.service .section-main .grey-box {
  background-color: #F7F7F7;
  width: calc(100% - 100px);
  margin-top: 175px;
  padding: 60px 6%;
  box-sizing: border-box;
  border: solid 1px #eee;
}

.service .section-main .grey-box .title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 32px;
}

.service .section-main .grey-box .flex-box {
  justify-content: center;
  align-items: flex-end;
}

.service .section-main .grey-box .flex-box + .flex-box {
  margin-top: 40px;
}

.service .section-main .grey-box .flex-box.single .btn-area:last-child .btn-black {
  background: transparent;
}

.service .section-main .grey-box .flex-box .btn-area {
  width: 50%;
  max-width: 570px;
  margin-right: 40px;
}

@media screen and (max-width: 1340px) and (min-width: 1041px) {
  .service .section-main .grey-box .flex-box .btn-area .btn-box .btn-black a {
    padding-left: 30px;
    font-size: 2rem;
  }
  .service .section-main .grey-box .flex-box .btn-area .btn-box .btn-black a:before {
    right: 30px;
  }
}

.service .section-main .grey-box .flex-box .btn-area:last-child {
  margin-right: 0;
}

@media screen and (max-width: 1040px) {
  .service .section-main .grey-box .flex-box.single .btn-area {
    margin-bottom: 0;
  }
  .service .section-main .grey-box .flex-box.single .btn-area:last-child {
    display: none;
  }  
}

.service .cube_background {
  background-image: url(../img/service/cube_pc_background.png);
  background-size: cover;
  background-position: center bottom;  
}

.service .section-title.cube {
  padding: 200px 0 140px 0;
  background-image: url(../img/service/cube_pc_product.png);
  background-size: min(94vw, 1340px);
  background-position: center bottom;
  width: calc(100vw - 100px);
  background-color: transparent;
  background-repeat: no-repeat;
}

.service .section-title.lc_forecast {
  padding: 165px 0px 125px 0;
  background-image: url(../img/service/lc_background.png);
  background-position: center bottom;
  background-size: cover;
  width: calc(100vw - 100px);
}

.service .section-title.cube .title-box {
  width: 50%;
  margin: auto 0;
}

.service .section-title.cube .title-box .subtitle,
.service .section-title.lc_forecast .title-box .subtitle {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 28px;
}

.service .section-title.cube .title-box .title,
.service .section-title.lc_forecast .title-box .title {
  width: 100%;
  max-width: 520px;
  margin-bottom: 40px;
}

.service .section-title.lc_forecast .title-box .title {
  max-width: 579px;
}

.service .section-title.cube .title-box .title img,
.service .section-title.lc_forecast .title-box .title img {
  width: 100%;
}

.service .section-title.cube .title-box span,
.service .section-title.lc_forecast .title-box span {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.08em;
  min-height: 73px;
  display: block;
}

@media screen and (max-width: 1040px) {
  .service .section-title.cube .title-box span,
  .service .section-title.lc_forecast .title-box span {
    font-size: 18px;
    font-weight: 500;
  }
}

.service .section-title.lc_forecast .title-box span {
  color: #fff;
  letter-spacing: 0.08em;
}

.service .section-title.cube:before,
.service .section-title.lc_forecast:before {
  display: none;
}

.service .section-ai-inside-cube-series {
  background-color: #fff;
  padding: 120px 0;
}

.service .section-ai-inside-cube-series.jp h2 {
  letter-spacing: .08em;
}

.service .section-ai-inside-cube-series.jp h3 {
  letter-spacing: .06em;
}

.service .section-ai-inside-cube-series h2 {
  font-size: 4.8rem;
  line-height: 1.4;
}

@media screen and (max-width: 1040px) {
  .service .section-ai-inside-cube-series h2 {
    font-size: 3rem;
  }
}

.service .section-ai-inside-cube-series h3 {
  font-size: 3.2rem;
  line-height: 1.4;
}

@media screen and (max-width: 1040px) {
  .service .section-ai-inside-cube-series h3 {
    font-size: 3rem;
  }
}

.service .section-ai-inside-cube-series .text {
  font-size: 2rem;
  line-height: 1.7;
}

.service .section-ai-inside-cube-series .flex-box {
  display: flex;
}

.service .section-ai-inside-cube-series .title-box {
  display: flex;
  height: 50px;
  margin-bottom: 32px;
}

.service .section-ai-inside-cube-series figure {
  width: 100%;
}

.service .section-ai-inside-cube-series figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.service .section-ai-inside-cube-series .btn-box {
  display: flex;
  justify-content: center;
}

.service .section-ai-inside-cube-series .btn-box .btn-black {
  width: 570px;
  height: 132px;
  background-color: #000;
  width: 570px;
  height: 130px;
}

.service .section-ai-inside-cube-series .btn-box .btn-black a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
  padding-left: 60px;
  box-sizing: border-box;
  padding-top: 52px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-ai-inside-cube-series .btn-box .btn-black a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-ai-inside-cube-series .btn-box .btn-black a:hover {
  color: #ccc;
}

.service .section-ai-inside-cube-series .btn-box .btn-black a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .service .section-ai-inside-cube-series .btn-box .btn-black {
    width: 100%;
    height: 80px;
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a:before {
    width: 24px;
    height: 24px;
  }
}

.service .section-ai-inside-cube-series ul.btn-area {
  display: flex;
}

.service .section-ai-inside-cube-series ul.btn-area li {
  width: 100%;
}

.service .section-ai-inside-cube-series ul.btn-area li:last-child {
  margin-right: 0;
}

.service .section-ai-inside-cube-series ul.btn-area a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 2.4rem;
  font-weight: 600;
  padding-bottom: 48px;
  box-sizing: border-box;
  border-bottom: solid 3px #000;
}

.service .section-ai-inside-cube-series ul.btn-area a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 7px 10px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-ai-inside-cube-series ul.btn-area a:hover:before {
  background-color: #009CAE;
}

.service .section-ai-inside-cube-series .top-area {
  margin-bottom: 120px;
}

.service .section-ai-inside-cube-series .features-area {
  margin-bottom: 160px;
}

.service .section-ai-inside-cube-series .features-area h2 {
  margin-bottom: 60px;
}

.service .section-ai-inside-cube-series .features-area .feature {
  border-bottom: 1px solid #eee;
  padding-top: 57px;
  padding-bottom: 60px;
}

.service .section-ai-inside-cube-series .features-area .feature .title-area {
  display: flex;
  justify-content: left;
  margin-bottom: 30px;
  height: 90px;
}

.service .section-ai-inside-cube-series .features-area .feature .title-area figure {
  width: auto;
}

.service .section-ai-inside-cube-series .features-area .feature .title-area figure img {
  height: 100%;
  width: auto;
  margin-right: 35px;
}

.service .section-ai-inside-cube-series .features-area .feature .title-area h3 {
  margin: auto 0;
  line-height: 1.7;
}

.service .section-ai-inside-cube-series .features-area .feature .text {
  font-size: 1.8rem;
  line-height: 1.7;
}

.service .section-ai-inside-cube-series .features-area .feature:first-of-type {
  padding-top: 0;
}

.service .section-ai-inside-cube-series .series-area {
  margin-bottom: 160px;
}

.service .section-ai-inside-cube-series .series-area h2 {
  margin-bottom: 80px;
}

.service .section-ai-inside-cube-series .series-area .product-box {
  display: flex;
  overflow: hidden;
  margin-bottom: 80px;
  min-height: 430px;
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery {
  width: 50%;
  max-width: 580px;
  margin-right: 80px;
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery .gallery-cell {
  width: 100%;
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery .gallery-cell img {
  width: 100%;
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery .flickity-button {
  width: 20px;
  top: initial;
  bottom: 0;
  border-radius: 0;
  z-index: 10;
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery .previous {
  left: calc(100% + 80px);
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery .next {
  left: calc(100% + 160px);
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery .next:before {
  content: "";
  display: block;
  position: relative;
  left: -30px;
  width: 0;
  height: 40px;
  border-left: 1px solid #ccc;
}

.service .section-ai-inside-cube-series .series-area .product-box .gallery .flickity-page-dots {
  height: 0;
  height: auto;
  top: initial;
  bottom: 40px;
  left: calc(100% + 70px);
}

.service .section-ai-inside-cube-series .series-area .product-box .product-text {
  width: 50%;
}

.service .section-ai-inside-cube-series .series-area .product-box .product-text .pro {
  width: 71.725%;
}

.service .section-ai-inside-cube-series .series-area .product-box .product-text .cube {
  width: 56.305%;
}

.service .section-ai-inside-cube-series .series-area .product-box .product-text .cube-mini {
  width: 74.595%;
}

.service .section-ai-inside-cube-series .series-area .product-box .product-text .pro, .service .section-ai-inside-cube-series .series-area .product-box .product-text .cube, .service .section-ai-inside-cube-series .series-area .product-box .product-text .cube-mini {
  margin-top: 60px;
  margin-bottom: 40px;
}

.service .section-ai-inside-cube-series .series-area .product-box .product-text .subtitle {
  font-size: 2.4rem;
  line-height: 1.7;
  margin-bottom: 12px;
}

.service .section-ai-inside-cube-series .series-area .product-box .product-text .text {
  font-size: 1.8rem;
  line-height: 1.7;
}

.service .section-ai-inside-cube-series .series-area .product-box:last-child {
  margin-bottom: 0;
}

.service .section-ai-inside-cube-series .spec-area {
  margin: 0 6% 160px;
  margin-right: calc(6% + 100px);
}

.service .section-ai-inside-cube-series .spec-area h2 {
  margin-bottom: 90px;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper {
  width: 100%;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table td:first-child {
  position: -webkit-sticky;
  position: sticky;
  font-weight: 700;
  left: 0;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table {
  width: 100%;
  font-size: 1.6rem;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr {
  height: 64px;
  border-bottom: 1px solid #eee;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr td {
  width: 26.6%;
  text-align: center;
  vertical-align: middle;
  background-color: white;
  background-clip: padding-box;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr td figure img {
  width: 80%;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr td:first-child {
  width: 20%;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr td:first-child p {
  min-width: 240px;
}

.service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr:first-child, .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr:last-child {
  border: none;
}

.service .section-ai-inside-cube-series .spec-area .note {
  margin-top: 30px;
  font-size: 1.6rem;
}

.service .section-ai-inside-cube-series .about-area {
  margin-bottom: 160px;
}

.service .section-ai-inside-cube-series .about-area h4 {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.7;
  margin-bottom: 60px;
}

.service .section-ai-inside-cube-series .about-area .flex-box {
  justify-content: center;
}

.service .section-ai-inside-cube-series .about-area .flex-box ul.btn-area {
  width: 50%;
  max-width: 540px;
  margin-right: 60px;
}

.service .section-ai-inside-cube-series .about-area .flex-box ul.btn-area:last-child {
  margin-right: 0;
}

.service .section-ai-inside-cube-series .grey-box {
  background-color: #F7F7F7;
  width: calc(100% - 100px);
  padding: 60px 6%;
  box-sizing: border-box;
  border: solid 1px #eee;
}

.service .section-ai-inside-cube-series .grey-box .btn-area {
  width: 50%;
  max-width: 570px;
  margin-right: 80px;
}

.service .section-ai-inside-cube-series .grey-box .btn {
  margin: auto 0;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.service .section-ai-inside-cube-series .grey-box .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-ai-inside-cube-series .grey-box .btn a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service .section-ai-inside-cube-series .grey-box .btn a:hover {
  color: #333;
}

.service .section-ai-inside-cube-series .grey-box .btn a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .service .section-ai-inside-cube-series .grey-box .btn a {
    padding-right: 3rem;
  }
  .service .section-ai-inside-cube-series .grey-box .btn a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .service .section-main {
    padding: 80px 0;
  }
  .service .section-main .text {
    letter-spacing: 1;
    /* font-size: 1.6rem; */
  }
  .service .section-main .flex-box {
    display: block;
  }
  .service .section-main .title-box {
    height: 40px;
    margin-bottom: 20px;
  }
  .service .section-main .content-area .title {
    font-size: 1.6rem;
    margin-bottom: 16px;
  }
  .service .section-main .content-area h2 {
    font-size: 3.6rem;
    line-height: 1.2;
    margin-bottom: 17px;
  }
  .service .section-main .content-area .subtitle {
    font-size: 1.2rem;
    margin-bottom: 32px;
    letter-spacing: 0.7px;
    line-height: 1.7;
  }
  .service .section-main .content-area .text {
    /* font-size: 14px; */
    line-height: 1.6;
  }
  .service .section-main ul.btn-area {
    display: block;
  }
  .service .section-main ul.btn-area a {
    font-size: 1.6rem;
  }
  .service .section-main ul.btn-area a:before {
    width: 20px;
    height: 20px;
    background-size: 5px 7px;
  }
  .service .section-main .top-area h2 {
    margin-bottom: 40px;
  }
  .service .section-main .top-area figure {
    margin-bottom: 20px;
  }
  .service .section-main .cube-area {
    margin-top: 80px;
  }
  .service .section-main .cube-area .left-box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
  }
  .service .section-main .cube-area .right-box {
    width: 100%;
  }
  .service .section-main .cube-area .right-box .content-area .text {
    margin-bottom: 40px;
  }
  .service .section-main .cube-area .right-box .content-area .btn {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .06em;
  }
  .service .section-main .cube-area .right-box .content-area .btn a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-main .cube-area .right-box .content-area .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-main .cube-area .right-box .content-area .btn a:hover {
    color: #333;
  }
  .service .section-main .cube-area .right-box .content-area .btn a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .service .section-main .cube-area .right-box .content-area .btn a {
    padding-right: 3rem;
  }
  .service .section-main .cube-area .right-box .content-area .btn a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .service .section-main .cube-area .right-box .content-area .btn a {
    padding-left: 0;
  }
  .service .section-main .cube-area .right-box .content-area .btn a:before {
    top: 20%;
  }
  .service .section-main .learning-center-area, .service .section-main .workflows-area, .service .section-main .amateras-area {
    margin-top: 20px;
    padding-top: 60px;
    padding-bottom: 30px;
  }
  .service .section-main .amateras-area {
    padding-bottom: 0;
  }
  .service .section-main .learning-center-area .content-area, .service .section-main .workflows-area .content-area {
    margin-bottom: 40px;
  }
  .service .section-main .learning-center-area .content-area .subtitle, .service .section-main .workflows-area .content-area .subtitle, .service .section-main .amateras-area .content-area .subtitle {
    margin-bottom: 40px;
  }
  .service .section-main .learning-center-area .content-area figure, .service .section-main .workflows-area .content-area figure {
    margin-bottom: 24px;
  }
  .service .section-main .learning-center-area .content-area .icon, .service .section-main .workflows-area .content-area .icon {
    height: 40px;
    margin-right: 12px;
  }
  .service .section-main .learning-center-area .content-area h3, .service .section-main .workflows-area .content-area h3, .service .section-main .amateras-area .content-area h3 {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 1.1px;
    margin-bottom: 16px;
  }
  .service .section-main .amateras-area .content-area h3 {
    margin-bottom: 20px;
    height: 40px;
  }
  .service .section-main .learning-center-area .content-area .text, .service .section-main .workflows-area .content-area .text, .service .section-main .amateras-area .content-area .text {
    margin-bottom: 8px;
    letter-spacing: 0.8px;
  }
  .service .section-main .learning-center-area .content-area .subtext, .service .section-main .workflows-area .content-area .subtext {
    font-size: 1.2rem;
    line-height: 1.6;
  }
  .service .section-main .learning-center-area .content-area .left-box, .service .section-main .workflows-area .content-area .left-box, .service .section-main .amateras-area .content-area .left-box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
  }
  .service .section-main .learning-center-area .content-area .right-box, .service .section-main .workflows-area .content-area .right-box {
    width: 100%;
    margin-bottom: 60px;
  }
  .service .section-main .amateras-area .content-area .right-box {
    width: 100%;
    margin-bottom: 40px;
  }
  .service .section-main .learning-center-area .btn, .service .section-main .workflows-area .btn, .service .section-main .amateras-area .btn {
    display: flex;
    justify-content: flex-end;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .06em;
  }
  .service .section-main .learning-center-area .btn a, .service .section-main .workflows-area .btn a, .service .section-main .amateras-area .btn a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-main .learning-center-area .btn a:before, .service .section-main .workflows-area .btn a:before, .service .section-main .amateras-area .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-main .learning-center-area .btn a:hover, .service .section-main .workflows-area .btn a:hover, .service .section-main .amateras-area .btn a:hover {
    color: #333;
  }
  .service .section-main .learning-center-area .btn a:hover:before, .service .section-main .workflows-area .btn a:hover:before, .service .section-main .amateras-area .btn a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .service .section-main .learning-center-area .btn a, .service .section-main .workflows-area .btn a, .service .section-main .amateras-area .btn a {
    padding-right: 3rem;
  }
  .service .section-main .learning-center-area .btn a:before, .service .section-main .workflows-area .btn a:before, .service .section-main .amateras-area .btn a:before {
    background-size: 5px 8px;
  }
}

@media screen and (max-width: 1040px) {
  .service .section-main .workflows-area h2 .mini-title {
    font-size: 2rem;
  }
  .service .section-main .workflows-area .flow-area {
    margin-bottom: 40px;
  }
  .service .section-main .grey-box {
    width: 100%;
    margin-top: 80px;
    padding: 40px 6%;
  }
  .service .section-main .grey-box .title {
    font-size: 1.6rem;
    margin-bottom: 16px;
  }
  .service .section-main .grey-box .flex-box .btn-area {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-bottom: 40px;
  }
  .service .section-main .grey-box .flex-box .btn-area .btn-box .btn-black a {
    font-size: 1.4rem;
    padding-left: 24px;
  }
  .service .section-main .grey-box .flex-box .btn-area .btn-box .btn-black a:before {
    right: 24px;
  }
  .service .section-main .grey-box .flex-box .btn-area:last-child {
    margin-bottom: 0;
  }
  .service .section-title.cube,
  .service .section-title.lc_forecast  {
    padding: 100px 0;
    margin-top: 50px;
  }
  .service .section-title.cube .title-box,
  .service .section-title.lc_forecast .title-box  {
    width: 100%;
  }
  .service .section-title.cube .title-box .subtitle,
  .service .section-title.lc_forecast .title-box .subtitle  {
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
  .service .section-title.cube .title-box .title,
  .service .section-title.lc_forecast .title-box .title  {
    width: 100%;
    max-width: 330px;
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 1040px) and (max-width: 768px) {
  .service .cube_background {
    padding: 60px 0 0 0;
    background-image: url(../img/service/cube_sp_background.png);
    background-position: center 60px;
    background-size: contain;
    background-repeat-y: no-repeat;
  }

  .service .section-title.cube {
    padding: 16px 0 252px 0;
    background-image: url(../img/service/cube_sp_product.png);
    background-size: 375px;
    background-position: bottom;
    background-repeat: no-repeat;
  }

  .service .section-title.lc_forecast {
    margin-top: 0 !important;
    padding: 68px 0 35px 0;
    background-image: url(../img/service/lc_background_sp.png);
    background-size: cover;
    background-position: 0 5px;
    background-repeat: no-repeat;
    background-color: #fff;
  }
}

@media screen and (max-width: 1040px) {
  .service .section-title.cube,
  .service .section-title.lc_forecast {
    width: 100%;
    margin-top: 21px;
  }
  .service .section-ai-inside-cube-series {
    padding: 80px 0;
  }
  .service .section-ai-inside-cube-series .text {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .service .section-ai-inside-cube-series .flex-box {
    display: block;
  }
  .service .section-ai-inside-cube-series .title-box {
    height: 50px;
    margin-bottom: 32px;
  }
  .service .section-ai-inside-cube-series .btn-box {
    display: flex;
    justify-content: center;
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black {
    width: 570px;
    height: 132px;
    background-color: #000;
    width: 570px;
    height: 130px;
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 2.4rem;
    padding-left: 60px;
    box-sizing: border-box;
    padding-top: 52px;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a:before {
    content: "";
    width: 36px;
    height: 36px;
    border-radius: 50%;
    position: absolute;
    right: 60px;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-black.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #fff;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a:hover {
    color: #ccc;
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .service .section-ai-inside-cube-series .btn-box .btn-black {
    width: 100%;
    height: 80px;
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
  .service .section-ai-inside-cube-series .btn-box .btn-black a:before {
    width: 24px;
    height: 24px;
  }
}

@media screen and (max-width: 1040px) {
  .service .section-ai-inside-cube-series ul.btn-area a {
    font-size: 1.6rem;
    padding-bottom: 26px;
  }
  .service .section-ai-inside-cube-series ul.btn-area a:before {
    width: 20px;
    height: 20px;
    background-size: 5px 7px;
  }
  .service .section-ai-inside-cube-series .top-area {
    margin-bottom: 80px;
  }
  .service .section-ai-inside-cube-series .features-area {
    margin-bottom: 80px;
  }
  .service .section-ai-inside-cube-series .features-area h2 {
    margin-bottom: 40px;
  }
  .service .section-ai-inside-cube-series .features-area .feature {
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .service .section-ai-inside-cube-series .features-area .feature .title-area {
    margin-bottom: 28px;
    height: 60px;
  }
  .service .section-ai-inside-cube-series .features-area .feature .title-area figure img {
    margin-right: 20px;
  }
  .service .section-ai-inside-cube-series .features-area .feature .title-area h3 {
    font-size: 2.2rem;
    line-height: 1.4;
  }
  .service .section-ai-inside-cube-series .features-area .feature .text {
    font-size: 1.4rem;
  }
  .service .section-ai-inside-cube-series .series-area {
    margin-bottom: 80px;
  }
  .service .section-ai-inside-cube-series .series-area h2 {
    margin-bottom: 40px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box {
    display: block;
    margin-bottom: 60px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .gallery {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .gallery .flickity-button {
    width: 20px;
    top: calc(100% + 35px);
  }
  .service .section-ai-inside-cube-series .series-area .product-box .gallery .previous {
    left: 0;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .gallery .next {
    left: 80px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .gallery .flickity-page-dots {
    top: calc(100% + 30px);
    left: 35%;
    left: 27%;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .product-text {
    width: 100%;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .product-text .pro {
    width: 92.5%;
    max-width: 310px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .product-text .cube {
    width: 75%;
    max-width: 250px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .product-text .cube-mini {
    width: 100%;
    max-width: 325px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .product-text .pro, .service .section-ai-inside-cube-series .series-area .product-box .product-text .cube, .service .section-ai-inside-cube-series .series-area .product-box .product-text .cube-mini {
    margin-top: 92px;
    margin-bottom: 24px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .product-text .subtitle {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }
  .service .section-ai-inside-cube-series .series-area .product-box .product-text .text {
    font-size: 1.2rem;
  }
  .service .section-ai-inside-cube-series .spec-area {
    margin: 0 0 80px;
  }
  .service .section-ai-inside-cube-series .spec-area h2 {
    margin-left: 6%;
    margin-bottom: 40px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper {
    overflow: scroll;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table td:first-child {
    text-align: left;
    background-color: #eee;
    border: 1px solid #fff;
    padding-left: 12px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr:first-child td:first-child {
    background-color: #fff;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table {
    font-size: 1.2rem;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr {
    height: 36px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr td p {
    min-width: 260px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr td:first-child {
    left: -1px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr td:first-child p {
    min-width: 130px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr.two-line {
    height: 52px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr:first-child td {
    padding-top: 1px;
  }
  .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr:first-child, .service .section-ai-inside-cube-series .spec-area .spec-table-wrapper .spec-table tr:last-child {
    border: none;
  }
  .service .section-ai-inside-cube-series .spec-area .note {
    margin: 30px 1.6rem 0;
    font-size: 1.6rem;
  }
  .service .section-ai-inside-cube-series .spec-area .text {
    margin: 12px;
    font-size: 1.2rem;
  }
  .service .section-ai-inside-cube-series .about-area {
    margin-bottom: 80px;
  }
  .service .section-ai-inside-cube-series .about-area h4 {
    font-size: 1.8rem;
    margin-bottom: 40px;
  }
  .service .section-ai-inside-cube-series .about-area .flex-box ul.btn-area {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-bottom: 24px;
  }
  .service .section-ai-inside-cube-series .about-area .flex-box ul.btn-area:last-child {
    margin-bottom: 0;
  }
  .service .section-ai-inside-cube-series .grey-box {
    width: 100%;
    padding: 40px 24px;
  }
  .service .section-ai-inside-cube-series .grey-box .btn-area {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-bottom: 32px;
  }
  .service .section-ai-inside-cube-series .grey-box .btn {
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .06em;
  }
  .service .section-ai-inside-cube-series .grey-box .btn a {
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-ai-inside-cube-series .grey-box .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon/arrow-white.svg) no-repeat center center;
    background-size: 9px 14px;
    background-color: #000;
    transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .service .section-ai-inside-cube-series .grey-box .btn a:hover {
    color: #333;
  }
  .service .section-ai-inside-cube-series .grey-box .btn a:hover:before {
    background-color: #009CAE;
  }
}

@media screen and (max-width: 1040px) and (max-width: 1040px) {
  .service .section-ai-inside-cube-series .grey-box .btn a {
    padding-right: 3rem;
  }
  .service .section-ai-inside-cube-series .grey-box .btn a:before {
    background-size: 5px 8px;
  }
}

.contact .section-main {
  background-color: #fff;
  padding: 120px 0;
}

.contact .section-main .text {
  font-size: 2rem;
  line-height: 1.7;
  margin-bottom: 60px;
}

.contact .section-main .btn-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.contact .section-main .btn-area li {
  width: 45%;
  border-bottom: solid 6px #000;
  margin-bottom: 28px;
}

.contact .section-main .btn-area li a {
  position: relative;
  display: block;
  padding-right: 5rem;
  font-size: 2.4rem;
  font-weight: 600;
  padding: 32px 0;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.contact .section-main .btn-area li a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.contact .section-main .btn-area li a:hover {
  color: #333;
}

.contact .section-main .btn-area li a:hover:before {
  background-color: #009CAE;
}

.section-contact {
  padding: 120px 0;
}

.section-contact .section-inner {
  width: 720px;
  margin: 0 auto;
  right: 50px;
}

.section-contact .box {
  margin-bottom: 37px;
}

.section-contact .box p {
  font-size: 1.4rem;
  color: #444;
  line-height: 1.7;
}

.section-contact .box a {
  display: block;
  text-align: center;
  margin-top: 37px;
  text-decoration: underline;
  font-size: 1.6rem;
  transition: opacity .3s ease;
}

.section-contact .box a:hover {
  opacity: .5;
}

.section-contact .privacy-box {
  margin-top: 70px;
}

.section-contact .privacy-box p {
  font-size: 1.6rem;
  color: #000;
  font-weight: 600;
  text-align: center;
  margin-bottom: 24px;
}

.section-contact .privacy-box p span {
  display: inline-block;
  width: 47px;
  height: 23px;
  line-height: 23px;
  color: #fff;
  font-size: 1.1rem;
  background-color: #000;
  text-align: center;
  border-radius: 2px;
  box-sizing: border-box;
  margin-left: 12px;
}

.section-contact .privacy-box .formrun-system-show {
  text-align: center;
}

.section-contact .privacy-box label {
  margin-bottom: 0;
  margin-left: 6px;
}

.section-contact .privacy-box .agree {
  text-align: center;
}

.section-contact .privacy-box .flex-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-contact .privacy-box .flex-box input {
  width: 24px;
  height: 24px;
}

.section-contact label {
  display: block;
  margin-bottom: 16px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 600;
}

.section-contact label.test {
  color: red;
}

.section-contact label span {
  display: inline-block;
  width: 47px;
  height: 23px;
  line-height: 23px;
  color: #fff;
  font-size: 1.1rem;
  background-color: #000;
  text-align: center;
  border-radius: 2px;
  box-sizing: border-box;
  margin-left: 12px;
}

.section-contact input {
  display: block;
  width: 100%;
  height: 52px;
  font-size: 1.4rem;
  border: solid 1px #ddd;
  padding: 0 12px;
  background-color: #F9F9F9;
  box-sizing: border-box;
}

.section-contact input[type="checkbox"] {
  border: solid 1px #ddd;
  background-color: #F9F9F9;
  margin: 0;
}

.section-contact textarea {
  display: block;
  width: 100%;
  min-height: 200px;
  font-size: 1.4rem;
  border: solid 1px #ddd;
  padding: 12px;
  background-color: #F9F9F9;
  box-sizing: border-box;
}

.section-contact ::-moz-placeholder {
  color: #999;
}

.section-contact :-ms-input-placeholder {
  color: #999;
}

.section-contact ::-ms-input-placeholder {
  color: #999;
}

.section-contact ::placeholder {
  color: #999;
}

.section-contact .formrun-system-show {
  color: #FF0000;
  font-size: 1.4rem;
  margin-top: 16px;
}

.section-contact button {
  position: relative;
  display: block;
  width: 320px;
  height: 89px;
  line-height: 89px;
  color: #fff;
  background-color: #000;
  margin: 0 auto;
  text-align: left;
  font-size: 2rem;
  padding: 0 32px;
  box-sizing: border-box;
  margin-top: 45px;
}

.section-contact button:before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 50%;
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 6px 10px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-contact button:hover:before {
  background-color: #009CAE;
}

.section-contact.iframe {
  padding-top: 100px;
}

.section-contact.iframe .text-mini {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-bottom: 54px;
}

.section-contact.iframe .hissu {
  color: #FF0000;
  font-size: 1.4rem;
}

.section-contact.iframe .title-select {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 12px;
}

.section-contact.iframe .select-box {
  margin-bottom: 37px;
  width: 100%;
  padding: 16px 24px;
  font-size: 1.4rem;
  font-weight: 600;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/icon/arrow-bottom.svg) no-repeat;
  background-color: #F9F9F9;
  background-repeat: no-repeat;
  background-size: 11px 7px;
  background-position: right 24px center;
}

.section-contact.iframe .form-content .form {
  display: none;
}

.section-contact.iframe .form-content .form.isView {
  display: block;
}

@media screen and (max-width: 1040px) {
  .contact .section-main {
    padding: 80px 0;
  }
  .contact .section-main .text {
    font-size: 1.6rem;
    margin-bottom: 40px;
  }
  .contact .section-main .btn-area {
    display: block;
  }
  .contact .section-main .btn-area li {
    width: 100%;
    border-bottom: solid 4px #000;
    margin-bottom: 12px;
  }
  .contact .section-main .btn-area li a {
    font-size: 1.6rem;
  }
  .contact .section-main .btn-area li a:before {
    width: 20px;
    height: 20px;
    background-size: 5px 8px;
  }
  .section-contact {
    padding-top: 60px;
  }
  .section-contact .section-inner {
    width: auto;
    right: initial;
    margin: 0;
    margin: 0 24px;
  }
  .section-contact input {
    height: 48px;
    font-size: 1.2rem;
  }
  .section-contact textarea {
    min-height: 150px;
    font-size: 1.2rem;
  }
  .section-contact label {
    font-size: 1.2rem;
    margin-bottom: 12px;
  }
  .section-contact label span {
    width: 33px;
    height: 18px;
    line-height: 18px;
    font-size: 8px;
    margin-left: 8px;
  }
  .section-contact .formrun-system-show {
    font-size: 1.2rem;
    margin-top: 12px;
  }
  .section-contact .box p {
    font-size: 1.2rem;
  }
  .section-contact .box a {
    font-size: 1.4rem;
  }
  .section-contact .privacy-box .flex-box input {
    width: 20px;
    height: 20px;
  }
  .section-contact .privacy-box p {
    font-size: 1.2rem;
  }
  .section-contact button {
    width: 100%;
    height: 80px;
    line-height: 80px;
    font-size: 1.8rem;
    padding: 0 24px;
  }
  .section-contact button:before {
    right: 24px;
  }
}

.contact .complete {
  text-align: center;
  margin: 100px 0 200px;
}

.contact .complete h2 {
  font-size: 2.4rem;
  margin: 30px 0 25px;
}

.contact .complete p {
  font-size: 1.8rem;
  line-height: 1.6;
}

.contact .complete a {
  margin-top: 19px;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  text-decoration: underline;
  transition: opacity .3s ease;
}

.contact .complete a:hover {
  opacity: .8;
}

.section-contact .hs-form fieldset {
  max-width: 100%;
}

.section-contact .hs-form fieldset > div {
  margin-bottom: 37px;
}

.section-contact .hs-form fieldset label span:first-of-type {
  margin-bottom: 16px;
  color: #333;
  font-size: 1.6rem;
  font-weight: bold;
  background: none;
  margin: 0;
  width: auto;
}

.section-contact .hs-form fieldset label .hs-form-required {
  background: none;
  color: #FF0000 !important;
  font-size: 1.4rem;
  width: auto;
  margin-left: 0;
}

.section-contact .hs-form input,
.section-contact .hs-form select,
.section-contact .hs-form textarea {
  width: 100% !important;
  font-size: 14px;
}

.section-contact .hs-form select {
  display: block;
  width: 100%;
  height: 52px;
  font-size: 1.4rem;
  border: solid 1px #ddd;
  padding: 0 12px;
  box-sizing: border-box;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/icon/arrow-bottom.svg) no-repeat;
  background-color: #F9F9F9;
  background-size: 11px 7px;
  background-position: right 24px center;
}

.section-contact .hs-form .input {
  margin-right: 0 !important;
}

.section-contact .hs-form .form-columns-2 {
  display: flex;
  justify-content: space-between;
}

.section-contact .hs-form .form-columns-2 > div {
  width: 45% !important;
  float: none !important;
}

@media screen and (max-width: 1040px) {
  .section-contact .hs-form .form-columns-2 {
    display: block;
  }
  .section-contact .hs-form .form-columns-2 > div {
    width: 100% !important;
  }
}

.section-contact .hs-form .hs-field-desc {
  font-size: 1.3rem;
  font-weight: bold;
  margin: -6px 0 16px;
}

.section-contact .hs-form .hs-error-msg {
  color: #ff0000;
  font-size: 14px;
  margin: 16px 0 0;
  font-weight: normal;
}

.section-contact .hs-form p {
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}

.section-contact .hs-form a {
  display: block;
  text-align: center;
  margin-top: 37px;
  text-decoration: underline;
  font-size: 1.6rem;
  transition: opacity .3s ease;
}

.section-contact .hs-form a:hover {
  opacity: 0.5;
}

.section-contact .hs-form .hs-form-booleancheckbox {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.section-contact .hs-form .hs-form-booleancheckbox-display,
.section-contact .hs-form .hs-form-checkbox-display {
  display: flex;
  margin-bottom: 0;
}

.section-contact .hs-form .hs-form-checkbox:first-child {
  margin-bottom: 10px;
}

.section-contact .hs-form .hs-form-booleancheckbox-display span p,
.section-contact .hs-form .hs-form-checkbox-display span {
  font-size: 16px !important;
  margin-left: 6px !important;
}

.section-contact .hs-form .hs-form-checkbox-display span {
  font-weight: normal !important;
}

.section-contact .hs-form .hs-form-booleancheckbox-display .hs-input,
.section-contact .hs-form .hs-form-checkbox-display .hs-input {
  width: 24px !important;
  height: 24px;
}

.section-contact .hs-form .hs-fieldtype-booleancheckbox .hs-error-msg {
  text-align: center;
}

.section-contact .hs-form .hs_error_rollup label {
  color: #ff0000;
  text-align: center;
  font-size: 14px;
  margin-bottom: 45px;
}

.section-contact .hs-form .hs_submit .actions {
  position: relative;
  max-width: 320px;
  width: 100%;
  height: 89px;
  margin: 0 auto;
  cursor: pointer;
}

.section-contact .hs-form .hs_submit .actions::before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 50%;
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 6px 10px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-contact .hs-form .hs_submit .actions:hover::before {
  background-color: #009CAE;
}

.section-contact .hs-form .hs_submit input[type="submit"] {
  cursor: pointer;
  display: block;
  height: 100%;
  line-height: 89px;
  color: #fff;
  background-color: #000;
  margin: 0 auto;
  text-align: left;
  font-size: 2rem;
  padding: 0 32px;
  box-sizing: border-box;
  margin-top: 8px;
}

.section-contact .submitted-message {
  padding: 115px 0 175px;
}

.section-contact .submitted-message p {
  line-height: 1.7;
  font-size: 18px;
}

.section-contact .submitted-message p:first-of-type {
  font-size: 24px;
  font-weight: bold;
  background: url(../img/icon/contact-complete.svg) no-repeat center 6px;
  padding-top: 68px;
  margin-bottom: 18px;
}

.section-privacy {
  padding-top: 60px;
}

.section-privacy .section-inner {
	/* padding-top: 160px; */
	padding-top: 35px;
}

.section-privacy.jp h2 {
  letter-spacing: .12em;
}

.section-privacy.jp h3 {
  letter-spacing: .06em;
}

.section-privacy h2 {
  font-size: 4.8rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.section-privacy h3 {
  font-size: 2.4rem;
  line-height: 1.6;
  margin-bottom: 32px;
}

.section-privacy h4 {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 16px;
}

.section-privacy p {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.section-privacy p.right {
  text-align: right;
}

.section-privacy p.center {
  text-align: center;
}

.section-privacy p.text-404 {
  margin-bottom: 60px;
}

.section-privacy ul, .section-privacy ol {
  margin-bottom: 50px;
}

.section-privacy ul li, .section-privacy ol li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.7;
  padding-left: 1em;
  margin-bottom: 6px;
}

.section-privacy ul li:before, .section-privacy ol li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #000;
  position: absolute;
  left: 0;
  top: 12px;
  border-radius: 50%;
}

.section-privacy .nest {
  margin-left: 20px;
}

@media screen and (max-width: 1040px) {
  .section-privacy .nest {
    margin-left: 0;
  }
}

.section-privacy .nest ul {
  margin: 20px 0 0 -5px;
}

@media screen and (max-width: 1040px) {
  .section-privacy .nest ul {
    margin-left: 5px;
  }
}

.section-privacy .nest > li:first-of-type {
  margin-bottom: 40px;
}

.section-privacy .nest ul li {
  padding-left: 0;
  list-style-type: disc;
}

.section-privacy .nest ul li div {
  margin-left: 15px;
}

@media screen and (max-width: 1040px) {
  .section-privacy .nest ul li div {
    margin-left: 0;
  }
}

.section-privacy .nest ul li div a {
  display: inline-block;
}

.section-privacy .nest ul li::before {
  content: none;
}

.section-privacy ul li p, .section-privacy ol li p {
  margin-bottom: 0;
}

.section-privacy ol {
  counter-reset: li;
}

.section-privacy ol li {
  padding-left: 3rem;
}

.section-privacy ol li:before {
  background: none;
  counter-increment: li;
  font-size: 1.8rem;
  font-weight: 600;
  top: -2px;
  content: counter(li) ",";
}

.section-privacy a {
  text-decoration: underline;
}

.section-privacy a:hover {
  text-decoration: none;
}

.section-privacy table {
  width: 100%;
  border: solid 1px #EEEEEE;
  margin-bottom: 60px;
}

.section-privacy table td {
  font-size: 1.6rem;
  padding: 16px 0;
  padding-left: 16px;
  box-sizing: border-box;
}

.section-privacy table.head1 tr {
  border-bottom: solid 1px #EEEEEE;
}

.section-privacy table.head1 tr:last-child {
  border-bottom: none;
}

.section-privacy table.head1 tr td:first-child {
  width: 30%;
  background-color: #F7F7F7;
  border-right: solid 1px #EEEEEE;
}

.section-privacy table.head1 tr td:nth-child(2) {
  width: 70%;
}

.section-privacy .btn-box {
  margin-bottom: 120px;
}

.section-privacy .btn-box .btn-black {
  width: 500px;
  height: 130px;
  margin: 0 auto;
}

.section-privacy .btn-box a {
  text-align: center;
  text-decoration: none;
  padding-left: 0;
  padding-right: 0;
}

.section-privacy .btn-box a:before {
  content: "";
  width: 29px;
  height: 29px;
  border-radius: 50%;
  position: absolute;
  right: 80px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.section-privacy .btn-box a:hover:before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px) {
  .section-privacy h2 {
    font-size: 2.2rem;
    line-height: 1.6;
    margin-bottom: 28px;
  }
  .section-privacy h3 {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 28px;
  }
  .section-privacy h4 {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 24px;
  }
  .section-privacy p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 40px;
  }
  .section-privacy p.text-404 {
    text-align: left;
  }
  .section-privacy ul li, .section-privacy ol li {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .section-privacy ul li:before, .section-privacy ol li:before {
    width: 4px;
    height: 4px;
    top: 10px;
  }
  .section-privacy ol li {
    padding-left: 1.5em;
  }
  .section-privacy ol li:before {
    font-size: 1.6rem;
    top: 0px;
  }
  .section-privacy a {
    font-size: 1.6rem;
  }
  .section-privacy a.blank {
    padding-right: 16px;
  }
  .section-privacy a.blank:before {
    width: 16px;
    height: 15px;
    bottom: 2px;
  }
  .section-privacy table td {
    padding: 16px;
  }
  .section-privacy .btn-box .btn-black {
    width: 100%;
    height: 90px;
  }
  .section-privacy .btn-box a {
    line-height: 90px;
    padding: 0;
    padding-right: 30px;
  }
  .section-privacy .btn-box a:before {
    right: 24px;
  }
}

.story-all .section-main {
  padding: 114px 0;
}

@media screen and (max-width: 1040px){
  .story-all .section-main {
    padding: 60px 0 80px;
  }
}

@media screen and (max-width: 1040px){
  .story-all .section-inner {
    margin: 0 20px;
  }
}

.story-all .text-empty {
  margin-top: 80px;
  font-size: 2rem;
}

@media screen and (min-width: 1040px){
  .story-all .story-all-description {
    display: flex;
    margin-bottom: 90px;
    justify-content: space-between;
  }
}

.story-all .story-all-description img {
  align-self: flex-start;
  margin: 11px 0 0;
  width: 50%;
}

@media screen and (min-width: 1040px){
  .story-all .story-all-title-box {
    width: 41%;
  }
}

.story-all .story-all-title-box h1 {
  font-size: 48px;
  letter-spacing: -1px;
  line-height: 1.4;
}

@media screen and (max-width: 1040px){
  .story-all .story-all-title-box h1 {
    font-size: 30px;
    letter-spacing: -0.5px;
  }
}

.story-all .story-all-title-box p {
  font-size: 20px;
  letter-spacing: -0.4px;
  line-height: 1.7;
}

@media screen and (max-width: 1040px){
  .story-all .list-select {
    display: none;
  }
  .story-all .select-area .select-box {
    width: 100%;
    padding: 16px 24px;
    font-size: 1.6rem;
    border: 1px solid #000;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../img/icon/arrow-bottom.svg) no-repeat;
    background-repeat: no-repeat;
    background-size: 11px 7px;
    background-position: right 24px center;
  }
  .story-all .select-area .select-box option {
    font-size: 1.6rem;
    transform: scale(0.85);
  }
}

@media screen and (min-width: 1040px){
  .story-all .select-area {
    display: none;
  }
}

@media screen and (max-width: 1040px){
  .story-all .content {
    margin-top: 23px;
  }
}

@media screen and (min-width: 1040px){
  .story-all .list-news {
    display: flex;
    flex-wrap: wrap;
  }
}

.story-all .list-news li {
  border-bottom: none;
}

@media screen and (max-width: 1040px){
  .story-all .list-news li:not(:first-child) {
    margin-top: 24px;
  }
  .story-all .list-news li:not(:last-child) {
    padding-bottom: 32px;
    border-bottom: 1px solid #ebebeb;
  }
}
@media screen and (min-width: 1040px){
  .story-all .list-news li {
    margin-bottom: 65px;
    width: calc((100% / 3) - 3vw);
  }
}

@media screen and (min-width: 1040px){
  .story-all .list-news li:not(:nth-child(3n + 1)) {
    margin-left: 4.5vw;
  }
}

.story-all .list-news li figure img {
  width: 100%;
}

.story-all .list-news li a {
  box-sizing: border-box;
  height: 100%;
  padding: 0;
}

@media screen and (max-width: 1040px){
  .story-all .list-news li a {
    height: auto;
  }
}

.story-all .list-news li a:hover::after {
  display: none;
}

.story-all .list-news li a::before {
  display: none;
}

.story-all .list-news .date {
  padding-top: 0;
  margin: 22px 0 13px;
}

@media screen and (max-width: 1040px){
  .story-all .list-news .date {
    margin-bottom: 7px;
  }
}

.story-all .list-news .title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.story-all .pagenation {
  padding-top: 32px;
  padding-bottom: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.story-all .pagenation .page-numbers {
  margin: 0 8px;
}

.story-all .pagenation .next,
.story-all .pagenation .prev {
  color: transparent;
}

.story-all .pagenation .dots {
  border-bottom: none;
}

.story-all .pagenation .prev::after {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-180deg);
}

.story-all .pagenation .next::after {
  content: "";
  background: url(../img/icon/arrow-black.svg) no-repeat;
  width: 8px;
  height: 13px;
  background-size: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.story-all .btn-area {
  display: flex;
}

@media screen and (max-width: 1040px) {
  .story-all .btn-area {
    display: block;
  }
}

.story-all .btn-area li {
  width: 24.5vw;
  margin-right: 4.1vw;
}

@media screen and (max-width: 1040px) {
  .story-all .btn-area li {
    width: 100%;
    margin-bottom: 24px;
  }
}

.story-all .btn-area li:last-child {
  margin-right: 0;
}

.story-all .btn-area a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 24px;
  padding-left: 12px;
  box-sizing: border-box;
  border-bottom: solid 3px #000;
}

@media screen and (max-width: 1040px) {
  .story-all .btn-area a {
    font-size: 1.6rem;
    padding: 0 0 26px;
  }
}


.story-all .btn-area a:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 7px 10px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px) {
  .story-all .btn-area a:before {
    width: 20px;
    height: 20px;
    background-size: 5px 7px;
  }
}

.story-all .btn-area a:hover:before {
  background-color: #009CAE;
}

.story-all .grey-box {
  background-color: #F7F7F7;
  width: calc(100% - 100px);
  margin-top: 160px;
  padding: 60px 6%;
  box-sizing: border-box;
  border: solid 1px #eee;
}

@media screen and (max-width: 1040px) {
  .story-all .grey-box {
    width: 100%;
    padding: 40px 24px;
    margin-top: 80px;
  }
}

.story-all .grey-box .flex-box {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .flex-box {
    display: block;
  }
}

.story-all .grey-box .btn-area {
  width: 50%;
  max-width: 570px;
  margin-right: 80px;
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .btn-area {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-bottom: 32px;
  }
}

.story-all .grey-box .btn-area .btn-box {
  display: flex;
  justify-content: center;
  width: 100%;
}

.story-all .grey-box .btn-area .btn-box .btn-black {
  width: 100%;
}

.story-all .grey-box .btn-area .btn-box .btn-black a:hover {
  color: #ccc;
}

.story-all .grey-box .btn-area a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
  font-weight: normal;
  padding-left: 60px;
  box-sizing: border-box;
  padding-top: 52px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .btn-area a {
    font-size: 1.8rem;
    padding: 32px 24px;
  }
}

.story-all .grey-box .btn-area a::before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .btn-area a::before {
    width: 24px;
    height: 24px;
  }
}

.story-all .grey-box .btn-area a:hover::before {
  background-color: #009CAE;
}

.story-all .grey-box .btn {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .06em;
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .btn {
    font-size: 1.4rem;
  }
}

.story-all .grey-box .btn + .btn {
  margin-left: 80px;
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .btn + .btn {
    margin: 24px 0 0 0;
  }
}

.story-all .grey-box .btn a {
  position: relative;
  display: inline-block;
  padding-right: 5rem;
  white-space: nowrap;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .btn a {
    padding-right: 3rem;
  }
}

.story-all .grey-box .btn a:hover {
  color: #333;
}

.story-all .grey-box .btn a::before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px){
  .story-all .grey-box .btn a::before {
    width: 20px;
    height: 20px;
    background-size: 5px 8px;
  }
}

.story-all .grey-box .btn a:hover::before {
  background-color: #009CAE;
}

.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2em;
  height: 2em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #000;
  font-size: 5px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 3.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

/* amateras */

.amateras {
  padding-bottom: 170px;
}

.amateras .inner {
  margin: 120px 6% 0;
  margin-right: calc(6% + 100px);
}

@media screen and (max-width: 1040px){
  .amateras .inner {
    margin: 80px 24px 35px;
  }
}

.amateras .read {
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 3.8px;
  line-height: 1.4;
  margin-bottom: 110px;
}

@media screen and (max-width: 1040px){
  .amateras .read {
    font-size: 29px;
    letter-spacing: 3.4px;
    line-height: 1.43;
    margin-bottom: 68px;
  }  
}

.amateras .title {
  margin-bottom: 36px;
}

@media screen and (max-width: 1040px){
  .amateras .title {
    margin-bottom: 42px;
  }
}

.amateras .title .text {
  font-size: 110px;
  font-weight: bold;
  letter-spacing: -0.7px;
  margin-right: 57px;
}

@media screen and (max-width: 1040px){
  .amateras .title .text {
    font-size: 45px;
    margin-right: 0;
    letter-spacing: 0;
  }
}

.amateras .title .sub {
  font-size: 28px;
  color: #444;
  letter-spacing: 1.1px;
  white-space: nowrap;
}

@media screen and (max-width: 1040px){
  .amateras .title .sub {
    font-size: 16px;
    letter-spacing: 0.7px;
    display: block;
    margin-top: 10px;
  }
}

.amateras .intro-text {
  font-size: 20px;
  color: #444;
  line-height: 1.7;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1040px){
  .amateras .intro-text {
    font-size: 15px;
    line-height: 1.7;
  }
}
.amateras img {
  width: 100%;
}

.amateras .intro-img {
  margin-top: 43px;
}

@media screen and (max-width: 1040px){
  .amateras .intro-img {
    margin-top: 30px;
  }
}

.amateras .intro-block {
  margin: 81px 0 85px;
}

@media screen and (max-width: 1040px){
  .amateras .intro-block {
    margin: 53px 0 90px;
  }
}

.amateras .intro-content {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1040px){
  .amateras .intro-content {
    display: block;
  }
}

.amateras .intro-content:first-child {
  margin-bottom: 80px;
}

@media screen and (max-width: 1040px){
  .amateras .intro-content:first-child {
    margin-bottom: 55px;
  }
}

@media screen and (min-width: 1041px){
  .amateras .intro-content img {
    width: 580px;
  }
}

@media screen and (min-width: 1041px){
  .amateras .intro-content-text {
    margin: 0 70px 0 0;
  }
}

@media screen and (max-width: 1040px){
  .amateras .intro-content-text {
    margin-bottom: 15px;
  }
}

.amateras .intro-content-text h3 {
  font-size: 32px;
  line-height: 1.6;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.amateras.en .intro-content-text h3 {
  letter-spacing: 0.06em;
}

@media screen and (max-width: 1040px){
  .amateras .intro-content-text h3 {
    font-size: 25px;
    line-height: 1.38;
    margin-bottom: 14px;
  }
}

.amateras .intro-content-text p {
  font-size: 18px;
  color: #444;
  line-height: 1.7;
  letter-spacing: 1.1px;
}

.amateras.en .intro-content-text p {
  font-size: 20px;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 1040px){
  .amateras .intro-content-text p {
    line-height: 1.6;
    font-size: 16px;
  }  
}

.amateras .edu {
  margin: 145px 0 135px;
}

@media screen and (max-width: 1040px){
  .amateras .edu {
    margin: 85px 0 0;
  }
}

.amateras .edu .intro-img {
  margin: 67px 0 97px;
}

@media screen and (max-width: 1040px){
  .amateras .edu .intro-img {
    margin: 27px 0 48px;
  }  
}

.amateras .edu dl {
  border-bottom: 1px solid #eee;
  padding-bottom: 60px;
  margin-bottom: 50px;
}

@media screen and (max-width: 1040px){
  .amateras .edu dl {
    padding-bottom: 28px;
    margin-bottom: 39px;
  }  
}

.amateras .edu dt {
  display: flex;
  align-items: center;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 2px;
  margin-bottom: 38px;
}

@media screen and (max-width: 1040px){
  .amateras .edu dt {
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: 1.4px;
    margin-bottom: 28px;
  }
}

.amateras .edu dt img {
  width: 100px;
  margin-right: 32px;
}

@media screen and (max-width: 1040px){
  .amateras .edu dt img {
    width: 53px;
    margin-right: 15px;
  }
}

.amateras .edu dd {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 1.16px;
  color: #444;
}

@media screen and (max-width: 1040px){
  .amateras .edu dd {
    font-size: 14px;
    letter-spacing: 0.9px;
  }
}

.amateras .contact-area {
  display: flex;
  justify-content: center;
  margin: 0 calc(6% + 100px) 147px 6%;
}

@media screen and (max-width: 1040px){
  .amateras .contact-area {
    margin: 0 24px 130px;
  }
}

.amateras .contact-area li {
  border-bottom: 6px solid #000;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: .06em;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  padding-bottom: 47px;
}

@media screen and (max-width: 1040px){
  .amateras .contact-area li {
    border-bottom: 4px solid #000;
    padding-bottom: 26px;
    font-size: 16px;
    justify-content: flex-start;
  }
}

.amateras .contact-area li a {
  position: relative;
  display: inline-block;
  padding-right: 5.7rem;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px){
  .amateras .contact-area li a {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
}

.amateras .contact-area li a::before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 10px 15px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px){
  .amateras .contact-area li a::before {
    width: 20px;
    height: 20px;
    background-size: 5px 8px;
  }  
}

.amateras .contact-area li a:hover::before {
  background-color: #009CAE;
}

.amateras .gray-block {
  background: #f7f7f7;
  display: flex;
  align-items: center;
  padding: 60px calc(6% + 100px) 60px 6%;
}

@media screen and (max-width: 1040px){
  .amateras .gray-block {
    display: block;
    padding: 40px 24px;
  }
}

.amateras .gray-block .black-btn {
  width: 100%;
  max-width: 570px;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 60px;
  box-sizing: border-box;
  margin-right: 80px;
  height: 132px;
  background: #000;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 1040px){
  .amateras .gray-block .black-btn {
    height: 80px;
    font-size: 18px;
    max-width: 100%;
    padding: 0 29px 0 28px;
    margin-bottom: 32px;
    font-weight: normal;
    letter-spacing: 1px;
  }
}

.amateras .gray-block .black-btn::after {
  content: "";
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px){
  .amateras .gray-block .black-btn::after {
    width: 24px;
    height: 24px;
    background-size: 7px 10px;
  }
}

.amateras .gray-block .black-btn:hover::after {
  background-color: #009CAE;
}

.amateras .gray-block .btn {
  font-size: 20px;
  font-weight: 500;
  height: fit-content;
  letter-spacing: 0.118em;
  position: relative;
  padding-right: 45px;
}

@media screen and (max-width: 1040px){
  .amateras .gray-block .btn {
    font-size: 14px;
    padding-right: 26px;
    letter-spacing: 1.9px;
  }
}

.amateras .gray-block .btn::before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.amateras .gray-block .btn:hover::before {
  background-color: #009CAE;
}

@media screen and (max-width: 1040px){
  .amateras .gray-block .btn::before {
    width: 20px;
    height: 20px;
    background-size: 5px 8px;
  }
}

/* Maruketo form */
.mktoForm {
  background: #fff !important;
  padding: 0 !important;
  width: 100% !important;

}
.mktoForm .mktoOffset {
  display: none;
}
.mktoForm .mktoFormCol {
  margin-bottom: 37px !important;
  width: 100%;
}
.mktoForm .mktoFieldWrap {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.mktoForm .mktoFormRow:nth-child(13) .mktoFormCol {
  margin-bottom: 0 !important;
}
.mktoForm .mktoFormRow:nth-child(14) .mktoFieldWrap {
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}
.mktoForm .mktoLogicalField.mktoInvalid {
  border: 1px solid transparent !important;
}
.mktoForm .mktoRequiredField label.mktoLabel {
  width: fit-content !important;
  padding: 0;
  font-size: 16px;
  line-height: 1.5;
}
.mktoForm .mktoAsterix {
  color: #ff0000 !important;
}
.mktoForm .mktoGutter {
  display: none;
}
.mktoForm input[type=url], .mktoForm input[type=text], .mktoForm input[type=date], .mktoForm input[type=tel], .mktoForm input[type=email], .mktoForm input[type=number], .mktoForm select.mktoField:not(:root) {
  width: 100% !important;
  margin-top: 0 !important;
  font-size: 14px !important;
  padding: 0 12px !important;
  border: 1px solid #ddd !important;
  background-color: #f9f9f9 !important;
  border-radius: 0 !important;
  height: 52px !important;
}
.mktoForm select.mktoField:not(:root) {
  background: #f9f9f9 url(../img/icon/arrow-bottom.svg) no-repeat !important;
  background-size: 11px 7px !important;
  background-position: right 24px center !important;
  color: #000 !important;
}
.mktoForm textarea.mktoField {
  width: 100% !important;
  margin-top: 0 !important;
  font-size: 14px !important;
  padding: 12px !important;
  border: 1px solid #ddd !important;
  background-color: #f9f9f9 !important;
  border-radius: 0 !important;
  min-height: 200px !important;
}
.mktoHtmlText {
  font-size: 14px;
  line-height: 1.7;
  width: 100% !important;
  color: #444;
}
.mktoHtmlText a {
  display: block;
  width: fit-content;
  text-decoration: underline;
  margin: 37px auto 0;
  font-size: 16px;
  transition: opacity .3s ease;
}
.mktoHtmlText a:hover {
  opacity: 0.5;
}
.mktoForm .mktoLabel {
  padding-top: 0 !important;
  width: fit-content !important;
  margin-right: 5px;
}
.mktoForm .mktoCheckboxList > label {
  display: none !important;
}
.mktoForm input[type=checkbox] {
  opacity: 1 !important;
  width: 24px !important;
  height: 24px !important;
}
.mktoForm .mktoLogicalField {
  width: fit-content !important;
}
.mktoForm .mktoButtonWrap.mktoInset .mktoButton:not(:root) {
  background: #000 !important;
  box-shadow: none !important;
  border-color: #ddd !important;
  display: flex !important;
  font-size: 20px !important;
  align-items: center !important;
  padding: 0 32px !important;
}




.service .section-main .services {
  margin-bottom: 15px;
  padding: 120px 0 45px;
  /* border-bottom: 2px dotted #000; */
  border-bottom: 1px solid #ccc;
}
.service .section-main .services:last-child{
	border-bottom: none;
}

@media screen and (max-width: 1040px) {
  .service .section-main .services {
    padding: 0 0 26px;
    border-width: 1px;
    margin-bottom: 9px;
  }
}

@media screen and (min-width: 1041px) {
  .service .section-main .services .flow-area.sp-none {
    display: flex;
    justify-content: space-between;
  }
  /* .service .section-main .services .flow-area.sp-none {
    display: none;
  } */
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .flow-area {
    padding: 50px 0 0;
  }
}

@media screen and (min-width: 1041px) {
  .service .section-main .services .content-area figure {
    width: 51.021%;
  }
}

.service .section-main .services .description-area {
  width: 42%;
  /* margin: -8px 0 20px; */
  margin: -8px 0 0px 0px;
}

.service .section-main .services .content-area h3 {
  font-size: 36px;
  letter-spacing: 0.06em;
  margin-bottom: 17px;
  line-height: 1.3;
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .content-area h3 {
    font-size: 36px;
    margin-bottom: 15px;
    line-height: 1.25;
  }
}

@media screen and (max-width: 480px) {
	.service .section-main .services .content-area h3 {
	  font-size: 26px;
	  margin-bottom: 15px;
	  line-height: 1.25;
	}
  }

@media screen and (max-width: 1040px) {
  .service .section-main .services .content-area .lead {
    font-size: 16px;
    letter-spacing: 0.06em;
    line-height: 1.6;
    display: block;
    margin-bottom: 27px;
  }
}

.service .section-main .services .content-area .sub {
  font-size: 16px;
  letter-spacing: 0.06em;
  font-weight: normal;
  display: block;
  margin: -7px 0 0;
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .content-area .sub {
    margin: -3px 0 29px;
  }
}

.service .section-main .services .content-area .text {
  margin-bottom: 7px;
  /* font-size: 18px; */
  line-height: 1.7;
  letter-spacing: 1.1;
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .content-area .text {
    /* font-size: 14px; */
    letter-spacing: 0.06em;
    margin: 26px 0 0;
  }
}

.service .section-main .services .content-area .sub + .text {
  margin: 31px 0 -3px;
}

.service .section-main .services .content-area .text span {
  /* font-size: 16px; */
  display: block;
  margin-bottom: 30px;
  letter-spacing: 0.06em;
}

.service .section-main .services .btn {
  font-size: 24px;
  margin-top: -1px;
  display: flex;
  justify-content: flex-end;
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* @media screen and (min-width: 1040px) {
  .service .section-main.en .services .btn.jpOnly {
    margin: -15px 0 -10px;
  }
} */

@media screen and (max-width: 1040px) {
  .service .section-main .services .btn {
    font-size: 16px;
    margin-top: 40px;
  }
}

@media screen and (min-width: 1040px) {
  .service .section-main .services .btn.small {
    font-size: 20px;
    margin: 18px 0 -14px;
  }
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .btn.small {
    display: flex;
    justify-content: space-between;
  }
  .service .section-main .services .btn.small a {
    width: 100%;
    text-align: left;
  }
}

.service .section-main .services .btn a {
  position: relative;
  display: inline-block;
  padding-right: 57px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-align: right;
}
.service .section-main .services .btn a span {
  display: block;
  font-size: 18px;
  margin-top: 5px;
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .btn a span {
    font-size: 16px;
    margin-top: 3px;
  }
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .btn a {
    padding-right: 37px;
  }
}

.service .section-main .services .btn a:hover {
  color: #333;
}

.service .section-main .services .btn a:before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px) {
  .service .section-main .services .btn a:before {
    width: 20px;
    height: 20px;
    background-size: 6px 8px;
  }
}

@media screen and (min-width: 1040px) {
  .service .section-main .services .btn.small a:before {
    width: 28px;
    height: 28px;
    right: 7px;
  }
}

.service .section-main .services .btn a:hover:before {
  background-color: #009CAE;
}

.service .section-main .aigp {
  margin: 125px 6% 0;
  margin-right: calc(6% + 100px);
  box-sizing: border-box;
  padding: 51px 66px 47px;
  border: 14px solid #f6f6f6;
}

@media screen and (max-width: 1040px) {
  .service .section-main .aigp {
    margin: 83px 24px 0;
    padding: 16px 25px 0px;
  }
}

.service .section-main .aigp h3 {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 18px;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 1040px) {
  .service .section-main .aigp h3 {
    font-size: 36px;
    line-height: 1.35;
    letter-spacing: 0.06em;
    margin: 0 0 26px 4px;
  }
}

.service .section-main .aigp p {
  font-size: 18px;
  letter-spacing: 0.06em;
  line-height: 1.65;
}
@media screen and (max-width: 1040px) {
  .service .section-main .aigp p {
    font-size: 16px;
    margin-bottom: 29px;
  }
}

@media screen and (min-width: 1040px) {
  .service .section-main .aigp ul {
    display: flex;
    justify-content: space-between;
    margin-top: 42px;
  }
}

@media screen and (min-width: 1040px) {
  .service .section-main .aigp ul li {
    width: 47%;
    letter-spacing: 0.06em;
  }
}

.service .section-main .aigp ul li a {
  width: 100%;
  letter-spacing: 0.06em;
  font-size: 24px;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  border-bottom: 6px solid #000;
  height: 66px;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px) {
  .service .section-main .aigp ul li a {
    font-size: 16px;
    margin-bottom: 30px;
    border-width: 4px;
    height: 42px;
  }
}

.service .section-main .aigp ul li a:hover {
  color: #333;
}

.service .section-main .aigp ul li a::after {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: block;
  transform: translateY(-6px);
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 9px 14px;
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 1040px) {
  .service .section-main .aigp ul li a::after {
    width: 20px;
    height: 20px;
    transform: translateY(-2px);
    background-size: 6px 10px;
  }
}

.service .section-main .aigp ul li a:hover::after {
  background-color: #009CAE;
}

.career .anchor-list {
  position: relative;
}

.career .anchor-list li a {
  width: 100%;
  box-sizing: border-box;
  background: #000;
  color: #fff;
  font-weight: 500;
  display: flex;
  align-items: center;
}

.career .anchor-list li a::after {
  content: '';
  display: block;
  /* width: 12px;
  height: 12px;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff; */
  transform: rotate(45deg);
  /* margin-top: 18px; */
}

@media screen and (min-width: 1041px) {
  .career .sp-contents {
    display: none;
  }
  .career .anchor-list {
    display: flex;
    margin: 0 0 125px 35px;
  }
  .career .anchor-list li {
    width: 33%;
  }
  .career .anchor-list li:not(:first-child) {
    margin-left: min(1.9vw, 27px);
  }
  .career .anchor-list li a {
    height: 120px;
    padding-top: 30px;
    flex-direction: column;
    font-size: min(2.3vw, 32px);
    letter-spacing: 0.06em;
  }
  .career .anchor-list li a::after {
    /* content: '';
    display: block; */
    width: 12px;
    height: 12px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    /* transform: rotate(45deg); */
    margin-top: 18px;
  }
  .career .anchor-title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
  }
}
@media screen and (max-width: 1040px) {
  .career .pc-contents {
    display: none;
  }
  .career .anchor-list {
    margin-bottom: 80px;
  }
  /* .career .anchor-list::after {
    content: '';
    display: block;
    position: relative;
    width: 100vw;
    border-bottom: 1px solid #0066cc;
    left: -24px;
    margin: 39px 0 43px;
  } */
  .career .anchor-list li a {
    height: 54px;
    font-size: 24px;
    letter-spacing: 0.08em;
    justify-content: space-between;
    padding: 0 21px 0 19px;
  }
  .career .anchor-list li:not(:first-child) {
    margin-top: 20px;
  }
  .career .anchor-list li a::after {
    width: 12px;
    height: 12px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    margin-top: -8px;
  }
  .career .anchor-title {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
  }
}

.career .roles {
  width: 48.241%;
}

.career .environment-flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1041px) {
  .career .environment-flex {
    justify-content: space-between;
    gap: 0 60px;
    margin-right: 27px;
  }
  .career .lift-logo {
    max-width: 580px;
    width: 100%;
  }
  .career .environment-text {
    width: 86%;
    margin-top: 6px;
  }
}
@media screen and (max-width: 1040px) {
  .career .environment-flex {
    flex-direction: column-reverse;
  }
  .career .lift-logo {
    margin-bottom: 23px;
  }
}


.career .lift-logo img {
  width: 100%;
}

.career .lift-item {
  box-sizing: border-box;
}

.career .lift dl dd {
  font-size: 16px;
  letter-spacing: 0.06em;
}
.career .lift dl dd ul {
  display: flex;
  flex-direction: column;
  gap: 11px 0;
}

.career .lift dl dd li {
  display: flex;
  line-height: 1.6;
}

.career .lift dl dd li::before {
  content: '';
  display: block;
  min-width: 8px;
  height: 8px;
  background: #000;
  border-radius: 50%;
  margin: 9px 8px 0 0;
}

.career .entry-btns {
  display: flex;
  justify-content: center;
  max-width: 1167px;
  margin: 0 auto;
  gap: 0 min(2.8vw, 40px);
}

.career .entry-btns li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  font-weight: bold;
}

.career .entry-btns li a::after {
  transition: background-color 0.3s;
}

.career .entry-btns li a:hover::after {
  background-color: #009CAE !important;
}

.career .entry-btns li a::after {
  content: '';
  display: block;
  min-width: 32px;
  height: 32px;
  border-radius: 50%;
}

.career .entry-btns li:first-child a {
  border: 4px solid #000;
}  

.career .entry-btns li:first-child a::after {
  background: url(../img/icon/arrow-white.svg) no-repeat center center;
  background-size: 10px;
  background-color: #000;
}

.career .entry-btns li:last-child a {
  background: #000;
  color: #fff;
}

.career .entry-btns li:last-child a::after {
  background: url(../img/icon/arrow-black.svg) no-repeat center center;
  background-size: 8px;
  background-color: #fff;  
}

.career .lift-item:last-child dl dt {
  padding: 0 0 0 105px;
  display: flex;
  min-width: calc(44% - 105px);
  width: auto;
}

@media screen and (min-width: 1041px) {
  .career .lift {
    margin-top: 80px;
  }
  
  .career .lift-item {
    border-bottom: 1px solid #ddd;
    padding: 32px 0 32px 42px;
    min-height: 202px;
  }

  .career .lift-item:first-child {
    border-top: 1px solid #ddd;
  }

  .career .lift dl {
    display: flex;
  }
  
  .career .lift dl dt {
    display: flex;
    align-items: flex-start;
    width: 44%;
    min-width: 44%;
    margin-right: 83px;
  }

  .career .lift dl dt img {
    width: 58px;
    min-width: 58px;
    margin-right: 48px;
  }

  .career .lift dl dt h3 {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.06em;
  }

  .career .lift dl dt p {
    font-size: 18px;
    letter-spacing: 0.06em;
    line-height: 1.7;
    margin-top: 8px;
  }

  .career .entry-btns li {
    max-width: 550px;
    width: 50%;
    height: 100%;
  }

  .career .entry-btns li a {
    height: 120px;
    padding: 0 40px 0 42px;
    box-sizing: border-box;
    font-size: min(2.3vw, 32px);
    letter-spacing: 0.08em;
  }
}

@media screen and (max-width: 1040px) {
  .career .lift {
    margin-top: 6px;
  }

  .career .lift-item {
    padding: 21px 0 46px;
    border-bottom: 1px solid #eee;
  }

  .career .lift-item:last-child dl dt {
    padding: 0;
  }

  .career .lift-item:last-child dl dt h3 {
    padding: 0;
  }

  .career .lift-item:last-child dl dd ul {
    margin-top: 21px;
  }

  .career .lift dl dt img {
    float: left;
    width: 30px;
    margin: 0 0 16px 5px;
  }

  .career .lift dl dt h3 {
    display: flex;
    font-size: 18px;
    letter-spacing: 0.06em;
    padding: 23px 0 0 16px;
  }

  .career .lift dl dt p {
    clear: both;
    font-size: 13px;
    letter-spacing: 0.06em;
    font-weight: 500;
    /* border-left: 2px solid #444; */
    padding-left: 12px;
    margin-left: 1px;
    line-height: 1.7;
    position: relative;
  }

  .career .lift dl dt p::before {
    content: '';
    display: block;
    height: calc(100% - 7px);
    border-left: 2px solid #444;
    position: absolute;
    left: 0;
    top: 4px;
  }

  .career .lift dl dd ul {
    margin-top: 16px;
    gap: 7px 0;
  }

  .career .lift dl dd li {
    display: flex;
    line-height: 1.6;
    font-size: 12px;
    letter-spacing: 0.06em;
  }

  .career .lift dl dd li::before {
    min-width: 6px;
    height: 6px;
    margin: 7px 7px 0 0;
  }

  .career .entry-btns {
    display: block;
  }

  .career .entry-btns li a {
    height: 70px;
    font-size: 18px;
    letter-spacing: 0.04em;
    padding: 0 22px 0 21px;
    box-sizing: border-box;
  }

  .career .entry-btns li a::after {
    min-width: 24px;
    height: 24px;
  }
  
  .career .entry-btns li:first-child a {
    border: 2px solid #000;    
  }

  .career .entry-btns li:first-child a::after {
    background-size: 7px;
  }

  .career .entry-btns li:last-child {
    margin: 21px 0 0 0;
  }

  .career .entry-btns li:last-child a::after {
    background-size: 6px;
  }

  .career .section-main .official-note-area {
    margin-top: 80px;
    padding: 40px 24px 144px 24px;
  }
}




html {
  scroll-behavior: smooth;
}

#seven-words:target,
#team-area:target,
#environment-area:target {
  scroll-margin-top: 93px;
}

@-webkit-keyframes aboutScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes aboutScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.aiic img {
  width: 100%;
}
.aiic a {
  transition: 0.3s;
}
.aiic a:hover {
  opacity: 0.6;
}
@media screen and (min-width: 1041px) {
  .aiic {
    margin: 110px 6% -33px;
    margin-right: calc(6% + 100px);
    position: relative;
    z-index: 2;
  }
}
@media screen and (max-width: 1040px) {
  .aiic {
    padding: 47px 0 4px;
  }
}


.career .values-area {
  position: relative;
  margin: 0 6% 102px;
  margin-right: calc(6% + 100px);
  box-sizing: border-box;
}
.career .values-area h2 {
  font-size: 4.8rem;
  line-height: 1.4;
  letter-spacing: 0.02em !important;
  margin-bottom: 20px;
  font-feature-settings: "palt";
}
.career .values-area h2 span {
  font-size: 2rem;
  line-height: 1;
  display: block;
  letter-spacing: 0.02em;
  margin-bottom: 12px;
}
.career .values-area .values-area-text {
  font-size: 1.8rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
  color: #444;
}
.career .values-area ul {
  margin: 59px 0 0 1px;
  flex-direction: column;
  display: flex;
  gap: 43px 0;
}
.career .values-area ul li h3 {
  font-size: 2rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
  display: flex;
  align-items: baseline;
  gap: 0 12px;
  margin-bottom: 14px;
}
.career .values-area ul li h3 span {
  background: #000;
  color: #fff;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0.06em;
  height: 48px;
  display: flex;
  align-items: center;
  padding: 0px 15.4px 0px;
}
.career .values-area ul li p {
  font-size: 1.8rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
  color: #444;
}

@media screen and (max-width: 1040px) {
  .career .values-area {
    margin: 0 24px 66px;
  }
  .career .values-area h2 span {
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: 0.08em;
    margin-bottom: 4px;
  }
  .career .values-area h2 {
    font-size: 3rem;
    letter-spacing: 0.08em !important;
  }
  .career .values-area .values-area-text {
    font-size: 1.4rem;
  }
  .career .values-area ul {
    margin: 25px 0 0 0;
    gap: 26px 0;
  }
  .career .values-area ul li h3 {
    display: block;
    font-size: 1.6rem;
    margin-bottom: 8px;
  }
  .career .values-area ul li h3 span {
    font-size: 2.4rem;
    width: fit-content;
    height: 32px;
    padding: 0 11.6px;
    margin-bottom: 4px;
  }
  .career .values-area ul li p {
    font-size: 1.4rem;
  }
  .career .section-main .team-area figure {
    margin-bottom: 34px;
  }
}
.maintenance {
  background: #F5F6FB;
  max-width: 1140px;
  margin: -35px calc(6% + 100px) 0 6%;
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 20px;
}

.maintenance strong {
  font-size: 20px;
  white-space: nowrap;
}

.maintenance p {
  font-size: 16px;
  line-height: 1.6;
}

@media screen and (max-width: 1040px) {
  .maintenance {
    margin: 0 24px;
    flex-direction: column;
    padding: 19px 16px;
    gap: 12px;
  }
  .maintenance strong {
    font-size: 18px;
  }
  .maintenance p {
    font-size: 14px;
  }
}


.security-action{
	text-align: center;
	margin: 40px 0;
}
.security-action > span{
	display: block;
	margin-bottom: 1em;
}
.security-action > img{
	display: inline-block;
	width: 150px;
}