@charset "UTF-8";
html[lang=en] * {
  word-break: normal;
}

body {
  font-weight: 500;
}
html.fix, body.fix {
  width: 100%;
  height: 100%;
  position: fixed;
}
a {
  color: #333333;
}
.col2 > * {
  width: 47.3%;
  max-width: 520px;
  margin-right: 5.4%;
}
.col2 > *:nth-child(2n) {
  margin-right: 0;
}
.bg-red {
  background : -moz-radial-gradient(50% 49.88%, circle farthest-corner, rgba(220, 19, 72, 1) 0%, rgba(211, 9, 61, 1) 41.5%, rgba(203, 0, 51, 1) 99.02%);
  background : -webkit-radial-gradient(50% 49.88%, circle farthest-corner, rgba(220, 19, 72, 1) 0%, rgba(211, 9, 61, 1) 41.5%, rgba(203, 0, 51, 1) 99.02%);
  background : -webkit-gradient(radial,50% 49.88% ,0 , 50% 49.88%, 666.87 ,color-stop(0,rgba(220, 19, 72, 1) ),color-stop(0.415,rgba(211, 9, 61, 1) ),color-stop(0.9902,rgba(203, 0, 51, 1) ));
  background : -o-radial-gradient(50% 49.88%, circle farthest-corner, rgba(220, 19, 72, 1) 0%, rgba(211, 9, 61, 1) 41.5%, rgba(203, 0, 51, 1) 99.02%);
  background : -ms-radial-gradient(50% 49.88%, circle farthest-corner, rgba(220, 19, 72, 1) 0%, rgba(211, 9, 61, 1) 41.5%, rgba(203, 0, 51, 1) 99.02%);
  background : radial-gradient(50% 49.88%, circle farthest-corner, rgba(220, 19, 72, 1) 0%, rgba(211, 9, 61, 1) 41.5%, rgba(203, 0, 51, 1) 99.02%);
  filter: progid:DXImageTransform.Microsoft.Alpha(Stlye=2);
}
.bg-red2 {
  background: #cb0033 !important;
}
.bg-gray {
  background: #f2f2f2 !important;
}
.bg-gray2 {
  background: #EBEBEB !important;
}
.bg-gray-transparent {
  background:rgba(0,0,0,0.1);
}
.bg-pink {
  background : #FC8BA2;
  background : rgba(252, 139, 162, 0.22);
  filter: alpha(opacity=22) progid:DXImageTransform.Microsoft.Alpha(opacity=22) ;
}
.bg-pink-transparent {
  background:rgba(252,139,162,0.17);
}

.bg-dot1 {
  background-color: #ffffff;
  background-image: radial-gradient(rgba(0, 0, 0, 0.08) 1px, #ffffff 1px);
  background-size: 10px 10px;
}
.bg-dot2 {
  background: rgba(128, 128, 128, 0.1);
}
.bg-dot3 {
  background-color: rgba(0, 0, 0, 0.02);
  background-image: radial-gradient(rgba(0, 0, 0, 0.08) 1px, rgba(0, 0, 0, 0.02) 1px);
  background-size: 10px 10px;
}

.bg-dot4 {
  background-color: rgba(252, 139, 162, 0.15);
}

.bg-white {
  background: #fff;
}
.red {
  color: #cb0033;
}

.shadow {
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
.shadow-button {
  box-shadow:5px 10px 27px rgba(0,0,0,.23);
}
.textlink {
}
.textlink:hover {
  color: #cb0033;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.hover-underline {
	padding-bottom: 4px;
	background: linear-gradient(#cb0033, #cb0033) right bottom / 0 1px no-repeat;
}
.hover-underline.js-hover {
	animation: outUnderline .7s cubic-bezier(.19, 1, .22, 1);
}
.hover-underline::after {
	display: none !important;
}
.hover-underline:hover {
	animation: hoverUnderline .7s cubic-bezier(.19, 1, .22, 1) forwards;
}

@keyframes hoverUnderline {
	0% {
		background-position: left bottom;
		background-size: 0 1px;
	}
	100% {
		background-position: left bottom;
		background-size: 100% 1px;
	}
}
@keyframes outUnderline {
	0% {
		background-size: 100% 1px;
	}
	100% {
		background-size: 0 1px;
	}
}

.content1100 {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 1130px) {
  .content1100 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.text {
  line-height: 1.8;
  font-size: 1.6rem;
}
.small-eng {
  font-size: 1.0rem;
  line-height: 1.5;
  color: #cb0033;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 5px;
  margin-bottom: 0;
}
.link-ext:after {
  content: url('../images/icon-ext.png');
  width: 12px;
  display: inline;
  margin-left: 0.5em;
}
.link-ext2:after {
  content: url('../images/icon-ext2.png');
  width: 20px;
  display: inline;
  margin-left: 0.5em;
  vertical-align: -1px;
}
@media screen and (max-width: 767px) {
  .content1100 {
    padding-left: 6%;
    padding-right: 6%;
  }
  .text {
    font-size: 1.5rem;
    text-align: left !important;
  }
}
/* ==========================================
  ボタン
 * ========================================== */
.btn-top {
  max-width: 355px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
box-shadow:5px 10px 27px rgba(0,0,0,.23);
  text-align: center;
  position: relative;
  display: block;
}
.btn-top > a {
  width: 100%;
  height: 100%;
  color: #000000;
  display: block;
  padding: 23px 25px;
}
.btn-top > a > .bg {
    background: #ffffff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}


.btn-top .label {
  font-size: 1.9rem;
  display: block;
  line-height: 1.2;
  font-weight: bold;
}
.btn-top .label strong {
  font-size: 3.1rem;
  margin-right: 0.25em;
  vertical-align: -3px;
}
.btn-top .label-en {
  color: #cb0033;
  font-size: 1.1rem;
  line-height: 1.3;
  display: block;
}
.btn-top .circle {
  width: 20px;
  height: 20px;
  position: absolute;
  background: #cb0033;
  top: calc(50% - 10px);
  right: 5%;
  border-radius: 50%;
  transition:right .3s linear;
}
.btn-top  > a:hover .circle {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}

.btn-top .circle:after {
  content: '\e5cc';
  font-family: 'Material Icons';
  color: #ffffff;
  font-size: 1.8rem;
  line-height: 1;
  display: block;
  position: absolute;
  top: calc(50% - 8.5px);
  left: calc(50% - 8.5px);
}

@keyframes btnicon {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  49.9% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes btnicon2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  49.9% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes btnicon3 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  49.9% {
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
.layout-btn {
  position: relative;
  width: 100%;
  font-size: 0;
  display: flex;
  flex-wrap: nowrap;
}
.layout-btn > .btn {
  font-size: 1.7rem;
  background: #ffffff;
box-shadow:5px 10px 27px rgba(0,0,0,.23);
  position: relative;
  color: #4d4d4d;
  line-height: 1.5;
  font-weight: bold;
  height: auto;
  min-height: 90px;
  display: flex;
}
.layout-btn > .btn > a {
  padding: 20px 35px;
  display: flex;
  color: #4d4d4d;
  flex-wrap: nowrap;
  width: 100%;
  /*height: 100%; */
  height: auto;
  align-items: center;
  position: relative;
  transition: color .3s ease;
}
.layout-btn > .btn > a:hover {
  color: #cb0033;
}
.layout-btn.col2 > .btn {
  width: 47.3%;
  max-width: 520px;
  margin-right: 5.4%;
}
.layout-btn.col2 > .btn:nth-child(2n) {
  margin-right: 0;
}
.layout-btn.col3 > .btn {
  width: 30.2%;
  margin-right: 4.7%;
  max-width: 332px;
}
.layout-btn.col3 > .btn:nth-child(3n) {
  margin-right: 0;
}
.layout-btn.col4 > .btn {
  width: 22.7%;
  margin-right: 3%;
  max-width: 250px;
}
.layout-btn.col4 > .btn:nth-child(4n) {
  margin-right: 0;
}
.layout-btn > .btn-thumb {}
.layout-btn > .btn-thumb > a {
  padding: 0;
}
.layout-btn > .btn-thumb .thumb {
  height: 100%;
  overflow: hidden;
}
.layout-btn.col2 > .btn-thumb .thumb {
  width: 22%;
}
.layout-btn.col3 > .btn-thumb .thumb {
  width: 31%;
}
.layout-btn > .btn-thumb .thumb.p5 {
  padding: 5px;
}
.layout-btn > .btn-thumb .thumb > img {
  height: 100%;
}
.layout-btn > .btn-thumb .thumb.zm > img {
  transition: all .3s ease;
}
.layout-btn > .btn-thumb > a:hover .thumb.zm > img {
  transform: scale(1.1);
}
.layout-btn > .btn-thumb .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 10px 12% 10px 5%;
}
.layout-btn.col2 > .btn-thumb .inner {
  width: 78%;
}
.layout-btn.col3 > .btn-thumb .inner {
  width: 69%;
}
.layout-btn > .btn-thumb .label {
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #000000;
  transition: all .3s ease;
  line-height: 1.5;
  text-align: center;
}
.layout-btn.col2 > .btn-thumb .label {
  font-size: 2.0rem;
}
.layout-btn.col3 > .btn-thumb .label {
  font-size: 1.8rem;
}
.layout-btn > .btn-thumb > a:hover .label {
  color: #cb0033;
}
.layout-btn > .btn .circle {
  width: 20px;
  height: 20px;
  position: absolute;
  color: #cb0033;
  border: 1.5px solid #cb0033;
  background: #ffffff;
  top: calc(50% - 10px);
  right: 5%;
  border-radius: 50%;
  
  
}
.layout-btn > .btn  a:hover .circle {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}

.layout-btn > .btn .circle:after {
  content: '\e5cc';
  font-family: 'Material Icons';
  color: #cb0033;
  /* font-size: 1.8rem; */
  font-size: 1.4rem;
  line-height: 1;
  display: block;
  position: absolute;
  /* top: calc(50% - 8.5px);
  left: calc(50% - 8.5px); */
  top: calc(50% - 7px);
  left: calc(50% - 6.5px);
  font-weight: 400;
}


.layout-btn > .btn-menu {
  min-height: auto;
box-shadow:5px 10px 27px rgba(0,0,0,.23);
}
.layout-btn > .btn-menu > a {
  padding: 0;
  flex-wrap: wrap;
  color: #000000;
}
.layout-btn > .btn-menu .thumb {
  width: 100%;
  overflow: hidden;
}
.layout-btn > .btn-menu .inner {
  height: 110px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  padding: 10px 15px;
}
.layout-btn > .btn-menu .circle {
  top: auto;
  bottom: 15px;
  right: 15px;
}
.layout-btn > .btn-menu .thumb img {
  transition: all .3s ease;
}
.layout-btn > .btn-menu .thumb img:hover {
  transform: scale(1.05);
}
@media screen and (max-width: 767px) {
  .btn-top > a {
    padding: 12px 20px;
  }
  .btn-top .label strong {
    font-size: 2.6rem;
    vertical-align: -2px;
  }
  .btn-top .label {
    font-size: 1.6rem;
  }
  .layout-btn {
    display: block;
  }
  .layout-btn > .btn {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-bottom: 6vw;
    min-height: auto;
    font-size: 4vw;
  }
  .layout-btn > .btn > a {
    padding: 5.3vw 4%;
  }
  .layout-btn > .btn-thumb > a {
    padding: 0;
  }
  .layout-btn > .btn:last-child {
    margin-bottom: 0;
  }
  .layout-btn.col3 > .btn {
    margin-bottom: 8vw;
    height: auto;
  }
  .layout-btn.col3 > .btn:nth-child(3n) {
    margin-bottom: 0;
  }
  .layout-btn.col2 > .btn-thumb .label {
    font-size: 4.6vw;
  }
  .layout-btn.col3 > .btn-thumb .label {
    font-size: 4.6vw;
  }
  .layout-btn.col2 > .btn-thumb .thumb {
    width: 35%;
  }
  .layout-btn.col2 > .btn-thumb .inner {
    width: 65%;
  }
  .layout-btn.col3 > .btn-thumb .thumb {
    width: 35%;
  }
  .layout-btn.col3 > .btn-thumb .inner {
    width: 65%;
  }
  .layout-btn.col2 > .btn-thumb .thumb {
    width: 21%;
    padding: 2px;
    height: 100%;
  }
  .layout-btn.col2 > .btn-thumb .inner {
    width: 79%;
  }
  .layout-btn.col2 > .btn-thumb .label {
    font-size: 4vw;
  }
}
.grow > .bg {
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.grow:hover > .bg {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* ==========================================
  ヘッダ
 * ========================================== */
#header {
  width: 100%;
  position: absolute;
  background: transparent;
  padding-left: 2%;
  padding-right: 2%;
  left: 0;
  top: 0;
  z-index: 10;
  height: 100px;
}
#header-layout1 {
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
#header-logo {
  width: 220px;
  min-width: 220px;
  position: static;
  top: 20px;
  z-index: 12;
  /*
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0; */
}
#header-nav {
  width: 100%;
}
.hamburger {
  width: 60px;
  background: #cb0033;
  color: #ffffff;
  padding: 14px 10px;
}
.hamburger .label {
  font-size: 1.2rem;
  line-height: 1;
  font-family: 'Oswald', sans-serif;
  font-weight: bold;
  display: block;
  text-align: center;
  letter-spacing: 0.075em;
}
.hamburger .label.on {
  display: none;
}
.hamburger.is-active {
  position: fixed;
  z-index: 12;
  top: 20px;
  right: 2%;
}
.hamburger.is-active .label.off {
  display: none;
}
.hamburger.is-active .label.on {
  display: block;
}
.hamburger-box {
  display: block;
  width: 15px;
  height: 15px;
  margin-bottom: 5px;
  margin-left: auto;
  margin-right: auto;
}
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
  background-color: #ffffff;
  width: 15px;
  height: 2px;
  border-radius: 0;
}
.hamburger--slider .hamburger-inner:before {
  top: 5.5px;
}
.hamburger--slider .hamburger-inner:after {
  top: 11px;
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before {
  background: #ffffff;
}
.hamburger.is-active .hamburger-inner {
  top: 0px;
}
.hamburger.is-active .hamburger-inner:after {
  top: 20px;
}
.navmenu-toggle {
  width: 60px;
}
.navmenu-toggle.open {
  position: fixed;
  z-index: 12;
  top: 20px;
  right: 2%;
}
.navmenu-toggle .on {
  display: none;
}
.navmenu-toggle.open .on {
  display: block;
}
.navmenu-toggle.open .off {
  display: none;
}
#header-nav {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
}
#gnav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 2.2%;
  width: 640px;
}

html[lang=en] #gnav {
  width: 700px;
}


#gnav > li {
  line-height: 1;
  font-size: 1.7rem;
  font-weight: bold;
}
#gnav > li > a {
  color: #000000;
  position: relative;
}
#gnav > li > a.gnav-menu-english {
    font-size: 1.5rem;
    font-weight: 400;
    margin-left: 40px;
}
#header #gnav > li > a.gnav-menu-english:before {
    background: #333;
    content: "";
    height: 34px;
    width: 1px;
    transform: rotate(35deg);
    position: absolute;
    top: -9px;
    left: -30px;
}

#header.header-top #gnav > li > a {
  color: #ffffff;
}
#header #gnav > li > a:after {
  position: absolute;
  bottom: -6px;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  transition: transform .7s cubic-bezier(.19, 1, .22, 1);
  transform: scaleX(0);
  transform-origin: right top;
  background-color: #cb0033;
}
#header.header-top #gnav > li > a:after {
  background-color: #ffffff;
}
#header.header-top.fix #gnav > li > a:after {
  background-color: #cb0033;
}

#header #gnav > li > a:hover:after {
  transition: transform .7s cubic-bezier(.19, 1, .22, 1);
  transform: scaleX(1);
  transform-origin: left top;
}

#gnav > li > a.gnav-menu-english {
	font-size: 1.5rem;
	font-weight: 400;
	margin-left: 40px;
}

#gnav > li > a.gnav-menu-english::before {
	background: #333;
	content: "";
	height: 34px;
	width: 1px;
	transform: rotate(35deg);
	position: absolute;
	top: -9px;
	left: -30px;
}

#header.header-top #gnav > li > a.gnav-menu-english:before {
	background: #FFF;
}

#header.fix {
  position: fixed;
  background: #ffffff;
  height: 90px;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  top: 0;
}
#header.fix #gnav > li > a {
  color: #000000;
}
#navmenu-overlay {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  z-index: 11;
  cursor: pointer;
  display: none;
}
#navmenu-wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 90px;
  left: 0;
  z-index: 12;
  display: none;
  padding-top: 90px;
}
#navmenu-layout1 {
  flex-wrap: nowrap;
}
#navmenu-layout1 > .el-left,
#navmenu-layout1 > .el-center,
#navmenu-layout1 > .el-right{
  width: 30%;
}
#navmenu-layout1 > .el-left,
#navmenu-layout1 > .el-center {
  margin-right: 5%;
}

#navmenu-layout1 .hr {
  width: 100%;
  height: 1px;
  background: #000000;
  margin-bottom: 30px;
}
#navmenu-layout1 > .el-left .inner {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}
#navmenu-layout1 > .el-left .inner > .element {
  width: 100%;
}
.navmenu-l1 {
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #000000;
  padding-left: 10px;
  display: inline-block;
  letter-spacing: 0.05em;
}
.navmenu-l1 > a {
  color: #000000;
  transition: all .3s ease;
  position: relative;
}
.navmenu-l1 > a:hover {
  color: #cb0033;
}
.navmenu-l1 > a:after {
  position: absolute;
  bottom: -6px;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  transition: transform .7s cubic-bezier(.19, 1, .22, 1);
  transform: scaleX(0);
  transform-origin: right top;
  background-color: #cb0033
}
.navmenu-l1 > a:hover:after {
  transition: transform .7s cubic-bezier(.19, 1, .22, 1);
  transform: scaleX(1);
  transform-origin: left top;
}
.navmenu-l1.english {
	margin-top: 30px;
}
.navmenu-l2 {
  color: #999999;
  font-size: 1.6rem;
  line-height: 1.5;
  padding-left: 0.5em;
  margin-bottom: 20px;
}
.navmenu-l2 > a {
  color: #000000;
  transition: all .3s ease;
  position: relative;
}
.navmenu-l2:before {
  content: '-';
  color: #999999;
  margin-right: 0.25em;
}
.navmenu-l2:last-child {
  margin-bottom: 0;
}
.navmenu-l3 {
  padding-left: 1em;
  font-size: 1.5rem;
}
.navmenu-l3 > li {
  color: #000000;
  margin-bottom: 15px;
  text-indent: -1.25em;
  margin-left: 1em;
}
.navmenu-l3 > li:before {
  content: '・';
  color: #cb0033;
  margin-right: 0.25em;
  font-weight: bold;
}
.navmenu-l3 > li > a {
  color: #000000;
  transition: all .3s ease;
  position: relative;
}
.navmenu-l3 > li > a:hover {
  color: #cb0033
}
.navmenu-l3 > li > a:after {
  position: absolute;
  bottom: -5px;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  transition: transform .7s cubic-bezier(.19, 1, .22, 1);
  transform: scaleX(0);
  transform-origin: right top;
  background-color: #cb0033
}
.navmenu-l3 > li > a:hover:after {
  transition: transform .7s cubic-bezier(.19, 1, .22, 1);
  transform: scaleX(1);
  transform-origin: left top;
}
.navmenu-l3 + .navmenu-l1 {
    margin-top: 50px;
}

@media screen and (max-width: 960px) {
  html[lang=en] #gnav {
    display: none;
  }
}

@media screen and (max-width: 900px) {
  #gnav {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #header {
    height: 65px;
    padding-left: 2%;
    padding-right: 2%;
  }
  #header.fix {
    height: 65px;
  }
  #header-logo {
    width: 150px;
    min-width: 150px;
    position: absolute;
    left: 0;
    top: 16px;
    z-index: 12;
  }
  .navmenu-toggle {
    width: 45px;
    position: absolute;
    top: 10px;
    z-index: 10;
  }
  #header.header-top {
    position: relative;
    background-color: #ffffff;
    background-image: radial-gradient(rgba(0, 0, 0, 0.08) 1px, #ffffff 1px);
    background-size: 10px 10px;
  }
  #header.header-top.fix {
    position: fixed;
    height: 65px;
    background: #ffffff;
  }
  #navmenu-layout1 {
    display: block;
  }
  .navmenu-toggle.open {
    position: fixed;
    z-index: 12;
    top: 10px;
    right: 2%;
  }
  .hamburger {
    width: 45px;
    padding: 8px;
    top: 10px;
    position: absolute;
  }
  .hamburger .label {
    font-size: 1.0rem;
    letter-spacing: 0;
  }
  .hamburger.is-active {
    top: 10px;
  }
  #header-layout1 {
    align-items: flex-start;
  }
  #navmenu-wrap {
    position: relative;
    top: 65px;
    padding-top: 5vw;
    padding-bottom: 7vw;
    height: 85vh;
    overflow: auto;
  }
  #navmenu-wrap > .content1100 {
    padding-left: 2.5%;
    padding-right: 2.5%;
  }
  #navmenu-layout1 .hr {
    margin-bottom: 25px;
  }
  .navmenu-l1 > a:after, .navmenu-l3 > li > a:after {
    display: none;
  }
  .navmenu-l1 {
    font-size: 1.8rem;
    position: relative;
    display: block;
    margin-bottom: 0;
  }
  .navmenu-l1 > a {
    display: block;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .navmenu-l1 .circle {
    width: 20px;
    height: 20px;
    position: absolute;
    border: 2px solid #cb0033;
    background: #ffffff;
    color: #cb0033;
    top: calc(50% - 10px);
    right: 10px;
    border-radius: 50%;
  }
  .navmenu-l1 .circle:after {
    content: '\e5cc';
    font-family: 'Material Icons';
    color: #cb0033;
    font-size: 1.8rem;
    line-height: 1;
    display: block;
    position: absolute;
    top: calc(50% - 8.5px);
    left: calc(50% - 8.5px);
  }
  #navmenu-layout1 > .el-left .inner {
    display: block;
  }
  #navmenu-layout1 > .el-left .inner > .element {
    width: 100%;
  }
  .navmenu-l2 {
    color: #333333;
    padding: 15px 25px;
    margin-bottom: 35px;
    position: relative;
    cursor: pointer;
  }
  .navmenu-l2:before {
    display: none;
  }
  .navmenu-l2:after {
    content: '\e145';
    font-family: 'Material Icons';
    color: #999999;
    font-size: 1.8rem;
    line-height: 1;
    display: block;
    position: absolute;
    top: calc(50% - 8.5px);
    right: 20px;
  }
  .navmenu-l2.open:after {
    content: '\e15b';
  }
  .navmenu-l3 {
    font-size: 1.4rem;
  }
  .navmenu-l3.l3-nob {
    padding-bottom: 0;
  }
  .navmenu-l3 > li:last-child {
    margin-bottom: 0;
  }
  #navmenu-layout1 > .el-left .navmenu-l3 {
    /* display: none;
    padding-bottom: 25px; */
  }
  #navmenu-layout1 > .el-left .navmenu-l3.l3-nob {
    padding-bottom: 0;
  }
  #navmenu-layout1 > .el-left, #navmenu-layout1 > .el-center, #navmenu-layout1 > .el-right {
    width: 100%;
  }
  #navmenu-layout1 > .el-left, #navmenu-layout1 > .el-center {
    margin-right: 0;
    margin-bottom: 30px;
  }
  .navmenu-l3 + .navmenu-l1 {
    margin-top: 30px;
  }
}
/* ==========================================
  トップ
 * ========================================== */
#top-mainvisual {
  width: 100%;
  height: 560px;
  position: relative;
  overflow: hidden;
  padding-top: 110px;
}
#top-mainvisual-bg {
  width: 88%;
  right: -88%;
  background: url('../images/top/mainvisual.jpg') 65% 15% no-repeat !important;
  background-size: cover !important;
  height: 450px;
  margin-left: auto;
  margin-right: 0;
  position: absolute;
  z-index: 0;
  transition: right 1.5s ease;
}
#top-mainvisual-bg.show {
  right: 0;
}
#top-mainvisual-content {
  position: absolute;
  top: 310px;
  left: 0;
  z-index: 1;
}
#top-mainvisual-text1,
#top-mainvisual-text2 {
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.8;
  color: #ffffff;
  letter-spacing: 0.05em;
  padding: 7px 10px;
  margin-bottom: 25px;
  background: rgba(193, 0, 51, 0.95);
  box-shadow: 15px 15px 15px rgba(0, 0, 0, 0.2);
  height: 68px;
  position: absolute;
  letter-spacing: 0.1em;

  z-index: 1;
  transition: left 1s ease;
}
#top-mainvisual-text1 {
  width: 504px;
  left: -504px;
  
}
#top-mainvisual-text2 {
  top: 88px;
  width: 460px;
  left: -460px;
}
#top-mainvisual-text1.show,
#top-mainvisual-text2.show {
  left: 0;
}
#top-mainvisual-text1 p,
#top-mainvisual-text2 p {
  margin-bottom: 0;
  position: absolute;
  left: -100%;
  z-index: 2;
  transition: left .6s linear;
}
#top-mainvisual-text1 p.show,
#top-mainvisual-text2 p.show {
  left: 30px;
}

/* ==========================================
  追加 2024/03
 * ========================================== */
#top-mainvisual-new {
  width: 100%;
  /*
  height: 560px;
   */
  position: relative;
  overflow: hidden;
  padding-top: 110px;
}
#top-mainvisual-new img {
  width: 100%;
}
#top-mainvisual-new-copy {
  position: absolute;
  top: calc(110px + 9%);
  font-weight: bold;
  left: 4%;
  color: #fff;
  font-size: 5vw;
  line-height: 1.3;
  text-shadow: 0px 0px 6px #000;
}
#top-mainvisual-new-copy.en {
  top: calc(110px + 7.5%);
  line-height: 1.15;
}
#top-mainvisual-new-btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  display: inline-block;
  background: #B10033;
  padding: 0 12px;
  transition-timing-function: linear;
  transition-duration: .15s;
  transition-property: opacity, filter;
}
#top-mainvisual-new-btn:hover {
  opacity: .7;
}
/* ==========================================
 * ========================================== */

#top-section1 {
  padding-top: 45px;
  padding-bottom: 85px;
}
#top-section1-text1 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.83;
  margin-bottom: 0;
  text-align: center;
}
#top-section1-text1 .red {
  font-size: 2.6rem;
}
#top-section2 {
  position: relative;
}

.top-section2-content {
  width: 100%;
  margin-left: auto;
  margin-right: 0;
  padding-top: 65px;
  padding-bottom: 60px;
  background: #cb0033;
}
.top-section2-content + .top-section2-content {
  margin-top:40px;
}

.top-section2-layout1.reverse {
    flex-direction: row-reverse;
}

.top-section2-layout1 > .el-pic{
  width:47.3%;
  position: relative;
}
.top-section2-layout1 > .el-cont{
  width: 52.7%;
  text-align: center;
  padding: 0 15px;
}
#top-section2-pic1 {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  box-shadow: 25px 25px 30px 5px rgba(0,0,0,.2);
}
#top-section2-pic2 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  box-shadow: 25px 25px 30px 5px rgba(0,0,0,.2);
}
.top-section2-layout1 > .el-cont .tit {
  color:#fff;
  font-size:3.2rem;
  font-weight: bold;
  line-height:1.3;
  margin-bottom:5px;
}
.top-section2-layout1 > .el-cont .tit-en {
  color:#fff;
  font-size:1.3rem;
  line-height:1.3;
  margin-bottom:25px;
}
.top-section2-layout1 > .el-cont .desc {
  color: #fff;
  margin-bottom: 0;
  font-size: 1.6rem;
}
.top-section2-layout1 > .el-cont .layout-btn {
  margin-top: 25px;
}

.top-section2-layout1 > .el-cont .layout-btn .btn {
    width: 100%;
    max-width: 211px;
    margin-left: auto;
    margin-right: auto;
    min-height: 50px;
    font-size: 1.4rem;
}
.top-section2-layout1 > .el-cont .layout-btn .btn {
    width: 56.2% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
.top-section2-layout1 > .el-cont .layout-btn .btn > a {
    padding: 15px 35px;
    justify-content: center;
}

#top-section2-layout1 {}
#top-section2-layout1 > .el-left, #top-section2-layout1 > .el-right {
  padding: 20px 0;
  width: 50%;
}
#top-section2-layout1 > .el-left {
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  padding-right: 5%;
}
#top-section2-layout1 > .el-right {
  padding-left: 5%;
}
#top-section2-icon1 {
  width: 52px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25px;
}
#top-section2-icon2 {
  width: 54px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
#top-section2-layout1 .desc {
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
  color: #ffffff;
  margin-top: 25px;
  width: 100%;
  max-width: 355px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}
#top-section2-layout1 .notif {
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: left;
  width: 100%;
  max-width: 355px;
  margin-right: auto;
  color: #f5d1db;
  margin-top: 20px;
  margin-bottom: 0;
  text-indent: -1.25em;
  padding-left: 2.25em;
  margin-left: auto;
}
#top-section2-layout1 .notif:before {
  content: '※';
  margin-right: 0.25em;
}
#top-section2-layout1 .desc sub {
  font-size: 1.1rem;
}

.top-section2-layout1 .layout-btn > .btn .circle {
  width: 16px;
  height: 16px;
  top: calc(50% - 8px);
  right: 8%;
}
.top-section2-layout1 .layout-btn > .btn .circle:after {
    font-size: 1.2rem;
    top: calc(50% - 6px);
    left: calc(50% - 5.5px);
}

#top-section3 {
  padding-top: 80px;
  padding-bottom: 115px;
}
#top-section3-text1 {
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: center;
  color: #000000;
  margin-bottom: 0;
}
#top-section3-layout1 {
    margin-top: 40px;
}
#top-section3-layout1 > .btn {
  box-shadow:5px 10px 27px rgba(0,0,0,.23);
  height: 110px;
}

#top-section3-layout1 > .btn-thumb .thumb {
  width: 110px;
}
#top-section3-layout1 > .btn-thumb .inner {
  width: calc( 100% - 110px );
}
#top-section3 .video-wrap {
	margin: 70px auto 0;
	width: 520px;
}
.video-wrap {
	box-shadow: 20px 20px 38px 7px rgba(0,0,0,.15);
	overflow: hidden;
	position: relative;
}
.video-wrap::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.video-wrap video {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.video-wrap .video-thumb {
	cursor: pointer;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: .5s;
	z-index: 1;
}
.video-wrap .video-thumb img {
	height: auto;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.video-wrap.playing .video-thumb {
	visibility: hidden;
	opacity: 0;
}
.video-wrap .video-thumb .btn {
	background-color: rgba(0, 0, 0, .3);
	height: 100%;
	width: 100%;
	max-width: inherit;
	position: absolute;
	top: 0;
	left: 0;
}

.video-wrap .video-thumb .btn::before {
	background-color: rgba(255, 255, 255, 1);
	border-radius: 50%;
	content: "";
	height: 50px;
	width: 50px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.video-wrap .video-thumb .btn::after {
	border-color: transparent transparent transparent #CB0033;
	border-style: solid;
	border-width: 8px 0 8px 12px;
	content: "";
	height: 0;
	width: 0;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: calc(50% + 1px);
	transform: translate(-50%, -50%);
	z-index: 1;
}

#top-mainvisual-text1-sp, #top-mainvisual-text2-sp, #top-mainvisual-text3-sp {
  display: none;
}
#top-trend {
	font-size: 1.6rem;
	margin-bottom: 70px;
	padding-top: 183px;
	position: relative;
}
#top-trend::before {
	background: #f2f2f2;
	content: "";
	height: calc(100% - (183px + 3.66vw));
	width: 100%;
	position: absolute;
	bottom: 3.66vw;
	left: 0;
	z-index: -1;
}
#top-trend h2 {
	background: #dc1348;
	background: -webkit-radial-gradient(center, ellipse cover,  #dc1348 0%,#cb0033 99%);
	background: radial-gradient(ellipse at center,  #dc1348 0%,#cb0033 99%);
	box-shadow: 20px 20px 25px 5px rgba(0,0,0,.2);
	color: #FFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.3;
	height: 140px;
	width: 52.72%;
	max-width: 580px;
	margin-top: -61px;
	margin-left: -106px;
	position: relative;
	z-index: 1;
}
#top-trend h2 span {
	color: #FFB8C8;
	display: block;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 0;
	margin-top: 1em;
}
#top-trend .flex-wrap {
	margin-top: -30px;
}
#top-trend .flex-wrap .el-left {
	margin: -22px 5.45% 0 0;
	width: 52.72%;
}
#top-trend .flex-wrap img {
	box-shadow: 25px 25px 30px 5px rgba(0,0,0,.2);
	height: auto;
	max-width: 100%;
}
#top-trend .flex-wrap .el-right {
	width: 41.83%;
}

#top-trend .layout-btn .btn {
	box-shadow: 10px 10px 25px rgba(0,0,0,.15);
	margin: 13px auto 0;
	min-height: 63px;
	width: 230px;
}
#top-trend .layout-btn .btn a {
	font-size: 15px;
	padding: 18px 0;
}
#top-trend .layout-btn .btn .inner {
	margin: 0 auto;
}

#top-section4 {
  padding-top: 120px;
  padding-bottom: 80px;
}
#top-section4-text1 {
    font-size: 3.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #000000;
    margin-bottom: 0;
}
#top-newslist {
    margin-top: 50px;
}
#top-newslist > li:nth-of-type(n+4) {
  display: none;
}
.newslist{
  
}
.newslist > li {
  display: flex;
  flex-wrap: nowrap;
  font-size: 1.5rem;
  line-height: 1.66;
  align-items: flex-start;
  margin-bottom:30px;
}
.newslist > li:before {
  content: '';
  background: #CB0133;
  width: 7px;
  min-width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-top: 8px;
  margin-right: 10px;
}

.newslist > li > .date {
	min-width: 6.5em;
}
.newslist > li > .cat {
  color:#fff;
  background:#CB0033;
  font-size:1.3rem;
  font-weight:bold;
  text-align: center;
  width:122px;
  min-width:122px;
  margin-right: 18px;
  padding: 2px;
}

.newslist > li > .tit {
  width:100%;
  text-decoration: underline;
  line-height: 1.8;
  transition:color .3s ease;
}
.newslist > li > .tit:hover {
  color:#CB0033;
  text-decoration: none;
}

@media screen and (min-width: 768px){
	.newslist > li > .tit {
		width: calc(100% - 6.5em - 148px);
	}
}

.newslist > li > .tit .icon {
    width: 51px;
    vertical-align: -2px;
    margin-left: 8px;
}
.newslist > li .link-ext:after {
  content: url('../images/icon-ext-big.png');
  width: 18px;
  display: inline;
  margin-left: 0.75em;
  vertical-align: -2px;
}


#top-section4 .btn {
  margin-top:40px;
}
.btn-list {
  width:122px;
  font-size:1.3rem;
  line-height: 1;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.btn-list > a {
  width: 100%;
  background:#fff;
  border:1px solid #CCCCCC;
  display: block;
  padding: 8px 4px;
  transition:border .3s ease, color .3s ease; 
}
.btn-list > a:hover {
  color:#CB0033;
  border:1px solid #CB0033;
}

.btn-list > a img {
  width:11px;
  height:11px;
  margin-right:10px;
  vertical-align: -1px;
}
.btn-list > a img.on {
  display: none;
}
.btn-list > a:hover img.off {
  display: none;
}
.btn-list > a:hover img.on {
  display: inline;
}

.btn-list2 {
  width:146px;
  font-size:1.6rem;
  line-height: 1;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.btn-list2 > a {
  width: 100%;
  background:#fff;
  border:1px solid #CCCCCC;
  display: block;
  padding: 10px 5px;
  transition:border .3s ease, color .3s ease; 
}
.btn-list2 > a:hover {
  color:#CB0033;
  border:1px solid #CB0033;
}

.btn-list2 > a img {
  width:15px;
  height:12px;
  margin-right:10px;
  vertical-align: 0px;
}
.btn-list2 > a img.on {
  display: none;
}
.btn-list2 > a:hover img.off {
  display: none;
}
.btn-list2 > a:hover img.on {
  display: inline;
}

/* ==========================================
  追加 2024/03
 * ========================================== */
#top-section5 {
  background: #fff;
  border-bottom: solid 4px #F5F5F5;
  padding-top: 60px;
  padding-bottom: 40px;
  width: 100%;
}
#top-section5-box {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 88%;
  margin: 0 auto;
}
#top-section5-box > * {
  border: solid 1px #d8d7d7;
  padding: 20px 20px 5rem 20px;
  position: relative;
  width: 29%;
}
#top-section5-box.en > * {
  padding: 20px 20px 8rem 20px;
}
#top-section5-box figure img {
  width: 100%;
}
#top-section5-text1 {
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: -2px;
  text-align: center;
  color: #A31833;
  margin-bottom: 4.0rem;
}
#top-section5-text1.en {
  letter-spacing: -1px;
}
.top-section5-box-title {
  font-size: 1.5rem;
  padding-top: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  min-height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.top-section5-box-title.en {
  font-size: 1.5rem;
  padding-top: 15px;
}
.top-section5-box-title small {
  font-size: 2.0rem;
}
.top-section5-box-title .title_orex {
  width: 70%;
  margin: 0 auto;
}
.top-section5-box-title .title_web3 {
  width: 32%;
  margin: 0 auto;
}
.top-section5-box-title .title_partnering_jp {
  width: 70%;
  margin: 0 auto;
}
.top-section5-box-text {
  margin-top: 20px;
  line-height: 1.6;
}
.top-section5-box-text.en {
  line-height: 1.2;
}
.top-section5-box-btn {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: clamp(10px, 1.7vw, 20px);
  font-weight: bold;
  letter-spacing: -2px;
  display: inline-block;
  background: #B10033;
  padding: 0 20px;
  transition-timing-function: linear;
  transition-duration: .15s;
  transition-property: opacity, filter;
  width: 65%;
}
.top-section5-box-btn.en {
  letter-spacing: 0px;
  padding: 0 30px 0 20px;
  text-align: center;
  width: 70%;
}
.top-section5-box-btn:before {
  content: '';
  position: absolute;
  top: 45%;
  right: 14%;
  width: 10px;
  height: 10px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg) translateY(-50%);
}
.top-section5-box-btn:hover {
  opacity: .7;
}

.top-section5-box-link {
	
	text-decoration: underline;
	font-size:15px;
}
.top-section5-box-link:hover {
  color:#CB0033;
  text-decoration: none;
}

.top-section5-box-link-position {
	position: absolute;
	display: inline-block;
	bottom: 5rem;
}


/* ==========================================
 * ========================================== */

@media screen and (max-width: 1100px) {
	#top-trend h2 {
		margin-left: -20px;
		padding: 0 .7em;
		text-align: center;
		width: calc(52.72% - 106px);
	}
}
@media screen and (max-width: 900px) {
	#top-trend::before {
		height: calc(100% - 183px - 4.44vw);
		bottom: 4.44vw;
	}
}
@media screen and (max-width: 767px) {
  #top-mainvisual-bg {
    width: 100%;
    background: url(../images/top/mainvisual_sp.jpg) 50% 50% no-repeat !important;
    background-size: cover !important;
    height: 110vw;
  }
  #top-mainvisual {
    height: 110vw;
    padding-top: 65px;
    overflow: hidden;
    box-sizing: content-box;
  }
  #top-mainvisual-text1, #top-mainvisual-text2 {
    display: none;
  }
  /* ==========================================
  追加 2024/03
 * ========================================== */
  #top-mainvisual-new {
    padding-top: 65px;
  }
  #top-mainvisual-new-copy {
    top: calc(65px + 7.5%);
    left: 7%;
    font-size: 6.0vw;
    text-shadow: 0px 0px 4px #000;
  }
  #top-mainvisual-new-copy.en {
    top: calc(65px + 7.5%);
    left: 7%;
    font-size: 6.0vw;
    line-height: 1.5;
    text-shadow: 0px 0px 4px #000;
  }
  #top-mainvisual-new-btn {
    bottom: 15px;
    right: 15px;
    font-size: 4vw;
  }
  /* ==========================================
   * ========================================== */
  #top-section1 {
    padding-top: 20vw;
    padding-bottom: 22vw;
    position: relative;
  }
  #top-section1-text1 {
    font-size: 4.5vw;
    margin-bottom: 0;
    text-align: left;
  }
  #top-section2-pic1 {
    max-width: none;
    width: 88%;
    top: -13.3vw;
  }
  #top-section2-content {
    width: 100%;
    padding-top: 58vw;
    padding-left: 6%;
    padding-right: 6%;
    padding-bottom: 17vw;
  }
  #top-section2-layout1 > .el-left, #top-section2-layout1 > .el-right {
    width: 100%;
    display: block;
    border: none;
    padding: 0;
  }
  #top-section2-layout1 > .el-left {
    padding-bottom: 8vw;
    margin-bottom: 8vw;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  }
  #top-section2-icon1, #top-section2-icon2 {
    width: 45px;
    margin-bottom: 20px;
  }
  #top-section2-layout1 .desc {
    font-size: 1.5rem;
    max-width: none;
  }
  #top-section3 {
    padding-top: 18vw;
    padding-bottom: 24vw;
  }
  #top-section3-text1 {
    font-size: 7.2vw;
  }
  #top-section3-layout1 {
    margin-top: 10vw;
  }
  #top-section2-layout1 .notif {
    font-size: 1.1rem;
    max-width: 355px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.25em;
  }
  #top-section3-layout1 > .btn {
	}
	#top-section3 .video-wrap {
		width: 100%;
  }
  #top-mainvisual-content {
    width: 100%;
    bottom: 0;
    top: auto;
  }
  #top-mainvisual-text1-sp, #top-mainvisual-text2-sp {
    display: block;
    background: rgba(193, 0, 51, .95);
    color: #ffffff;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1;
    padding: 4vw 5%;
    position: absolute;
    z-index: 1;
    transition: left 1s ease;
    height: 12vw;
    box-shadow:5px 10px 27px rgba(0,0,0,.23);
    margin-bottom: 0;
  }
  #top-mainvisual-text1-sp > p, #top-mainvisual-text2-sp > p {
    margin-bottom: 0;
    position: absolute;
    left: -100%;
    z-index: 2;
    transition: left 0.6s linear;
  }
  #top-mainvisual-text1-sp > p.show, #top-mainvisual-text2-sp > p.show {
    left: 5%;
  }
  #top-mainvisual-text1-sp {
    width: 80%;
    left: -80%;
    top: -21vw;
  }
  #top-mainvisual-text1-sp.show {
    left: 0;
  }
  #top-mainvisual-text2-sp {
    width: 73.5%;
    left: -73.5%;
    top: -6vw;
  }
  #top-mainvisual-text2-sp.show {
    left: 0;
  }
  #top-mainvisual-text3-sp {
    display: block;
    color: #333333;
    font-size: 3.4vw;
    padding: 3.2vw 5%;
    line-height: 1;
    background: rgba(255, 255, 255, .9);
    font-weight: bold;
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    left: -100%;
    transition: left 1s ease;
    height: 9.25vw;
box-shadow:5px 10px 27px rgba(0,0,0,.23);
  }
  #top-mainvisual-text3-sp.show {
    left: 0;
  }
  #top-mainvisual-text3-sp > p {
    margin-bottom: 0;
    position: absolute;
    left: -100%;
    z-index: 2;
    transition: left 0.6s linear;
  }
  #top-mainvisual-text3-sp > p.show {
    left: 4%;
  }
	#top-trend {
		font-size: 1.5rem;
		margin-bottom: 0;
		padding-top: 23.6vw;
		padding-bottom: 13.6vw;
	}
	#top-trend::before {
		height: calc(100% - 23.6vw);
		bottom: 0;
	}
	#top-trend h2 {
		box-shadow: 15px 15px 20px 0 rgba(0,0,0,.2);
		font-size: 4.8vw;
		letter-spacing: 0;
		height: 26.6vw;
		margin: -8.9vw 0 0 -7%;
		margin-left: -7%;
		width: 80vw;
	}
	#top-trend h2 span {
		font-size: 2.5vw;
	}
	#top-trend .flex-wrap {
		margin-top: -5.6vw;
	}
	#top-trend .flex-wrap .el-left {
		margin: 0 0 2em;
		width: 100%;
	}
	#top-trend .flex-wrap .el-right {
		width: 100%;
	}
	#top-trend .flex-wrap img {
		box-shadow: 15px 15px 25px rgba(0,0,0,.2);
		width: 100%;
	}
	#top-trend .layout-btn .btn {
		margin: 1.5em auto 0 !important;
		width: 73.33% !important;
	}
  .top-section2-content {
    padding-top: 0;
  }
  .top-section2-content > .content1100 {
    padding-left:0;
    padding-right:0;
  }
  .top-section2-layout1 > .el-pic, .top-section2-layout1 > .el-cont {
    width: 100%;
  }
  .top-section2-layout1 > .el-cont {
    padding-left: 6%;
    padding-right: 6%;
    padding-top: 11vw;
  }
  .top-section2-layout1 > .el-cont .tit {
    font-size: 6.7vw;
  }
  .top-section2-layout1 > .el-cont .tit-en {
    font-size: 3vw;
    margin-bottom: 7vw;
  }
  .top-section2-layout1 > .el-cont .desc {
    font-size: 1.5rem;
    text-align: left;
  }
  .top-section2-content + .top-section2-content {
    margin-top: 18vw;
  }
  #top-section2-pic1 {
    max-width: none;
    width: 92%;
    top: 0;
    margin-top: -9vw;
    margin-left:0;
    margin-right:auto;
    position: relative;
  }
  #top-section2-pic2 {
    max-width: none;
    width: 92%;
    top: 0;
    margin-top: -9vw;
    margin-left:auto;
    margin-right:0;
    position: relative;
  }
  #top-section4 {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
  #top-section4-text1 {
    font-size: 7.2vw;
  }
  #top-newslist {
    margin-top:9.3vw
  }
  .newslist > li {
    flex-wrap: wrap;
    margin-bottom:40px;
  }
  .newslist > li > .tit {
    margin-top: 15px;
  }
  #top-section3 {
    padding-top: 16vw;
    padding-bottom: 25vw;
  }
  /* ==========================================
  追加 2024/03
 * ========================================== */
  #top-section5 {
    border-bottom: none;
    padding-top: 30px;
    padding-bottom: 40px;
  }
  #top-section5-box {
    width: 70%;
  }
  #top-section5-box > * {
    padding: 15px 15px 5rem 15px;
    width: 100%;
  }
  #top-section5-box > * + * {
    margin-top: 30px;
  }
  #top-section5-text1 {
    font-size: 2.0rem;
    margin-bottom: 3.0rem;
  }
  .top-section5-box-title {
    font-size: 1.8rem;
    min-height: inherit;
    margin-bottom: 1.0rem;
  }
  .top-section5-box-title.en {
    font-size: 2.2rem;
    padding-top: 0;
  }
  .top-section5-box-title small {
    font-size: 1.6rem;
  }
  .top-section5-box-title .title_orex {
    width: 60%;
  }
  .top-section5-box-title .title_web3 {
    width: 27%;
  }
  .top-section5-box-title .title_partnering_jp {
    width: 61%;
  }
  .top-section5-box-text {
    font-size: 12px;
    margin-top: 15px;
  }
  .top-section5-box-btn {
    font-size: 16px;
    letter-spacing: -2px;
    padding: 0 20px;
  }
  /* ==========================================
   * ========================================== */
}
/* ==========================================
  下層ページ共通
 * ========================================== */
.main-pt {
  padding-top: 100px;
}
#main.mb80 {
  margin-bottom: 80px;
}
#main.pb80 {
  padding-bottom: 80px;
}
.common-mainvisual {
  color: #fff;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-top: 45px;
  padding-bottom: 45px;
}
.common-mainvisual h1 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.3;
}
.breadcrumbs-wrap {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 25px;
  padding-bottom: 25px;
}
.breadcrumbs {}
.breadcrumbs > li {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #4d4d4d;
}
.breadcrumbs > li a {
  color: #4d4d4d;
  text-decoration: underline;
}
.breadcrumbs > li:not(:last-child):after {
  content: '>';
  margin-right: 6px;
  margin-left: 6px;
  vertical-align: top;
}
.breadcrumbs > li.breadcrumb-home:before {
  content: '\e88a';
  font-family: 'Material Icons';
  margin-right: 6px;
  color: #cb0033;
  line-height: 1;
  vertical-align: -2px;
  font-size: 1.4rem;
}
.common-title1 {
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 0;
  letter-spacing: 0.05em;
  color: #000000;
}
.common-lead1 {
  text-align: center;
  line-height: 2;
  font-size: 1.6rem;
}
.common-lead2 {
  line-height: 1.8;
  font-size: 1.8rem;
}
sub {
  font-size: 75%
}
.common-title1 + .common-lead1 {
  margin-top: 45px;
}
.common-title2 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 0;
  /* letter-spacing: 0.02em; */
  letter-spacing: 0.01em;
  color: #000000;
}
/*
.common-title2::first-letter {
	color: #cb0033;
}*/
.common-title3 {
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1.75;
  color: #cb0033;
  margin-bottom: 0;
}
.common-title4 {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.7;
  color: #D32550;
  margin-bottom: 0;
}


.common-notif {
  font-size: 1.2rem;
  line-height: 2;
  text-indent: -1.5em;
  padding-left: 1.5em;
  text-align: center;
}
.common-notif:before {
  content: '※';
  margin-right: 0.5em;
}
.anchorbtn {
  display: flex;
box-shadow:5px 10px 27px rgba(0,0,0,.23);
}
.anchorbtn > div {
  border-right: 1px solid #ebebeb;
  background: #ffffff;
  font-size: 1.7rem;
  line-height: 1.5;
}
.anchorbtn > div > a {
  color: #333333;
  display: flex;
  position: relative;
  padding: 27px 20px;
  transition: color 0.3s ease;
}
.anchorbtn > div > a:hover {
  color: #cb0033;
}
.anchorbtn > div > a:before {
  content: '\e5cf';
  font-family: 'Material Icons';
  margin-right: 0.75em;
  color: #cb0033;
  font-weight: bold;
}
.anchorbtn > div > a:hover:before {
  -webkit-animation-name: btnicon3;
  animation-name: btnicon3;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}
.hr-black {
  height: 2px;
  width: 100%;
  background: #000000;
}
.layout-floatbox {
  position: absolute;
  width: 100%;
  top: -60px;
  left: 0;
  font-size: 0;
}
@media screen and (max-width: 1130px) {
  .layout-floatbox {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.layout-floatbox.hastitle {
  top: -120px;
}
.layout-floatbox > div {
  font-size: 1.6rem;
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.layout-floatbox.col2 > div {
  width: 47.3%;
  max-width: 520px;
  margin-right: 5.4%;
}
.layout-floatbox.col2 > div:last-child {
  margin-right: 0;
}
.layout-floatbox > div .tit {
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
  margin-bottom: 35px;
  color: #000;
}
.layout-floatbox > div .thumb {
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
.layout-floatbox > div .thumb > a {
  position: relative;
  display: block;
  z-index: 1;
  cursor: pointer;
}
.layout-floatbox > div .thumb > a.hide {
  z-index: -1;
  opacity: 0;
}
.layout-floatbox > div .thumb > a > img {
  transition: all .3s ease;
}
.layout-floatbox > div .thumb > a:hover > img {
  transform: scale(1.05);
}
.layout-floatbox > div .thumb-movie .circle {
  width: 74px;
  height: 74px;
  background: white;
  position: absolute;
  top: calc(50% - 37px);
  left: calc(50% - 37px);
  border-radius: 50%;
  z-index: 1;
}
.layout-floatbox > div .thumb-movie .circle:after {
  content: '\e037';
  font-family: 'Material Icons';
  color: #cb0033;
  line-height: 1;
  vertical-align: -2px;
  font-size: 2.8rem;
  position: absolute;
  left: calc(50% - 15px);
  top: calc(50% - 13px);
}
.layout-floatbox > div .thumb-movie > a:hover .circle:after {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}
.layout-floatbox > div .thumb .yt-movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.common-layout1 {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  justify-content: space-between;
}
.common-layout1 > div {
  background:#fff;
  padding:8px 8px 20px;
  box-shadow: 15px 15px 15px rgba(0, 0, 0, 0.15);
}

.common-layout1.col4 > div {
  max-width:250px;
  width:22.73%;
}
.common-layout1 .tit {
    background: #D32550;
    color: #fff;
    text-align: center;
    font-size: 1.9rem;
    margin-bottom: 20px;
    padding: 5px;
    font-weight: bold;
    line-height: 1.5;
    min-height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.common-layout1 .desc {
    padding: 0 15px;
    font-size: 1.5rem;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #main.mb80 {
    margin-bottom: 16vw;
  }
  #main.pb80 {
    padding-bottom: 16vw;
  }
  .main-pt {
    padding-top: 70px;
  }
  .common-mainvisual {
    padding-top: 5.3vw;
    padding-bottom: 5.3vw;
  }
  .common-mainvisual h1 {
    font-size: 2.0rem;
  }
  .breadcrumbs-wrap {
    padding-top: 4.5vw;
    padding-bottom: 4.5vw;
  }
  .common-title1 {
    font-size: 5.3vw;
  }
  .common-title1 + .common-lead1 {
    margin-top: 8vw;
  }
  .common-lead1 {
    font-size: 1.5rem;
    text-align: left;
  }
	.common-title2 {
		font-size: 2.2rem;
		text-align: left;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		word-break: normal;
	}
	.content1100 .common-title2 {
		width: 100%;
	}
  .common-title3 {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .common-title4 {
    font-size: 2.0rem;
    line-height: 1.7;
  }
  
  .anchorbtn {
    display: block;
  }
  .anchorbtn > div {
    border-right: none;
    border-bottom: 1px solid #ebebeb;
    font-size: 4.2vw;
    width: 100% !important;
  }
  .anchorbtn > div:last-child {
    border-bottom: none;
  }
  .anchorbtn > div > a {
    padding: 5.5vw 4%;
  }
  .common-notif {
    text-align: left;
  }
  .layout-floatbox {
    top: 0;
    position: relative;
    padding-left: 0;
    padding-right: 0;
  }
  .layout-floatbox.hastitle {
    top: 0;
  }
  .layout-floatbox.col2 > div {
    width: 100%;
    margin-right: 0;
    max-width: none;
    background: #cb0033;
    margin-bottom: 30vw;
    height: 48vw;
  }
  .layout-floatbox.col2 > div:last-child {
    margin-bottom: 0;
  }
  .layout-floatbox > div .tit, .layout-floatbox > div .thumb {
    position: absolute;
    width: 88%;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    z-index: 1;
  }
  .layout-floatbox > div .tit {
    top: -20.5vw;
    font-size: 4.8vw;
    margin-bottom: 0;
  }
  .layout-floatbox > div .thumb {
    top: -10vw;
    background: black;
  }
  .layout-floatbox > div .thumb-movie .circle {
    width: 14%;
    height: 25%;
    top: 36%;
    left: 43%;
  }
  .layout-floatbox > div .thumb-movie .circle:after {
    font-size: 5vw;
    left: calc(50% - 0.5em);
    top: calc(50% - 0.5em);
    vertical-align: 0;
  }
  .common-lead2 {
    line-height: 1.8;
    font-size: 1.6rem;
  }
  
  .common-layout1 {
      display: block;
  }
  .common-layout1 > div {
      margin-bottom: 7.3vw;
  }
  .common-layout1.col4 > div {
      max-width: none;
      width: 100%;
  }
  .common-layout1 .desc {
    padding: 0 10px;
  }
  .common-layout1 > div:last-child {
    margin-bottom: 0;
  }
  .common-layout1 .tit {
    min-height: 75px;
  }
  .common-layout1 .tit br {
    display: none;
  }
  
}
/* ==========================================
  ソリューション
 * ========================================== */
#solutions-section1 {
  padding-top: 70px;
  padding-bottom: 100px;
}
#solutions-section1-layout1 {
  margin-top: 45px;
}
#solutions-section1-layout1 > div {
  width: 50%;
}
#solutions-section2 {
  padding-top: 70px;
  padding-bottom: 150px;
}
#solutions-section2 .hr-black, #solutions-section5 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#solutions-section2-layout1 {
  margin-top: 40px;
}
#solutions-section3 {
  height: 310px;
  width: 100%;
  position: relative;
}
#solutions-section4, #solutions-section6 {
  padding-top: 60px;
  padding-bottom: 70px;
}
#solutions-section4 {
  margin-bottom: 100px;
}
#solutions-section5 {
  padding-top: 70px;
  padding-bottom: 80px;
}
#solutions-section5-layout1 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #solutions-section1 {
    padding-top: 10vw;
    padding-bottom: 15vw;
  }
  #solutions-section1-layout1 {
    margin-top: 9vw;
  }
  #solutions-section2 {
    padding-top: 10vw;
    padding-bottom: 32vw;
  }
  #solutions-section2 .hr-black, #solutions-section5 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #solutions-section2-layout1 {
    margin-top: 7vw;
  }
  #solutions-section3 {
    height: auto;
    background: none !important;
  }
  #solutions-section3 .content1100 {
    padding-left: 0;
    padding-right: 0;
  }
  #solutions-section4, #solutions-section6 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
  #solutions-section6 {
    margin-bottom: 14vw;
  }
  #solutions-section5 {
    padding-top: 10vw;
    padding-bottom: 13vw;
  }
  #solutions-section4 .layout-btn > .btn, #solutions-section6 .layout-btn > .btn {
  }
}
/* ==========================================
  RPAソリューション共通
 * ========================================== */
#rpa-common-section1 {
  padding-top: 70px;
  padding-bottom: 130px;
}
#rpa-common-section2 {
  height: 310px;
  width: 100%;
  position: relative;
}
#rpa-common-section3 {
  padding-top: 70px;
  padding-bottom: 70px;
}
#rpa-common-section1 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#rpa-common-section4 {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #rpa-common-section1 {
    padding-top: 10vw;
    padding-bottom: 23vw;
  }
  #rpa-common-section1 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #rpa-common-section2 {
    height: auto;
    background: none !important;
  }
  #rpa-common-section2 > .content1100 {
    padding-left: 0;
    padding-right: 0;
  }
  #rpa-common-section3 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
  #rpa-common-section3 .layout-btn > .btn {
  }
  #rpa-common-section4 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
}
/* ==========================================
  RPAとは
 * ========================================== */
#rpa-solutions-section1 {
  padding-top: 70px;
  padding-bottom: 70px;
}
#rpa-solutions-section2 {
  padding-top: 70px;
  padding-bottom: 100px;
}
#rpa-solutions-section3 {
  padding-top: 70px;
  padding-bottom: 100px;
}
#rpa-solutions-section1 .hr-black, #rpa-solutions-section2 .hr-black, #rpa-solutions-section3 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#rpa-solutions-section1-layout1 > .el-left {
  max-width: 332px;
  width: 31%;
  margin-right: 4.5%;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#rpa-solutions-section1-layout1 > .el-right {
  width: 64.5%;
}
#rpa-solutions-section2-layout1 > div, #rpa-solutions-section3-layout1 > div {
  width: 30.5%;
  max-width: 332px;
  margin-right: 4.2%;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  background: #fff;
}
#rpa-solutions-section2-layout1 > div:nth-child(3n), #rpa-solutions-section3-layout1 > div:nth-child(3n) {
  margin-right: 0;
}
#rpa-solutions-section3-layout1 {
  margin-top: 25px;
}
#rpa-solutions-section2-layout1 > div .thumb {
  width: 100%;
}
#rpa-solutions-section2-layout1 > div > .inner {
  position: relative;
  padding: 45px 7% 50px;
}
#rpa-solutions-section2-layout1 > div .step {
  width: 60px;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  top: -30px;
}
#rpa-solutions-section2-layout1 > div .mid {
  font-size: 2.2rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  color: #cb0033;
}
#rpa-solutions-section2-layout1 > div .check-list {
  margin-top: 25px;
  width: 100%;
}
#rpa-solutions-section2-layout1 > div .check-list > li {
  font-size: 1.8rem;
  line-height: 1.8;
  color: #333333;
  font-weight: bold;
  margin-bottom: 6px;
  text-indent: 0;
  padding-left: 1.5em;
  position: relative;
}
#rpa-solutions-section2-layout1 > div .check-list > li:before {
  content: url('../images/icon-check.svg');
  width: 18px;
  display: inline-block;
  margin: 0;
  position: absolute;
  left: 0;
}
#rpa-solutions-section2-layout1 > div .check-list > li:last-child {
  margin-bottom: 0;
}
#rpa-solutions-section3-layout1 > div .mid {
  font-size: 1.9rem;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  line-height: 1.2;
  padding: 10px 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  letter-spacing: 0.05em;
}
#rpa-solutions-section3-layout1 > div:nth-child(1) .mid {
  background: #e76c8a;
}
#rpa-solutions-section3-layout1 > div:nth-child(2) .mid {
  background: #e04167;
}
#rpa-solutions-section3-layout1 > div:nth-child(3) .mid {
  background: #c00033;
}
#rpa-solutions-section3-layout1 > div > .inner {
  padding: 25px 7%;
}
#rpa-solutions-section3-layout1 > div > .inner p {
  font-size: 1.8rem;
  text-align: center;
  color: #4d4d4d;
  line-height: 1.5;
  padding: 17px 10px;
  font-weight: bold;
  margin-bottom: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#rpa-solutions-section3-layout1 > div > .inner p:last-child {
  margin-bottom: 0;
}
#rpa-solutions-section3-layout1 > div:nth-child(1) > .inner p, #rpa-solutions-section3-layout1 > div:nth-child(2) > .inner p {
  background: #f5f5f5;
}
#rpa-solutions-section3-layout1 > div:nth-child(3) > .inner p {
  background: #fae5ea;
  color: #cb0033;
  font-size: 1.9rem;
}
#rpa-solutions-section3-layout1 > div > .inner p.l2 {
  height: 90px;
}
#rpa-solutions-section3-layout1 > div:not(:last-child):after {
  content: url(../images/arrow-left.svg);
  width: 11%;
  position: absolute;
  right: -13%;
  z-index: 0;
  top: 58%;
}
@media screen and (max-width: 767px) {
  #rpa-solutions-section1 {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  #rpa-solutions-section2 {
    padding-top: 10vw;
    padding-bottom: 15vw;
  }
  #rpa-solutions-section3 {
    padding-top: 10vw;
    padding-bottom: 15vw;
  }
  #rpa-solutions-section1 .hr-black, #rpa-solutions-section2 .hr-black, #rpa-solutions-section3 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #rpa-solutions-section1-layout1 > .el-left {
    width: 100%;
    max-width: none;
    margin-right: 0;
    display: block;
    margin-bottom: 8vw;
  }
  #rpa-solutions-section1-layout1 > .el-right {
    width: 100%;
    display: block;
  }
  #rpa-solutions-section1-layout1 > .el-right > *:last-child {
    margin-bottom: 0;
  }
  #rpa-solutions-section2-layout1 > div, #rpa-solutions-section3-layout1 > div {
    width: 100%;
    display: block;
    max-width: none;
    margin-right: 0;
    margin-bottom: 9vw;
  }
  #rpa-solutions-section3-layout1 {
    margin-top: 7vw;
  }
  #rpa-solutions-section3-layout1 > div {
    margin-bottom: 12vw;
  }
  #rpa-solutions-section2-layout1 > div:last-child, #rpa-solutions-section3-layout1 > div:last-child {
    margin-bottom: 0;
  }
  #rpa-solutions-section3-layout1 > div:not(:last-child):after {
    content: url(../images/arrow-bottom.png);
    width: 18px;
    bottom: -42px;
    right: calc(50% - 9px);
    top: auto;
  }
  #rpa-solutions-section2-layout1 > div > .inner {
    padding: 12vw 5% 8vw;
  }
  #rpa-solutions-section2-layout1 > div .step {
    width: 15%;
    top: -11%;
  }
  #rpa-solutions-section2-layout1 > div .mid {
    font-size: 1.8rem;
  }
  #rpa-solutions-section2-layout1 > div .check-list > li {
    font-size: 1.4rem;
  }
  #rpa-solutions-section2-layout1 > div .check-list > li:before {
    width: 14px;
  }
  #rpa-solutions-section2-layout1 > div .check-list {
    margin-top: 4vw;
  }
  #rpa-solutions-section3-layout1 > div .mid {
    font-size: 1.8rem;
  }
  #rpa-solutions-section3-layout1 > div > .inner {
    padding: 15px 5%;
  }
  #rpa-solutions-section3-layout1 > div > .inner p {
    font-size: 1.7rem;
    padding: 15px 10px;
  }
  #rpa-solutions-section3-layout1 > div > .inner p.l2 {
    height: auto;
  }
}
/* ==========================================
  RPAソリューションWinActor
 * ========================================== */
#winactor-section1 {
  padding-top: 70px;
  padding-bottom: 70px;
}
#winactor-section2 {
  padding-top: 70px;
  padding-bottom: 130px;
}
#winactor-section3 {
  padding-bottom: 100px;
}
#winactor-section4 {
  padding-top: 70px;
  padding-bottom: 140px;
}
#winactor-section5 {
  padding-bottom: 100px;
}
#winactor-section6 {
  padding-top: 70px;
  padding-bottom: 100px;
}
#winactor-section7 {
  padding-top: 70px;
  padding-bottom: 150px;
}
#winactor-layout1 > div {
  width: 20%;
}
#winactor-layout1 > div > a {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 15px 7%;
  text-align: center;
  justify-content: center;
}
#winactor-layout1 > div > a:before {
  position: absolute;
  left: 7%;
}
#winactor-section2-layout1 > .el-left {
  float: right;
  max-width: 332px;
  width: 31%;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#winactor-section2-layout1 > .el-right {
  width: 62.5%;
  margin-right: 6.5%;
}
#winactor-section2 .hr-black, #winactor-section4 .hr-black, #winactor-section6 .hr-black, #winactor-section7 .hr-black, #winactor-section8 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#winactor-section2 .common-notif {
  color: #666666;
  font-size: 1.3rem;
  margin-top: 25px;
  margin-bottom: 0;
}
.winactor-box {
  background: #fafafa;
  border: 10px solid #f0f0f0;
  position: relative;
  padding: 50px 3.6% 40px;
}
.winactor-box > .abs-red {
  color: #fff;
  width: 50%;
  position: absolute;
  z-index: 1;
  left: -25%;
  top: -50px;
  padding-left: 25%;
  padding-right: 3%;
  padding-top: 50px;
  padding-bottom: 50px;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
.winactor-box > .abs-red h3 {
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.2;
}
.winactor-box > .inner {
  position: relative;
  z-index: 2;
}
.winactor-box > .inner > .el-left {
  max-width: 490px;
  width: 49%;
  margin-right: 5%;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
.winactor-box > .inner > .el-left .thumb > a {
  position: relative;
  display: block;
  z-index: 1;
  cursor: pointer;
}
.winactor-box > .inner > .el-left .thumb > a.hide {
  z-index: -1;
  opacity: 0;
}
.winactor-box > .inner > .el-left .thumb > a > img {
  transition: all .3s ease;
}
.winactor-box > .inner > .el-left .thumb > a:hover > img {
  transform: scale(1.05);
}
.winactor-box > .inner > .el-left .thumb-movie {}
.winactor-box > .inner > .el-left .thumb-movie .circle {
  width: 74px;
  height: 74px;
  background: white;
  position: absolute;
  top: calc(50% - 37px);
  left: calc(50% - 37px);
  border-radius: 50%;
  z-index: 1;
}
.winactor-box > .inner > .el-left .thumb-movie .circle:after {
  content: '\e037';
  font-family: 'Material Icons';
  color: #cb0033;
  line-height: 1;
  vertical-align: -2px;
  font-size: 2.8rem;
  position: absolute;
  left: calc(50% - 15px);
  top: calc(50% - 13px);
}
.winactor-box > .inner > .el-left .thumb-movie > a:hover .circle:after {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}
.winactor-box > .inner > .el-left .thumb .yt-movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.winactor-box > .inner > .el-right {
  width: 46%;
}
.winactor-box > .inner > .el-right > div {
  margin-bottom: 14px;
}
.winactor-box > .inner > .el-right .tit {
  font-size: 1.7rem;
  line-height: 1.5;
  color: #cb0033;
  margin-bottom: 2px;
  font-weight: bold;
  text-indent: -1.75rem;
  padding-left: 1.75rem;
}
.winactor-box > .inner > .el-right .tit:before {
  content: '●';
  font-size: 1rem;
  vertical-align: 2px;
  margin-right: 0.75rem;
}
.winactor-box > .inner > .el-right .desc {
  font-size: 1.4rem;
  line-height: 2;
  color: #333333;
  margin-bottom: 0;
  padding-left: 2rem;
}
.winactor-box > .inner > .el-right .tit .time {
  font-size: 1.4rem;
  color: #333333;
  margin-left: 0.25em;
  font-weight: 500;
}
#winactor-section4-layout1 {
  margin-top: 30px;
}
#winactor-section4-layout1 > div {
  max-width: 332px;
  width: 31%;
  margin-right: 3.5%;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  background: #ffffff;
  padding: 10px 10px 25px;
}
#winactor-section4-layout1 > div:nth-child(3n) {
  margin-right: 0;
}
#winactor-section4-layout1 > div .mid {
  color: #000000;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  font-size: 2.2rem;
  line-height: 1.4;
  background: rgba(203, 0, 51, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
}
#winactor-section4-layout1 > div .mid .icon {
  margin-right: 30px;
}
#winactor-section4-layout1 > div .mid .icon-pc {
  width: 37px;
}
#winactor-section4-layout1 > div .mid .icon-calc {
  width: 26px;
}
#winactor-section4-layout1 > div .mid .icon-bag {
  width: 37px;
}
#winactor-section4-layout1 > div .check-list {
  margin-top: 25px;
  width: 86%;
  margin-left: auto;
  margin-right: auto;
}
#winactor-section4-layout1 > div .check-list > li {
  font-size: 1.8rem;
  line-height: 1.8;
  color: #333333;
  font-weight: bold;
  margin-bottom: 6px;
  text-indent: 0;
  padding-left: 1.5em;
  position: relative;
}
#winactor-section4-layout1 > div .check-list > li:before {
  content: url('../images/icon-check.svg');
  width: 18px;
  display: inline-block;
  margin: 0;
  position: absolute;
  left: 0;
}
#winactor-section4-layout1 > div .check-list > li:last-child {
  margin-bottom: 0;
}
#winactor-section6-layout1 > .el-left {
  width: 30%;
  margin-right: 4.5%;
  max-width: 330px;
}
#winactor-section6-layout1 > .el-left .common-title3 {
  margin-bottom: 10px;
}
#winactor-section6-layout1 > .el-right {
  width: 65.5%;
  max-width: 716px;
}
#winactor-section6-layout2 {
  margin-top: 60px;
}
#winactor-section6-layout2 > * .common-title3 {
  margin-bottom: 15px;
}
#winactor-section6-layout2 > * .thumb {
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#winactor-section7-text2 {
  margin-bottom: 30px;
}
#winactor-section7-pic1 {
  margin-top: 20px;
}
#winactor-section7-layout1 {
  justify-content: center;
  margin-top: 40px;
}
#winactor-section8 {
  position: relative;
  padding-top: 90px;
}
#winactor-section8-bg {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 85%;
  left: 0;
  top: 0;
}
#winactor-section8-layout1 {
  margin-top: 40px;
  z-index: 1;
}
#winactor-section8-layout1 > .el-left {
  width: 31%;
  height: 780px;
  background: url('../images/solutions/winactor/section8-pic1.jpg') 50% 50% no-repeat !important;
  background-size: cover !important;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  margin-bottom: 55px;
}
#winactor-section8-layout1 > .el-right {
  width: 69%;
  padding-left: 6%;
  max-width: 860px;
  margin-left: 0;
  margin-right: auto;
  padding-right: 2%;
  padding-top: 25px;
}
#winactor-section8-layout1 {
  margin-top: 40px;
}
#winactor-section8-layout2 {}
#winactor-section8-layout2 > div {
  width: 45%;
  margin-right: 10%;
  margin-bottom: 55px;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  background: #fff;
  position: relative;
}
#winactor-section8-layout2 > div:nth-child(2n) {
  margin-right: 0;
}
#winactor-section8-layout2 > div .rei {
  width: 52px;
  position: absolute;
  z-index: 2;
  top: -25px;
  left: -25px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, .3);
}
#winactor-section8-layout2 > div .mid {
  background: #cb0033;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  font-size: 2.0rem;
  line-height: 1.5;
  display: flex;
  justify-content: center;
  width: 100%;
  align-items: center;
  height: 90px;
  padding: 10px;
  letter-spacing: 0.05em;
}
#winactor-section8-layout2 > div > .inner {
  padding: 20px 20px 30px;
}
#winactor-section8-layout2 > div .check-list > li {
  font-size: 1.7rem;
  line-height: 1.8;
  color: #333333;
  font-weight: bold;
  margin-bottom: 8px;
  text-indent: 0;
  padding-left: 1.5em;
  position: relative;
}
#winactor-section8-layout2 > div .check-list > li small {
  font-size: 1.3rem;
}
#winactor-section8-layout2 > div .check-list > li:last-child {
  margin-bottom: 0;
}
#winactor-section8-layout2 > div .check-list > li:before {
  content: url('../images/icon-check.svg');
  width: 17px;
  display: inline-block;
  margin: 0;
  position: absolute;
  left: 0;
}
#winactor-section8-text2 {
  color: #000000;
  text-align: center;
  font-weight: bold;
}
#winactor-section9 {
  padding-top: 40px;
  padding-bottom: 110px;
}
#winactor-section9-text1 {
  font-size: 1.9rem;
  text-align: center;
  line-height: 1.6;
  color: #000000;
  font-weight: bold;
}
#winactor-section9-pic1 {
  margin-top: 20px;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#winactor-section7-pic1, #winactor-section7-pic2 {
  width: calc(100% - 30px);
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
#winactor-section7-pic1 {
  margin-top: 20px;
}
#winactor-section9-layout1 {
  margin-top: 20px;
  background: #ffffff;
  padding: 10px 10px 15px;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#winactor-section9-layout1 .tit {
  text-align: center;
  background: rgba(252, 139, 162, 0.17);
  border-radius: 3px;
  font-size: 2.1rem;
  line-height: 1.5;
  font-weight: bold;
  color: #000000;
  margin-bottom: 0;
  padding: 32px 10px 28px;
}
#winactor-section9-layout1 > .inner {
  padding: 20px 20px 0;
}
#winactor-section9-list1 > li {
  width: 31%;
  margin-right: 3.25%;
  border-bottom: 1px solid #d9d9d9;
  padding-top: 15px;
  padding-bottom: 15px;
  display: flex;
  align-items: center;
  color: #333333;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.6;
  position: relative;
  padding-left: 1.75em;
}
#winactor-section9-list1 > li:nth-child(3n) {
  margin-right: 0;
}
#winactor-section9-list1 > li:before {
  content: url('../images/icon-check.svg');
  width: 18px;
  display: inline-block;
  margin: 0;
  position: absolute;
  left: 0;
}
#winactor-section9-text2 {
  text-align: right;
  margin-top: -22px;
  font-weight: bold;
  font-size: 1.9rem;
  line-height: 1.5;
  color: #000000;
}
@media screen and (max-width: 900px) {
  #winactor-section8-layout2 > div .mid {
    font-size: 1.6rem;
  }
  #winactor-section8-layout2 > div .check-list > li {
    font-size: 1.5rem;
  }
  #winactor-section8-layout2 > div .check-list > li:before {
    width: 15px;
  }
  #winactor-section9-list1 > li {
    font-size: 1.5rem;
  }
  #winactor-section9-list1 > li:before {
    width: 15px;
  }
}
@media screen and (max-width: 767px) {
  #winactor-section1 {
    padding-top: 10vw;
    padding-bottom: 15vw;
  }
  #winactor-layout1 > div > a {
    text-align: left;
    justify-content: flex-start;
    padding-left: 12%;
    padding-top: 5.5vw;
    padding-bottom: 5.5vw;
  }
  #winactor-layout1 > div > a:before {
    left: 4%;
  }
  #winactor-section2 {
    padding-top: 10vw;
    padding-bottom: 23vw;
  }
  #winactor-section2 .hr-black, #winactor-section4 .hr-black, #winactor-section6 .hr-black, #winactor-section7 .hr-black, #winactor-section8 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #winactor-section2-layout1 > .el-left {
    float: none;
    width: 100%;
    max-width: none;
    margin-bottom: 9vw;
    display: block;
  }
  #winactor-section2-layout1 > .el-right {
    width: 100%;
    display: block;
    margin-right: 0;
  }
  #winactor-section2 .common-notif {
    font-size: 1.1rem;
  }
  #winactor-section3 {
    padding-bottom: 14vw;
  }
  #winactor-section3 > .content1100, #winactor-section5 > .content1100 {
    padding-left: 0;
    padding-right: 0;
  }
  .winactor-box {
    border-width: 4px;
    padding: 6.6vw 6vw 7vw;
  }
  .winactor-box > .abs-red {
    left: -4px;
    width: 75%;
    text-align: center;
    padding: 9vw 3%;
    top: -13vw;
  }
  .winactor-box > .abs-red h3 {
    font-size: 4.8vw;
  }
  .winactor-box > .inner > .el-left {
    max-width: none;
    width: 100%;
    margin-right: 0;
    display: block;
    margin-bottom: 9vw;
  }
  .winactor-box > .inner > .el-left .thumb-movie .circle {
    width: 14%;
    height: 25%;
    top: 36%;
    left: 43%;
  }
  .winactor-box > .inner > .el-left .thumb-movie .circle:after {
    font-size: 6vw;
    left: calc(50% - 0.5em);
    top: calc(50% - 0.5em);
    vertical-align: 0;
  }
  .winactor-box > .inner > .el-right {
    width: 100%;
    display: block;
  }
  .winactor-box > .inner > .el-right .tit {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 0;
  }
  .winactor-box > .inner > .el-right .tit .time {
    font-size: 1.3rem;
  }
  .winactor-box > .inner > .el-right .desc {
    font-size: 1.3rem;
  }
  .winactor-box > .inner > .el-right > div:last-child {
    margin-bottom: 0;
  }
  #winactor-section4 {
    padding-top: 9vw;
    padding-bottom: 26vw;
  }
  #winactor-section4-layout1 {
    margin-top: 6vw;
  }
  #winactor-section4-layout1 > div {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-bottom: 8vw;
  }
  #winactor-section4-layout1 > div:last-child {
    margin-bottom: 0;
  }
  #winactor-section4-layout1 > div .mid {
    font-size: 2.0rem;
    height: 90px;
    padding-right: 20px;
  }
  #winactor-section4-layout1 > div .mid .icon {
    margin-right: 25px;
  }
  #winactor-section4-layout1 > div .mid .icon-pc {
    width: 34px;
  }
  #winactor-section4-layout1 > div .mid .icon-calc {
    width: 25px;
  }
  #winactor-section4-layout1 > div .mid .icon-bag {
    width: 34px;
  }
  #winactor-section4-layout1 > div .check-list {
    width: 90%;
  }
  #winactor-section4-layout1 > div .check-list > li {
    font-size: 1.7rem;
  }
  #winactor-section4-layout1 > div .check-list > li:before {
    width: 17px;
  }
  #winactor-section5 {
    padding-bottom: 15vw;
  }
  #winactor-section6 {
    padding-top: 10vw;
    padding-bottom: 15vw;
  }
  #winactor-section6-layout1 > .el-left {
    width: 100%;
    margin-right: 0;
    display: block;
    max-width: none;
  }
  #winactor-section6-layout1 > .el-right {
    width: 100%;
    display: block;
    margin-top: 5vw;
  }
  #winactor-section6-layout2 {
    margin-top: 15vw;
  }
  #winactor-section6-layout2 > div {
    width: 100%;
    margin-right: 0;
    display: block;
    margin-bottom: 15vw;
    max-width: none;
  }
  #winactor-section6-layout2 > div:last-child {
    margin-bottom: 0;
  }
  #winactor-section6-layout2 > * .thumb {
  }
  #winactor-section6-layout2 > div .common-title3 {
    font-size: 1.8rem;
    line-height: 2;
    margin-bottom: 8px;
  }
  #winactor-section7 {
    padding-top: 10vw;
    padding-bottom: 20vw;
  }
  #winactor-section7-text2 {
    font-size: 1.8rem;
    margin-bottom: 18px;
  }
  #winactor-section7-pic1 {
    margin-top: 5vw;
    width: 100%;
  }
  #winactor-section7-pic2 {
    width: 100%;
    background: #ffffff;
    padding-top: 6vw;
    margin-top: 4vw;
    margin-bottom: 12vw;
  }
  #winactor-section7-layout1 {
    margin-top: 7vw;
  }
  #winactor-section8 {
    padding-top: 10vw;
    padding-bottom: 6vw;
  }
  #winactor-section8-text2 {
    text-align: left;
  }
  #winactor-section8-layout1 {
    margin-top: 14vw;
  }
  #winactor-section8-layout1 > .el-left {
    display: none;
  }
  #winactor-section8-layout1 > .el-right {
    display: block;
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-top: 0;
    padding-right: 0;
  }
  #winactor-section8-layout2 {
    width: 88%;
    margin-left: auto;
    margin-right: auto;
  }
  #winactor-section8-layout2 > div {
    width: 92%;
    margin-left: auto;
    margin-right: 0;
    background: #ffffff;
    display: block;
    margin-bottom: 15vw;
  }
  #winactor-section8-layout2 > div:last-child {
    margin-bottom: 0;
  }
  #winactor-section8-layout2 > div .rei {
    width: 18%;
    position: absolute;
    z-index: 2;
    top: -7vw;
    left: -9%;
  }
  #winactor-section8-bg {
    height: 180vw;
  }
  #winactor-section9-text1 {
    margin-bottom: 0;
  }
  #winactor-section9-pic1 {
    margin-top: 7vw;
  }
  #winactor-section9 {
    padding-top: 10vw;
    padding-bottom: 20vw;
  }
  #winactor-section6-layout1 > .el-left .common-title3 {
    margin-bottom: 3vw;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  #winactor-section8-layout2 > div .mid {
    font-size: 1.9rem;
  }
  #winactor-section8-layout2 > div .check-list > li {
    font-size: 1.7rem;
  }
  #winactor-section8-layout2 > div .check-list > li:before {
    width: 17px;
  }
  #winactor-section8-layout2 > div > .inner {
    padding: 20px 6% 20px;
  }
  #winactor-section9-layout1 .tit {
    font-size: 1.9rem;
    border-radius: 0;
    padding: 20px 6% 18px;
  }
  #winactor-section9-layout1 > .inner {
    padding: 10px 10px 0;
  }
  #winactor-section9-list1 > li {
    width: 100%;
    margin-right: 0;
    font-size: 1.7rem;
    display: block;
  }
  #winactor-section9-text2 {
    margin-top: 15px;
    font-size: 1.6rem;
    margin-bottom: 0;
  }
  #winactor-section9-layout1 {
    padding-bottom: 20px;
  }
}
/* ==========================================
  ドコモヨーロッパの強み
 * ========================================== */
#our-strengths-section1 {
  padding-top: 45px;
  padding-bottom: 200px;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
}
#our-strengths-section1-layout1 {
  text-align: right;
}
#our-strengths-section1-layout1 > .el-left {
  width: 48%;
  margin-right: 4%;
  height: 60vw;
  max-height: 75vh;
  background: url('../images/solutions/our-strengths/section1-pic1.jpg') 50% 50% no-repeat !important;
  background-size: cover !important;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#our-strengths-section1-layout1 > .el-left.fix {
  position: fixed;
  left: 2%;
  top: 90px;
  z-index: 1;
  width: 46%;
}
#our-strengths-section1-layout1 > .el-left.end {
  position: absolute;
  bottom: 0;
  top: auto;
  left: 0;
  width: 48%;
}
#our-strengths-section1-layout1 > .el-right {
  width: 48%;
  text-align: left;
}
#our-strengths-section1-layout1 > .el-right > .inner {
  max-width: 520px;
  margin-left: 0;
  margin-right: auto;
  width: 100%;
}
.strength-point {
  width: 178px;
  text-align: center;
  color: #ffffff;
  background: #cb0033;
  margin-bottom: 35px;
  font-weight: bold;
  line-height: 1.6;
  font-size: 1.0rem;
  padding: 3px;
}
#our-strengths-section1-layout1 > .el-right > .inner .common-title1 {
  margin-bottom: 25px;
}
#our-strengths-section1-layout1 > .el-right > .inner .text {
  font-size: 1.5rem;
  line-height: 2.1;
  margin-bottom: 0;
}
#our-strengths-section1-pic2 {
  width: 90%;
  max-width: 412px;
  margin-left: auto;
  margin-right: auto;
}
#our-strengths-section1-layout1 > .el-right > .inner > div {
  margin-bottom: 80px;
}
#our-strengths-section1-layout1 > .el-right > .inner > div:first-child, #our-strengths-section1-layout1 > .el-right > .inner > div:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #our-strengths-section1 {
    width: 100%;
    padding-top: 7vw;
    padding-bottom: 25vw;
  }
  #our-strengths-section1-layout1 > .el-left {
    display: block;
    width: 94%;
    max-width: none;
    height: 60vw;
    margin-right: 0;
    margin-bottom: 14vw;
    background: url('../images/solutions/our-strengths/section1-pic1_sp.jpg') 50% 50% no-repeat !important;
    background-size: cover !important;
  }
  #our-strengths-section1-layout1 > .el-right {
    display: block;
    width: 100%;
  }
  .strength-point {
    font-size: 1.1rem;
    width: 50%;
    margin-bottom: 7vw;
  }
  #our-strengths-section1-layout1 > .el-right > .inner {
    max-width: none;
  }
  #our-strengths-section1-layout1 > .el-right > .inner .common-title1 {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6vw;
  }
  #our-strengths-section1-layout1 > .el-right > .inner .text {
    margin-left: 4%;
    margin-right: 4%;
  }
  #our-strengths-section1-pic2 {
    margin-right: auto;
    margin-left: auto;
  }
  #our-strengths-section1-layout1 > .el-right > .inner .text {
    line-height: 1.8;
  }
  #our-strengths-section1-layout1 > .el-right > .inner > div {
    margin-bottom: 13vw;
  }
}
@media screen and (max-width: 480px) {
  #our-strengths-section1-pic2 {
    margin-right: 0;
  }
}
/* ==========================================
  導入ステップ
 * ========================================== */
#step-section1 {
  padding-top: 70px;
  padding-bottom: 200px;
}
#step-section1-text1 {
  margin-bottom: 70px;
}
#step-section1 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#step-section1-layout1 {
  margin-top: 35px;
}
#step-section1-layout1 > div {
  width: 30.5%;
  max-width: 332px;
  margin-right: 4.2%;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  background: #fff;
}
#step-section1-layout1 > div:first-child {
  border: 4px solid #cb0033;
}
#step-section1-layout1 > div:last-child {
  margin-right: 0;
}
#step-section1-layout1 > div:not(:last-child):after {
  content: url(../images/arrow-left.svg);
  width: 11%;
  position: absolute;
  right: -13%;
  z-index: 0;
  top: calc(200px + 10%);
}
#step-section1-layout1 > div .thumb {
  width: 100%;
  z-index: 0;
  position: relative;
  overflow: hidden;
}
#step-section1-layout1 > div .thumb img {
  width: 100.5%;
}
#step-section1-layout1 > div .step {
  width: 60px;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  top: -30px;
}
#step-section1-layout1 > div .inner {
  position: relative;
  padding: 45px 10px 10px;
}
#step-section1-layout1 > div .mid {
  font-size: 2.5rem;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#step-section1-layout1 > div:first-child .mid {
  color: #cb0033;
}

#step-section1-layout1 > div .redbox .support-label {
  background: white;
  line-height: 1;
  padding: 8px 10px;
  display: inline-block;
  font-size: 1.4rem;
  position: absolute;
  left: -10px;
  top: -15px;
  font-weight: bold;
  z-index: 1;
  box-shadow:10px 10px 15px rgba(0,0,0,.15);
}
#step-section1-layout1 > div:first-child .redbox .support-label {
  color: #cb0033;
}
#step-section1-layout1 > div .redbox {
  margin-top: 40px;
  background: #f5f5f5;
  position: relative;
  padding: 35px 5% 20px;
  min-height: 175px;
}
#step-section1-layout1 > div:first-child .redbox {
  background: #ffe9ee; 
}
#step-section1-layout1 > div .redbox .dot-list {
  width: 100%;
}
#step-section1-layout1 > div .redbox .dot-list > li {
  font-size: 1.6rem;
  font-weight: bold;
  color: #4d4d4d;
  line-height: 1.6;
  margin-bottom: 6px;
  text-indent: -1em;
  padding-left: 1em;
}
#step-section1-layout1 > div .redbox .dot-list > li:last-child {
  margin-bottom: 0;
}
#step-section1-layout1 > div:first-child .redbox .dot-list > li {
  color: #333333;
}
#step-section1-layout1 > div .redbox .dot-list > li:before {
  content: '・';
  color: #c00033;
  /*
  content: '●';
    color: #c00033;
    font-size: 1.0rem;
    vertical-align: 2px;
    margin-right: 0.5rem;
  */
}
#step-section1-layout3 {
  margin-top: 30px;
  text-align: center;
  background: #cb0033;
  color: #ffffff;
  width: 62%;
  margin-left: auto;
  margin-right: 25px;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 0;
  padding: 8px 10px;
  position: relative;
}
#step-section1-layout3:after {
  content: '';
  border-top: 23px solid transparent;
  border-bottom: 23px solid transparent;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  border-left: 15px solid #cb0033;
}
.icon-free {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  color: #ffffff;
  background: #cb0033;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 4px solid #ffffff;
  position: absolute;
  z-index: 1;
  bottom: 4%;
  right: 4%;
  filter: drop-shadow(6px 6px 15px rgba(0, 0, 0, .15));
}
@media screen and (max-width: 900px) {
  .icon-free {
    font-size: 1.5rem;
    width: 50px;
    height: 50px;
    border-width: 3px;
    bottom: 5%;
    right: 5%;
  }
}
@media screen and (max-width: 767px) {
  #step-section1 {
    padding-top: 10vw;
    padding-bottom: 37vw;
  }
  #step-section1-text1 {
    text-align: left;
    margin-bottom: 20vw;
  }
  #step-section1 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #step-section1-layout1 {
    margin-top: 7vw;
  }
  #step-section1-layout1 > div {
    width: 100%;
    margin-right: 0;
    max-width: none;
    margin-bottom: 12vw;
  }
  #step-section1-layout1 > div:first-child {
    border: 3px solid #cb0033;
  }
  #step-section1-spwrap {
    display: flex;
    flex-wrap: wrap;
  }
  #step-section1-spwrap > .common-lead1 {
    width: 100%;
  }
  #step-section1-layout1 {
    width: 80%;
    margin-left: 8%;
    margin-right: 4%;
  }
  #step-section1-layout3 {
    width: 8%;
    margin-right: 0;
    margin-top: 110vw;
    margin-bottom: 12px;
  }
  #step-section1-layout3:after {
    border-left: 3.5vw solid transparent;
    border-right: 3.5vw solid transparent;
    bottom: -10px;
    top: auto;
    left: 0;
    border-top: 10px solid #cb0033;
    border-bottom: none;
  }
  #step-section1-layout1 > div .inner {
    position: relative;
    padding: 7.5vw 3% 3%;
  }
  #step-section1-layout1 > div .step {
    width: 15%;
    top: -11%;
  }
  #step-section1-layout1 > div .mid {
    font-size: 5vw;
    letter-spacing: 0;
    text-indent: 0;
  }
  #step-section1-layout1 > div .redbox {
    margin-top: 7vw;
    padding: 7vw 4% 5vw;
    min-height: auto;
  }
  #step-section1-layout1 > div .redbox .support-label {
    font-size: 1.1rem;
    left: -2%;
  }
  #step-section1-layout1 > div .redbox .dot-list > li {
    font-size: 3.5vw;
  }
  .icon-free {
    bottom: auto;
    top: -25px;
    right: 2%;
    font-size: 1.4rem;
  }
  #step-section1-layout1 > div:last-child {
    margin-bottom: 0;
  }
  #step-section1-layout3 {
    padding: 0;
    position: relative;
    text-orientation: mixed;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-align: left;
    letter-spacing: 0.15em;
    padding-top: 1.5em;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
  }
  #step-section1-layout1 > div:not(:last-child):after {
    content: url(../images/arrow-bottom.png);
    width: 18px;
    bottom: -46px;
    right: calc(50% - 9px);
    top: auto;
  }
}
/* ==========================================
  AI-OCRソリューション共通
 * ========================================== */
#ai-common-section3 {
  padding-top: 70px;
  padding-bottom: 70px;
}
#ai-common-section4 {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #ai-common-section3 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
  #ai-common-section3 .layout-btn > .btn {
  }
  #ai-common-section4 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
}
/* ==========================================
  OCRの基本とAI-OCR
 * ========================================== */
#ocr-section1 {
  padding-top: 70px;
  padding-bottom: 100px;
}
#ocr-section2 {
  padding-top: 70px;
  padding-bottom: 50px;
}
#ocr-section1 .hr-black, #ocr-section2 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#ocr-section1-text2 {
  margin-bottom: 0;
}
#ocr-section1-layout1 {
  margin-top: 50px;
}
#ocr-section1-layout1 > .element {
  width: 43.7%;
  max-width: 480px;
  margin-right: 9%;
}
#ocr-section1-layout1 > .element:nth-child(2n) {
  margin-right: 0;
}
#ocr-section1-layout1 > .element .thumb {
  max-width: 296px;
  width: 62%;
  position: absolute;
  top: 0;
  right: -6.25%;
  z-index: 1;
  border: 3px solid #ffffff;
  box-sizing: content-box;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#ocr-section2-layout1 {}
#ocr-section2-layout1 > .el-left {
  width: 30%;
  margin-right: 4.9%;
  max-width: 330px;
}
#ocr-section2-layout1 > .el-right {
  width: 65.1%;
  max-width: 716px;
}
#ocr-section2-pic2 {
  margin-top: 60px;
  width: 100%;
  max-width: 1100px;
}
@media screen and (max-width: 767px) {
  #ocr-section1 {
    padding-top: 10vw;
    padding-bottom: 15vw;
  }
  #ocr-section2 {
    padding-top: 10vw;
    padding-bottom: 18vw;
  }
  #ocr-section1-layout1 {
    margin-top: 8vw;
  }
  #ocr-section1-layout1 > .element {
    width: 92%;
    margin-right: 8%;
    display: block;
    max-width: none;
    margin-bottom: 7vw;
  }
  #ocr-section1-layout1 > .element .thumb {
    right: -8%;
    max-width: none;
  }
  #ocr-section1-layout1 > .element:last-child {
    margin-bottom: 0;
  }
  #ocr-section2-layout1 > .el-left, #ocr-section2-layout1 > .el-right {
    display: block;
    width: 100%;
    margin-right: 0;
    max-width: none;
  }
  #ocr-section2-layout1 > .el-left .common-lead1 {
    margin-bottom: 0;
  }
  #ocr-section2-layout1 > .el-right {
    margin-top: 6vw;
  }
  #ocr-section2-layout2 {
    margin-top: 16vw;
    background: #ffe9ed;
    position: relative;
    padding-top: 8vw;
    padding-bottom: 1vw;
  }
  #ocr-section2-layout2 .mid {
    font-size: 3.4vw;
    color: #ffffff;
    background: #cb0033;
    text-align: center;
    border-radius: 2px;
    font-weight: bold;
    position: absolute;
    top: -4.5vw;
    line-height: 1;
    padding: 3.5vw 10px;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    width: 50%;
    margin-bottom: 0;
  }
  div#ocr-section2-pic2-sp, div#ocr-section2-pic3-sp {
    width: 100%;
  }
  div#ocr-section2-pic3-sp {
    margin-top: -7vw;
  }
  #ocr-section1 .hr-black, #ocr-section2 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
}
/* ==========================================
  ABBYY FlexiCapture for Invoices
 * ========================================== */
#abbyy-section1 {
  padding-top: 70px;
  padding-bottom: 100px;
}
#abbyy-section2 {
  padding-top: 70px;
  padding-bottom: 130px;
}
#abbyy-section1 .hr-black, #abbyy-section2 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#abbyy-section2-logo {
  width: 100%;
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
}
#abbyy-section2-text2 {
  font-weight: bold;
  color: #000000;
  text-align: center;
  margin-bottom: 0;
}
#abbyy-section2-layout1 {
  margin-top: 50px;
}
#abbyy-section2 .mid {
  color: #cb0033;
  font-weight: bold;
  font-size: 2.1rem;
  line-height: 1.8;
}
#abbyy-section2 p + .mid {
  margin-top: 50px;
}
#abbyy-section2-layout1 > .el-right {
  background: #f2f2f2;
  border: 8px solid #ffffff;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  padding: 30px 10px 150px;
  margin-bottom: 210px;
}
#abbyy-section2-pic1 {
  width: 98%;
  max-width: 472px;
  margin-right: -4%;
  margin-left: auto;
}
#abbyy-section2-pic2 {
  position: absolute;
  z-index: 1;
  right: -20%;
  width: 111%;
  max-width: 555px;
  margin-top: -5%;
  filter: drop-shadow(20px 20px 30px rgba(0, 0, 0, 0.15));
}
#abbyy-section2-layout2 > .el-left {
  float: left;
  margin-right: 0;
}
#abbyy-section2-layout2 > .el-right {
  margin-right: 0;
  margin-left: 5.4%;
}
#abbyy-section2-layout3 {
  margin-top: 70px;
}
#abbyy-section2-layout1 .mid, #abbyy-section2-layout2 .mid, #abbyy-section2-layout3 .mid, #abbyy-section2-layout4 .mid {
    margin-bottom: 15px;
}
.common-lead1 .underline {
  font-weight: bold;
  color: #000000;
  /*
  text-decoration: underline;
  text-decoration-color: #efb2c2; */
  border-bottom: 1.5px solid #cb0033;
  padding-bottom: 3px;
  line-height: 1.5;
}
#abbyy-section2-pic3, #abbyy-section2-pic4 {
  width: 100%;
  max-width: 520px;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#abbyy-section2-layout4 {
  margin-top: 70px;
}
#abbyy-section2-layout4 .abbyybox {
  background: #f7f7f7;
  border: 8px solid #ffffff;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  padding: 30px 15px 20px;
  margin-top: 15px;
}
#abbyy-section2-layout4 .abbyybox > .inner > div {
  width: 32%;
  margin-right: 1.9%;
}
#abbyy-section2-layout4 .abbyybox > .inner > div:nth-child(3n) {
  margin-right: 0;
}
#abbyy-section2-layout4 .abbyybox > .inner > div .dot-list {
  font-size: 1.5rem;
  line-height: 1.8;
}
#abbyy-section2-layout4 .abbyybox > .inner > div .dot-list > li {
  margin-bottom: 3px;
  text-indent: -1.5rem;
  padding-left: 1.5em;
}
#abbyy-section2-layout4 .abbyybox > .inner > div .dot-list > li:last-child {
  margin-bottom: auto;
}
#abbyy-section2-layout4 .abbyybox > .inner > div .dot-list > li:before {
  content: '●';
  color: #c00033;
  font-size: 1.0rem;
  vertical-align: 2px;
  margin-right: 0.5rem;
}
#abbyy-section2 .contact-btnarea {
  margin-top: 80px;
}
#abbyy-section2 .contact-btnarea > .btn {
  width: 100%;
  max-width: 500px;
}
@media screen and (max-width: 767px) {
  #abbyy-section1 {
    padding-top: 10vw;
    padding-bottom: 17vw;
  }
  #abbyy-section2 {
    padding-top: 7vw;
    padding-bottom: 15vw;
  }
  #abbyy-section1 .hr-black, #abbyy-section2 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #abbyy-section2-text2 {
    font-size: 1.9rem;
  }
  #abbyy-section2-layout1 {
    margin-top: 20vw;
  }
  #abbyy-section2-layout1 > .el-left, #abbyy-section2-layout1 > .el-right {
    display: block;
    width: 100%;
    margin-right: 0;
  }
  #abbyy-section2 .mid {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
  #abbyy-section2 p + .mid {
    margin-top: 45px;
  }
  #abbyy-section2-layout1 > .el-left {
    margin-bottom: 10vw;
  }
  #abbyy-section2-layout1 > .el-right {
    border-width: 5px;
    padding: 8vw 2% 20vw;
    margin-bottom: 48vw;
    max-width: none;
  }
  #abbyy-section2-pic1 {
    width: 100%;
    max-width: none;
    margin-right: -6%;
    margin-left: auto;
  }
  #abbyy-section2-pic2 {
    right: -3%;
    width: 100%;
    margin-top: -4%;
    filter: drop-shadow(3vw 3vw 4.6vw rgba(0, 0, 0, 0.15));
  }
  #abbyy-section2-layout2 > .el-right, #abbyy-section2-layout2 > .el-left, #abbyy-section2-layout3 > .el-right, #abbyy-section2-layout3 > .el-left, #abbyy-section2-layout4 > .el-right, #abbyy-section2-layout4 > .el-left {
    margin-left: 0;
    width: 100%;
    display: block;
    float: none;
    max-width: none;
  }
  #abbyy-section2 #abbyy-section2-layout2 .mid, #abbyy-section2 #abbyy-section2-layout3 .mid, #abbyy-section2 #abbyy-section2-layout4 .mid {
    font-size: 2.0rem;
  }
  #abbyy-section2-layout2 > .el-left {
    margin-top: 6vw;
  }
  #abbyy-section2-pic3, #abbyy-section2-pic4 {
    max-width: none;
  }
  #abbyy-section2-layout2 > .el-right, #abbyy-section2-layout3 > .el-left {
    margin-bottom: 7vw;
  }
  #abbyy-section2-layout3 {
    margin-top: 14vw;
  }
  #abbyy-section2-layout4 {
    margin-top: 14vw;
  }
  #abbyy-section2-layout4 .abbyybox {
    margin-top: 5vw;
    padding: 6%;
  }
  #abbyy-section2-layout4 .abbyybox > .inner > div {
    width: 100%;
    margin-right: 0;
    display: block;
  }
  #abbyy-section2-layout4 > .el-left {
    margin-bottom: 14vw;
  }
  #abbyy-section2 .contact-btnarea {
    margin-top: 12vw;
  }
  #abbyy-section2-logo {
    margin-top: 5vw;
  }
  #abbyy-section2-layout1 {
    margin-top: 10vw;
  }
}
/* ==========================================
  欧州モバイル業界の動向
 * ========================================== */
.trend-section {
  padding-top: 70px;
  padding-bottom: 70px;
}
.trend-section > .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
.trend-section .pattern2-3,
.trend-section .pattern3-2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.trend-section .pattern2-3 .el-left,
.trend-section .pattern3-2 .el-right {
	width: calc(((100% - 4.5%) / 5) * 2);
}
.trend-section .pattern2-3 .el-right,
.trend-section .pattern3-2 .el-left {
	width: calc(((100% - 4.5%) / 5) * 3);
}
.trend-section [class*="pattern"].flex-reverse {
	flex-direction: row-reverse;
}
.trend-section [class*="pattern"] [class*="el-"] img {
	height: auto;
	max-width: 100%;
}
#trend-btn-area {
	background: #f2f2f2;
	margin-top: 70px;
	padding-top: 60px;
	padding-bottom: 60px;
}
#trend-btn-area .layout-btn {
	justify-content: center;
}
@media screen and (max-width: 767px) {
	.trend-section {
		padding-top: 10vw;
		padding-bottom: 10vw;
	}
	.trend-section h2 {
		font-size: 5.8vw;
		margin: 0 auto;
		text-align: left;
		width: 89%;
	}
	.trend-section [class*="pattern"] [class*="el-"] {
		width: 100%;
	}
	.trend-section [class*="pattern"] [class*="el-"] + [class*="el-"] {
		margin-top: 30px;
	}
	#trend-btn-area {
		margin-top: 10vw;
		padding: 10vw 0 10vw;
	}
	#trend-btn-area .btn {
		margin-bottom: 0;
	}
}
/* ==========================================
  企業情報共通
 * ========================================== */
#company-common-section4 {
  background: #f2f2f2;
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #company-common-section4 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
  #company-common-section4-layout1 > .btn {
    margin-bottom: 6vw;
  }
  #company-common-section4-layout1 > .btn:last-child {
    margin-bottom: 0;
  }
}
/* ==========================================
  企業情報
 * ========================================== */
#company-section1 {
  padding-top: 70px;
  padding-bottom: 140px;
}
#company-section1-layout1 {
  margin-top: 85px;
}
#company-section1-layout1-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  #company-section1 {
    padding-top: 7vw;
    padding-bottom: 17vw;
  }
	#company-lead-area > * {
		width: 100%;
		margin-right: 0;
		max-width: inherit;
	}
	#company-lead-area .video-wrap {
		margin-top: 20px;
	}
  #company-section1-layout1 {
    display: none;
  }
  #company-section1-layout1-sp {
    display: block;
    margin-top: 50px;
  }
}
/* ==========================================
  ご挨拶
 * ========================================== */
#message-section1 {
  padding-top: 70px;
  padding-bottom: 120px;
}

#message-section1-layout1 {
  flex-wrap: nowrap;
  margin-top: 40px;
}
#message-section1-layout1 > .el-left {
  width: 30%;
  margin-right:5.5%;
}
#message-section1-layout1 > .el-right {
  width:64.5%;
}
#message-section1-pic1 {
  width: 100%;
  max-width: 328px;
}
#message-section1-text2 {
    margin-bottom: 35px;
}
#message-section1-text3 {
  text-align: right;
  padding-right: 20px;
  line-height: 2;
  font-size:1.6rem;
  margin-bottom: 5px;
}
#message-section1-pic2 {
    width: 175px;
    margin-left: auto;
    margin-right: 0;
}
@media screen and (max-width: 767px) {
  #message-section1 {
    padding-top: 10vw;
    padding-bottom: 17vw;
  }
  #message-section1-text1 {
    text-align: left;
  }
  #message-section1-layout1 {
    flex-wrap: wrap;
    margin-top: 7vw;
  }
  #message-section1-layout1 > .el-left, #message-section1-layout1 > .el-right {
    width: 100%;
    margin-right: 0;
  }
  #message-section1-layout1 > .el-left {
    margin-bottom: 8vw;
  }
  #message-section1-pic1 {
    max-width: none;
  }
  #message-section1-text2 {
    margin-bottom: 9vw;
  }
  #message-section1-text3 {
    padding-right: 0;
    text-align: center;
    margin-bottom: 15px;
  }
  #message-section1-pic2 {
    margin-left: auto;
    margin-right: auto;
  }
  
  
  

}
/* ==========================================
  企業情報
 * ========================================== */
#business-section1 {
  padding-top: 70px;
  padding-bottom: 70px;
}
#business-section1 > .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#business-section1-layout1 {
  margin-top: 40px;
}
#business-section1-layout1 > div {
  margin-bottom: 55px;
  background: #ffffff;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#business-section1-layout1 > div > .thumb {
  width: 100%;
}
#business-section1-layout1 > div > .inner {
  padding: 40px 5.5%;
}
#business-section1-layout1 > div > .inner h3 {
  margin-bottom: 15px;
}
#business-section1-layout1 > div > .inner p {
  margin-bottom: 0;
}
#business-section1-layout1 > div > .inner p.link {
	margin-top: 1em;
}
#business-section1-layout1 > div > .inner p.link a {
	color: #CB0033;
	font-size: 1.6rem;
	padding-right: 2.2em;
	position: relative;
}
#business-section1-layout1 > div > .inner p.link a span:not(.circle) {
	display: inline-block;
	padding-bottom: 3px;
	position: relative;
}
#business-section1-layout1 > div > .inner p.link a span:not(.circle)::before {
	background-color: #CB0033;
	content: "";
	height: 1px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 0;
	transition: .3s ease;
}
#business-section1-layout1 div.inner .link .circle {
	width: 20px;
	height: 20px;
	position: absolute;
	color: #cb0033;
	border: 1.5px solid #cb0033;
	background: #ffffff;
	top: calc(50% - 10px);
	right: 5%;
	border-radius: 50%;
}
#business-section1-layout1 div.inner .link .circle::after {
	content: '\e5cc';
	font-family: 'Material Icons';
	color: #cb0033;
	font-size: 1.8rem;
	line-height: 1;
	display: block;
	position: absolute;
	top: calc(50% - 8.5px);
	left: calc(50% - 8.5px);
}
@media screen and (max-width: 767px) {
  #business-section1 {
    padding-top: 10vw;
    padding-bottom: 21vw;
  }
  #business-section1 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #business-section1-layout1 {
    margin-top: 8vw;
    flex-wrap: wrap;
  }
  #business-section1-layout1 > div {
    width: 100%;
    margin-bottom: 8vw;
    margin-right: 0;
    max-width: none;
  }
  #business-section1-layout1 > div:last-child {
    margin-bottom: 0;
  }
  #business-section1-layout1 > div > .inner {
    padding: 25px 6%;
  }
  #business-section1-layout1 > div > .inner h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  #business-section1-layout1 > div > .inner p {
    font-size: 1.5rem;
	}
}
@media screen and (min-width: 766px) {
	#business-section1-layout1 > div > .inner p.link a:hover span:not(.circle)::before {
		opacity: 1;
	}
	#business-section1-layout1 div.inner .link a:hover .circle {
		-webkit-animation-name: btnicon;
		animation-name: btnicon;
		-webkit-animation-duration: .4s;
		animation-duration: .4s;
		-webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
		animation-timing-function: cubic-bezier(.65, .01, .3, .97);
	}
}
/* ==========================================
  会社概要
 * ========================================== */
#about-section1 {
  padding-top: 45px;
  padding-bottom: 135px;
}
#about-section1-layout1 > .el-left {
  width: 40%;
  margin-right: 7.9%;
  max-width: 440px;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
#about-section1-layout1 > .el-right {
  width: 52%;
}
#about-section2 {
  width: 100%;
  height: 500px;
  position: relative;
  margin-bottom: 70px;
}
#about-section2 > .bg {
  overflow: hidden;
  height: 500px;
  width: 100%;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
}
#about-section2 > .bg > iframe {
  margin-top: -150px;
}
#about-section2-box {
  width: 440px;
  position: absolute;
  top: -45px;
  left: 0;
  background: white;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  z-index: 1;
  padding: 35px 35px 25px;
}
.common-table {
  width: 100%;
}
.common-table th {
  width: 25%;
  padding: 32px 3% 32px 3%;
  border-bottom: 1px solid #b2b2b2;
  text-align: left;
  font-weight: bold;
  color: #cb0033;
  font-size: 1.6rem;
  line-height: 2;
}
.common-table tr:first-child th {
  border-top: 1px solid #b2b2b2;
}
.common-table td {
  width: 75%;
  padding: 32px 3% 32px 3%;
  border-bottom: 1px solid #b2b2b2;
  font-size: 1.6rem;
  line-height: 2;
}
.common-table tr:first-child td {
  border-top: 1px solid #b2b2b2;
}
.common-table td .dot-list {}
.common-table td .dot-list > li {
  text-indent: -1em;
  padding-left: 1em;
}
.common-table td .dot-list > li:before {
  content: '●';
  color: #c00033;
  font-size: 1.0rem;
  vertical-align: 2px;
  margin-right: 0.5rem;
}
#about-section2-box .mid {
  display: flex;
  align-items: center;
  color: #cb0033;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 12px;
}
#about-section2-box .mid:after {
  content: "";
  flex-grow: 1;
  height: 1px;
  display: block;
}
#about-section2-box .mid:after {
  margin-left: 0.75em;
  background: #cccccc;
}
#about-section2-box .company-name {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 2px;
}
#about-section2-box .address {
  margin-bottom: 0;
  color: #4d4d4d;
}
.google-maps-link {
	margin-top: 14px;
	text-align: right;
}
.google-maps-link a {
	text-decoration: underline;
	transition: all .3s ease;
}
.google-maps-link a:hover {
	color: #cb0033;
}
@media screen and (max-width: 767px) {
  #about-section1 {
    padding-top: 8vw;
    padding-bottom: 27vw;
  }
  #about-section1-layout1 > .el-left, #about-section1-layout1 > .el-right {
    display: block;
    width: 100%;
    margin-right: 0;
  }
  #about-section1-layout1 > .el-left {
    margin-bottom: 14vw;
        max-width: none;
  }
  .common-table, .common-table tbody, .common-table tr, .common-table th, .common-table td {
    display: block;
    width: 100%;
  }
  .common-table th {
    border-bottom: none;
  }
  .common-table tr:first-child td {
    border-top: none;
  }
  .common-table th {
    padding: 15px 5% 0;
    font-size: 1.5rem;
    margin-bottom: 2px;
  }
  .common-table td {
    padding: 0 5% 15px;
    font-size: 1.5rem;
  }
  #about-section2-box {
    left: 0;
    right: 0;
    width: 88%;
    margin-right: auto;
    margin-left: auto;
    top: -60px;
    padding: 20px 5%;
  }
  #about-section2-box .mid {
    font-size: 1.5rem;
    margin-bottom: 8px;
  }
  #about-section2-box .company-name {
    font-size: 1.5rem;
  }
  #about-section2-box .address {
    font-size: 1.5rem;
  }
  #about-section2 {
    margin-bottom: 21vw;
  }
}
/* ==========================================
  お問い合わせページ
 * ========================================== */
#contact-section1 {
  padding-top: 60px;
  padding-bottom: 60px;
}
#contact-layout1 {
  margin-top: 50px;
}
#contact-layout1 > div {
  width: 31%;
  /* max-width: 332px; */
  margin-right: 3.5%;
  /* box-shadow:10px 10px 15px rgba(0,0,0,0.15); */
  filter: drop-shadow(10px 10px 15px rgba(0, 0, 0, 0.15));
}
#contact-layout1 > div:last-child {
  margin-right: 0;
}
#contact-section2 {
  padding-top: 60px;
  padding-bottom: 60px;
}
#contact-section3 {
  padding-top: 60px;
  padding-bottom: 120px;
}
#contact-section2 .hr-black, #contact-section3 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#contact-section3 .form-box {
  margin-bottom: 50px;
}
#contact-section3-text2 {
  margin-top: 20px;
}
.contact-complete #contact-layout1 {
  margin-top: 0;
}
.contact-confirm #contact-section2, .contact-complete #contact-section2 {
  padding-bottom: 120px;
  padding-top: 20px;
}
.contact-confirm #contact-section2 .form-box {
  margin-top: 50px;
}
.contact-complete #contact-section2 .common-title2 {
  color: #cb0033;
}
.form-box {
  background: #ffffff;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
}
.form-box > .tr {
  border-bottom: 1px solid #ebebeb;
  display: flex;
  align-items: flex-start;
}
.form-box > .tr:last-child {
  border-bottom: none;
}
.form-box > .tr > .th, .form-box > .tr > .td {
  padding: 35px 60px 35px 3%;
  height: 100%;
  font-size: 1.6rem;
}
.form-box > .tr > .th {
  width: 24%;
  line-height: 2;
  font-weight: bold;
  color: #4d4d4d;
  position: relative;
}
.form-box > .tr > .th .custom-required {
  font-size: 1.5rem;
  float: right;
  color: #cb0033;
}
.form-box > .tr > .th.required:after {
  content: '【必須】';
  font-size: 1.5rem;
  color: #cb0033;
  display: block;
  position: absolute;
  top: 35px;
  right: 0;
  z-index: 1;
}
html[lang=en] .form-box > .tr > .th.required {
  padding-right: 95px;
}

html[lang=en] .form-box > .tr > .th.required:after {
  content:'【Required】';
}



.form-box > .tr > .td {
  width: 76%;
  padding-left: 4.5%;
}
.form-box > .tr > .td .notif {
  font-size: 1.4rem;
  display: block;
  margin-top: 7px;
  color: #666666;
  line-height: 1.8;
  text-indent: -1.25em;
  padding-left: 1.25em;
}
.form-box > .tr > .td .notif:before {
  content: '※';
  margin-right: 0.25em;
}

html[lang=en] .form-box > .tr > .td .notif:before {
  content:'*';
}

.form-textarea {
  width: 100%;
  height: 180px;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  padding: 5px 8px;
}
.form-text {
  width: 100%;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  padding: 5px 8px;
}
.form-radio-wrap {}
.form-radio-wrap.horizontal {
  font-size: 0;
  width: 100%;
  position: relative;
}
.form-radio-wrap > .radio {
  font-size: 1.6rem;
  margin-bottom: 7px;
  position: relative;
}
.form-radio-wrap > .radio:last-child {
  margin-bottom: 0;
}
.form-radio-wrap.horizontal > .radio {
  display: inline-block;
  margin-right: 50px;
}
.form-radio-wrap.horizontal > .radio:last-child {
  margin-right: 0;
}
.form-radio-wrap .radio input[type="radio"],
.form-radio-wrap .radio input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}
.form-radio-wrap .radio input[type="radio"] + .radio-label,
.form-radio-wrap .radio input[type="checkbox"] + .radio-label {
  cursor: pointer;
}
.form-radio-wrap .radio input[type="radio"] + .radio-label:before,
.form-radio-wrap .radio input[type="checkbox"] + .radio-label:before {
  content: '';
  background: #f5f5f5;
  border-radius: 100%;
  border: 1px solid #d1d1d1;
  display: inline-block;
  width: 18px;
  height: 18px;
  position: relative;
  top: 3px;
  margin-right: 0.75em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
}
.form-radio-wrap .radio input[type="radio"]:checked + .radio-label:before {
  background-color: #cb0033;
  box-shadow: inset 0 0 0 4px #f5f5f5;
}
.form-radio-wrap .radio input[type="checkbox"] + .radio-label:before {
  border-radius: 0;
}
.form-radio-wrap .radio input[type="checkbox"]:checked + .radio-label:after {
	border-left: 3px solid #cb0033;
	border-bottom: 3px solid #cb0033;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	content: '';
	height: 7px;
	width: 12px;
	transform: rotate(-45deg);
	position: absolute;
	top: 6px;
	left: 2px;
}
.form-link {
  font-size: 1.6rem;
  line-height: 2;
  text-align: left;
  margin-bottom: 0;
  color: #000000;
  text-indent: -1.6em;
  padding-left: 1.6em;
}
.form-link > a {
  color: #000000;
  text-decoration: underline;
  transition: color 0.3s ease;
}
.form-link > a:hover {
  color: #cb0033;
  text-decoration: none;
}
.form-link:before {
  content: '\e5cc';
  font-family: 'Material Icons';
  color: #cb0033;
  font-size: 1.6rem;
  margin-right: 0.5em;
}
.form-link:before {
  content: '\e5cc';
  font-family: 'Material Icons';
  color: #cb0033;
  font-size: 2rem;
  margin-right: 0.3em;
  line-height: 1;
  vertical-align: -4px;
}
.contact-btnarea {
  margin-top: 55px;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.contact-btnarea > .btn {
  width: 35%;
  max-width: 378px;
  background: #ffffff;
}
.contact-btnarea > .btn-submit {}
.contact-btnarea > .btn > a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  height: 100%;
  color: #999999;
  position: relative;
  padding: 7px 10%;
  border: 2px solid #cccccc;
  transition: background .3s ease;
}
.contact-btnarea > .btn-submit > a {
  color: #cb0033;
  border-color: #cb0033;
}
.contact-btnarea > .btn-submit .label-en {
  color: #333333;
  font-size: 1.4rem;
  line-height: 1.5;
  margin-bottom: 3px;
  display: block;
}
.contact-btnarea > .btn .label {
  font-size: 2.0rem;
  line-height: 1.5;
  font-weight: bold;
  display: block;
}
.contact-btnarea > .btn-submit .circle {
  width: 20px;
  height: 20px;
  position: absolute;
  color: #cb0033;
  border: 1.5px solid #cb0033;
  background: #ffffff;
  top: calc(50% - 10px);
  right: 4%;
  border-radius: 50%;

}
.contact-btnarea > .btn-submit > a:hover .circle {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}

.contact-btnarea > .btn-submit .circle:after {
  content: '\e5cc';
  font-family: 'Material Icons';
  color: #cb0033;
  font-size: 1.8rem;
  line-height: 1;
  display: block;
  position: absolute;
  top: calc(50% - 8.5px);
  left: calc(50% - 8.5px);
}

.contact-btnarea > .btn-back .circle {
  width: 20px;
  height: 20px;
  position: absolute;
  color: #b2b2b2;
  border: 1.5px solid #b2b2b2;
  background: #ffffff;
  top: calc(50% - 10px);
  left: 4%;
  border-radius: 50%;
}
.contact-btnarea > .btn-back > a:hover .circle {
  -webkit-animation-name: btnicon2;
  animation-name: btnicon2;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}

.contact-btnarea > .btn-back .circle:after {
  content: '\e5cb';
  font-family: 'Material Icons';
  color: #b2b2b2;
  font-size: 1.8rem;
  line-height: 1;
  display: block;
  position: absolute;
  top: calc(50% - 8.5px);
  left: calc(50% - 8.5px);
}
/*
.contact-btnarea > .btn-submit > a:hover {
  background:#cb0033;
}
*/
.contact-btnarea > .btn-submit > a:before {
  background: #cb0033 !important;
}
.contact-btnarea > .btn-back > a:before {
  background: #cccccc !important;
}
.contact-btnarea > .btn-submit > a:hover .label-en, .contact-btnarea > .btn-back > a:hover .label-en {
  color: #ffffff;
}
.contact-btnarea > .btn-submit > a:hover .label, .contact-btnarea > .btn-back > a:hover .label {
  color: #ffffff;
}
.contact-confirm .contact-btnarea {
  margin-top: 70px;
}
.contact-btnarea > .btn-sm {
  max-width: 250px;
}
.contact-btnarea > .btn:not(:first-child) {
  margin-left: 7.5%;
}
.contact-btnarea > .btn-sm .label {
  font-size: 1.8rem;
}
.contact-btnarea > .btn-sm > a {
  min-height: 70px;
}
.approval-check {
	width: 100%;
	margin-bottom: 1em;
}
.approval-check .radio {
	display: inline-block;
}
.approval-check ~ .btn-submit {
	margin-left: 0 !important;
}
.approval-check ~ .btn-submit a.disabled {
	background: #f5f5f5;
	border-color: #d1d1d1;
	color: #b2b2b2;
	pointer-events: none;
}
.approval-check ~ .btn-submit a.disabled .circle {
	border-color: #d1d1d1;
}
.approval-check ~ .btn-submit a.disabled .circle::after {
	color: #d1d1d1;
}
.contact-msgbox {
  margin-top: 70px;
  border: 3px solid #cb0033;
  padding: 25px 3%;
  text-align: center;
  background: #ffffff;
}
.contact-msgbox.error {
  border-color: #cb0033;
}
.contact-msgbox p {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: bold;
}
.contact-msgbox p:last-child {
  margin-bottom: 0;
}
.contact-msgbox.error p {
  color: #cb0033;
}
.contact-error #contact-section1 {
  padding-bottom: 10px;
}
.errmsg {
  font-size: 1.7rem;
  line-height: 1.8;
  color: #cb0033;
  margin-bottom: 12px;
  font-weight: bold;
  text-indent: -1.4em;
  padding-left: 1.4em;
}
.errmsg:before {
  content: '\e000';
  font-family: 'Material Icons';
  color: #cb0033;
  font-size: 2.2rem;
  margin-right: 0.4em;
  vertical-align: -6px;
  font-weight: normal;
  margin-left: -0.1em;
}
#contact-section2-text2 {
  margin-top: 60px;
}
#contact-section2 .common-notif {
  font-size: 1.6rem;
  margin-bottom: 0;
}
#contact-section2-text3 {
  margin-top: 30px;
  margin-bottom: 0;
}
#contact-backlink {
  margin-top: 40px;
  font-size: 1.5rem;
  margin-bottom: 0;
}
#contact-backlink:before {
  content: '\e5cb';
  font-family: 'Material Icons';
  margin-right: 0.3em;
  color: #cb0033;
  font-weight: bold;
  font-size: 1.8rem;
  vertical-align: -3px;
}
#contact-backlink > a {
  text-decoration: underline;
  color: #000000;
  transition: color .3s ease;
}
#contact-backlink > a:hover {
  color: #cb0033;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
	.checklist-col2 {
		display: flex;
		flex-wrap: wrap;
	}
	.checklist-col2 > div {
		width: calc((100% - 1em) / 2);
		margin-right: 1em;
	}
	.checklist-col2 > div:nth-of-type(2n) {
		margin-right: 0;
	}
}

@media screen and (max-width: 767px) {
  #contact-section1 {
    padding-top: 5vw;
    padding-bottom: 7vw;
  }
  #contact-layout1 {
    margin-top: 9vw;
    text-align: center;
  }
  #contact-section2 {
    padding-top: 9vw;
    padding-bottom: 7vw;
  }
  #contact-section3 {
    padding-top: 9vw;
    padding-bottom: 18vw;
  }
  #contact-section2 .hr-black, #contact-section3 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #contact-section3 .form-box {
    margin-bottom: 11vw;
  }
  #contact-section3-text2 {
    margin-top: 5vw;
  }
  .form-box {
  }
  .form-box > .tr {
    display: block;
  }
  .form-box > .tr > .th, .form-box > .tr > .td {
    width: 100%;
    display: block;
    height: auto;
  }
  .form-box > .tr > .th {
    padding: 6vw 6% 5vw;
    font-size: 1.6rem;
  }
  .form-box > .tr > .td {
    padding: 0 7% 6vw;
    font-size: 1.5rem;
  }
  .form-radio-wrap .radio input[type="radio"] + .radio-label span,
  .form-radio-wrap .radio input[type="checkbox"] + .radio-label span {
    display: inline-block;
    width: calc(100% - 34px);
    font-size: 1.5rem;
  }
  .form-box > .tr > .td .notif {
    font-size: 1.3rem;
    margin-top: 13px;
  }
  .form-radio-wrap.horizontal > .radio {
    margin-right: 6%;
    width: 47%;
  }
  .form-link {
    font-size: 1.5rem;
    text-indent: -1.5rem;
    padding-left: 1em;
  }
  .form-link:before {
    font-size: 1.8rem;
  }
  .contact-btnarea {
    margin-top: 8vw;
  }
  .contact-btnarea {
    display: block;
  }
  .contact-btnarea > .btn {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .contact-btnarea > .btn-submit .label-en {
    font-size: 1.3rem;
  }
  .contact-btnarea > .btn .label {
    font-size: 1.8rem;
  }
  .contact-btnarea > .btn > a {
    min-height: 80px;
  }
  .contact-confirm #contact-section2, .contact-complete #contact-section2 {
    padding-bottom: 18vw;
    padding-top: 9vw;
  }
  .contact-confirm #contact-section2 .common-title2, .contact-complete #contact-section2 .common-title2 {
    font-size: 4.8vw;
    letter-spacing: 0;
  }
  .contact-confirm #contact-section2 .form-box {
    margin-top: 9vw;
  }
  .contact-confirm .contact-btnarea {
    margin-top: 14vw;
  }
  .contact-btnarea > .btn-sm {
    width: 46%;
    margin-right: 6%;
    display: inline-block;
  }
  .contact-btnarea > .btn-sm:nth-child(2n) {
    margin-right: 0;
    margin-left: 0;
  }
  .contact-btnarea > .btn-sm .label {
    font-size: 1.4rem;
  }
  .contact-btnarea > .btn-sm > a {
    min-height: 50px;
  }
  .contact-btnarea > .btn-sm .circle {
    width: 15px;
    height: 15px;
    border-width: 1px;
    top: calc(50% - 7.5px);
  }
  .contact-btnarea > .btn-sm.btn-submit .circle {
    right: 5%;
  }
  .contact-btnarea > .btn-sm.btn-back .circle {
    left: 5%;
  }
  .contact-btnarea > .btn-sm .circle:after {
    font-size: 1.4rem;
    line-height: 1;
    top: calc(50% - 7px);
    left: calc(50% - 7px);
  }
	.approval-check .radio {
		width: 100%;
	}
  .contact-msgbox {
    border-width: 2px;
    margin-top: 11vw;
    padding: 15px 6%;
  }
  .contact-msgbox p {
    font-size: 1.6rem;
    text-align: left;
  }
  .contact-error #contact-section1 {
    padding-bottom: 5vw;
  }
  .errmsg {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .errmsg:before {
    font-size: 1.8rem;
    vertical-align: -4px;
    margin-left: 0;
  }
  .form-box > .tr > .th .custom-required {
    float: none;
    color: #cb0033;
    display: block;
    font-size: 1.5rem;
    text-align: right;
  }
  .contact-complete #contact-section2 {
    padding-bottom: 18vw;
    padding-top: 9vw;
  }
  #contact-section2-text2 {
    margin-top: 9vw;
  }
  #contact-section2 .common-notif {
    font-size: 1.5rem;
  }
  #contact-section2-text3 {
    margin-top: 7vw;
  }
  #contact-backlink {
    margin-top: 9vw;
  }
  #contact-layout1 > div {
    width:32.625%;
    filter: drop-shadow(1.1vw 1.1vw 2vw rgba(0, 0, 0, 0.15));
  }
  #contact-layout1 > div:last-child {
    width: 27.75%;
  }
  .form-box > .tr > .th.required:after {
    top: 6vw;
    right: 6%;
  }
  #contact-section2-text2 .textlink {
    display: block;
  }
  html[lang=en] .form-box > .tr > .th.required {
      padding-right: 120px;
  }
}

/* ==========================================
  お問い合わせページ
 * ========================================== */
#download-section1 {
  padding-top: 60px;
}
#download-section2 {
  padding-top: 30px;
  padding-bottom: 120px;
}
#download-section3 {
  padding-top: 60px;
  padding-bottom: 120px;
}
#download-section3-text2 {
	margin-top: 30px;
	margin-bottom: 0;
}
#download-section3 .layout-btn {
	margin: 40px 0 60px;
}
#download-section3 .common-notif {
	font-size: 1.6rem;
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	#download-section1 {
		padding-top: 5vw;
	}
	#download-section2 {
		padding-top: 30px;
		padding-bottom: 18vw;
	}
	#download-section3 {
		padding-top: 5vw;
		padding-bottom: 18vw;
	}
  
  #download-section1 .common-lead1 .textlink {
    display: block;
  }
}

/* ==========================================
  共通フォーマットページ
 * ========================================== */
.common-main .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
.common-main .indent {
  padding-left: 2em;
  display: inline-block;
}
.common-main .dot-list:not(:last-child) {
  font-size: 1.6rem;
  margin-bottom: 0.75em;
}
.common-main .dot-list > li {
  font-size: 1.6rem;
  line-height: 2;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 3px;
}
.common-main .dot-list > li:before {
  content: '●';
  font-size: 1rem;
  vertical-align: 2px;
  margin-right: 0.75rem;
  color: #cb0033;
}
.common-main .common-title2 {
  width: 88%;
  margin-left: auto;
  margin-right: auto;
}
.common-main sup {
	font-size: .85em;
	vertical-align: top;
}
@media screen and (max-width: 767px) {
  .common-main .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  .common-main .indent {
    padding-left: 1em;
  }
  .common-main .dot-list > li {
    font-size: 1.5rem;
    margin-bottom: 2px;
  }
}

/* ==========================================
  サイトマップ
 * ========================================== */
#sitemap-section1 {
  padding-top: 70px;
  padding-bottom: 120px;
}
#sitemap-layout1 {
  flex-wrap: nowrap;
}
#sitemap-layout1 > .el-left {
  width: 30%;
  margin-right: 4.9%;
}
#sitemap-layout1 > .el-center {
  width: 30%;
  margin-right: 4.9%;
}
#sitemap-layout1 > .el-right {
  width: 30%;
}
#sitemap-layout1 .hr {
  width: 100%;
  height: 1px;
  background: #000000;
  margin-bottom: 30px;
}
#sitemap-layout1 > .el-left .inner {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
#sitemap-layout1 > .el-left .inner > .element {
  width: 100%;
  margin-bottom: 25px;
}
#sitemap-layout1 > .el-left .inner > .element:last-child {
  margin-bottom: 0;
}
#sitemap-section1 .navmenu-l1 > a:after {
  bottom: -4px;
  height: 1px;
}
@media screen and (max-width: 767px) {
  #sitemap-section1 {
    padding-top: 8vw;
    padding-bottom: 25vw;
  }
  #sitemap-layout1 {
    display: block;
  }
  #sitemap-layout1 > .el-right .hr {
    margin-bottom: 10px;
  }
  #sitemap-layout1 > .el-left, #sitemap-layout1 > .el-center, #sitemap-layout1 > .el-right {
    width: 100%;
    margin-right: 0;
  }
  #sitemap-layout1 > .el-left, #sitemap-layout1 > .el-center {
    margin-bottom: 30px;
  }
  #sitemap-layout1 > .el-left .inner {
    display: block;
  }
  #sitemap-layout1 > .el-left .inner > .element {
    margin-bottom: 10px;
  }
  #sitemap-layout1 > .el-left .navmenu-l3 {
    display: block;
    padding-bottom: 15px;
  }
  #sitemap-layout1 > .el-left .navmenu-l3.l3-nob {
    padding-bottom: 0;
  }
  #sitemap-layout1 .navmenu-l1 {
    font-size: 1.6rem;
    letter-spacing: 0;
  }
  #sitemap-layout1 .navmenu-l1 > a {
    padding-right: 2.25em;
  }
  #sitemap-layout1 .navmenu-l2 {
    box-shadow: none;
    color: #999999;
    padding: 0;
    margin-bottom: 20px;
    cursor: default;
    font-size: 1.5rem;
  }
  #sitemap-layout1 .navmenu-l2:before {
    display: inline;
    margin-right: 0.5em;
  }
  #sitemap-layout1 .navmenu-l2:after {
    display: none;
  }
  #sitemap-layout1 .navmenu-l3 > li {
    font-size: 1.4rem;
  }
}

/* ==========================================
  ダウンロード
 * ========================================== */
.btn-download {
  max-width:520px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.btn-download > a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  height: 100%;
  color:  #cb0033;
  position: relative;
  padding: 7px 10%;
  border: 2px solid #cb0033;
  transition: background .3s ease;
  background: #ffffff;
}
.btn-download .label {
    font-size: 2.0rem;
    font-weight: bold;
}

.btn-download .circle {
  width: 20px;
  height: 20px;
  position: absolute;
  color: #cb0033;
  border: 1.5px solid #cb0033;
  background: #ffffff;
  top: calc(50% - 10px);
  right: 4%;
  border-radius: 50%;

}
.btn-download > a:hover .circle {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}

.btn-download .circle:after {
  content: '\e5cc';
  font-family: 'Material Icons';
  color: #cb0033;
  font-size: 1.8rem;
  line-height: 1;
  display: block;
  position: absolute;
  top: calc(50% - 8.5px);
  left: calc(50% - 8.5px);
}
.btn-download .label .icon {
    width: 51px;
    vertical-align: middle;
    margin-left: 0.5em;
}
.btn-download > a:hover {
  color:#fff;
}
.btn-download > a:before {
    background: #cb0033 !important;
}
#download-backlink {
  font-size: 1.5rem;
  margin-bottom: 0;
}
#download-backlink:before {
  content: '\e5cb';
  font-family: 'Material Icons';
  margin-right: 0.3em;
  color: #cb0033;
  font-weight: bold;
  font-size: 1.8rem;
  vertical-align: -3px;
}
#download-backlink > a {
  text-decoration: underline;
  color: #000000;
  transition: color .3s ease;
}
#download-backlink > a:hover {
  color: #cb0033;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
	.btn-wrap-col2 {
		display: flex;
		flex-wrap: wrap;
	}
	.btn-wrap-col2 > div {
		width: calc( (100% - 5.4%) / 2 );
		max-width: inherit;
		margin: 0;
	}
	.btn-wrap-col2 > div:nth-of-type(2n) {
		margin-left: 5.4%;
	}
	.btn-wrap-col2 > div:nth-of-type(n+3) {
		margin-top: 40px;
	}
	.btn-wrap-col2 > div:first-of-type {
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
  .btn-download .label {
      font-size: 1.8rem;
  }
  .btn-download > a {
    min-height:80px;
    
  }
	.btn-wrap-col2 > div + div {
		margin-top: 20px;
	}
  
}

/* ==========================================
  フッタ
 * ========================================== */
#footer-section1 {
  /* background: linear-gradient(90deg, #ebebeb 0%, #ebebeb 50%, #f2f2f2 50%, #f2f2f2 100%); */
  background: #F2F2F2;
}
#footer-section2 {
  background: #ae0033;
}
#footer-layout1 {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}
#footer-layout1 > .el-left {
  width: 190px;
  min-width: 190px;
  background: #F2F2F2;
  padding-top: 50px;
  padding-bottom: 40px;
  padding-right: 40px;
}
#footer-layout1 > .el-right {
  width: 100%;
  background: #f2f2f2;
  padding-top: 50px;
  padding-bottom: 5px;
  padding-left: 2%;
  padding-right: 20px;
}
#footer-company-logo {
  max-width: 150px;
  width: 100%;
  margin-left: 0;
  margin-right: auto;
  margin-bottom: 115px;
}
#footer-text1 {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 0;
}
#footer-navmenu1 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 10px;
}
#footer-navmenu2 {
  border-top: 1px solid #d1d1d1;
  padding-top: 40px;
}
.footer-menu {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  color: #333333;
  margin-bottom: 10px;
}
.footer-submenu {
    color: #ae0033;
    font-weight: bold;
}
.footer-menu-home {
  margin-bottom: 20px;
  margin-top: 2px;
}

.footer-menu > a {
  color: #333333;
  transition: all .3s ease;
}
.footer-menu > a:hover {
  color: #cb0033;
}
.footer-menu + ul + .footer-menu {
	margin-top: 20px;
}
div#footer-navmenu1 > div {
  padding-right: 10px;
  margin-bottom: 20px;
}
#footer-navmenu1 > div:nth-child(1) {
  width: 28%;
}
#footer-navmenu1 > div:nth-child(2) {
width: 33%;
}
#footer-navmenu1 > div:nth-child(3) {
  width: 15%;
}
#footer-navmenu1 > div:nth-child(4) {
  width: 24%;
}

#footer-navmenu1 ul {}
#footer-navmenu1 ul > li {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #333333;
  margin-bottom: 5px;
  text-indent: -1.25em;
  margin-left: 1.25em;
}
#footer-navmenu1 ul > li:last-child {
  margin-bottom: 0;
  padding-right: 0;
}
#footer-navmenu1 ul > li > a {
  color: #333333;
  transition: all .3s ease;
}
#footer-navmenu1 ul > li > a:hover {
  color: #cb0033;
}
#footer-navmenu1 ul > li:before {
  content: '・';
  color: #cb0033;
  margin-right: 0.25em;
}
#footer-navmenu1 ul > li small {
  font-size: 1.1rem;
}
#footer-navmenu2 ul {
  font-size: 0;
  position: relative;
}
#footer-navmenu2 ul > li {
  font-size: 1.3rem;
  line-height: 1.8;
  margin-right: 30px;
  margin-bottom: 10px;
  display: inline-block;
  vertical-align: top;
}
#footer-navmenu2 ul > li:last-child {
  margin-right: 0;
}
#footer-navmenu2 ul > li:before {
  content: '・';
  color: #cb0033;
  margin-right: 0.25em;
}
#footer-navmenu2 ul > li > a {
  color: #333333;
  transition: all .3s ease;
}
#footer-navmenu2 ul > li > a:hover {
  color: #cb0033;
}
#footer-navmenu3 {
  text-align: right;
  border-top: 1px solid #D1D1D1;
  padding-top: 30px;
  padding-bottom: 30px;
}
#footer-navmenu3 ul {
  font-size: 0;
  position: relative;
}
#footer-navmenu3 ul > li {
  font-size: 1.3rem;
  line-height: 1.8;
  margin-right: 30px;
  display: inline-block;
  vertical-align: top;
}
#footer-navmenu3 ul > li:last-child {
  margin-right: 0;
}
#footer-navmenu3 ul > li:before {
  content: '・';
  color: #cb0033;
  margin-right: 0.25em;
}
#footer-navmenu3 ul > li > a {
  color: #333333;
  transition: all .3s ease;
}
#footer-navmenu3 ul > li > a:hover {
  color: #cb0033;
}
#footer-navmenu3 ul > li .icon {
    width: 51px;
    vertical-align: -2px;
    margin-left: 8px;
}

#footer-section2 {
  background: #ae0033;
  padding-top: 20px;
  padding-bottom: 20px;
}
.copyright {
  color: #ffffff;
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 0;
}
#footer-section3 {
  background:#F2F2F2;
}


#gototop {
  right: 20px;
  bottom: 10px;
  position: fixed;
  width: 40px;
  z-index: 2;
  display: none;
}
#gototop > a {
  transition: all .3s ease;
}
#gototop > a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 1120px) {
  #footer-navmenu3 {
    padding-right:20px;
  }
}


@media screen and (max-width: 767px) {
  
  #footer:not(.nopadding) {
    padding-bottom: 18vw;
  }
  
  #gototop {
      right: 10px;
      bottom: 20vw;
  }
  #footer-section1 {
    background: none;
  }
  #footer-section1 > .content1100 {
    padding-left: 0;
    padding-right: 0;
  }
  #footer-layout1 {
    display: block;
  }
  #footer-layout1 > .el-left {
    width: 100%;
    padding-left: 6%;
    padding-right: 6%;
    padding-top: 7vw;
    padding-bottom: 7vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #footer-company-logo {
    width: 40%;
    max-width: none;
    margin-bottom: 0;
  }
  #footer-text1 {
    font-size: 2.7vw;
    width: 42%;
  }
  #footer-navmenu1 {
    display: none;
  }
  #footer-layout1 > .el-right {
    padding-top: 8vw;
    padding-bottom: 10vw;
    padding-left: 6%;
    padding-right: 6%;
    display: none;
  }
  #footer-navmenu2 {
    border-top: none;
    padding-top: 0;
  }
  #footer-navmenu2 ul > li {
    display: block;
    font-size: 1.3rem;
  }
  #footer-navmenu2 ul > li:last-child {
    margin-bottom: 0;
  }
  #footer-section2 {
    padding-top: 6.5vw;
    padding-bottom: 6.5vw;
  }
  #footer-section3 {
      padding-top: 4vw;
      padding-bottom: 10vw;
  }
  #footer-navmenu3 {
      padding-right: 0;
      text-align: left;
      border-top: 0;
      padding-top: 0;
      padding-bottom: 0;
  }
  #footer-navmenu3 ul > li {
    margin-bottom: 15px;
    display: block;
    font-size: 1.3rem;
  }
  #footer-navmenu3 ul > li:last-child {
    margin-bottom: 0;
  }
}

/* =================================================== *

   遅延ロード風アニメーション

 * =================================================== */
@-webkit-keyframes fadeInUp2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInUp2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInUp2sp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInUp2sp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp2;
  animation-name: fadeInUp2;
}
@media screen and (max-width: 767px) {
  .fadeInUp {
    -webkit-animation-name: fadeInUp2sp;
    animation-name: fadeInUp2sp;
  }
}


/* =================================================== *

   2021-06-22 差分追加

 * =================================================== */

@media screen and (max-width: 767px) {
  #navmenu-wrap .navmenu-l2 {
    box-shadow: 3px 3px 13px rgba(0,0,0,.15);
  }
  #solutions-section4 {
      margin-bottom: 12vw;
  }
}

sub {
  font-size: 60%;
}

#winactor-section4-layout1 > div .mid span {
    position: relative;
}
#winactor-section4-layout1 > div .mid .icon {
    margin-right: 0;
    position: absolute;;
}
#winactor-section4-layout1 > div .mid .icon-pc {
  left: -70px;
}
#winactor-section4-layout1 > div .mid .icon-calc {
  left: -60px;
  top: -5px;
}
#winactor-section4-layout1 > div .mid .icon-bag  {
  left: -70px;
  top: -4px;
}
@media screen and (max-width: 900px) {
  
  #winactor-section4-layout1 > div .mid .icon-pc {
    left: -50px;
  }
  #winactor-section4-layout1 > div .mid .icon-calc {
    left: -40px
  }
  #winactor-section4-layout1 > div .mid .icon-bag  {
    left: -50px;
  }
}

@media screen and (max-width: 767px) {
  #winactor-section4-layout1 > div .mid {
    padding-right: 0;
  }
  #winactor-section4-layout1 > div .mid .icon-pc {
    left: -80%;
  }
  #winactor-section4-layout1 > div .mid .icon-calc {
    left: -70%;
  }
  #winactor-section4-layout1 > div .mid .icon-bag {
    left: -80%;
  }
  #winactor-section7-pic2 {
    margin-bottom: 8vw;
  }
}

#our-strengths-section1-layout1 > .el-left.fix {
  width: 46.1%;
}
#our-strengths-section1-layout1 > .el-left.end {
  width: 48%;
}
.layout-btn > .btn-menu .thumb img:hover {
    transform: none;
}
.layout-btn > .btn-menu > a:hover .thumb img {
    transform: scale(1.05);
}


/* =================================================== *

   2021-06-26 差分追加

 * =================================================== */
#rpa-common-section2b {
	padding-bottom: 100px;
}

.layout-btn > .btn > a.current {
  color: #cb0033;
}

@media screen and (max-width: 767px) {
  #rpa-common-section2b {
    padding-bottom: 15vw;
  }
	#rpa-common-section2b + #rpa-common-section2b {
		margin-top: 5vw;
	}
}

/* =================================================== *

   スマートグラス「realwear」

 * =================================================== */
#realwear-section1 {
    padding-top: 60px;
    padding-bottom: 135px;
}
#realwear-section1 .hr-black, #realwear-section4 .hr-black, #realwear-section5 .hr-black {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 45px;
}
#realwear-section1-layout1 > .el-left {
  width:36.8%;
  margin-right:5.9%;
}
#realwear-section1-layout1 > .el-left .common-lead1 {
    text-align: left;
    margin-top: 20px;
    margin-bottom: 0;
}
#realwear-section1-layout1 > .el-left .pic {
  margin-top:20px;
}
#realwear-section1-layout1 > .el-right {
  width:57.3%;
  max-width:630px;
  font-size: 0;
  /* padding-top: 35px; */
}
#realwear-section1-pic4 {
    width: 163px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
    margin-bottom: 65px;
}

#realwear-section1-layout1 > .el-right .item {
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  width: 50%;
  display: inline-block;
  font-size:0;
  vertical-align: top;
  background:#fff;
  position: relative;
  padding-top: 270px;
  padding-bottom: 15px;
}
#realwear-section1-layout1 > .el-right .item:nth-child(3) {
    margin-top: 60px;
}
#realwear-section1-layout1 > .el-right .item .pic {
    max-width: 260px;
    width: 83%;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
}
#realwear-section1-layout1 > .el-right .item:nth-child(2) .pic {
  top:-35px;
} 
#realwear-section1-layout1 > .el-right .item:nth-child(3) .pic {
  top:-45px;
} 



#realwear-section1-layout1 > .el-right .item .itemname {
  font-size:1.7rem;
  font-weight:bold;
  text-align: center;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  color:#000;
}

#realwear-section2-header {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 55px;
    padding-bottom: 40px;
    position: relative;
}
#realwear-section2-icon {
    position: absolute;
    width: 117px;
    top: -75px;
    bottom: auto;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}
#realwear-section2-header h2 {
    text-align: center;
    font-size: 3.0rem;
    font-weight: bold;
    margin-bottom: 0;
    color: #fff;
}
#realwear-section2-content {
  padding-top:55px;
  padding-bottom:60px;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
#realwear-section2-content:after {
  content:'';
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  bottom:-40px;
  left:0;
  right:0;
  margin-left: auto;
  margin-right:auto;
  z-index: 1;
  border-style: solid;
  border-width: 40px 40px 0 40px;
  border-color: rgba(0,0,0,.1) transparent transparent transparent;
}

#realwear-section2-layout1 > div,
#realwear-section3-layout1 > div {
  width: 30.5%;
  max-width: 332px;
  margin-right: 4.2%;
  box-shadow: 10px 15px 30px rgba(0,0,0,.2);
  background: #fff;
}

#realwear-section2-layout1 > div:nth-child(3n),
#realwear-section3-layout1 > div:nth-child(3n) {
  margin-right: 0;
}

#realwear-section2-layout1.col2 > div,
#realwear-section3-layout1.col2 > div {
  width: 47.3%;
  max-width: 520px;
  margin-right: 5.4%;
}
#realwear-section2-layout1.col2 > div:nth-child(2n),
#realwear-section3-layout1.col2 > div:nth-child(2n) {
  margin-right: 0;
}

#realwear-section2-layout1 > div .thumb,
#realwear-section3-layout1 > div .thumb {
  width: 100%;
}
#realwear-section2-layout1 > div > .inner,
#realwear-section3-layout1 > div > .inner {
  position: relative;
  padding: 30px 7%;
}
#realwear-section2-layout1.col2 > div > .inner, 
#realwear-section3-layout1.col2 > div > .inner {
  padding: 30px 6%;
}

#realwear-section2-layout1 > div .mid,
#realwear-section3-layout1 > div .mid {
  font-size: 2.0rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  color: #cb0033;
}
#realwear-section2-layout1 > div .check-list {
  margin-top: 25px;
  width: 100%;
}
#realwear-section2-layout1 > div .check-list > li {
  font-size: 1.8rem;
  line-height: 1.6;
  color: #333333;
  font-weight: bold;
  margin-bottom: 6px;
  text-indent: 0;
  padding-left: 1.5em;
  position: relative;
}
#realwear-section2-layout1.col2 > div .check-list > li {
  margin-bottom: 12px;
}

#realwear-section2-layout1 > div .check-list > li:before {
  content: url('../images/icon-check.svg');
  width: 18px;
  display: inline-block;
  margin: 0;
  position: absolute;
  left: 0;
}
#realwear-section2-layout1 > div .check-list > li:last-child {
  margin-bottom: 0;
}
#realwear-section3 {
    padding-top: 100px;
    padding-bottom: 100px;
}
#realwear-section3-layout1 {
  margin-top:40px;
}
#realwear-section3-layout1 > div .step {
  width: 76px;
  top: -38px;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
}
#realwear-section3-layout1 > div .mid {
    font-size: 2.0rem;
    margin-bottom: 15px;
}
#realwear-section3-layout1 > div > .inner {
    padding-top: 45px;
}
#realwear-section4 {
    padding-top: 80px;
    padding-bottom: 100px;
}

.common-box1 {
  background: #fafafa;
  border: 10px solid #f0f0f0;
  position: relative;
  padding: 85px 3.6% 60px;
  margin-left: auto;
  margin-right: auto;
  max-width:1200px;
  width: calc(100% - 30px);
}
.common-box1 > .abs-red {
  color: #fff;
  width: calc( 43.3% + 40px );
  position: absolute;
  z-index: 1;
  left: -40px;
  top: -55px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 40px;
  padding-bottom: 40px;
  box-shadow: 18px 18px 20px rgba(0,0,0,.2);
  text-align: center;
}
.common-box1 > .abs-red h3 {
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.2;
}
.common-box1 > .inner {
  position: relative;
  z-index: 2;
}
.common-box1 > .inner > .el-left {
  max-width: 510px;
  width: 49%;
  margin-right: 5%;
}
.common-box1 > .inner > .el-left > div:not(:first-child) {
  margin-top:30px;
}
.common-box1 > .inner > .el-left .tit {
    font-size: 2.0rem;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.6;
    color: #000000;
}
.common-box1 > .inner > .el-left > div.div-red .tit {
  color:#CB0033;
}
.common-box1 > .inner > .el-left > div ul {

}
.common-box1 > .inner > .el-left > div ul > li {
  
}
.common-box1 > .inner > .el-left > div ul > li:before {
  content: '●';
  font-size: 1rem;
  vertical-align: 2px;
  margin-right: 0.75rem;
}
.common-box1 > .inner > .el-left > div.div-red ul > li:before {
  color:#CB0033;
}
.common-box1 > .inner > .el-left > div ul > li {
    text-indent: -1.1em;
    padding-left: 1.1em;
    font-size: 1.6rem;
    line-height: 1.75;
    margin-bottom: 8px;
}
.common-box1 > .inner > .el-left > div ul > li:last-child {
  margin-bottom: 0;
}

.common-box1 > .inner > .el-right {
  width: 46%;
  background:#fff;
  box-shadow:10px 15px 30px rgba(0, 0, 0, .2);
  position: absolute;
  right: 0;
  top: -35px;
  z-index: 1;
}

.common-box1 > .inner > .el-right .cont {
    position: relative;
    padding: 50px 7.8% 30px;
}
.common-box1 > .inner > .el-right h4 {
    font-size: 2.0rem;
    line-height: 1;
    color: #fff;
    width: 180px;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    font-weight: bold;
    position: absolute;
    top: -20px;
    left: 0;
    z-index: 1;
}
.common-box1 > .inner > .el-right h4:after {
  content:'';
  display: block;
  position: absolute;
  top:0;
  right:-25px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 25px 0 0;
  border-color: #da1145 transparent transparent transparent;
}
.common-box1 > .inner > .el-right ul {
  counter-reset: number 0; 
}
.common-box1 > .inner > .el-right ul > li {
    font-size: 2.0rem;
    font-weight: bold;
    margin-bottom: 8px;
    text-indent: -1.25em;
    padding-left: 1.25em;
}
.common-box1 > .inner > .el-right ul > li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  margin-right:0.25em;
  color:#CB0033;
}

.common-box1 > .inner > .el-right ul > li:last-child {
  margin-bottom: 0;
}
#realwear-section3 .annot,
.common-box1 > .inner > .el-left > div .annot {
    font-size: 1.4rem;
    margin-bottom: 0;
    margin-top: 10px;
}
#realwear-section3 .annot::before,
.common-box1 > .inner > .el-left > div .annot:before {
  content:'※';
  color:#CB0033;
  margin-right:0.25em;
}
html[lang=en] #realwear-section3 .annot::before,
html[lang=en] .common-box1 > .inner > .el-left > div .annot:before {
  content: '*';
}

#realwear-section4-box1 {
    margin-top: 110px;
}
#realwear-section4-box2 {
    margin-top: 210px;
}
#realwear-section5 {
  padding-top:70px;
  padding-bottom:100px;
}
#realwear-section5-text2 {
    text-align: center;
}
#realwear-section5-text3 {
    margin-top: 30px;
    margin-bottom: 40px;
}
#realwear-section5-pic1 {
    max-width: 1215px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -30px;
}
#realwear-layout1 {
    padding-top: 50px;
    padding-bottom: 0;
    width: 96%;
    margin-left: auto;
    margin-right: auto;
}
#realwear-section5-text4 {
    text-align: center;
    color: #000;
    margin-bottom: 0;
    font-size: 2.0rem;
}
#realwear-section6 {
  padding-top:50px;
  padding-bottom:110px;
}
.common-box2 {
  background:#ffffff;
  padding:10px 10px 20px;
  max-width: 1200px;
  margin-left:auto;
  margin-right:auto;
  width:96%;
  box-shadow:10px 15px 30px rgba(0, 0, 0, .2);
}
.common-box2 h2 {
    color: #000000;
    font-size: 2.7rem;
    text-align: center;
    font-weight: bold;
    padding-top: 25px;
    padding-bottom: 25px;
    margin-bottom: 30px;
}
.common-box2 > .inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: nowrap;
    align-items: center;
}

.common-box2 > .inner > .el-left {
  width: 56%;
  margin-right:7%;
}
.common-box2 > .inner > .el-right {
  width:37%;
}
.common-box2 > .inner > .el-left ul > li {
  border-bottom:1px solid #D9D9D9;
  flex-wrap: nowrap;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
}
.common-box2 > .inner > .el-left ul > li:last-child {
  border-bottom:none;
}
.common-box2 > .inner > .el-left ul > li .thumb {
  margin-right:2.5%;
}
.common-box2 > .inner > .el-left ul > li .icon-pdf{
  width:102px;
  min-width:102px;
}
.common-box2 > .inner > .el-left ul > li .icon-form{
  width:96px;
  min-width:96px;
}
.common-box2 > .inner > .el-left ul > li .cont {
  width:100%;
}
.common-box2 > .inner > .el-left ul > li .cont .tit {
    font-size: 2.2rem;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 0;
    color: #000;
  max-width:340px;
}


.common-box2 > .inner > .el-left ul > li .cont .desc {
    font-size: 1.5rem;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 0;
    color: #000;
    margin-top: 6px;
  max-width:340px;
}


.common-box2 .btn {
  width: 100%;
  max-width: 378px;
  background: #ffffff;
}

.common-box2 .btn > a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  height: 100%;
  color: #999999;
  position: relative;
  padding: 7px 10%;
  border: 2px solid #cccccc;
  transition: background .3s ease;
}
.common-box2 .btn-submit > a {
  color: #cb0033;
  border-color: #cb0033;
}
.common-box2 .btn .label {
  font-size: 2.0rem;
  line-height: 1.5;
  font-weight: bold;
  display: block;
}
.common-box2 .btn-submit .circle {
  width: 20px;
  height: 20px;
  position: absolute;
  color: #cb0033;
  border: 1.5px solid #cb0033;
  background: #ffffff;
  top: calc(50% - 10px);
  right: 4%;
  border-radius: 50%;

}
.common-box2 .btn-submit > a:hover .circle {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}

.common-box2 .btn-submit .circle:after {
  content: '\e5cc';
  font-family: 'Material Icons';
  color: #cb0033;
  /* font-size: 1.8rem; */
  font-size: 1.4rem;
  line-height: 1;
  display: block;
  position: absolute;
  /* top: calc(50% - 8.5px);
  left: calc(50% - 8.5px); */
  top: calc(50% - 7px);
  left: calc(50% - 7px);
}


.common-box2 .btn-submit > a:before {
  background: #cb0033 !important;
}
.common-box2 .btn-submit > a:hover .label {
  color: #ffffff;
}
.common-box3 {
  width: 100%;
  background:#fff;
  margin-left: auto;
  margin-right:auto;
  box-shadow: 15px 15px 25px rgba(0, 0, 0, .15);
}
.common-box3 .tit {
  background:#D32550;
  color:#FFFFFF;
  font-size:2.7rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  margin-bottom:0;
}
.common-box3 .desc {
    width: 100%;
    padding: 25px 15px;
}
.common-box3 .desc > p {
  font-size:1.8rem;
  line-height: 1.5;
  font-weight:bold;
  color:#262626;
}
.common-box3 .desc > p .red {
  color:#D32550;
}
.common-box3 .desc > p .fs-10 {
  font-size:1.0rem;
  vertical-align: middle;
  margin-right: 0.75em;
}
.common-box3 .desc > *:last-child {
  margin-bottom:0;
}
@media screen and (max-width: 1130px) {
  /*
  #realwear-section2-header, #realwear-section2-content, .common-box1, #realwear-layout1, .common-box2 {
      width: calc( 100% - 30px );
  } */
}

@media screen and (max-width: 767px) {
  
  #realwear-section2-header, #realwear-section2-content, #realwear-layout1 {
    width: 96%;
  }

  #realwear-section1 {
    padding-top: 10vw;
    padding-bottom: 18vw;
  }
	#realwear-section1 .hr-black, #realwear-section5 .hr-black {
		margin-top: 15px;
		margin-bottom: 30px;
	}
  #realwear-section1-layout1 .common-title3 {
    font-size: 1.8rem;
  }
  #realwear-section1-layout1 > .el-left .common-lead1 {
    margin-top: 10px;
  }
  #realwear-section1-layout1 > .el-left,
  #realwear-section1-layout1 > .el-right {
    display: block;
    width: 100%;
    margin-right: 0;
  }
  #realwear-section1-layout1 > .el-left .pic {
    margin-top: 4vw;
  }
  #realwear-section1-layout1 > .el-left {
    margin-bottom: 7vw;
  }
  #realwear-section1-layout1 > .el-right .item {
    padding-top: 37vw;
    padding-bottom: 4vw;
  }
  #realwear-section1-layout1 > .el-right .item:nth-child(3) {
    margin-top: 40px;
  }
  #realwear-section1-pic4 {
    width: 125px;
    margin-bottom: 15vw;
  }
  #realwear-section1-layout1 > .el-right .item .itemname {
    margin-bottom: 0;
    font-size: 3vw;
  }
  #realwear-section1-layout1 > .el-right .item:nth-child(1) .pic {
    top: -5vw;
  }
  #realwear-section1-layout1 > .el-right .item:nth-child(1) .pic {
    top: -6vw;
  }
	#realwear-section2-icon {
		width: 76px;
		top: -47px;
	}
	#realwear-section2-header {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 115px;
		padding: .5em 0 0;
	}
	#realwear-section2-header h2 {
		font-size: 2.0rem;
		line-height: 1.5;
	}
  #realwear-section2-content {
      padding-top: 7vw;
      padding-bottom: 8vw;
  }
  #realwear-section2-layout1 {
    display: block;
  }
  #realwear-section2-layout1 > div, #realwear-section3-layout1 > div,
  #realwear-section2-layout1.col2 > div, #realwear-section3-layout1.col2 > div {
    max-width: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 9vw;
  }
  #realwear-section2-layout1 > div > .inner,
  #realwear-section2-layout1.col2 > div > .inner {
      padding: 6vw 5% 7vw;
  }
  #realwear-section2-layout1 > div .mid, #realwear-section3-layout1 > div .mid {
    font-size: 1.9rem;
  }
  #realwear-section2-layout1 > div .check-list > li {
    font-size: 1.7rem;
  }
  #realwear-section2-layout1 > div .check-list {
    margin-top:15px;
  }
  #realwear-section2-content:after {
    border-width: 25px 25px 0 25px;
    bottom: -25px;
  }
  
  #realwear-section3 {
    padding-top: 14vw;
    padding-bottom: 10vw;
  }
  #realwear-section3-layout1 {
    margin-top: 6vw;
  }
  #realwear-section3-text1 {
    text-align: left;
  }
  #realwear-section3-layout1 > div > .inner {
      padding: 8vw 5% 8vw;
  }
  #realwear-section3-layout1 > div > .inner {
      padding: 11vw 5% 6vw;
  }
  #realwear-section2-layout1 > div:last-child, #realwear-section3-layout1 > div:last-child {
    margin-bottom: 0;
  }
  #realwear-section4 {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
  #realwear-section4 .hr-black {
    margin-bottom: 0;
  }
  .common-box1 {
    width: 100%;
    border-width: 4px;
    padding: 17vw 5%;
    padding-bottom: calc( 200px + 45vw )
  }
  .common-box1 > .abs-red {
      left: -4px;
      width: 88%;
      text-align: center;
      padding: 7vw 3%;
      top: -11vw;
  }
  .common-box1 > .abs-red h3 {
    font-size: 1.8rem;
  }
  .common-box1 > .inner > .el-left,
  .common-box1 > .inner > .el-right {
    max-width: none;
    width: 100%;
    margin-right: 0;
    display: block;
  }
  .common-box1 > .inner > .el-right {
      top: auto;
      bottom: auto;
      margin-top: 7vw;
  }
  .common-box1 > .inner > .el-left .tit {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .common-box1 > .inner > .el-right h4 {
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 0;
    padding: 5px;
    width: 40%;
  }
  .common-box1 > .inner > .el-left > div ul > li {
    font-size: 1.5rem;
  }
  .common-box1 > .inner > .el-left > div:not(:first-child) {
    margin-top: 8vw;
  }
  .common-box1 > .inner > .el-right h4:after {
    right: -20px;
    border-width: 37px 20px 0 0;
  }
  .common-box1 > .inner > .el-right .cont {
      position: relative;
      padding: 10vw 9% 7vw;
  }
  .common-box1 > .inner > .el-right ul > li {
    font-size: 1.5rem;
  }
  .common-box1 > .inner > .el-left > div .annot {
    font-size: 1.3rem;
  }
  #realwear-section4-box1 {
    margin-top: 20vw;
  }
  #realwear-section4-box2 {
    margin-top: 32vw;
  }
  #realwear-section5 {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  #realwear-section5-text2 {
    text-align: left;
    font-size: 1.8rem;
  }
  #realwear-section5-text3 {
    margin-top: 5vw;
    margin-bottom: 7vw;
  }
  #realwear-layout1 {
    padding: 8vw 5% 10vw;
  }
  #realwear-section5-text4 {
    font-size: 1.6rem;
    margin-bottom: 7vw;
  }
  #realwear-section5-layout1 > div {
    width: 100%;
    display: flex;
    align-items:center;
    justify-content: center;
    background:#fff;
    position: relative;
    margin-bottom: 45px;
    height: 90px;
    box-shadow: 10px 15px 30px rgba(0, 0, 0, .2);
  }
  html[lang=en] #realwear-section5-layout1 > div {
    height: 125px;
  }
  
  #realwear-section5-layout1 > div:last-child {
    margin-bottom: 0;
  }
 #realwear-section5-layout1 > div:not(:last-child):after {
    content: url(../images/arrow-bottom.png);
    display: block;
    position: absolute;
    bottom: -44px;
    z-index: 1;
  }
  #realwear-section5-layout1 > div .step {
      position: absolute;
      left: 0;
      top: 12px;
      z-index: 1;
      display: block;
      color: #fff;
      font-size: 1.0rem;
      font-weight: bold;
      line-height: 1;
      padding: 5px 10px;
  }
  #realwear-section5-layout1 > div .step:after {
    content:'';
    display: block;
    position: absolute;
    top:0;
    right:-8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 8px 0 0;
    border-color: #da1145 transparent transparent transparent;
  }
  #realwear-section5-layout1 > div .label {
    font-size:1.5rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
    color: #000;
  }
  #realwear-section6 {
      padding-top: 12vw;
      padding-bottom: 22vw;
  }
  
  .common-box2 {
    width: 90%;
    padding: 10px 10px 7vw;
  }
  .common-box2 h2 {
    font-size: 1.8rem;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 6vw;
  }
  .common-box2 > .inner {
      display: block;
  }
  .common-box2 > .inner > .el-left, .common-box2 > .inner > .el-right {
    width: 100%;
    margin-right: 0;
  }
  .common-box2 > .inner > .el-left ul > li {
    padding-left: 0;
    padding-right: 0;
  }
  .common-box2 > .inner > .el-left ul > li .thumb {
    width: 25%;
    min-width: 25%;
  }
  .common-box2 > .inner > .el-left ul > li .cont .tit {
    font-size:1.6rem;
    text-align: left;
     line-height: 1.5;
  } 
  .common-box2 > .inner > .el-left ul > li .cont .desc {
    font-size: 1.3rem;
    text-align: left;
    margin-top: 4px;
    line-height: 1.5;
  }
  .common-box2 .btn .label {
    font-size: 1.5rem;
  }
  .common-box2 .btn > a {
    min-height: 70px;
  }
  .common-box2 > .inner > .el-left {
    margin-bottom: 2vw;
  }
  .common-box2 .btn {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .copyright {
    font-size: 1.0rem;
    letter-spacing: 0.03em;
  }
  #realwear-section3-layout1 > div .step {
    width: 70px;
    top: -35px;
  }
  .common-box3 .tit {
    font-size: 2.0rem;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
  }
  .common-box3 .desc {
    padding: 25px 5px;
  }
  .common-box3 .desc > p {
    font-size: 1.7rem;
  }
}

/* =================================================== *

   AI VIDEO

 * =================================================== */
#aivideo-section1-layout1 .common-title3 {
	margin-bottom: 20px;
}
#aivideo-section1-layout1 .common-lead1 {
	margin-bottom: 40px;
}
#aivideo-section1-layout1 .pic {
	margin: 0 auto 60px;
	max-width: 720px;
}
.video-ttl {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
}
.video-ttl span {
	color: #cb0033;
}
#aivideo-section1-layout1 .video-wrap {
	margin: 0 auto;
	max-width: 700px;
}

#aivideo-section4 {
    padding-top: 80px;
    padding-bottom: 160px;
}
#aivideo-section4 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}

#aivideo-section4 #realwear-section4-box2 {
    margin-top: 140px;
}

@media screen and (max-width: 767px) {
	#aivideo-section1-layout1 .common-title3 {
		margin-bottom: 15px;
	}
	#aivideo-section1-layout1 .common-lead1 {
		margin-bottom: 25px;
	}
	#aivideo-section1-layout1 .pic {
		margin-bottom: 40px;
	}
	.video-ttl {
		font-size: 1.5rem;
		text-align: left;
	}
	
  #aivideo-section4 {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  #aivideo-section4 .hr-black {
    margin-bottom: 0;
  }
  #aivideo-section4 #realwear-section4-box2 {
    margin-top: 32vw;
  }
}

/* =================================================== *

   AVATOUR

 * =================================================== */
#avatour-section1-layout1 .common-title3 {
	margin-bottom: 20px;
}
#avatour-section1-layout1 .common-lead1 {
	margin-bottom: 40px;
}
#avatour-section1-layout1 .pic {
	margin: 0 auto 60px;
	max-width: 720px;
}
#avatour-section1-layout1 .video-wrap {
	margin: 0 auto;
	max-width: 700px;
}

#avatour-section4 {
    padding-top: 80px;
    padding-bottom: 250px;
  
}
#avatour-section4 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
	#avatour-section1-layout1 .common-title3 {
		margin-bottom: 15px;
	}
	#avatour-section1-layout1 .common-lead1 {
		margin-bottom: 25px;
	}
	#avatour-section1-layout1 .pic {
		margin-bottom: 40px;
	}
  
  #avatour-section4 {
    padding-top: 10vw;
    padding-bottom: 32vw;
  }
  #avatour-section4 .hr-black {
    margin-bottom: 0;
  }
  #avatour-section4 #realwear-section4-box2 {
      margin-top: 48vw;
  }
}

/* =================================================== *

   Global SMS Broadcasting Service

 * =================================================== */
#global-sms-section1-layout1 > .el-left {
  width:65%;
  margin-right:4.5%;
}
#global-sms-section1-layout1 > .el-left .common-title3 {
  margin-bottom: 15px;
}
#global-sms-section1-layout1 > .el-left .annot {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 0;
    margin-top: 20px;
    text-indent: -1.25em;
    padding-left: 1.25em;
}
#global-sms-section1-layout1 > .el-left .annot:before {
  content:'※';
  color:#CB0033;
  margin-right:0.25em;
}
html[lang=en] #global-sms-section1-layout1 > .el-left .annot:before {
  content: '*';
}


#global-sms-section1-layout1 > .el-right {
  width:30.5%
}
#global-sms-section1-layout1 > .el-right .pic {
  margin-top: 55px;
  box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
  max-width: 332px;
}
#global-sms-section1-pic2 {
  margin-top: 35px;
  width: 100%;
}

#global-sms-section4 {
    padding-top: 80px;
    padding-bottom: 200px;
}
#global-sms-section4 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}

#global-sms-section4  #realwear-section4-box2 {
  margin-top: 240px;
}

#global-sms-section4 + #realwear-section5 {
  padding-bottom:70px;
}
#global-sms-section5-layout1 {
    padding-top: 50px;
}
#global-sms-section5-layout1 .annot {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 0;
    text-indent: -1.25em;
    padding-left: 1.25em;
}
#global-sms-section5-layout1 .annot:before {
  content:'※';
  color:#CB0033;
  margin-right:0.25em;
}
@media screen and (max-width: 767px) {
  #global-sms-section1-layout1 > .el-left {
    width: 100%;
    margin-right: 0;
  }
  #global-sms-section1-layout1 > .el-right {
    display: none;
  }
  #global-sms-section1-layout1 > .el-left .thumb-sp {
    box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
    margin-bottom:7vw;
  }
  #global-sms-section4 {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
  #global-sms-section4 #realwear-section4-box2 {
    margin-top: 42vw;
  }
  #global-sms-section5-layout1 {
    padding-top: 8vw;
  }
  #global-sms-section5-layout1 .annot {
    margin-top:0;
  }
  #global-sms-section4 + #realwear-section5 {
    padding-bottom: 0;
  }
}

/* =================================================== *

   KING OF TIME

 * =================================================== */
#king-of-time-section1-layout1 > .el-left {
  width:65%;
  margin-right:4.5%;
}
#king-of-time-section1-layout1 > .el-left .common-title3 {
  margin-bottom: 15px;
}
#king-of-time-section1-layout1 > .el-right {
  width:30.5%
}
#king-of-time-section1-layout1 > .el-right .pic {
  margin-top: 55px;
  box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
  max-width: 332px;
}
#king-of-time-section1-pic1 {
  width: 100%;
  max-width: 692px;
  margin-left: 0;
  margin-right: 0;
  margin-top: 15px;
}
#king-of-time-section4 {
  padding-top: 80px;
  padding-bottom: 200px;
}
#king-of-time-section4 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}
#king-of-time-section4 #realwear-section4-box2 {
  margin-top: 280px;
}


@media screen and (max-width: 767px) {
  #king-of-time-section1-layout1 > .el-left {
    width: 100%;
    margin-right: 0;
  }
  #king-of-time-section1-layout1 > .el-right {
    display: none;
  }
  #king-of-time-section1-layout1 > .el-left .thumb-sp {
    box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
    margin-bottom:7vw;
  }
  #king-of-time-section4 {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
  #king-of-time-section4 #realwear-section4-box1,
  #king-of-time-section4 #realwear-section4-box2 {
    padding-top: 23vw;
  }
  #king-of-time-section4 #realwear-section4-box2 {
    margin-top: 48vw;
  }
}

/* =================================================== *

   Chatwork

 * =================================================== */
#chatwork-section1-layout1 > .el-left {
  width:65%;
  margin-right:4.5%;
}
#chatwork-section1-layout1 > .el-left .common-title3 {
  margin-bottom: 15px;
}
#chatwork-section1-layout1 > .el-right {
  width:30.5%
}
#chatwork-section1-layout1 > .el-right .pic {
  margin-top: 55px;
  box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
  max-width: 332px;
}
#chatwork-section1-pic1 {
  width: 100%;
  max-width: 692px;
  margin-left: 0;
  margin-right: 0;
  margin-top: 15px;
}
#chatwork-section4 {
  padding-top: 80px;
  padding-bottom: 100px;
}
#chatwork-section4 #realwear-section4-box2{
  margin-top: 150px;
}
#chatwork-section4 #realwear-section4-box3{
  margin-top: 210px;
}
#chatwork-section4 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}

@media screen and (max-width: 767px) {
  #chatwork-section1-layout1 > .el-left {
    width: 100%;
    margin-right: 0;
  }
  #chatwork-section1-layout1 > .el-right {
    display: none;
  }
  #chatwork-section1-layout1 > .el-left .thumb-sp {
    box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
    margin-bottom:7vw;
  }
  #chatwork-section1-pic1 {
    margin-top: 5vw;
  }
  #chatwork-section4 {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
  #chatwork-section4 #realwear-section4-box2 {
    margin-top: 28vw;
  }
  #chatwork-section4 #realwear-section4-box3 {
    margin-top: 36vw;
  }
}

/* =================================================== *

  TEACHME BIZ

 * =================================================== */
#teachme-biz-section1-layout1 > .el-left {
  width:65%;
  margin-right:4.5%;
}
#teachme-biz-section1-layout1 > .el-left .common-title3 {
  margin-bottom: 15px;
}
#teachme-biz-section1-layout1 > .el-right {
  width:30.5%
}
#teachme-biz-section1-layout1 > .el-right .pic {
  margin-top: 55px;
  box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
  max-width: 332px;
}

#teachme-biz-section4 {
  padding-top: 80px;
  padding-bottom: 240px;
}
#teachme-biz-section4 #realwear-section4-box2{
  margin-top:210px;
}
#teachme-biz-section4 #realwear-section4-box3{
  margin-top: 240px;
}
#teachme-biz-section4 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}


@media screen and (max-width: 767px) {
 
  #teachme-biz-section1-layout1 > .el-left {
    width: 100%;
    margin-right: 0;
  }
  #teachme-biz-section1-layout1 > .el-left .common-lead1 {
    margin-bottom: 5vw;
  }
  #teachme-biz-section1-layout1 > .el-right {
    display: none;
  }
  #teachme-biz-section1-layout1 > .el-left .thumb-sp {
    box-shadow: 20px 20px 25px rgba(0, 0, 0, .15);
  }
  #teachme-biz-section4 {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
  #teachme-biz-section4 #realwear-section4-box2 {
    margin-top: 34vw;
  }
  #teachme-biz-section4 #realwear-section4-box3 {
    margin-top: 34vw;
  }
}




/* =================================================== *

  サービス／プロダクト

 * =================================================== */
#service-section1 {
  padding-top: 60px;
  position: relative;
  z-index: 1;
}
#service-section1-layout1 > .el-left {
  float: left;
  margin-right: 0;
  width:42%;
}
#service-section1-pic1 {
  width: 100%;
  max-width: 460px;
  box-shadow: 25px 25px 30px 5px rgba(0, 0, 0, 0.2);
}
#service-section1-layout1 > .el-right {
  margin-right: 0;
  margin-left: 5%;
  width:53%;
  padding-bottom: 50px;
}
#service-section1-layout1 > .el-right .common-lead1 {
    margin-bottom: 0;
    margin-top: 16px;
}
#service-section2 {
  padding-top: 140px;
}
#service-section3 {
  padding-top: 90px;
  padding-bottom: 50px;
}

#service-section2 .hr-black,
#service-section3 .hr-black {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 45px;
}

#service-section2-layout1,
#service-section3-layout1 {
  width: 100%;
  margin-top: 70px;
}
#service-section2-layout1 > div,
#service-section3-layout1 > div {
  background:#fff;
  box-shadow: 10px 15px 30px rgba(0, 0, 0, 0.2);
  margin-bottom:50px;
  width: 30.2%;
  margin-right: 4.7%;
  max-width: 332px;
}
#service-section2-layout1 > div:nth-child(3n),
#service-section3-layout1 > div:nth-child(3n) {
  margin-right: 0;
}

#service-section2-layout1 > div > a,
#service-section3-layout1 > div > a {
    display: block;
    position: relative;
  height: 100%;
}
#service-section2-layout1 > div .thumb,
#service-section3-layout1 > div .thumb {
  width: 100%;
  overflow: hidden;
}
#service-section2-layout1 > div .thumb img,
#service-section3-layout1 > div .thumb img {
  transition: all .3s ease;
}
#service-section2-layout1 > div a:hover .thumb img,
#service-section3-layout1 > div a:hover .thumb img {
  transform: scale(1.05);
}
#service-section2-layout1 > div .cont,
#service-section3-layout1 > div .cont {
  padding: 30px 35px 40px 25px;
  position: relative;
}
#service-section2-layout1 > div .name,
#service-section3-layout1 > div .name {
  color:#CB0033;
  font-size:2.1rem;
  line-height: 1.5;
  margin-bottom:0;
  font-weight: bold;
}
#service-section2-layout1 > div .desc,
#service-section3-layout1 > div .desc {
  font-size:1.6rem;
  line-height: 1.8;
  margin-top:30px;
  margin-bottom:0;
}

#service-section2-layout1 > div .circle,
#service-section3-layout1 > div .circle {
    width: 20px;
    height: 20px;
    position: absolute;
    color: #cb0033;
    border: 1.5px solid #cb0033;
    background: #ffffff;
    top: auto;
    right: 15px;
    border-radius: 50%;
    bottom: 15px;
}
#service-section2-layout1  > div > a:hover .circle,
#service-section3-layout1  > div > a:hover .circle {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}
#service-section2-layout1 > div .circle:after,
#service-section3-layout1 > div .circle:after {
    content: '\e5cc';
    font-family: 'Material Icons';
    color: #cb0033;
    font-size: 1.4rem;
    line-height: 1;
    display: block;
    position: absolute;
    /* 
    top: calc(50% - 8.5px);
    left: calc(50% - 8.5px);
    */
    top: calc(50% - 7px);
    left: calc(50% - 6.5px);
}
#service-section2-layout1 > div .ext,
#service-section3-layout1 > div .ext {
    display: block;
    width: 19px;
    position: absolute;
    z-index: 1;
    right: 15px;
    bottom:15px;
    line-height: 0;
  
}
#service-section2-layout1 > div > a:hover .ext,
#service-section3-layout1 > div > a:hover .ext {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}
#service-section4 {
  padding-top:50px;
  padding-bottom:110px;
}
@media screen and (max-width: 767px) {
  #service-section1 {
    padding-top:7vw;
  }
  #service-section1-layout1 > .el-left {
    float: none;
    width: 100%;
    display: block;
  }
  #service-section1-layout1 > .el-right {
    margin-left: 0;
    width: 100%;
    padding-bottom: 25px;
    display: block;
  }
  #service-section1-pic1 {
    max-width: none;
    box-shadow: 10px 15px 30px rgba(0, 0, 0, .2);
  }
  #service-section2 {
    padding-top: 22vw;
  }
  #service-section2-layout1 .hr-black, #service-section3-layout1 .hr-black {
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  #service-section2-layout1, #service-section3-layout1 {
    margin-top: 13vw;
  }
  #service-section2-layout1 > div, #service-section3-layout1 > div {
    display: block;
    margin-right: 0;
    width: 100%;
    max-width: none;
    margin-bottom: 9.3vw;
  }
  #service-section2-layout1 > div .cont, #service-section3-layout1 > div .cont {
    padding: 25px 40px 50px 4%;
  }
  #service-section2-layout1 > div .name, #service-section3-layout1 > div .name {
    font-size: 1.8rem;
    line-height: 1.45;
  }
  #service-section2-layout1 > div .desc, #service-section3-layout1 > div .desc {
    font-size:1.5rem;
    margin-top: 15px;
  }
  #service-section3 {
    padding-top: 16vw;
    padding-bottom: 5vw;
  }
  #service-section4 {
    padding-top: 8vw;
    padding-bottom: 22vw;
  }
  
}

/* =================================================== *

   IoTソリューション

 * =================================================== */
#iot-section1 {
  position: relative;
  z-index: 1;
  padding-top: 60px;
}
#iot-section1-layout1 > .el-left {
  float: left;
  margin-right: 0;
  width:42%;
}
#iot-section1-pic1 {
  width: 100%;
  max-width: 460px;
  box-shadow: 25px 25px 30px 5px rgba(0, 0, 0, 0.2);
}
#iot-section1-layout1 > .el-right {
  margin-right: 0;
  margin-left: 5%;
  width:53%;
  padding-bottom: 50px;
}
#iot-section1-layout1 > .el-right .common-lead1 {
    margin-bottom: 0;
    margin-top: 16px;
}
#iot-section2 {
  position: relative;
  z-index: 0;
  margin-top: -40px;
  padding-bottom: 80px;
}
#iot-section2:after {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    bottom: -35px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
    border-style: solid;
    border-width: 35px 35px 0 35px;
    border-color: rgba(252, 139, 162, 0.15) transparent transparent transparent;
}
#iot-section2-pic1 {
    top: -30px;
}
#iot-section2-layout1 {
  margin-top: -50px;
  width: 100%;
}
#iot-section2-layout2 {
  margin-top: 40px;
  background: #ffffff;
  box-shadow: 15px 15px 15px rgba(0, 0, 0, 0.15);
  padding:10px;
}

#iot-section2-layout2 > .inner {
  flex-wrap: nowrap;
}
#iot-section2-layout2 > .inner > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height:140px;
}
#iot-section2-layout2 > .inner > div.th {
  width:14.5%;
  background:rgba(211,37,80,.1);
  color:#D32550;
  font-size:1.8rem;
  line-height: 1.7;
  font-weight: bold;
}

#iot-section2-layout2 > .inner > div:not(.th) {
  width:17.1%;
  border-right:1px solid #E5E5E5;
  justify-content: flex-end;
  padding-bottom: 20px;
}
#iot-section2-layout2 > .inner > div:nth-child(5),#iot-section2-layout2 > .inner > div:nth-child(6) {
   padding-bottom: 13px;
}
#iot-section2-layout2 > .inner > div:not(.th):last-child {
  border-right: none;
}
#iot-section2-layout2 > .inner > div img {
  display: block;
}
#iot-section2-layout2 > .inner > div:nth-child(2) img{
  width:56px;
  margin-bottom:25px;
}
#iot-section2-layout2 > .inner > div:nth-child(3) img{
  width:63px;
  margin-bottom:27px;
}
#iot-section2-layout2 > .inner > div:nth-child(4) img{
  width:57px;
  margin-bottom:25px;
}
#iot-section2-layout2 > .inner > div:nth-child(5) img{
  width:51px;
  margin-bottom:14px;
}
#iot-section2-layout2 > .inner > div:nth-child(6) img{
  width:43px;
  margin-bottom:12px;
}
#iot-section2-layout2 .mid {
  font-size:1.6rem;
  font-weight:bold;
  line-height: 1.3;
  display: block;
  text-align: center;
}
#iot-section3 {
  position: relative;
  padding-top:70px;
  padding-bottom:0;
}
#iot-section3-box1 {
    max-width: 685px;
}
#iot-section3-box1 > .tit {
    padding-top: 15px;
    padding-bottom: 15px;
}

#iot-section4 {
    padding-top: 140px;
    padding-bottom: 20px;
}
#iot-section4 .hr-black {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 45px;
}
#iot-section4-layout1 {
  width: 100%;
  margin-top: 70px;
}
#iot-section4-layout1 > div {
  background:#fff;
  box-shadow: 10px 15px 30px rgba(0, 0, 0, 0.2);
  margin-bottom:60px;
}
#iot-section4-layout1 > div > a {
    display: block;
    position: relative;
  height: 100%;
}
#iot-section4-layout1 > div .flag {
  width: 64px;
  z-index: 1;
  position: absolute;
  top: -20px;
  right: 15px;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.12);
}
#iot-section4-layout1 > div .thumb {
  width: 100%;
  overflow: hidden;
}
#iot-section4-layout1 > div .thumb img {
  transition: all .3s ease;
}
#iot-section4-layout1 > div > a:hover .thumb img {
  transform: scale(1.05);
}
#iot-section4-layout1 > div .cont {
  padding: 20px 35px 25px 25px;
  position: relative;
}
#iot-section4-layout1 > div .cat {
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 5px;
}
#iot-section4-layout1 > div .name {
  color:#CB0033;
  font-size:1.9rem;
  line-height: 1.5;
  margin-bottom:0;
  font-weight: bold;
}
#iot-section4-layout1 > div .name small {
  font-size: 1.6rem;
}

#iot-section4-layout1 > div .circle {
    width: 20px;
    height: 20px;
    position: absolute;
    color: #cb0033;
    border: 1.5px solid #cb0033;
    background: #ffffff;
    top: auto;
    right: 15px;
    border-radius: 50%;
    bottom: 15px;
}
#iot-section4-layout1 > div > a:hover .circle {
  -webkit-animation-name: btnicon;
  animation-name: btnicon;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-timing-function: cubic-bezier(.65, .01, .3, .97);
  animation-timing-function: cubic-bezier(.65, .01, .3, .97);
}
#iot-section4-layout1 > div .circle:after {
    content: '\e5cc';
    font-family: 'Material Icons';
    color: #cb0033;
    font-size: 1.4rem;
    line-height: 1;
    display: block;
    position: absolute;
    top: calc(50% - 7px);
    left: calc(50% - 6.5px);
}
#iot-section5 {
    padding-top: 50px;
    padding-bottom: 110px;
}

@media screen and (max-width: 767px) {
  #iot-section1 {
    padding-top:7vw;
  }
  #iot-section1-layout1 > .el-left {
    float: none;
    width: 100%;
    display: block;
  }
  #iot-section1-layout1 > .el-right {
    margin-left: 0;
    width: 100%;
    padding-bottom: 25px;
    display: block;
  }
  #iot-section1-pic1 {
    max-width: none;
    box-shadow: 10px 15px 30px rgba(0, 0, 0, .2);
  }
  #iot-section2 {
    margin-top: -16vw;
    padding-top: 25vw;
    padding-bottom: 8.7vw;
  }
	#iot-section2-pic1 {
		top: 0;
		margin: 13px -7% 0;
	}
  #iot-section2-layout1 {
    margin-top: 0;
  }
  #iot-section2-layout1 {
    margin-top: 9vw;
  }
  #iot-section2-layout2 {
    margin-top: 8vw;
    padding: 8px;
  }
  #iot-section2-layout2 > .inner {
    display: block;
  }
  #iot-section2-layout2 > .inner > div,
  #iot-section2-layout2 > .inner > div.th,
  #iot-section2-layout2 > .inner > div:not(.th) {
    width: 100%;
  }
  #iot-section2-layout2 > .inner > div.th {
    height: 74px;
  }
  #iot-section2-layout2 > .inner > div:not(.th) {
    height: 85px;
    flex-direction: row;
    justify-content: space-around;
    padding-bottom: 0;
    border-bottom:1px solid #E5E5E5;
    padding: 10px 6%;
    border-right: none;
  }
  #iot-section2-layout2 > .inner > div:not(.th):last-child {
    border-bottom:none;
  }
  #iot-section2-layout2 > .inner > div:nth-child(2) img,
  #iot-section2-layout2 > .inner > div:nth-child(3) img,
  #iot-section2-layout2 > .inner > div:nth-child(4) img,
  #iot-section2-layout2 > .inner > div:nth-child(5) img,
  #iot-section2-layout2 > .inner > div:nth-child(6) img {
    margin-bottom:0;
  }
  #iot-section2-layout2 .mid {
    width: 120px;
    text-align: center;
  }
  #iot-section2:after {
    border-width: 25px 25px 0 25px;
    bottom: -25px;
  }
  #iot-section3 {
    padding-top: 12vw;
    padding-bottom: 0;
  }
  #iot-section4 {
    padding-top: 22vw;
  }
  #iot-section4-layout1 {
    margin-top: 13vw;
  }
  #iot-section4-layout1 > div {
    display: block;
    margin-right: 0;
    width: 100%;
    max-width: none;
    margin-bottom: 11vw;
  }
  #iot-section4-layout1 > div .cont {
    padding: 20px 40px 40px 4%;
  }
  #iot-section4-layout1 > div .cat {
    margin-bottom:8px;
  }
  #iot-section4-layout1 > div .name {
    font-size: 1.8rem;
    line-height: 1.45;
  }
  #iot-section4 {
    padding-bottom: 0;
  }
  #iot-section5 {
    padding-top: 9vw;
    padding-bottom: 22vw;
  }
}

/* =================================================== *

   導入事例共通

 * =================================================== */
#case-section1 {
  padding-top: 60px;
  padding-bottom: 70px;
}
#case-section1-box1 {
  margin-top: 70px;
  padding-bottom: 40px;
}
#case-section1-box1 h2 {
  margin-bottom: 40px;
}
#case-section1-box1 h2 .icon-nayami {
    width: 63px;
    position: absolute;
    top: -15px;
    margin-left: 25px;
  z-index: 1;
}
#case-section1-box1 > .inner {
  padding-left:40px;
  padding-right:40px;
  max-width: none;
  align-items: flex-start;
}
#case-section1-box1 > .inner > .el-left {
    width: 53.5%;
    margin-right: 4.5%;
}
#case-section1-box1 > .inner > .el-right {
    width: 42%;
}
#case-section1-box1 .video-wrap {
	box-shadow: none;
}
#case-section1-box1 .tit-check {
    font-size: 2.1rem;
    line-height: 1.75;
    font-weight: bold;
    color: #CB0033;
    margin-bottom: 10px;
    padding-left: 27px;
}
#case-section1-box1 .tit-check:before {
  content: url('../images/icon-check.svg');
  width: 18px;
  display: inline-block;
  margin: 0;
  position: absolute;
  left: 0;
}
#case-section1-box1 .tit-check sup,
#case-section2-text2 sup {
    font-size: 1.15rem;
    vertical-align: 1rem;
}

#case-section1-box1 .text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 30px;
}
#case-section1-box1 .text:last-child {
  margin-bottom: 0;
}

#case-section1 .annot,
#case-section2 .annot,
#case-section3 .annot{
  font-size:1.4rem;
  line-height: 1.7;
  text-indent: -25px;
  padding-left: 25px;
}
#case-section1 .annot:last-child,
#case-section2 .annot:last-child,
#case-section3 .annot:last-child{
  margin-bottom: 0;
}
#case-section1 .annot:before,
#case-section2 .annot:before,
#case-section3 .annot:before{
    content: '※';
    margin-right: 10px;
    color: #CB0033;
}
.annot.annot__1:before {
    content: '※1' !important;
    margin-right: 3px !important;
  
}
.annot.annot__2:before {
    content: '※2' !important;
    margin-right: 3px !important;
  
}
.annot.annot__3:before {
    content: '※3' !important;
    margin-right: 3px !important;
  
}
.annot.annot__4:before {
    content: '※4' !important;
    margin-right: 3px !important;
  
}
.annot.annot__5:before {
    content: '※5' !important;
    margin-right: 3px !important;
  
}

#case-section1-box1 > .inner > .el-left > *:last-child,
#case-section1-box1 > .inner > .el-right > *:last-child {
  margin-bottom: 0;
}
#case-section2 {
  padding-top:70px;
  padding-bottom: 40px;
}
#case-section2 .hr-black,
#case-section3 .hr-black {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 45px;
}
#case-section2-text2 {
    margin-bottom: 25px;
}
.case-mid-black {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.8;
  color: #000000;
  margin-bottom: 8px;
}
.hr-gray {
  width: 100%;
  height: 1px;
  background:#4D4D4D;
  margin-bottom:25px;
}
.list-disc {
  
}
.list-disc > li {
    text-indent: -1.1em;
    padding-left: 1.1em;
    font-size: 1.6rem;
    line-height: 1.75;
    margin-bottom: 8px;
}
.list-disc > li:last-child {
  margin-bottom: 0;
}
.list-disc > li:before {
    content: '●';
    font-size: 1rem;
    vertical-align: 2px;
    margin-right: 0.75rem;
  color:#CB0033;
}

#case-section2-layout1 {
  flex-wrap: nowrap;
  margin-bottom: 50px;
}
#case-section2-layout1 > .el-left {
  width: 58%;
  margin-right: 5.5%;
}
#case-section2-layout1 > .el-right {
  width:36.5%;
}
#case-section2-pic1 {
    max-width: 398px;
    width: 100%;
}
#case-section2-pic2 {
    width: 100%;
    max-width: 1100px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
}
#case-section3-text2 {
    margin-bottom: 0;
}
#case-section2-annot1 {
    margin-top: 25px;
}


#case-section3 {
  padding-top: 40px;
  padding-bottom: 60px;
}

#case-section4 {
  padding-top:50px;
  padding-bottom:110px;
}

.btn-case {
  background: #fff;
  color:#4D4D4D;
  font-size:1.7rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: left;
  padding:15px 60px 15px 30px;
  box-shadow:10px 10px 12px rgba(0,0,0,.15);
   min-height: 68px;
  display: flex;
  align-items: center;
  margin-top:25px;
  position: relative;
}
.btn-case .ext {
    display: block;
    width: 16px;
    position: absolute;
    z-index: 1;
    right: 20px;
    bottom: calc( 50% - 6px );
    line-height: 0;
}
.btn-case .ext img {
    width: 100%;
    height: auto;
    vertical-align: top;
    font-size: 0;
    line-height: 0;
}
@media screen and (max-width: 767px) {
  #case-section1 {
    padding-top: 20px;
    padding-bottom: 12vw;
  }
  #case-section1 .common-title2 {
    font-size: 2.0rem;
  }
  #case-section1-box1 {
    margin-top: 40px;
    width: 100%;
    padding-bottom: 30px;
  }
  #case-section1-box1 h2 {
    margin-bottom: 25px;
  }
  #case-section1-box1 h2 .icon-nayami {
    width: 37px;
    top: 0;
    margin-left: 20px;
  }
  #case-section1-box1 > .inner {
    padding-left: 5%;
    padding-right: 5%;
    flex-wrap: wrap;
  }
  #case-section1-box1 > .inner > .el-left, #case-section1-box1 > .inner > .el-right {
    width: 100%;
		margin-top: 20px;
    margin-right: 0;
  }
  #case-section1-box1 > .inner > .el-left {
    
  }
  #case-section1-box1 .tit-check {
    font-size: 1.7rem;
    margin-bottom: 15px;
  }
  #case-section1-box1 .text {
      font-size: 1.5rem;
      margin-bottom: 25px;
  }
  #case-section1-box1 > .inner > .el-right .thumb {
      margin-top: 15px;
  }
  #case-section2 {
      padding-top: 10vw;
      padding-bottom: 14vw;
  }
	#case-section2 .hr-black,
	#case-section3 .hr-black {
		margin-top: 20px;
		margin-bottom: 35px;
	}
  #case-section2-layout1 {
    display: block;
    margin-bottom: 12vw;
  }
  #case-section2-layout1 > .el-left,
  #case-section2-layout1 > .el-right {
    width: 100%;
    margin-right: 0;
  }
  #case-section2-pic1 {
    max-width: none;
  }
  #case-section2-text2 {
    font-size:1.8rem;
    margin-bottom: 20px;
  }
  .case-mid-black {
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .list-disc > li {
    font-size: 1.5rem;
  }
  #case-section2-layout1 > .el-left {
    margin-bottom: 7vw;
  }
  #case-section3 {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
  #case-section4 {
    padding-top: 10vw;
    padding-bottom: 22vw;
  }
  #case-section1 .annot, #case-section2 .annot, #case-section3 .annot {
    font-size: 1.3rem;
  }
  .btn-case {
    font-size: 1.5rem;
    padding: 10px 45px 10px 30px;
  }
  
  
}

/* =================================================== *

   ヤンマーさま

 * =================================================== */
#yanmar-section2-pic2 {
    width: 100%;
    max-width: 947px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
}
#yanmar-section3 {
    padding-top: 80px;
    padding-bottom: 60px;
}
#yanmar-section3 .hr-black {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 45px;
}
#yanmar-section3-text2 {
    text-align: center;
    margin-bottom: 40px;
}
#yanmar-section3-layout1 {
  flex-wrap: nowrap;
}
#yanmar-section3-layout1 > .el-left {
  width:36%;
  margin-right: 5.5%;
}
#yanmar-section3-layout1 > .el-right {
  width: 58.5%;
}
#yanmar-section3-pic1 {
    max-width: 643px;
    width: 100%;
}

#yanmar-section3 .annot{
  font-size:1.4rem;
  line-height: 1.7;
  text-indent: -1.1em;
  padding-left: 1.1em;
  margin-top: 25px;
}
#yanmar-section3 .annot:last-child{
  margin-bottom: 0;
}
#yanmar-section3 .annot:before{
    content: '※';
    margin-right: 0.1em;
    color: #CB0033;
}
@media screen and (max-width: 767px) {
  #yanmar-section2-pic2 {
      margin-top: 5vw;
      width: 94%;
      margin-left: auto;
      margin-right: auto;
  }
  #yanmar-section3 {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
	#yanmar-section3 .hr-black {
		margin-top: 20px;
		margin-bottom: 35px;
	}
  #yanmar-section3-text2 {
    text-align: left;
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  #yanmar-section3-layout1 {
    display: block;
  }
  #yanmar-section3-layout1 > .el-left,
  #yanmar-section3-layout1 > .el-right {
    width: 100%;
    margin-right: 0;
  }
}

/* =================================================== *

   株式会社松井製作所さま

 * =================================================== */
#matsui-mfg-section2-pic2 {
    width: 100%;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
}

@media screen and (max-width: 767px) {
  #matsui-mfg-section2-pic2 {
    margin-top: 5vw;
    width: 94%;
    margin-left: auto;
    margin-right: auto;
  }
  #case-section3.matsui-mfg-section3 {
    padding-top: 2vw;
    padding-bottom: 6vw;
  }
}

/* =================================================== *

   Teijin Polyester (Thailand) Limitedさま（実証実験）

 * =================================================== */
#teijin-thailand-section2-pic2 {
    width: 100%;
    max-width: 928px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
}

@media screen and (max-width: 767px) {
  #teijin-thailand-section2-pic2 {
      width: 96%;
      margin-left: auto;
      margin-right: auto;
      margin-top: 5vw;
  }
  #case-section2-text4 {
    margin-top: 6vw;
  }
  
  
  
}

/* =================================================== *

   ニュース

 * =================================================== */
#news-section1 {
    padding-top: 60px;
    padding-bottom: 130px;
}

#news-newslist{
    margin-bottom: 80px;
}
#news-newslist > li {
  transition: opacity .3s linear;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}
.pagination > .prev,
.pagination > .page{
  margin-right:15px;
}
.pagination > .prev a, .pagination > .next a {
    text-decoration: underline;
    color: #333333;
    font-size: 1.6rem;
}

.pagination > .page > a {
    display: flex;
    border: 1px solid #CCCCCC;
    font-size: 1.6rem;
    color: #666666;
    width: 32px;
    height: 32px;
    justify-content: center;
    align-items: center;
    background: #fff;
}
.pagination > .page.show > a {
  border-color:#CB0033;
  background:#CB0033;
  color:#fff;
}
.pagination > .prev.disabled, .pagination > .next.disabled {
    /* display: none; */
    opacity: 0;
    pointer-events: none;
}


@media screen and (max-width: 767px) {
  #news-newslist {
    margin-bottom: 60px;
  }
  #news-section1 {
    padding-top: 10vw;
    padding-bottom: 22vw;
  }
  
}

/* =================================================== *

   ニュース詳細ページ

 * =================================================== */

#news-single-section1 {
  padding-top: 60px;
  padding-bottom: 130px;
}

#news-single-meta {
  margin-bottom:25px;
}
#news-single-meta > .data {
  font-size: 1.5rem;
  margin-right: 1em;
}
#news-single-meta > .cat {
  color: #fff;
  background: #CB0033;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  width: 122px;
  min-width: 122px;
  padding: 2px;
}
.news-single-title {
    font-size: 2.6rem;
    line-height: 1.55;
    font-weight: bold;
    margin-bottom: 10px;
}
@media screen and (max-width: 1100px) {
	.news-single-title br.pc-only {
		display: none;
	}
}
.news-single-content {
  margin-top: 45px;
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom:50px;
}
.news-single-content > *:last-child {
  margin-bottom: 0;
}
.news-single-content p {
    margin-bottom: 1.5em;
}
.news-single-content a {
  text-decoration: underline;
}
.news-single-content .pic {
  margin-bottom:30px;
}
.news-single-content .pic img {
  width: auto;
  max-width: 100%;
}

.common-table1 {
  width: 100%;
  position: relative;
  table-layout:auto;
  margin-bottom:40px;
}
.common-table1 th, .common-table1 td {
  padding:25px 3% 25px 3%;
  border-bottom: 1px solid #b2b2b2;
  font-size: 1.6rem;
  line-height: 2;
}
.common-table1 tr:first-child th, .common-table1 tr:first-child td {
  border-top: 1px solid #b2b2b2;
}
.common-table1 th {
  color: #cb0033;
  font-weight: bold;
  width: 160px;
  text-align: left;
}
  
.common-table1 td {
  width: calc( 100% - 160px );
}

html[lang=en] .common-table1 th {
  width: 210px;
}
html[lang=en] .common-table1 td {
  width: calc( 100% - 210px );
}
.news-single-content .common-title1 {
    margin-bottom: 10px;
    margin-top: 90px;
}
.news-single-content .hr-black {
  margin-bottom:50px;
}
.news-single-content .annot {
  text-indent: -1.25em;
  padding-left: 1.25em;
}
.news-single-content .annot:before {
  content: '※';
  margin-right: 0.25em;
}

.news-single-content .common-title3 {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  #news-single-section1 {
    padding-top: 10vw;
    padding-bottom: 22vw;
  }
  .news-single-title {
    font-size: 1.8rem;
  }
  #news-single-meta {
    margin-bottom: 15px;
  }
  .news-single-content {
    margin-top: 8.6vw;
    margin-bottom: 13vw;
    font-size: 1.5rem;
    line-height: 1.9;
  }
  .common-table1 {
    margin-bottom: 6vw;
  }
  .common-table1, .common-table1 > tbody, .common-table1 > tbody > tr, .common-table1 > tbody > tr > th, .common-table1 > tbody > tr > td {
    display: block;
    width: 100%;
  }
  .common-table1 th, .common-table1 td {
    padding-left: 4%;
    padding-right: 4%;
    font-size:1.5rem;
  }
  .common-table1 th {
    padding-top:15px;
    padding-bottom:0;
    border-bottom:none;
  }
  .common-table1 td {
    padding-top:0;
    padding-bottom:15px;
  }
  .common-table1 tr:first-child td {
    border-top:none;
  }
  .news-single-title + .hr-black,
  .news-single-content .hr-black {
    width: 108%;
    margin-left: -4%;
  }
  .news-single-content .common-title3 {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-top: 10vw;
  }
  .news-single-content .common-title1 {
    margin-top: 13vw;
    font-size: 1.8rem;
    letter-spacing: inherit;
  }
  .layout-col {
    display: block;
  }
  .layout-col > * {
    width: 100%;
    margin-bottom:6.6vw;
  }
  .layout-col > *:last-child {
    margin-bottom: 0;
  }
  
  
}

/* =================================================== *

   プライバシーポリシー

 * =================================================== */

#privacy-section1 {
  padding-top: 60px;
  padding-bottom: 130px;
}
#privacy-section1 .hr-black{
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 45px;
}
#privacy-section2-text2 {
    margin-bottom: 0;
}
.privacy-block {
    margin-top: 75px;
}
.privacy-block p,
.privacy-block ul{
  font-size:1.6rem;
  line-height: 1.9;
  margin-bottom:40px;
}
.privacy-block .common-title3 {
  margin-bottom:30px;
}
.privacy-block > *:last-child {
  margin-bottom: 0;
}

.list-num {
  counter-reset: number 0; 
}
.list-num[start="2"]  {
  counter-reset: number 1; 
}
.list-num[start="3"]  {
  counter-reset: number 2; 
}
.list-num[start="4"]  {
  counter-reset: number 3; 
}
.list-num[start="5"]  {
  counter-reset: number 4; 
}
.list-num[start="6"]  {
  counter-reset: number 5; 
}
.list-num[start="7"]  {
  counter-reset: number 6; 
}
.list-num[start="8"]  {
  counter-reset: number 7; 
}
.list-num[start="9"]  {
  counter-reset: number 8;
}
.list-num[start="10"]  {
  counter-reset: number 9;
}
.list-num[start="11"]  {
  counter-reset: number 10;
}
.list-num[start="12"]  {
  counter-reset: number 11;
}
.list-num[start="13"]  {
  counter-reset: number 12;
}
.list-num[start="14"]  {
  counter-reset: number 13;
}
.list-num[start="15"]  {
  counter-reset: number 14;
}
.list-num[start="16"]  {
  counter-reset: number 15;
}
.list-num[start="17"]  {
  counter-reset: number 16;
}
.list-num[start="18"]  {
  counter-reset: number 17;
}
.list-num[start="19"]  {
  counter-reset: number 18;
}
.list-num[start="20"]  {
  counter-reset: number 19;
}
.list-num[start="21"]  {
  counter-reset: number 20;
}
.list-num[start="22"]  {
  counter-reset: number 21;
}
.list-num[start="23"]  {
  counter-reset: number 22;
}
.list-num[start="24"]  {
  counter-reset: number 23;
}
.list-num[start="25"]  {
  counter-reset: number 24;
}
.list-num[start="26"]  {
  counter-reset: number 25;
}
.list-num[start="27"]  {
  counter-reset: number 26;
}
.list-num[start="28"]  {
  counter-reset: number 27;
}
.list-num[start="29"]  {
  counter-reset: number 28;
}
.list-num[start="30"]  {
  counter-reset: number 29;
}

.list-num > li {
  margin-bottom: 40px;
    text-indent: -30px;
    padding-left: 30px;
}
.list-num > li:last-child {
  margin-bottom: 0;
}
.list-num > li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  margin-right: 0.25em;
  color:#CB0033;
  font-weight: bold;
  display: block;
  float: left;
  width: 24px;
}

.list-alpha {
  counter-reset: alpha 0;
  margin-top:15px;
}
.list-alpha > li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.list-alpha > li:before {
  counter-increment: alpha 1;
  content: "("counter(alpha,lower-latin)")";
  color:#CB0033;
  font-weight: bold;
  margin-right:0.25em;
}

@media screen and (max-width: 767px) {
  
  #privacy-section1 {
    padding-top: 10vw;
    padding-bottom: 22vw;
  }
  #privacy-section1 .hr-black{
    margin-top: 5vw;
    margin-bottom: 9vw;
  }
  .privacy-block {
    margin-top: 75px;
  }
  .privacy-block {
    margin-top: 13.3vw;
  }
  .privacy-block .common-title3 {
    margin-bottom: 20px;
  }
  .privacy-block p, .privacy-block ul {
    font-size:1.5rem;
    line-height: 2;
  }
  .list-num > li {
    margin-bottom:30px;
  }
  
}
/* =================================================== *

   画面張り付きバナー

 * =================================================== */
#fixbanner1 {
  width: 96px;
  position: fixed;
  left: 0;
  bottom: 15px;
  z-index: 9;
  box-shadow:5px 10px 27px rgba(0,0,0,.23);
}
#fixbanner1 > a {
  transition: opacity .3s linear;
}
#fixbanner1 > a:hover {
  opacity: .85;
}

@media screen and (max-width: 767px) {
  #fixbanner1 {
    top: auto;
    bottom: 0;
		height: 18.3vw;
    width: 100%;
  }
}

/* =================================================== *

   表示切り替え

 * =================================================== */
.sp-only {
  display: none;
}
.print-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: block;
  }
}