@charset "UTF-8";

/*-------------------------------------------------
   common
=================================================*/
body {
   font-size: 14px;
   font-weight: 400;
   color: #333333;
   line-height: 1.6;
   background: #fff;
   text-align: left;
   -webkit-text-size-adjust: 100%;
   word-break: break-word;
   font-family: 'Noto Sans JP', sans-serif;
   margin: 0;
   padding: 0;
   font-feature-settings: "palt";
}

@media (min-width: 768px) {
   body {
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: 0.05em;
   }
}

a {
   text-decoration: none;
   transition: .3s;
}

.panel-grid .panel-grid-cell .s_youtube .textwidget,
.youtube {
   position: relative;
   width: 100%;
   padding-top: 56.25%;
}

.page_box .map {
   position: relative;
   width: 100%;
}

.page_box .map iframe,
.panel-grid .panel-grid-cell .s_youtube .textwidget iframe,
.youtube iframe {
   position: absolute;
   top: 0;
   right: 0;
   width: 100% !important;
   height: 100% !important;
}

.page_box .map {
   padding-top: 29%;
}

section,
nav,
header,
footer,
article,
figure,
ul,
li,
p,
h1,
h2,
h3,
h4,
dl,
dt,
dd {
   margin: 0;
   padding: 0;
}

ul {
   list-style: none;
}

/*---------------------- main --------------------*/
.main {
   margin-top: 90px;
}

@media (max-width: 767px) {
   .main {
      margin-top: 65px;
   }

   .page_box .map {
      padding-top: 50%;
   }
}

@media (max-width: 375px) {
   .main {
      margin-top: 50px;
   }
}

/*------------------------------------------*/
img {
   max-width: 100%;
   width: 100%;
   height: auto;
   vertical-align: bottom;
}

@media (min-width: 768px) {
   .inner {
      max-width: 1100px;
      width: 100%;
      margin: 0 auto;
      position: relative;
      z-index: 5;
      box-sizing: border-box;
      padding: 0 5vw;
   }

   .inner02 {
      max-width: 1100px;
      width: 100%;
      margin: 0 auto;
      padding: 0 0 100px 0;
      box-sizing: border-box;
   }

   .inner03 {
      max-width: 1600px;
      width: 100%;
      margin: 0 auto;
      padding: 45px 5vw 70px 5vw;
      box-sizing: border-box;
   }

   .inner04 {
      max-width: 1100px;
      width: 100%;
      margin: 0 auto;
      padding: 3vw 0 3vw 0;
      box-sizing: border-box;
   }
}

@media (max-width: 1200px) {
   .inner {
      width: 100%;
      padding: 0 7vw;
      box-sizing: border-box;
   }
}

@media (max-width: 767px) {
   .inner {
      width: 100%;
      padding: 0 5vw;
      box-sizing: border-box;
      position: relative;
      z-index: 5;
   }
}

#allwrap {
   position: relative;
}

@media (min-width: 768px) {
   #allwrap {
      overflow: hidden;
   }
}

/*-- スマホメニュー ----------------------------------------*/
.spmenu {
   position: absolute;
   top: 7px;
   right: 0;
   width: 50px;
   height: 50px;
   background: #fff;
   transition: .3s;
   z-index: 60;
}

.spmenu .icon {
   width: 25px;
   height: 19px;
   position: absolute;
   top: 50%;
   left: 50%;
   margin: -9.5px 0 0 -12.5px;
}

.spmenu .icon span {
   background: #80243c;
   width: 25px;
   height: 2px;
   border-radius: 10px;
   display: block;
   position: absolute;
   transform: translate(-50%, -50%);
   left: 50%;
   transition: all 0.3s ease 0s;
}

.spmenu .icon span:nth-of-type(1) {
   top: 1.5px;
}

.spmenu .icon span:nth-of-type(2) {
   top: 9.5px;
}

.spmenu .icon span:nth-of-type(3) {
   top: 17.5px;
}

.spmenu.active {
   background: none;
}

.spmenu.active .icon span {
   background: #80243c;
}

.spmenu.active .icon span:nth-of-type(1) {
   transform: translate(-50%, -50%) rotate(-135deg);
   top: 50%;
}

.spmenu.active .icon span:nth-of-type(2) {
   opacity: 0;
   left: 100%;
}

.spmenu.active .icon span:nth-of-type(3) {
   transform: translate(-50%, -50%) rotate(135deg);
   top: 50%;
}

@media (max-width: 767px) {
   .spmenu{
      top: 0;
   }
}

/*------------------- header -----------------------*/
header {
   box-sizing: border-box;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 100;
   transition: .5s;
   background-color: #fff;
}

.header_inner{
   max-width: 1600px;
   margin: 0 auto;
   display: flex;
   align-items: center;
   padding: 0 10px 0 20px;
   justify-content: center;
}

@media (min-width: 768px) {
   .scroll header {
      background: #fff;
      box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
   }
}

@media (max-width: 1200px) {
   .header_inner{
      justify-content: space-between;
      padding: 0 52px 0 10px;
   }

   .logo.sp {
      /* width: 84%; */
      padding: 11px 0 10px 10px;
      background-color: #fff;
      display: block !important;
   }

   .logo.sp a {
      display: flex;
      align-items: center;
   }

   .logo.sp a img {
      width: 95px;
      margin-right: 3%;
   }

   .logo.sp a .small {
      font-size: 10px;
      font-weight: 300;
      color: #333;
      line-height: 1.4;
   }

   .logo.pc {
      display: none;
   }

   #gNavi .btns {
      justify-content: center;
   }

   #gNavi {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      box-sizing: border-box;
      background: rgba(255, 255, 255, 0.95);
      display: flex;
      justify-content: center;
      align-items: center;
      opacity: 0;
      pointer-events: none;
      transition: .5s;
   }

   #gNavi.active {
      opacity: 1;
      pointer-events: all;
   }

   #gNavi .nav_inner {
      overflow: auto;
      box-sizing: border-box;
      max-height: 100%;
      width: 100%;
   }

   #gNavi .nav_inner2 {
      padding: 10vw 0;
   }

   #gNavi ul {
      margin: 0 auto;
      padding: 0;
      width: 90%;
      max-width: 850px;
   }

   #gNavi ul li {
      margin: 0;
      padding: 0;
      list-style: none;
   }

   #gNavi ul li a {
      display: block;
      text-align: center;
      padding: 8px 0;
      color: #333;
   }
}

@media (max-width: 767px) {
   .header_inner{
      padding-left: 0;
   }
   .logo.sp {
      padding: 5px 0 6px 10px;
   }

   .logo.sp a img {
      margin-right: 0;
      width: 90px;
   }
}

@media (max-width: 375px) {
   .logo.sp a img {
      margin-right: 0;
      width: 87px;
   }
}

@media (min-width: 1199px) {
   #gNavi {
      display: block !important;
      opacity: 1 !important;
      width: 100%;
   }

   #gNavi .nav_inner {
      background-color: #fff;
   }

   #gNavi .nav_inner2 {
      display: flex;
      /* justify-content: flex-end; */
      justify-content: space-between;
      align-items: center;
      /* max-width: 1600px;
      width: 96%; */
      margin: 0 auto;
      height: 90px;
   }

   .logo {
      margin: 0 auto 0 0;
   }

   .logo img {
      width: 164px;
   }

   .logo a {
      display: flex;
      align-items: center;
   }

   .logo a .small {
      color: #323232;
      font-size: 12px;
      font-weight: 300;
      margin-left: 25px;
      line-height: 17px;
   }

   #gNavi ul {
      margin: 0;
      padding: 0 15px 0 0;
      display: flex;
   }

   #gNavi ul li {
      margin: 0;
      padding: 0;
      list-style: none;
      position: relative;
   }

   #gNavi ul li a.pc {
      display: block;
      text-align: center;
      padding: 10px 15px;
      font-size: 14px;
      color: #333333;
      width: 100%;
   }

   #gNavi ul li a.sp {
      display: none;
   }

   #gNavi ul li a:hover {
      color: #80253c;
   }
}

#gNavi .btns {
   margin: 0;
}

@media (max-width: 1300px) {
   #gNavi ul li a {
      padding: 10px 7px;
   }

   .logo a .small {
      font-size: 11px;
      margin-left: 20px;
   }

   .logo img {
      width: 160px;
   }
}

@media (max-width: 1200px) {
   .spmenu.sp {
      display: block !important;
   }

   .main {
      margin-top: 51px;
   }
}

#gNavi .btns {
   display: flex;
}

#gNavi .btns a {
   width: 180px;
   color: #fff;
   font-size: 14px;
   text-align: center;
   line-height: 44px;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   background-color: #80243c;
   border-radius: 40px;
   margin-left: 12px;
}

#gNavi .btns a::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #fff;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

#gNavi .btns a:hover {
   color: #80243c;
}

#gNavi .btns a:hover::before {
   transform: translateX(10%);
}

/* header追加要素 */
.menu {
   margin: 0 auto;
}

.menu > li a {
   display: block;
   color: #fff;
}

ul.menu__second-level {
   opacity: 0;
   z-index: 1;
   padding: 0;
}

ul.menu__third-level {
   opacity: 0;
}

ul.menu__fourth-level {
   opacity: 0;
}

.menu > li:hover {
   -webkit-transition: all .5s;
   transition: all .5s;
}

.menu__second-level li {
   text-align: left;
   width: 100%;
}

.menu__fourth-level li a:hover {
   background: #1d0f0f;
}

.menu__second-level li a {
   background: #80253c;
   text-align: left !important;
   /* width: 190% !important; */
}

.menu__second-level li a:hover {
   background: #a43d57;
   opacity: 1;
}

/* floatクリア */
.menu:before,
.menu:after {
   content: " ";
   display: table;
}

.menu:after {
   clear: both;
}

.menu {
   *zoom: 1;
}

.menu > li.menu__single {
   position: relative;
}

.single a {
   display: inline-block;
   color: #752c3d;
}

.single-case_study .textwidget a {
   font-weight: 700;
   text-decoration: underline;
   transition: .3s;
}

.single-case_study .textwidget a:hover {
   opacity: 80%;
}

.single-case_study h4 {
   font-size: 18px;
   color: #80243c;
}

li.menu__single ul.menu__second-level {
   position: absolute;
   top: 40px;
   width: 215px;
   -webkit-transition: all .2s ease;
   transition: all .2s ease;
   flex-wrap: wrap;
   visibility: hidden;
}

i.menu__single ul.menu__second-level li {
   width: 100%;
}

li.menu__single ul.menu__second-level a {
   color: #fff !important;
   padding: 10px 15px;
   font-size: 14px;
}

li.menu__single:hover ul.menu__second-level {
   top: 50px;
   visibility: visible;
   opacity: 1;
}

@media screen and (max-width: 1200px) {
   #gNavi .nav_inner {
      max-width: 500px;
      overflow: inherit;
   }

   li.menu__single ul.menu__second-level {
      -webkit-transition: none;
      transition: none;
   }

   .menu__second-level.pc {
      display: none;
   }

   .menu__single .sp_m.pc {
      display: none !important;
   }

   .menu__single .sp_m.sp {
      display: block !important;
      text-align: center;
      font-size: 20px;
      font-weight: 500;
      margin-bottom: 2vw;
      padding-bottom: 2vw;
      border-bottom: 1px solid #80253c;
   }

   .single_link {
      font-size: 20px;
      font-weight: 500;
      margin-bottom: 2vw;
   }

   .menu__single .sp_m .i_box {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 30px;
      right: 5%;
      width: 20px;
      height: 20px;
      margin-top: -10px;
      box-sizing: border-box;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      transform-origin: center center;
      transition-duration: 0.2s;
   }

   .menu__single .sp_m .i_box .one_i {
      display: block;
      width: 20px;
      height: 20px;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      transform-origin: center center;
      transition-duration: 0.2s;
      position: relative;
   }

   .menu__single .sp_m .i_box .one_i:before {
      width: 2px;
      height: 20px;
      top: 0px;
      left: 7px;
      display: flex;
      content: '';
      background-color: #80243c;
      border-radius: 10px;
      transform-origin: center center;
   }

   .menu__single .sp_m .i_box .one_i:after {
      display: flex;
      content: '';
      background-color: #80243c;
      border-radius: 10px;
      width: 22px;
      height: 2px;
      position: absolute;
      top: 9px;
      left: -10px;
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
      transform-origin: center center;
   }

   li.menu__single ul.menu__second-level {
      position: static;
      width: 100%;
      opacity: 1;
      margin-bottom: 1vw !important;
      display: none;
   }

   li.menu__single ul.menu__second-level a {
      background-color: transparent;
      color: #323232 !important;
      text-align: center !important;
   }

   .menu__single .sp_m.open .i_box .one_i:before {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg);
   }
}

@media screen and (max-width: 767px) {
   #gNavi ul li a {
      padding: 0 7px 11px;
   }

   #gNavi .btns {
      display: none;
   }

   .menu__single .sp_m.sp {
      font-size: 17px;
   }

   .menu__single .sp_m .i_box {
      top: 22px;
   }

   .single-case_study h4 {
      font-size: 16px;
   }
}

/* 言語Switcher */
.switcher{
   margin-left: 15px;
   white-space: nowrap;
}
.switcher__btn{
   background-color: transparent;
   border: none;
   cursor: pointer;
   font: inherit;
   outline: none;
   padding: 0;
   margin: 0 5px;
   appearance: none;
   opacity: .7;
   position: relative;
}

.switcher__btn[id="lang-ja"]::after{
   content: "";
   display: inline-block;
   width: 1px;
   height: 1em;
   background: #000;
   position: absolute;
   right: -8px;
   top: 50%;
   transform: translateY(-50%);
}

.switcher__btn.active{
   opacity: 1;
}


/* -- inner -- */
.inner {
   width: 100%;
   max-width: 1101px;
   margin: 0 auto;
   box-sizing: border-box;
   position: relative;
   padding: 90px 0.6% 120px;
}

@media screen and (max-width: 1080px) {
   .inner {
      max-width: 960px;
   }
}

@media screen and (max-width: 991px) {
   .inner {
      max-width: 720px;
   }
}

@media screen and (max-width: 767px) {
   .inner {
      max-width: 100%;
      padding: 45px 20px 30px;
   }
}

/*-- top_movie ----------------------------------------*/
.video-area {
   position: fixed;
   z-index: -1;
   /*最背面に設定*/
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
   overflow: hidden;
}

/* .video {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    height: 56.25vw; 
    min-height: 100%;
    min-width: 100%;
} */


/*youtube 上のロゴ */
#youtube-area .h1 {
   position: absolute;
   z-index: 2;
   /*下から2番目に表示*/
   /*天地中央配置*/
   top: 25%;
   left: 60%;
   transform: translateY(-50%) translateX(-50%);
   font-family: 'Barlow Condensed', sans-serif;
   color: #80243c;
   font-size: 50px;
   width: 100%;
   text-align: left;
}

#youtube-area .h1 .alt_txt {
   display: block;
   font-size: 21px;
}

#youtube-area .svg {
   position: absolute;
   z-index: 2;
   /*下から2番目に表示*/
   /*天地中央配置*/
   top: 53%;
   left: 50%;
   transform: translateY(-50%) translateX(-50%);
   width: 143px;
   height: 170px;
}

/*下のコンテンツ*/
#container {
   position: relative;
   /*relativeを指定してfixed指定をした#youtube-areaの上に表示*/
   z-index: 3;
   /*一番上に表示*/
   /*見た目の調整*/
   background: #333;
   color: #fff;
   padding: 300px 0;
   text-align: center;
}

.video-container {
   position: relative;
   top: 0;
   bottom: 0;
   min-width: 100%;
   height: 95vh;
   overflow: hidden;
   border: 0;
   transform: translateZ(-#{$scroll-factor * 2}px) scale(1 + $scroll-factor * 2);
   float: right;
   background-color: #80253c;
}

.video-container video {
   position: absolute;
   min-width: 100%;
   min-height: 100%;
   width: auto;
   height: auto;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.video-container .h1 {
   position: absolute;
   z-index: 2;
   /*下から2番目に表示*/
   /*天地中央配置*/
   top: 15%;
   left: 60%;
   transform: translateY(-50%) translateX(-50%);
   font-family: 'Barlow Condensed', sans-serif;
   color: #80243c;
   font-size: 50px;
   width: 100%;
   text-align: left;
   font-weight: 500;
}

.video-container .h1 .alt_txt {
   display: block;
   font-size: 21px;
}

.video-container .svg {
   position: absolute;
   z-index: 2;
   top: 50%;
   left: 50%;
   transform: translateY(-50%) translateX(-50%);
   width: 143px;
   height: 170px;
}

.video-container .svg02 {
   position: absolute;
   z-index: 2;
   top: 67%;
   left: 50%;
   transform: translateY(-50%) translateX(-50%);
   width: 251px;
   height: 21px;
}

.video-container .top_banner {
   position: absolute;
   z-index: 2;
   bottom: 6%;
   left: 50%;
   transform: translateY(-50%) translateX(-50%);
   max-width: 780px;
   width: 100%;
   height: 85px;
   border: 1px solid #ffffff;
}

.video-container .top_banner img {
   transition: .3s;

}

.video-container .top_banner:hover img {
   opacity: 80%;
}

@media screen and (max-width: 767px) {
   #slider {
      /* 		position:relative; */
   }

   #slider .h1 {
      position: absolute;
      z-index: 10;
      top: 24%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      font-family: 'Barlow Condensed', sans-serif;
      color: #80243c;
      font-size: 34px;
      width: 92%;
      line-height: 1.2;
   }

   #slider .h1 .alt_txt {
      font-size: 18px;
      display: block;
      margin-top: 5px;
   }

   #slider .svg {
      position: absolute;
      z-index: 10;
      width: 65px;
      height: 78px;
      top: 49%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
   }

   #slider .svg02 {
      position: absolute;
      z-index: 10;
      width: 205px;
      height: 17px;
      top: 60%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
   }

   #slider .top_banner {
      position: absolute;
      z-index: 10;
      max-width: 345px;
      width: 100%;
      height: 17px;
      top: 70%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
   }

   #slider .top_banner img {
      border: 1px solid #fff;
   }
}

/* ===============
    SP btn
================== */
.btn-wrap_sp {
   position: fixed;
   bottom: 0;
   left: 0;
   width: 100%;
   padding: 15px 10px;
   display: flex;
   background-color: #fff;
   z-index: 5;
   box-sizing: border-box;
}

.btn-wrap_sp .btn {
   width: calc((100% - 10px) / 2);
}

.btn-wrap_sp .btn__link {
   font-size: 13px;
   padding: 11px;
   background-color: #80253c;
   color: #fff;
   text-align: center;
   border-radius: 20px;
}

.btn-wrap_sp .btn:last-child {
   margin-left: 10px;
}

/* -- h2,h3,h4 -- */
.h2 {
   width: 100%;
   font-size: 28px;
   line-height: 50px;
   margin: 0 auto;
   font-family: 'Barlow Condensed', sans-serif;
   color: #80243c;
   margin-bottom: 40px;
   font-weight: 500;
}

.h2::before {
   content: '';
   display: inline-block;
   width: 16px;
   height: 27px;
   background-image: url(../img/common/title_arrow.svg);
   background-repeat: no-repeat;
   background-size: contain;
   vertical-align: middle;
   margin-right: 6px;
   margin-bottom: 3px;
}

.h3 {
   width: 100%;
   font-size: 40px;
   line-height: 50px;
   text-align: center;
   margin: 0 auto;
   font-weight: 700;
   margin-bottom: 48px;
   line-height: 1.4;
}

.h4 {
   width: 100%;
   font-size: 28px;
   text-align: center;
   font-family: 'Barlow Condensed', sans-serif;
   color: #fff;
   font-weight: 400;
   margin-bottom: 20px;
}

.h5 {
   width: 100%;
   font-size: 34px;
   text-align: center;
   font-family: 'Barlow Condensed', sans-serif;
   color: #fff;
   font-weight: 400;
   margin-bottom: 20px;
}

.txt {
   text-align: center;
}

.txt .p {
   margin-bottom: 25px;
   line-height: 2;
   letter-spacing: 0.08em;
}

@media screen and (max-width: 991px) {
   .h2 {
      font-size: 22px;
   }
}

@media screen and (max-width: 767px) {
   .h2 {
      width: 100%;
      font-size: 20px;
      padding: 3px 0;
      line-height: 1.6;
      margin-bottom: 8px;
   }

   .h3 {
      font-size: 23px;
      margin-bottom: 25px;
   }

   .h4 {
      margin-bottom: 2px;
   }

   .h5 {
      font-size: 20px;
   }

   .txt .p {
      margin-bottom: 17px;
      line-height: 1.8;
   }
}

/* -- btn -- */
.btns {
   display: flex;
   justify-content: center;
}

.btn .a {
   width: 280px;
   color: #fff;
   font-size: 15px;
   text-align: center;
   line-height: 60px;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   background-color: #80243c;
   border-radius: 40px;
   margin-left: 12px;
}

.btn .a::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #fff;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.btn .a::after {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   transition: all 0.3s;
}

.btn .a:hover {
   color: #80243c;
}

.btn .a:hover:before {
   transform: translateX(10%);
}

@media screen and (max-width: 767px) {
   .btns {
      flex-wrap: wrap;
   }

   .btn .a {
      font-size: 14px;
      padding: 0;
      width: auto;
      line-height: 4;
   }
}

/* -- flex -- */
.flex {
   display: -webkit-flex;
   display: flex;
   justify-content: space-between;
}

@media screen and (max-width: 767px) {
   .flex {
      flex-wrap: wrap;
   }
}

/* -- baseline -- */
.baseline {
   /*    vertical-align: -webkit-baseline-middle; */
   position: relative;
   bottom: -0.4em;
}

.bg {
   position: absolute;
   pointer-events: none;
}

@media screen and (max-width: 767px) {
   .bg {
      width: 43%;
   }
}

/*-- slider ----------------------------------------*/
#slideshow {
   position: relative;
}

#slideshow figure,
#slideshow_sp figure {
   position: absolute;
   top: 0;
   left: 0;
   z-index: 8;
   opacity: 0.0;
   width: 100%;
   height: auto;
}

#slideshow figure.active,
#slideshow_sp figure.active {
   z-index: 10;
   opacity: 1.0;
}

#slideshow figure.last-active,
#slideshow_sp figure.last-active {
   z-index: 9;
}

#slideshow .txt {
   position: absolute;
   top: 50%;
   left: 35.5%;
   transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
}

#slideshow .txt .p {
   font-size: 40px;
   color: #fff;
   line-height: 1.6;
   letter-spacing: 0.05em;
}

#slideshow .txt .p .span {
   display: table;
   font-size: 24px;
   background-color: #35b2a6;
   line-height: 1.3;
   padding: 0 15px;
   margin-bottom: 20px;
   font-style: italic;
   font-weight: 100;
   letter-spacing: 0;
}

#slideshow_sp figure:nth-child(2) .txt .p .span,
#slideshow figure:nth-child(2) .txt .p .span {
   background-color: #da656e;
}

#slideshow_sp figure:nth-child(3) .txt .p .span,
#slideshow figure:nth-child(3) .txt .p .span {
   background-color: #6a99c5;
}

@media screen and (max-width: 1200px) {
   #slideshow .txt .p {
      font-size: 29px;
   }

   #slideshow .txt .p .span {
      font-size: 20px;
      bottom: 7px;
   }
}

@media screen and (max-width: 767px) {
   #slideshow_sp {
      padding-top: 148%;
   }

   #slideshow_sp .txt {
      position: absolute;
      top: 50%;
      left: 35.5%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
   }

   #slideshow_sp .txt .p {
      font-size: 40px;
      color: #fff;
      line-height: 1.6;
      letter-spacing: 0.15em;
   }

   #slideshow_sp .txt .p .span {
      display: table;
      font-size: 24px;
      background-color: #35b2a6;
      line-height: 1.3;
      padding: 0 15px;
      margin-bottom: 20px;
      letter-spacing: 0;
      font-style: italic;
   }
}

@media screen and (max-width: 480px) {
   #slideshow_sp .txt {
      top: 52%;
      left: 52%;
      width: 90%;
   }

   #slideshow_sp .txt .p {
      font-size: 26px;
      line-height: 1.4;
   }

   #slideshow_sp .txt .p .span {
      font-size: 15px;
      margin-bottom: 7px;
   }
}

@media print {
   #slideshow {
      height: auto !important;
   }

   #slideshow figure.active {
      position: static !important;
      vertical-align: top;
   }
}

/* top_concept */
.top_concept {
   /* background: #f5f5f5 url(../img/top/bg01.png) no-repeat top left / auto; */
   z-index: 1;
   position: relative;
   background-color: #f5f5f5;
}

/* top_technology */
.top_technology {
   z-index: 1;
   position: relative;
   background-color: #fff;
}

.top_technology .flex {
   flex-wrap: wrap;
}

.top_technology .img {
   width: 560px;
   margin: 50px auto 45px;
}

.movie {
   width: 100%;
   aspect-ratio: 16 / 9;
}

.movie iframe {
   width: 100%;
   height: 100%;
}

.top_technology .flex .item {
   width: 43.7%;
   background-color: #f2e9eb;
   padding: 30px;
   margin-bottom: 45px;

}

.top_technology .flex .item .small {
   font-size: 21px;
   font-weight: 500;
   letter-spacing: 0.06em;
}

.top_technology .flex .item .big {
   font-size: 60px;
   font-weight: 700;
   color: #80243c;
   line-height: 1;
   margin-bottom: 25px;
   letter-spacing: 0.065em;
}

.top_technology .flex .item .big .baseline {
   font-size: 30px;
}

.top_technology .flex .item .p {
   font-weight: 500;
   margin-bottom: 30px;
}

.top_technology .flex .item .obi {
   background-color: #80243c;
   color: #fff;
   text-align: center;
   padding: 6px 0;
   margin-bottom: 15px;
}

@media screen and (max-width: 991px) {}

@media screen and (max-width: 767px) {
   .top_technology .flex .item {
      width: 100%;
      padding: 15px 5vw;
      margin-bottom: 25px;
   }

   .top_technology .flex .item .small {
      font-size: 19px;
      text-align: center;
      margin-bottom: 3px;
   }

   .top_technology .flex .item .big {
      font-size: 45px;
      margin-bottom: 10px;
      text-align: center;
   }

   .top_technology .flex .item .p {
      line-height: 1.8;
      margin-bottom: 25px;
   }

   .top_technology .flex .item .obi {
      padding: 4px 0 0;
   }

   .top_technology .img {
      width: auto;
      margin: 20px auto 30px;
   }

   .top_technology .btn {
      width: 75%;
   }

   .top_technology .btn .a {
      line-height: 3.5;
   }
}

/* top_business */
.top_business {
   z-index: 1;
   position: relative;
   background-color: #f5f5f5;
}

.top_business .flex {
   flex-wrap: wrap;
}

.top_business .flex .item {
   width: 32.5%;
   background-color: #fff;
   margin-bottom: 45px;
}

.top_business .flex .item:last-child {
   width: 100%;
}

.top_business .flex .item .in_inner {
   padding: 7px 20px 20px;
}

.top_business .flex .item .small {
   color: #80243c;
   font-family: 'Barlow Condensed', sans-serif;
   font-size: 28px;
   font-weight: 500;
   margin-bottom: 7px;
}

.top_business .flex .item .small .small02 {
   font-size: 13px;
   font-weight: 700;
   font-family: 'Noto Sans JP', sans-serif;
   margin-left: 7px;
}

.top_business .flex .item .big {
   text-align: center;
   font-size: 22px;
   font-weight: 700;
   line-height: 1.4;
   height: 85px;
   margin-bottom: 20px;
}

.top_business .flex .item:last-child .big {
   text-align: left;
   color: #80243c;
   height: auto;
}

.top_business .flex .item .big .small02 {
   font-size: 13px;
   font-weight: 400;
   display: block;
   margin-top: 7px;
}

.top_business .flex .item .img {
   margin-bottom: 13px;
}

.top_business .flex .item:nth-child(4) .img {
   margin-bottom: 0;
}

.top_business .flex .item .obi {
   font-size: 13px;
   background-color: #80243c;
   color: #fff;
   line-height: 1.6;
   display: inline-block;
   padding: 0 12px;
}

.top_business .flex .item .kinds {
   font-size: 15px;
}

.top_business .flex .item:last-child .kinds {
   font-size: 16px;
}

.top_business .flex .item .txt_p {
   font-size: 15px;
   background-color: #f2e9eb;
   line-height: 1.6;
   padding: 20px;
}

@media screen and (max-width: 991px) {}

@media screen and (max-width: 767px) {
   .top_business .flex .item {
      width: 95%;
      margin: 0 auto 25px;
   }

   .top_business .flex .item .big {
      font-size: 20px;
      height: auto;
   }

   .top_business .flex .item .in_inner {
      padding: 7px 5vw 5vw;
   }

   .top_business .flex .item .img {
      margin-bottom: 5vw;
   }

   .top_business .flex .item .txt_p {
      padding: 5vw;
   }

   .top_business .btn {
      width: 75%;
   }

   .top_business .btn .a {
      line-height: 3.5;
   }
}

/* top_case */
.top_case {
   z-index: 1;
   position: relative;
   background-color: #fff;
}

.top_case .flex {
   flex-wrap: wrap;
}

.top_case .flex .item02 {
   width: 48.5%;
   margin-bottom: 55px;
}

.top_case .flex .item02 .hei .txt02 {
   height: 163px;
}

.top_case .flex .item02 a:hover {
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
}

.flex .item02 {
   background-color: #f5f5f5;
}

.footer02 .flex .item02 {
   background-color: transparent;
}

.flex .item02 a .img {
   background: #80243c;
   overflow: hidden;
   margin: 0 auto;
   position: relative;
   aspect-ratio: 16/9.2;
}

.post-type-archive-product .item02 a .img {
   aspect-ratio: 16/7;
}

.post-type-archive-product .flex .item02 a:hover .img img {
   transform: scale(1);
}

.flex .item02 a:hover .img img {
   /* opacity: .4; */
   transform: scale(1.15);
}

.flex .item02 a .img img {
   transition: all .5s ease-out;
}

.flex .item02 a .txt02 {
   padding: 28px;
   transition: .3s;
}

.flex .item02 a .txt02 .small {
   background-color: #80243c;
   color: #fff;
   display: inline-block;
   font-size: 15px;
   padding: 0 15px;
   margin-bottom: 15px;
}

.flex .item02 a .txt02 .p {
   font-size: 19px;
   margin-bottom: 25px;
}

.flex .item02 a .txt02 .detail {
   color: #80243c;
   text-align: right;
   font-size: 15px;
}

.flex .item02 a .txt02 .detail::before {
   border-top: 1px solid #80243c;
   border-right: 1px solid #80243c;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
   content: '';
   display: inline-block;
   width: 8px;
   height: 8px;
   margin-right: 10px;
}

.flex .item02 a:hover .txt02 {
   background-color: #fff;
}

.flex .item02 a .txt02 .small a {
   color: #fff;
}

.flex .item02 a:hover .txt02 .small {
   background-color: #ab3f5b;
}

.top_case .btns .btn {
   margin: 0 1.5%;
}

@media screen and (max-width: 991px) {}

@media screen and (max-width: 767px) {
   .top_case .flex {
      justify-content: center;
   }

   .top_case .flex .item02 {
      width: 95%;
      margin-bottom: 25px;
   }

   .flex .item02 a .txt02 {
      padding: 5vw;
   }

   .top_case .btns .btn {
      width: 75%;
      margin-bottom: 15px;
   }

   .top_case .btns .btn:last-child {
      margin-bottom: 0;
   }

   .top_case .flex .item02 .hei .txt02 {
      height: auto;
   }
}

/* top_product */
.top_product {
   z-index: 1;
   position: relative;
   background-color: #f5f5f5;
}

.top_product .flex_box {
   margin-bottom: 90px;
}

.top_product .flex_box .flex {
   background-color: #fff;
   margin-bottom: 30px;
}

.page-id-765 .top_product .flex_box .flex,
.page-id-262 .top_product .flex_box .flex {
   background-color: #f5f5f5;
}

.page-id-765 .top_product .flex_box .flex:hover,
.page-id-262 .top_product .flex_box .flex:hover {
   background-color: #fff;
}

.top_product .flex_box .flex:nth-child(odd) {
   flex-direction: row-reverse;
}

.top_product .flex_box .flex:last-child {
   flex-direction: row-reverse;
}

.top_product .flex_box a:hover {
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
   opacity: 1;
   background-color: #fff;
}

.top_product .flex_box .flex .img {
   overflow: hidden;
   width: 54%;
   display: inherit;
}

.top_product .flex_box .flex .txt {
   text-align: center;
   width: 40%;
   padding: 30px 30px 40px;
}

.top_product .flex_box .flex .txt .small {
   font-size: 22px;
}

.top_product .flex_box .flex .txt .big {
   font-size: 34px;
   font-weight: 700;
   color: #80243c;
}

.top_product .flex_box .flex .txt .big span {
   font-size: 18px;
}

.top_product .flex_box .flex .txt .p {
   line-height: 1.4;
   margin-top: 10px;
}

.top_product .flex_box .flex .btn-style {
   width: 250px;
   color: #80243c;
   font-size: 15px;
   text-align: center;
   line-height: 52px;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   background-color: transparent;
   border-radius: 40px;
   margin: 0 auto;
}

.top_product .flex_box .flex .btn-style::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #80243c;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.top_product .flex_box .flex .btn-style::after {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   transition: all 0.3s;
}

.top_product .flex_box .flex:hover .btn-style {
   color: #fff;
}

.top_product .flex_box .flex:hover .btn-style::before {
   transform: translateX(10%);
}

.top_product .flex_box .flex:hover .img img {
   transform: scale(1.2);
}

.top_product .flex_box .flex .img img {
   transition: all .5s ease-out;
   vertical-align: middle;
   object-fit: contain;
}

.top_product .small_n {
   text-align: center;
   font-size: 25px;
   padding: 40px;
   border: 6px solid #c8c8c8;
}

.top_product .small_n .red {
   color: #80243c;
   font-weight: 700;
   font-size: 30px;
}

@media screen and (max-width: 991px) {}

@media screen and (max-width: 767px) {
   .top_product .flex_box .flex .img {
      width: 100%;
   }

   .top_product .flex_box .flex .txt {
      width: 100%;
      padding: 5vw 5vw 9vw;
   }

   .top_product .flex_box .flex .txt .small {
      font-size: 20px;
   }

   .top_product .flex_box .flex .txt .big {
      font-size: 30px;
      list-style: 1.2;
   }

   .top_product .flex_box .flex .btn-style {
      line-height: 50px;
      width: 75%;
   }

   .top_product .small_n {
      padding: 5vw;
      font-size: 20px;
   }

   .top_product .small_n .red {
      line-height: 1;
   }

   .top_product .flex_box .flex .txt .big span {
      font-size: 15px;
   }
}


/* footer */
.footer01 {
   background-color: #f2eaec;
   z-index: 1;
   position: relative;
}

.footer02 {
   background-color: #80243c;
   z-index: 1;
   position: relative;
}

.footer01 .inner,
.footer02 .inner {
   padding: 55px 0;
}

.footer01 .h4 {
   color: #80253c;
}

.footer01 .h5 {
   color: #333;
   font-size: 34px;
   font-weight: 700;
}

.footer01 .txt {
   width: 38%;
   text-align: left;
}

.footer01 .txt .p {
   margin-bottom: 30px;
}

.footer01 .txt .p:last-child {
   margin-bottom: 0;
}

.footer01 .movie {
   width: 58%;
}

.footer02 .flex .item02 {
   position: relative;
   width: 49%;
}

.footer02 .flex .item02 .txt {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   width: 100%;
   color: #fff;
}

.footer02 .flex .item02 a .img {
   aspect-ratio: auto;
}

.footer02 .flex .item02 .txt .big {
   font-size: 27px;
   line-height: 1.4;
   margin-bottom: 20px;
}

.footer02 .flex .item02 .txt .p {
   font-size: 15px;
}

.footer02 .flex .item02 .btn-style {
   width: 250px;
   color: #fff;
   font-size: 15px;
   text-align: center;
   line-height: 52px;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   background-color: #80243c;
   border-radius: 40px;
   margin: 0 auto;
}

.footer02 .flex .item02 .btn-style::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #fff;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.footer02 .flex .item02:hover .btn-style {
   color: #80243c;
}

.footer02 .flex .item02:hover .btn-style::before {
   transform: translateX(10%);
}

.footer03 {
   background: url(../img/footer/bg03.jpg) no-repeat center top/cover;
   background-attachment: fixed;
   z-index: 1;
   position: relative;
}

.footer03 .inner {
   padding: 70px 0 65px;
}

.footer03 .p {
   color: #fff;
   font-size: 28px;
   font-weight: 700;
   text-align: center;
   line-height: 1.9;
   margin-bottom: 50px;
}

.footer03 .flex {
   justify-content: center;
}

.footer03 .flex .btn {
   margin: 0 2.5%;
}

.footer {
   z-index: 1;
   position: relative;
   background-color: #f7f6f5;
}

.footer .inner {
   padding: 45px 0 40px;
}

.footer .flex {
   justify-content: center;
   align-items: baseline;
}

.footer .img {
   width: 164px;
   margin: 0 auto 25px;
}

.footer .flex .p {
   margin-right: 40px;
   font-size: 13px;
   text-align: center;
}

.footer .box {
   font-size: 13px;
   border-top: 1px solid #d6d6d6;
}

.footer .box .flex {
   justify-content: flex-end;
   max-width: 1080px;
   margin: 0 auto;
   padding: 18px 0;
}

.footer .box .flex .p02 {
   width: 60%;
   text-align: right;
   font-size: 16px;
   font-weight: 400;
}

.footer .box .flex .ul {
   text-align: right;
   width: 40%;
}

.footer .box .flex .ul li {
   display: inline-block;
   margin-left: 10px;
   padding-left: 10px;
   line-height: 1;
}

.footer .box .flex .ul li:nth-child(2) {
   border-left: 1px solid;
}

.footer .box .flex .ul li:hover a {
   color: #80253c;
}

@media screen and (max-width: 991px) {}

@media screen and (max-width: 767px) {

   .footer01 .inner,
   .footer02 .inner {
      padding: 9% 5vw 11%;
   }

   .footer01 .h5 {
      font-size: 20px;
   }

   .footer01 .flex {
      flex-wrap: wrap;
      flex-flow: column-reverse;
   }

   .footer01 .movie {
      width: 100%;
      margin: 0 auto 5%;
   }

   .footer01 .txt {
      width: 100%;
   }

   .footer01 .txt .p {
      margin-bottom: 11px;
   }

   .footer02 .flex .item02 {
      width: 100%;
   }

   .footer02 .flex .item02 .txt .big {
      font-size: 20px;
      margin-bottom: 7px;
   }

   .footer02 .flex .item02 .txt .p {
      font-size: 13px;
   }

   .footer02 .flex .item02 .btn-style {
      width: 68%;
      font-size: 14px;
      line-height: 46px;
   }

   .footer02 .flex .item02 .txt {
      width: 92%;
   }

   .footer03 .inner {
      padding: 9% 5vw;
   }

   .footer03 .p {
      font-size: 17px;
      line-height: 1.6;
      margin-bottom: 7%;
      font-weight: 500;
   }

   .footer03 .flex .btn {
      width: 70%;
   }

   .footer {
      padding-bottom: 72px;
      background-color: #f5f5f5;
   }

   .footer .inner {
      padding: 25px 0 20px;
   }

   .footer .flex .p {
      width: 90%;
      margin: 0 auto;
   }

   .footer .img {
      width: 130px;
      margin: 0 auto 15px;
   }

   .footer .box .flex {
      padding: 13px 0;
   }

   .footer .box .flex .ul,
   .footer .box .flex .p02 {
      width: 100%;
      text-align: center;
   }

   .footer .box .flex .p02 {
      font-size: 14px;
   }
}

/* breadcrumb */
.breadcrumb {
   width: auto;
   box-sizing: border-box;
   position: absolute;
   top: 60px;
   right: 0;
}

.breadcrumb ul {
   margin: 0 auto 0;
   max-width: 1100px;
   width: 100%;
   display: flex;
   display: -webkit-flex;
   justify-content: start;
   flex-wrap: wrap;
}

.breadcrumb li {
   position: relative;
   margin-right: 20px;
   font-size: 13px;
}

.breadcrumb li + li:before {
   position: absolute;
   top: 50%;
   left: -14px;
   display: block;
   content: '';
   width: 5px;
   height: 5px;
   margin-top: -2px;
   border-top: #ababab solid 1px;
   border-right: #ababab solid 1px;
   transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
   .breadcrumb {
      display: none;
      margin: 0% auto;
      padding: 12px 5vw;
      top: auto;
      bottom: 0;
      right: 0;
   }

   .breadcrumb li {
      width: 90%;
      margin: 0 auto;
      font-size: 10px;
      line-height: 1.8;
   }
}


/* page */
.page_main {
   background-color: #f5f5f5;
   user-select: none;
   position: relative;
}

.page_main .inner {
   padding: 60px 0;
}

.page_main .h2,
.page_main .h3,
.page_main .txt {
   text-align: left;
}

.page_main .h2 {
   font-size: 42px;
   margin-bottom: 40px;
}

.single .page_main .h2 {
   font-size: 28px;
}

.page_main .h2:before {
   width: 22px;
   height: 40px;
   margin-bottom: 6px;
}

.page_main .h3 {
   font-size: 34px;
   line-height: 1.4;
   margin-bottom: 25px;
}

.sec_case .flex {
   flex-wrap: wrap;
   justify-content: center;
}

.sec_case .flex .item02 {
   border: 1px solid #c8c8c8;
   background-color: #fff;
   position: relative;
   width: 33.14%;
}

.sec_case .flex .item02 .black {
   padding: 50px 25px;
   height: 350px;
}

.sec_case .flex .item02 .black:hover {
   box-shadow: 10px 10px 25px 15px rgba(0, 0, 0, 0.07);
}

.sec_case .flex .item02 .cap {
   position: absolute;
   top: 0;
   left: 0;
}

.sec_case .flex .item02 .cap a {
   background-color: #80253c;
   color: #fff;
   font-size: 13px;
   padding: 0 13px;
   line-height: 2.5;
}

.sec_case .flex .item02 .black:hover .cap a {
   background-color: #ab3f5b;
}

.sec_case .flex .item02 .title {
   font-size: 17px;
   margin: 20px 0 40px;
   line-height: 1.6;
}

.sec_case .flex .item02 .small object {
   display: inline-block;
   margin-right: 5px;
}

.sec_case .flex .item02 .small a {
   font-size: 13px;
   color: #afafaf;
}

.sec_case .flex .item02 .btn-style {
   color: #80253c;
   text-align: right;
   font-size: 14px;
}

.sec_case .flex .item02 .btn-style::before {
   border-top: 1px solid #80243c;
   border-right: 1px solid #80243c;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
   content: '';
   display: inline-block;
   width: 8px;
   height: 8px;
   margin-right: 10px;
}

.case_title {
   background-color: #80253c;
   padding: 21.3px 0;
}

.case_title p {
   color: #fff;
   font-size: 18px;
   max-width: 1080px;
   margin: 0 auto;
}

.cat_ulbox,
.key_ulbox {
   margin-bottom: 25px;
}

.cat_ulbox .ulbox_title,
.key_ulbox .ulbox_title {
   font-size: 18px;
   font-weight: 400;
   margin-bottom: 25px;
}

.cat_ulbox .ulbox_title .span,
.key_ulbox .ulbox_title .span {
   font-size: 15px;
   font-weight: 700;
   color: #80243c;
   margin-left: 10px;
}

.cat_ulbox .cat_ul,
.key_ulbox .key_ul {
   display: flex;
   flex-wrap: wrap;
}

.cat_ulbox .cat_ul li,
.key_ulbox .key_ul li {
   margin-bottom: 15px;
}

.cat_ulbox .cat_ul li a,
.key_ulbox .key_ul li a {
   color: #80243c;
   border: 1px solid #80243c;
   text-align: center;
   overflow: hidden;
   position: relative;
}

.cat_ulbox .cat_ul li a {
   border-radius: 30px;
   padding: 9.6px 0;
}

.key_ulbox .key_ul li a {
   padding: 5.6px 0;
}

.cat_ulbox .cat_ul li a::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #80243c;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.key_ulbox .key_ul li a:hover,
.cat_ulbox .cat_ul li a:hover {
   color: #fff;
}

.cat_ulbox .cat_ul li a:hover::before {
   transform: translateX(10%);
}

.key_ulbox .key_ul li a::before {
   content: "";
   width: 100%;
   position: absolute;
   top: 0;
   right: -60px;
   z-index: -1;
   border-right: 60px solid transparent;
   border-bottom: 60px solid #80243c;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.key_ulbox .key_ul li a:hover::before {
   transform: translateX(0);
}

.key_ulbox .key_ul li a.current {
   color: #fff;
}

.key_ulbox .key_ul li a.current::before {
   transform: translateX(0);
   border-left: 60px solid transparent;
   border-top: 60px solid #80243c;
}

.key_ulbox .key_ul li a.current:hover {
   color: #80243c;
}

.key_ulbox .key_ul li a.current:hover::before {
   transform: translateX(100%);
}

.cat_ulbox .cat_ul li a::before,
.key_ulbox .key_ul li a::before {}

.cat_ulbox .cat_ul li {
   width: 19%;
   margin-right: 1%;
}

.key_ulbox .key_ul li {
   width: 15.66%;
   margin-right: 1%;
}

@media screen and (max-width: 1200px) {
   .sec_case .flex {
      justify-content: center;
   }

   .sec_case .flex .item02 {
      width: 43%;
   }
}

@media screen and (max-width: 767px) {
   .page_main .inner {
      padding: 25px 5vw 40px;
      height: auto;
   }

   .page_main .bg {
      width: 60%;
      margin-left: -50px;
   }

   .page_main .h2 {
      font-size: 25px;
      margin-bottom: 0px;
   }

   .page_main .h2:before {
      width: 12px;
      height: 25px;
   }

   .page_main .h3 {
      font-size: 23px;
      margin-bottom: 15px;
   }

   .cat_ulbox .ulbox_title,
   .key_ulbox .ulbox_title {
      font-size: 16px;
      margin-bottom: 15px;
   }

   .cat_ulbox .ulbox_title .span,
   .key_ulbox .ulbox_title .span {
      font-size: 13px;
      margin-left: 7px;
   }

   .cat_ulbox .cat_ul li,
   .key_ulbox .key_ul li {
      margin-right: 3%;
      width: 47%;
   }

   .cat_ulbox .cat_ul li:nth-child(even),
   .key_ulbox .key_ul li:nth-child(even) {
      margin-right: 0;
   }

   .cat_ulbox .cat_ul li a,
   .key_ulbox .key_ul li a {
      font-size: 13px;
   }

   .cat_ulbox .cat_ul li,
   .key_ulbox .key_ul li {
      margin-bottom: 13px;
   }

   .case_title {
      padding: 10px 0;
   }

   .case_title p {
      font-size: 16px;
      width: 90%;
   }

   .sec_case .flex .item02 {
      width: 90%;
   }

   .sec_case .flex .item02 .black {
      height: auto;
   }
}

/* シングル */
.page_main .txt .cat a {
   display: inline-block;
   font-size: 13px;
   color: #fff;
   background-color: #80253c;
   padding: 0 10px;
   margin-right: 5px;
}

.page_main .txt .cat a:hover {
   background-color: #ab3f5b;
}

.page_main .txt .key {
   margin-top: 10px;
}

.page_main .txt .key a {
   display: inline-block;
   margin-right: 10px;
}

.page_main .txt .key a:hover {
   color: #80253c;
}

.single .case_title {
   padding: 9px 20px;
   max-width: 1060px;
   margin: 0 auto;
}

@media screen and (max-width: 767px) {
   .page_main .txt .cat a {
      font-size: 12px;
   }
}

/* product */
.case_title02 {
   background-color: #80243c;
   padding: 13px 25px;
   margin-bottom: 20px;
}

.case_title02 p {
   color: #fff;
   font-size: 19px;
}

.sec_pro .flex {
   margin-bottom: 75px;
   flex-wrap: wrap;
   justify-content: center;
}

.sec_pro .flex .item02 {
   width: 32%;
   margin-bottom: 20px;
   margin-right: 1.3%;
   transition: .3s;
}

.sec_pro .flex .item02:hover {
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
   background-color: #fff;
}

.sec_pro .flex .item02 a .img {
   background-color: transparent;
}

.sec_pro .flex .item02 .black .txt {
   padding: 0 30px 30px;
}

.sec_pro .flex .item02 .black .txt .small {
   color: #80243c;
   line-height: 1;
}

.sec_pro .flex .item02 .black .txt .big {
   color: #80243c;
   font-size: 27px;
   font-weight: 700;
   line-height: 1.6;
}

.sec_pro .flex .item02 .black .txt .big span {
   font-size: 17px;
}

.sec_pro .flex .item02 .black .txt .p {
   margin-bottom: 18px;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
   overflow: hidden;
   line-height: 1.6;
}

.sec_pro .flex .item02 .black .txt .btn-style02 {
   width: 250px;
   color: #80243c;
   font-size: 14px;
   text-align: center;
   line-height: 48px;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   background-color: transparent;
   border-radius: 40px;
   margin: 0 auto;
}

.sec_pro .flex .item02 .black .txt .btn-style02::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #80243c;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.sec_pro .flex .item02 .black:hover .txt .btn-style02 {
   color: #fff;
}

.sec_pro .flex .item02 .black:hover .txt .btn-style02::before {
   transform: translateX(10%);
}

.post-type-archive-product .top_product .flex_box a {
   background-color: #f5f5f5;
}

.post-type-archive-product .top_product .flex_box a:hover {
   background-color: #fff;
}

.mod {
   background-color: #fff;
   padding: 20px 25px;
   margin-top: 25px;
}

.textwidget .mod li {
   position: relative;
   padding-left: 15px;
}

.textwidget .mod li:before {
   content: '';
   display: block;
   position: absolute;
   top: 0.8em;
   left: 0;
   background-color: #80253c;
   font-size: 14px;
   line-height: 1;
   width: 8px;
   height: 8px;
   border-radius: 50%;
}

@media screen and (max-width: 991px) {
   .sec_pro .flex .item02 {
      width: 49%;
      margin-bottom: 13px;
   }
}

@media screen and (max-width: 767px) {
   .sec_pro .flex .item02 .black .txt .btn-style02 {
      width: 80%;
   }

   .textwidget .mod {
      margin-top: 0;
      padding: 5vw;
   }

   .textwidget .mod li {
      font-size: 13px;
      margin-bottom: 5px;
   }

   .textwidget .mod li:before {
      top: 0.6em;
   }

   .sec_pro .flex .item02 .black .txt .big span {
      font-size: 15px;
   }
}

@media screen and (max-width: 520px) {
   .sec_pro .flex .item02 {
      width: 100%;
      margin-bottom: 13px;
   }
}

/* product_single */
.single-device .spread p,
.single-product .spread p {
   max-width: 980px;
   margin: 0 auto;
}

.single-product .spread .widget_media_image {
   margin-bottom: 60px;
}

.page_main.pro .bg {
   top: 5vw;
   bottom: 3%;
   right: 3%;
   width: auto;
   height: 100%;
   /*    max-width: 860px; */
   max-height: 350px;
}

.page_main.pro .bg img {
   height: 100%;
   object-fit: contain;
}

.page_main.pro .title {
   font-size: 21px;
   font-weight: 700;
   line-height: 1.6;
   margin-bottom: 8px;
   max-width: 460px;
   color: #80253c;
}

.page_main.pro .txt p {
   margin-bottom: 27px;
}

.page_main.pro .h3 {
   max-width: 750px;
   margin: 0 auto 15px 0;
}

.page-id-783 .page_main .txt .page_link a,
.page-id-399 .page_main .txt .page_link a,
.page-id-1142 .page_main .txt .page_link a,
.page_main.pro .txt .page_link a {
   width: 175px;
   color: #80243c;
   font-size: 14px;
   text-align: center;
   line-height: 44px;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: inline-block;
   overflow: hidden;
   transition: .3s;
   background-color: transparent;
   border-radius: 40px;
   margin-left: 12px;
   padding: 0 3%;
}

.page-id-399 .page_main .txt .page_link a,
.page-id-1142 .page_main .txt .page_link a {
   width: auto;
}

.page-id-783 .page_main .txt .page_link a::before,
.page-id-399 .page_main .txt .page_link a::before,
.page-id-1142 .page_main .txt .page_link a::before,
.page_main.pro .txt .page_link a::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #80243c;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.page-id-783 .page_main .txt .page_link a:hover,
.page-id-399 .page_main .txt .page_link a:hover,
.page-id-1142 .page_main .txt .page_link a:hover,
.page_main.pro .txt .page_link a:hover {
   color: #fff;
}

.page-id-783 .page_main .txt .page_link a:hover::before,
.page-id-399 .page_main .txt .page_link a:hover::before,
.page-id-1142 .page_main .txt .page_link a:hover::before,
.page_main.pro .txt .page_link a:hover::before {
   transform: translateX(10%);
}

.table {
   max-width: 980px;
   margin: 30px auto;
}

.table .table_p {
   font-size: 17px;
   color: #fff;
   text-align: center;
   background-color: #333;
   padding: 8px 0;
}

.table tbody {
   background-color: #fff;
}

.table table {
   width: 100%;
}

.table table,
.table td,
.table th {
   border: 1px solid #b9b9b9;
   border-collapse: collapse;
   vertical-align: middle;
}

.table th {
   width: 20%;
   background-color: #f4f1e8;
   text-align: center;
}

.table tr td.gr {
   width: 20%;
   background-color: #f5f5f5;
   font-weight: 500;
}

.table tr td {
   padding: 10px;
}

@media screen and (max-width: 767px) {
   .page-id-783 .page_link {
      margin-top: 25px;
   }

   .page_link {
      display: flex;
      margin-top: 90px;
   }

   .page-id-783 .page_main .txt .page_link a,
   .page_main.pro .txt .page_link a {
      width: 130px;
      font-size: 12px;
      line-height: 38px;
   }

   .page_main.pro .title {
      font-size: 17px;
   }

   .page_main.pro .bg {
      top: 65px;
      bottom: 3%;
      right: 0;
      width: 80%;
   }

   .page-id-399 .page_main .txt .page_link {
      margin-top: 30px;
      display: block;
   }

   .page-id-399 .page_main .txt .page_link a {
      width: 70%;
      margin: 0 auto;
      font-size: 13px;
   }

   .page_main.pro .h3 {
      margin: 0 auto 120px 0;
   }
}

/* news */
.sec_news .flex .link {
   width: 30%;
}

.sec_news .flex .link a {
   margin-bottom: 15px;
}

.sec_news .flex .link a.current,
.sec_news .flex .link a:hover {
   color: #80253c;
}

.sec_news .flex .box {
   width: 70%;
   height: fit-content;
   flex-wrap: wrap;
}

.sec_news .flex .box .new_li:first-child {
   border-top: 1px solid #b4b4b4;
}

.sec_news .flex .box .new_li {
   border-bottom: 1px solid #b4b4b4;
   width: 100%;
}

.sec_news .flex .box a {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding: 25px 0px;
}

.sec_news .flex .box a:hover {
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
}

.sec_news .flex .box a .two {
   margin-left: 3%;
   width: 81.5%;
}

.sec_news .flex .box a .dt {
   font-size: 14px;
   margin-bottom: 10px;
}

.sec_news .flex .box a .dt .data,
.sec_news .flex .box a .dt object {
   display: inline-block;
}

.sec_news .flex .box a .dt .span {
   font-size: 13px;
   background-color: #80253c;
   color: #fff;
   padding: 1px 20px;
   margin-right: 15px;
   width: auto;
   display: inline-block;
}

.sec_news .flex .new_li a:hover .dt .span {
   background-color: #ab3f5b;
}

.sec_news .flex .box a .btn-style {
   color: #80253c;
   font-size: 14px;
   width: 85px;
   margin-right: 3%;
   transition: .3s;
}

.sec_news .flex .box a .btn-style::before {
   border-top: 1px solid #80243c;
   border-right: 1px solid #80243c;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
   content: '';
   display: inline-block;
   width: 8px;
   height: 8px;
   margin-right: 10px;
}

.sec_news .flex .new_li a .dt .data,
.sec_news .flex .new_li a .dd {
   transition: .3s;
}

.sec_news .flex .new_li a .dd {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.sec_news .flex .new_li a:hover .dt .data,
.sec_news .flex .new_li a:hover .dd {
   color: #80243c;
}

.sec_news .flex .new_li a:hover .btn-style {
   color: #ab3f5b;
}

.post-content {
   padding: 30px 40px 55px;
   border-top: 1px solid #b4b4b4;
   border-bottom: 1px solid #b4b4b4;
}

.post-ttl {
   color: #80243c;
   font-weight: bold;
   font-size: 20px;
   line-height: 35px;
   letter-spacing: 0;
   border-left: 3px solid #80243c;
   padding-left: 125px;
   position: relative;
}

.post-ttl span {
   font-weight: 400;
   font-size: 16px;
   line-height: 22px;
   position: absolute;
   top: 6px;
   left: 15px;
}

.text-content {
   font-size: 16px;
   line-height: 30px;
   padding: 22px 0 0 0;
}

.single-news .textwidget a {
   color: #80253c;
   font-weight: 500;
}

.single-news .textwidget a:hover {
   opacity: 70%;
}

.single-news .btn .textwidget .a {
   width: 180px;
   font-size: 14px;
   line-height: 54px;
}

.single-news .textwidget .btn .a {
   color: #fff;
   width: 175px;
   line-height: 50px;
}

.single-news .textwidget .btn .a:hover {
   color: #80253c;
   opacity: 1;
}

@media screen and (max-width: 767px) {
   .sec_news .flex {
      flex-wrap: wrap;
   }

   .sec_news .flex .link,
   .sec_news .flex .box {
      width: 100%;
   }

   .sec_news .flex .box a {
      padding: 15px 0;
      flex-wrap: wrap;
   }

   .sec_news .flex .box a .dt {
      font-size: 13px;
      margin-bottom: 3px;
   }

   .sec_news .flex .box a .dt .span {
      font-size: 12px;
      padding: 0 12px;
      margin-right: 10px;
   }

   .sec_news .flex .box a .btn-style {
      font-size: 12px;
      text-align: right;
      width: 100%;
   }

   .sec_news .flex .box a .btn-style::before {
      width: 5px;
      height: 5px;
      margin-right: 7px;
      margin-bottom: 2px;
   }

   .sec_news .flex .box a .two {
      width: 100%;
   }

   .sec_news .flex .new_li a .dd {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      white-space: break-spaces;
      margin-bottom: 3px;
   }

   .sec_news .flex .link {
      margin-bottom: 13px;
   }

   .sec_news .flex .link a {
      margin-bottom: 5px;
      font-size: 13px;
   }

   .post-content {
      padding: 50px 20px 35px;
   }

   .post-ttl {
      padding-left: 13px;
      line-height: 1.2;
      padding-bottom: 2px;
   }

   .post-ttl span {
      margin-top: -34px;
      margin-left: -20px;
   }

   .text-content {
      font-size: 15px;
      padding: 15px 0 0 0;
   }

   .single .btn .textwidget .a {
      width: 150px;
      font-size: 13px;
      line-height: 47px;
   }
}

.breadcrumb ul li br {
   display: none !important;
}

.textwidget p {
   margin-bottom: 40px;
   line-height: 2;
}

.textwidget p:last-child {
   margin-bottom: 0;
}

.single-case_study .widget_text {
   margin-bottom: 35px !important;
}

.single-device .widget-title,
.single-medical .widget-title,
.single-product .widget-title,
.single-case_study .widget-title,
.textwidget strong {
   color: #80243c;
}

.single-case_study .widget-title {
   margin-bottom: 10px;
}

.single-medical .top_product .flex_box a,
.single-case_study .top_product .flex_box a {
   flex-flow: unset !important;
}

.single-medical .top_product .flex_box a .im,
.single-case_study .top_product .flex_box a .img {
   width: 40%;
   display: inherit;
}

.single-medical .top_product .flex_box a .img img,
.single-case_study .top_product .flex_box a .img img {
   object-fit: contain;
}

.single-medical .top_product .flex_box a .txt,
.single-case_study .top_product .flex_box a .txt {
   width: 55%;
   text-align: left;
   padding: 40px 30px;
}

.single-medical .top_product .flex_box a .txt p,
.single-case_study .top_product .flex_box a .txt p {
   margin-bottom: 20px;
   color: #000;
}

.single-medical .top_product .flex_box a .btn-style,
.single-case_study .top_product .flex_box a .btn-style {
   margin: 0 auto 0 0;
}

.single-medical .top_product .flex_box a .img small,
.single-case_study .top_product .flex_box a .img small {
   position: absolute;
   top: 20px;
   left: 20px;
   font-weight: 700;
   color: #80243c;
   font-size: 16px;
}

.single-medical .btns,
.single-case_study .btns {
   margin: 55px auto 85px;
}

.single-device .btns,
.single-news .btns,
.single-blog .btns {
   margin: 70px auto -40px;
}

.single-device .movie_btn .btns {
   margin: 0 auto;
}

.single-product .btns {
   margin: 65px auto -30px;
}

.single-product .movie_btn .btns {
   margin: 0;
}

.single-product .widget-title,
.single-case_study .widget-title {
   font-size: 21px;
}

.single-product .spread .widget-title {
   max-width: 980px;
   margin: 0 auto;
}

.s_center {
   text-align: center;
   color: #80253c;
}

.spread .panel-grid-cell .widget-title {
   margin: 0 auto;
   max-width: 985px;
}

.custom-html-widget .flex {
   align-items: center;
}

.custom-html-widget .flex .img {
   width: 50%;
   text-align: center;
}

.single-medical .top_product .flex_box .flex,
.single-case_study .top_product .flex_box .flex {
   background-color: #f5f5f5;
}

.single-medical .top_product .flex_box .flex:hover,
.single-case_study .top_product .flex_box .flex:hover {
   background-color: #fff;
   opacity: 1;
}

@media screen and (max-width: 767px) {

   .single-product .widget-title,
   .single-case_study .widget-title {
      font-size: 17px;
   }

   .panel-grid .reverse {
      flex-direction: column-reverse !important;
   }

   .panel-grid .reverse .so-panel {
      margin-bottom: 20px !important;
   }

   .single-case_study .top_product .flex_box .flex {
      flex-wrap: wrap !important;
   }

   .single-case_study .top_product .flex_box a .txt,
   .single-case_study .top_product .flex_box a .img {
      width: 100%;
   }

   .single-case_study .top_product .flex_box a .img {
      min-height: 180px;
   }

   .single-case_study .top_product .flex_box a .txt {
      padding: 0px 20px 30px;
   }

   .single-case_study .top_product .flex_box a .img img {
      margin-bottom: -35px;
   }

   .single-medical .btns,
   .single-case_study .btns {
      margin: 10px auto 40px;
   }

   .single-product .btns {
      margin: 25px auto 0px;
   }

   .single-product .btns a,
   .single-case_study .btns a {
      width: 235px;
      margin: 0 auto;
   }

   .table {
      width: 95%;
   }

   .table th,
   .table td {
      font-size: 13px;
   }

   .textwidget p {
      margin-bottom: 20px;
   }

   .single-device .btns,
   .single-news .btns,
   .single-blog .btns {
      margin: 35px auto 10px;
   }

   .single-device .btns .btn a,
   .single-news .btns .btn a,
   .single-blog .btns .btn a {
      width: 235px;
      margin: 0 auto;
   }

   .custom-html-widget .flex .img {
      width: 75%;
      margin: 0 auto 20px;
   }

   .single-case_study .widget_text {
      margin-bottom: 5px !important;
   }
}

/* product_single */
.four .panel-grid-cell {
   width: calc(25% - (0.75 * 18px)) !important;
}

.four .panel-grid-cell .panel-widget-style {
   padding: 2.5% 7%;
}

.four .panel-grid-cell .panel-widget-style .widget-title {
   font-size: 16px;
   font-weight: 400;
   margin-bottom: 5px;
}

.four .panel-grid-cell .panel-widget-style .textwidget .item .txt dt {
   font-size: 21px;
   font-weight: 700;
   color: #80243c;
}

.four .panel-grid-cell .panel-widget-style .textwidget .item .img {
   margin-bottom: 10px;
}

.four .panel-grid-cell .panel-widget-style .textwidget .item .txt dd {
   line-height: 1.4;
   margin-top: 10px;
   height: 77px;
}

.four .panel-grid-cell .panel-widget-style .textwidget .item .txt dd .small {
   font-size: 13px;
}

.single-product .textwidget p {
   line-height: 1.8;
}

.single .panel-layout img {
   width: unset;
}

.single-device .pro_top .widget-title,
.single-product .pro_top .widget-title {
   font-size: 16px;
}

.single-device .pro_top .widget-title .small,
.single-product .pro_top .widget-title .small {
   color: #000;
}

.single-product .pro_top .flex {
   justify-content: center;
   margin-top: 20px;
}

.single-product .pro_top .item {
   width: 22.5%;
}

.single-product .pro_top .item .img {
   width: 70px;
   margin: 0 auto 15px;
}

.pro_top .panel-grid-cell .textwidget .item .txt dt {
   font-size: 21px;
   font-weight: 700;
   color: #80243c;
   margin-bottom: 3px;
}

.pro_top .panel-grid-cell .textwidget .item .txt dd {
   line-height: 1.6;
}

.pro_top .panel-grid-cell .widget_media_image {
   text-align: center;
}

.spread {
   background-color: #f5f5f5;
   padding: 40px 0;
   margin-right: calc(50% - 50vw);
   margin-left: calc(50% - 50vw);
}

.wp-caption {
   margin: 0 auto;
   text-align: center;
}

.lisr-api-box .img-wrap {
   width: 100%;
   max-width: 900px;
   margin: auto;
}

.lisr-api-box .inner-flex {
   display: flex;
   justify-content: center;
   margin-top: 40px;
}

.lisr-api-merit {
   width: calc((100% - 30px) / 2);
   margin-left: 30px;
   max-width: 492px;
   flex-grow: 1;
}

.lisr-api-merit:first-child {
   margin-left: 0;
}

.lisr-api-merit__number {
   font-size: 17px;
   line-height: 2;
   font-weight: 700;
   padding: 7px 10px;
   color: #ffffff;
   background-color: #80193d;
}

.lisr-api-merit__body {
   background-color: #ffffff;
   min-height: 110px;
   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
   font-size: 21px;
   color: #80243c;
   font-weight: 700;
   padding: 10px;
}

.lisr-api-merit__body p {
   line-height: 1.61 !important;
}

.lisr-api-merit__body .size--sm {
   font-weight: 400;
   color: #333333;
   font-size: 0.76em;
}

.lisr-api-box02 .text-wrap {
   font-size: 16px;
   font-weight: 700;
}

.lisr-api-box02 .text-wrap span {
   color: #80243c;
}

@media screen and (max-width: 1024px) {
   .lisr-api-merit__number {
      font-size: 16px;
   }


   .lisr-api-merit__body {
      font-size: 19px;
   }
}

@media screen and (max-width: 767px) {
   .four .panel-grid-cell {
      width: 100% !important;
   }

   .four .panel-grid-cell .panel-widget-style .textwidget .item .txt dd {
      height: auto;
      padding-bottom: 10px;
   }

   .single-product .pro_top .flex .item {
      width: 49%;
      margin-bottom: 20px;
   }

   .pro_top .panel-grid-cell .textwidget .item .txt dt {
      font-size: 18px;
   }

   .pro_top .panel-grid-cell .textwidget .item .txt dd {
      font-size: 14px;
   }

   .lisr-api-box .inner-flex {
      display: block;
   }

   .lisr-api-merit {
      width: 100%;
      margin: 30px auto 0;
   }

   .lisr-api-merit:first-child {
      margin-left: auto;
   }

   .lisr-api-merit__number {
      font-size: 15px;
      padding: 5px 8px;
   }

   .lisr-api-merit__body {
      font-size: 17px;
      min-height: auto;
      padding: 20px 10px;
   }

   .lisr-api-box02 .text-wrap {
      font-size: 15px;
   }
}

/* ページネーション */
.paginate_links {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
   padding-top: 70px;
}

.paginate_links > * {
   display: block;
   width: 66px;
   height: 66px;
   box-sizing: border-box;
   background-color: transparent;
   text-align: center;
   font-size: 16px;
   line-height: 28px;
   padding: 19px 0;
   transition: .5s;
}

.paginate_links > * + * {
   border-left: 1px solid #D6D6D6;
}

.paginate_links > *.current,
.paginate_links > *:hover {
   background-color: #80253c;
   color: #fff;
   opacity: 1;
}

.paginate_links > *.prev {
   background: url(../img/common/paginate_prev_off.svg) no-repeat center top/100% auto;
   padding: 0;
}

.paginate_links > *.prev:hover {
   background-color: #80253c;
   background-image: url(../img/common/paginate_prev_on.svg);
}

.paginate_links > *.next {
   background: url(../img/common/paginate_next_off.svg) no-repeat center top/100% auto;
   padding: 0;
}

.paginate_links > *.next:hover {
   background-color: #80253c;
   background-image: url(../img/common/paginate_next_on.svg);
}

.widget_media_image {
   text-align: center;
}

.widget_media_image .widget-title {
   color: #333;
   font-size: 19px;
   text-align: center;
}

@media screen and (max-width:767px) {
   .paginate_links {
      padding-top: 40px;
   }

   .paginate_links > * {
      width: 50px;
      height: 50px;
      font-size: 12px;
      padding: 11px 0;
   }
}

/* medical */
.sec_med .case_title02 {
   background-color: #595757;
}

.sec_med .img_box {
   display: flex;
}

.sec_med .img_box .img {
   width: 49%;
   margin-bottom: 30px;
}

.sec_med .img_box:nth-child(2) .img:nth-child(1) {
   margin-right: -96px;
}

.sec_med .img_box:nth-child(3) {
   justify-content: flex-end;
}

.sec_med .img_box:nth-child(3) .img:nth-child(1) {
   margin-right: -47px;
}

.sec_med .p_box {
   margin-bottom: 50px;
}

.sec_med .p_box .p {
   width: 60%;
}

.sec_med .p_box .ul {
   width: 30%;
   font-size: 20px;
   font-weight: 500;
}

.sec_med .p_box .ul li .r_color {
   color: #80253c;
}

.post-type-archive-medical .h2 {
   margin-bottom: 25px;
}

.page-id-2 .page_main .h3,
.page-id-2 .page_main .txt {
   text-align: center;
}

.page-id-2 .btn .a {
   margin: 0 15px;
}

.page-id-2 .btns {
   margin: 50px auto 40px;
}

@media screen and (max-width:767px) {
   .post-type-archive-medical .h2 {
      margin-bottom: 3px;
   }

   .page-id-2 .btn {
      width: 79%;
      margin-top: 3%;
   }

   .page-id-2 .btns {
      margin: 25px auto 20px;
   }
}

/* contact_n */

.required {
   display: block;
   width: 70px;
   background-color: #80253c;
   border-radius: 30px;
   font-size: 14px;
   line-height: 16px;
   color: #fff;
   text-align: center;
   padding: 6px 0 7px;
}

.required2 {
   display: block;
   width: 70px;
   background-color: #e6e6e6;
   border-radius: 30px;
   font-size: 14px;
   line-height: 16px;
   color: #333;
   text-align: center;
   padding: 6px 0 7px;
}

input[type="text"],
input[type="email"],
.textarea {
   display: block;
   width: 100%;
   background-color: #eaeaea;
   border: none;
   font-size: 15px;
   line-height: 25px;
   padding: 15px 18px;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   font-family: 'Noto Sans JP', sans-serif;
}

::placeholder {
   color: #8c8c8c;
}

.textarea {
   height: 130px;
}

.contact-form {
   width: 100%;
   box-sizing: border-box;
   max-width: 980px;
   margin: 0 auto;
   padding: 55px 50px;
}

.contact-form dl + dl {
   padding-top: 37px;
}

.contact-form dl dt {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   line-height: 18px;
   color: #80253c;
   font-weight: 500;
}

.contact-form dl dt span {
   margin-right: 10px;
}

.contact-form dl dd {
   padding-top: 10px;
   margin-left: 75px;
   font-weight: 400;
}

.contact-form dl .check02 {
   display: flex;
   display: -webkit-flex;
   flex-wrap: wrap;
}

.contact-form dl dd .alt_txt {
   background-color: #f2eaec;
   display: block;
   padding: 1.5% 2%;
   font-weight: 500;
   line-height: 1.6;
   color: #61182b;
}

.mw_wp_form_confirm .contact-form dl dd .alt_txt {
   display: none;
}

.contact-form dl .check02 span {
   display: block;
   margin-bottom: 10px;
}

.contact-form dl .check_txt {
   margin-left: 110px;
}

.mw_wp_form_preview .contact-form dl .check_txt {
   margin-left: 75px;
}

input#your-zip {
   width: 30%;
}

.contact-form .btnBox {
   display: flex;
   display: -webkit-flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 40px;
}

.contact-form .btnBox input[type="submit"] {
   display: block;
   width: 245px;
   border: 1px solid #80253c;
   text-align: center;
   font-size: 15px;
   line-height: 20px;
   color: #fff;
   padding: 19px 0;
   margin: 5px;
   cursor: pointer !important;
   transition: all 0.3s;
   background-color: #80253c;
   border-radius: 40px;
}

.mw_wp_form_preview .contact-form .btnBox input[type="submit"] {
   color: #fff;
}

.contact-form .btnBox input[type="submit"]:hover {
   color: #80253c;
   background-color: #fff;
}

.contact-form .btnBox input[name="mwform_submit-543"] {
   display: none;
}

.mw_wp_form_preview .contact-form .btnBox input[name="mwform_submit-543"] {
   display: block;
}

.contact-form .btnBox input[name="submitBack"] {
   color: #80253c;
}

.mw_wp_form_preview #product-form .btnBox input[name="submitConfirm"] {
   display: none;
}

.mw_wp_form_preview #product-form .btnBox input[name="mwform_submit-543"] {
   display: block;
}

.txt_thanks {
   text-align: center;
}

.txt_thanks p {
   padding-bottom: 20px;
}

.txt_thanks p:last-child {
   padding-bottom: 0;
}

.page-id-3044 span.mwform-checkbox-field,
.page-id-173 span.mwform-checkbox-field {
   width: 31%;
   display: inline-flex;
}

.page-id-3044 span.mwform-checkbox-field:nth-child(1),
.page-id-173 span.mwform-checkbox-field:nth-child(1) {
   margin-left: 10px;
}

.form_caution {
   margin: 5% auto 0;
   width: 80%;
}

.form_caution .box {
   background-color: #f5f5f5;
   border: 1px solid #e8e8e8;
   padding: 3% 5% 6% 5%;
   border-radius: 9px;
}

.form_caution .box .cau_title {
   font-weight: 600;
   font-size: 25px;
   text-align: center;
   line-height: 1.4;
}

.form_caution .box .cau_title span {
   font-size: 15px;
   font-weight: 200;
   display: block;
}

.form_caution .box .txt {
   font-size: 16px;
   line-height: 1.6;
   margin: 3% auto 3%;
}

.form_caution .box li {
   font-size: 16px;
   line-height: 1.6;
   margin-bottom: 2%;
}

.page-id-3044 .mw_wp_form_confirm .form_caution {
   display: none;
}

.check02 input[type=checkbox] {
   appearance: none;
   display: none;
}

.check02 input[type=checkbox] + span:before {
   content: '';
   margin-right: 0.5em;
   background-image: url(../img/contact/check_box.svg);
   width: 25px;
   height: 25px;
   display: inline-block;
   margin-bottom: -6px;
}

.mwform-checkbox-field-text {
   cursor: pointer;
}

input[type=checkbox]:checked + span:before {
   content: '';
   margin-right: 0.5em;
   background-image: url(../img/contact/check.svg);
   width: 25px;
   height: 25px;
   display: inline-block;
   margin-bottom: -6px;
}

.check02 span.mwform-checkbox-field.horizontal-item {
   margin-right: 3%;
}

.check02 span.mwform-checkbox-field.horizontal-item span.mwform-checkbox-field-text {
   font-weight: 400;
}

.mw_wp_form .horizontal-item + .horizontal-item {
   margin-left: 0px !important;
}

.thanks .txt {
   font-size: 20px;
   line-height: 1.8;
   margin-bottom: 60px;
}

.thanks .img {
   width: 42%;
   margin: 4% auto 0;
}

.thanks .h5 {
   font-size: 22px;
   color: #80253c;
   font-weight: bold;
   margin-bottom: 1%;
}

.mwform-radio-field-text {
   margin-right: 20px;
}

.mwform-checkbox-field label,
.mwform-radio-field label {
   display: flex;
}

.mwform-checkbox-field input,
.mwform-radio-field input {
   margin-top: 3px;
}

.contact .contact-form .text-center {
   text-align: center;
   padding-bottom: 80px;
}

.contact-form dl .check02 .horizontal-item {
   width: 30%;
}

.contact-form dl dd.houshin {
   border: 1px solid #afafaf;
   padding: 15px 17px 30px;
   margin-top: 1%;
}

.contact-form dl dd.houshin a {
   display: inline-block;
   color: #80253c;
   text-decoration: underline;
}

.houshin_none {
   display: block;
   margin-bottom: 15px;
}

.mw_wp_form_confirm .houshin_none {
   display: none;
}

.mw_wp_form_confirm .contact-form dl dd.houshin {
   border: none;
}

.mw_wp_form_complete .btn {
   margin-top: 30px;
}

.mw_wp_form_complete .btn .a {
   margin: 0 auto;
}

.houshin .check02 .horizontal-item span,
.houshin .check02 .horizontal-item {
   margin-bottom: 0 !important;
}

.recruit_title {
   font-size: 21px;
   color: #80243c;
   font-weight: 700;
   text-align: center;
   margin-bottom: 10px;
   display: none;
}

.page-id-783 .recruit_title {
   display: block;
}

@media screen and (max-width: 991px) {
   .contact-form {
      padding: 7%;
   }

   .contact-form dl dt {
      line-height: 1.8;
   }

   .contact-form dl dd {
      margin-left: 0;
   }

   .check02 input[type=checkbox] + span:before {
      content: '';
      margin-right: 0.3em;
      /*       background-image: url(../img/contact/check_box.svg); */
      width: 18px;
      height: 18px;
      background-size: contain;
      margin-bottom: -4px;
   }

   .contact-form dl .check02 span {
      margin-bottom: 15px;
   }

   .contact-form dl .check_txt {
      margin-left: 0;
   }

   input[type="text"],
   input[type="email"],
   textarea {
      font-size: 13px;
      width: 100%;
      box-sizing: border-box;
      padding: 13px 18px;
   }

   .thanks .h5 {
      font-size: 20px;
      margin-bottom: 4%;
   }

   .thanks .txt {
      font-size: 16px;
      margin-bottom: 20px;
   }

   .thanks .img {
      width: 70%;
   }
}

@media screen and (max-width:767px) {
   .textarea {
      height: 150px;
   }

   .contact-form {
      padding: 0%;
   }

   .fz12 {
      font-size: 12px;
   }

   input#your-zip {
      width: 100%;
   }

   .required {
      width: 55px;
      line-height: 9px;
      font-size: 12px;
   }

   .contact .contact-form .text-center {
      text-align: center;
      padding-bottom: 40px;
   }

   .contact-form dl .check02 .horizontal-item {
      width: 100%;
   }

   .contact-form dl dd .alt_txt {
      padding: 3vw 3.8vw;
      line-height: 1.7;
   }

   .recruit_title {
      font-size: 18px;
   }
}


/* page */
.page_box {
   padding-bottom: 50px;
   max-width: 1080px;
   margin: 0 auto;
}

.page_box .h2,
.page_box .h3,
.page_box .txt {
   text-align: left;
}

.page_box .h3 {
   font-size: 34px;
   margin-bottom: 40px;
}

.page_box .txt .p.left {
   text-align: right;
}

.page_box .txt .p.left .big {
   font-size: 26px;
}

.page_box .txt .dl {
   display: flex;
   align-items: center;
   line-height: 1.6;
   padding-bottom: 5px;
   padding: 20px 4%;
   border-bottom: 1px solid #b4b4b4;
}

.page_box .txt .dl:first-child {
   border-top: 1px solid #b4b4b4;
}

.page_box .txt .dl .dt {
   margin-right: 35px;
   width: 250px;
   text-align: center;
}

.page_box .txt .dl .dd .small {
   font-size: 13px;
}

.page_box .small_txt {
   margin-top: 10px;
}

#wpmem_login,
#wpmem_reg {
   margin: 0 auto;
}

label[for="rememberme"] {
   display: none !important;
}

input.buttons {
   width: 180px;
   color: #fff;
   font-size: 14px;
   text-align: center;
   line-height: 44px;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   background-color: #80243c;
   border-radius: 40px;
   margin: 0 auto !important;
}

input.buttons:hover {
   color: #80243c;
   background-color: #fff;
   cursor: pointer;
}

#wpmem_login legend,
#wpmem_reg legend {
   width: 100%;
   font-size: 34px !important;
   font-weight: 400 !important;
   line-height: 50px;
   text-align: center !important;
   margin: 0 auto;
   color: #80253c;
   letter-spacing: 0.05em;
   margin-bottom: 45px !important;
}

.page_box02 {
   padding-bottom: 50px;
   max-width: 1080px;
   margin: 0 auto;
}

.page_box02 .flex {
   flex-wrap: wrap;
}

.page_box02 .flex .img {
   width: 80%;
   margin-bottom: 20px;
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
}

.page_box02 .img02 {
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
   width: 80%;
   margin: 50px auto;
}

.page_box02 .flex .img:nth-child(even) {
   margin: 0 0 20px auto;
}

.page_box02 .btn a {
   margin: 40px auto 50px;
}

.login_status,
#wpmem_restricted_msg {
   display: none;
}

.course {
   text-align: center;
   margin-top: 40px;
}

.course .table {
   max-width: 1080px;
}

.table tr td.bro {
   padding: 2px !important;
   color: #fff;
   background-color: #80253c;
}

.course .min_ta {
   max-width: 453px;
}

.table.min_ta tr td.gr {
   width: 50%;
   font-weight: 400;
   border-right: transparent;
}

.table.min_ta tr td {
   border-left: #fff;
}

.course .h402 {
   font-size: 30px;
   color: #80253c;
}

.course .table tr td {
   padding: 15px 1%;
}

.example {
   background-color: #f5f5f5;
   padding: 35px 3.5% 0;
   margin-bottom: 100px;
}

.example .e_title {
   font-size: 20px;
   color: #80253c;
   font-weight: 700;
   margin-bottom: 25px;
}

.example .e_title .small {
   font-size: 16px;
}

.example .flex {
   margin-top: 30px;
   flex-wrap: wrap;
}

.example .flex .item {
   width: 47.5%;
   margin-bottom: 45px;
}

.example .item .e_title {
   line-height: 1.4;
   margin-bottom: 7px;
}

.example .flex .item .img {
   margin-top: 18px;
}

@media screen and (max-width:767px) {
   .spread .page_box {
      padding-left: 20px;
      padding-right: 20px;
   }

   .page_box .txt .dl {
      flex-wrap: wrap;
      padding: 10px 4%;
   }

   .page_box .txt .dl .dt {
      text-align: left;
      width: 100%;
      margin-bottom: 5px;
   }

   .page_box .txt .p.left .big {
      font-size: 20px;
   }

   .page_box .h3 {
      font-size: 21px;
      margin-bottom: 20px;
   }

   #wpmem_login legend,
   #wpmem_reg legend {
      font-size: 20px !important;
   }

   .spread .page_box02 {
      padding-left: 20px;
      padding-right: 20px;
   }

   .page_box02 .flex .img {
      width: 87%;
      margin-bottom: 10px;
   }

   .page_box02 .btn a {
      width: 70%;
      margin: 20px auto 25px;
   }

   .example {
      padding: 5vw 5vw;
      margin-bottom: 50px;
   }

   .example .e_title {
      font-size: 17px;
      margin-bottom: 8px;
   }

   .example .flex {
      margin-top: 15px;
   }

   .example .flex .item {
      width: 100%;
      margin-bottom: 8vw;
   }

   .example .flex .item .img {
      margin-top: 10px;
   }

   .example .flex .item:last-child {
      margin-bottom: 0;
   }

   .page_box02 {
      padding-bottom: 25px;
   }

   .course .table tr td {
      font-size: 12px;
      padding: 10px 1%;
   }

   .example .e_title .small {
      font-size: 15px;
   }
}


/* プライバシーポリシー */
.pra_box {
   margin-bottom: 40px;
}

.pra_box .h4 {
   font-size: 16px;
   color: #80253c;
   text-align: left;
   font-weight: 700;
   margin-bottom: 2px;
}

.pra_box .txt {
   padding-left: 20px;
   text-align: left;
}

.pra_box .txt .p {
   margin-bottom: 0;
}

.pra_box .txt ol,
.pra_box .txt ul {
   padding-left: 20px;
}

.page-id-3 .p03,
.page-id-3 .p02 {
   font-weight: 700;
   text-align: center;
}

.page-id-3 .p02 {
   font-size: 19px;
}

.s_btns .btn .a {
   margin: 0 auto;
}

.table .s_btns {
   margin: 60px 0 50px;
}

@media screen and (max-width:767px) {
   .page-id-3 .p02 {
      font-size: 16px;
   }

   .page-id-3 .p03 {
      margin-bottom: 5px;
   }

   .pra_box {
      margin-bottom: 20px;
   }

   .pra_box .txt,
   .pra_box .txt ol,
   .pra_box .txt ul {
      padding-left: 10px;
   }

   .s_btns .btn .a {
      width: 70%;
   }

   .table .s_btns {
      margin: 30px 0 0px;
   }
}

fieldset legend {
   display: none;
}

.postid-90 .page_link:nth-child(2) a:nth-child(2) {
   display: none;
}

.movie_btn .inner {
   padding: 60px 0.6%;
}

.movie_btn {
   background-color: #e1e1e1;
}

.movie_btn .h4 {
   color: #80253c;
}

.movie_btn .h5 {
   color: #333;
   font-size: 34px;
   font-weight: 700;
   line-height: 1;
   margin-bottom: 45px;
}

.movie_btn .btn .a::before {
   background: #e1e1e1;
}

@media screen and (max-width:767px) {
   .movie_btn .h5 {
      font-size: 20px;
      line-height: 1.6;
      margin-bottom: 23px;
   }

   .movie_btn .btn {
      width: 75%;
   }

   .movie_btn .inner {
      padding: 25px 0.6% 50px;
   }
}

.event_btn {
   background-color: #80243c;
}

.event_btn .inner {
   padding: 35px 0.6% 60px;
}

.event_btn .h4 {
   margin-bottom: 0;
}

.event_btn .img a img {
   transition: .3s;
}

.event_btn .img a:hover img {
   opacity: 80%;
}

@media screen and (max-width:767px) {
   .event_btn .inner {
      padding: 25px 5vw 50px;
   }
}

/* サイトマップ */

.map_list ul {
   padding: 1rem;
   display: flex;
   flex-wrap: wrap;
   width: 78%;
}

.map_list ul li {}

.map_list.lists {
   display: flex;
   flex-wrap: wrap;
}

.map_list h5 {
   padding: 0.9rem 1rem 0.9rem 1rem;
   position: relative;
}

.map_list.lists h5 {
   margin-right: 0%;
   width: 16%;
}

/* .map_list h5::before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #245575;
    border-right: solid 2px #245575;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 33px;
    left: 18px;
    margin-top: -4px;
} */
.map_list h5 a .a_red {
   color: #80253c;
   font-size: 20px;
   font-weight: 100;
   margin-right: 5px;
   vertical-align: sub;
}

.map_list:nth-child(odd) h5 {
   background-color: #f5f5f5;
}

.map_list .item_sen {
   position: relative;
   padding-left: 35px;
   line-height: 1.9;
   font-size: 15px;
   width: 45.8%;
}

.map_list .item_sen:after {
   content: '';
   display: block;
   position: absolute;
   top: 13px;
   left: 0;
   width: 20px;
   height: 1px;
   background-color: #333333;
}

.map_list h5 {
   font-weight: 400;
}

.map_list h5 a,
.map_list .item_sen a {
   color: #333333;
   transition: .5s;
   display: block;
}

.map_list .item_sen::after {
   transition: .5s;
}

.map_list h5 a:hover,
.map_list .item_sen a:hover {
   color: #80243c;
}

.map_list .item_sen:hover::after {
   background-color: #80243c;
   width: 15px;
   height: 2px;
}

@media (max-width: 767px) {
   .map_list {
      padding-left: 0;
      width: 100%;
      margin-bottom: 3%;
   }

   .map_list h5 {
      margin-right: 0;
      width: auto;
      padding: 0.5rem 0.5rem 0.5rem 1.5rem;
   }

   .map_list.lists h5 {
      width: 100%;
   }

   .map_list h5::before {
      width: 6px;
      height: 6px;
      top: 21px;
      left: 11px;
   }

   .map_list .item_sen {
      font-size: 11px;
      padding-left: 15px;
      width: 100%;
   }

   .map_list ul {
      padding: 0rem 1rem 1rem 1rem;
      width: 100%;
   }

   .map_list .item_sen:after {
      top: 10px;
      width: 10px;
   }
}

.post-type-archive-product .sec_pro .case_title02 {
   padding: 50px 0 0;
   margin-top: -50px;
   background-color: transparent;
}

.post-type-archive-product .sec_pro .case_title02 p {
   background-color: #80243c;
   padding: 13px 25px;
   margin-bottom: 20px;
}

/* ==============
   blog
================ */
.blog__content {
   display: flex;
   flex-wrap: wrap;
   width: 70%;
}

.blog__item {
   width: calc((100% - 30px) / 2);
   box-sizing: border-box;
   margin-left: 30px;
   margin-top: 30px;
   max-width: 396px;
   border: 1px solid #c8c8c8;
   transition: .4s ease;
}

.blog__item:hover {
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
}

.blog__item:nth-child(odd) {
   margin-left: 0;
}

.blog__item:nth-child(-n + 2) {
   margin-top: 0;
}

.blog-item__link {
   width: 100%;
   height: 100%;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
}

.blog-cat__wrap {
   font-size: 0;
}

.blog__cat {
   display: inline-block;
   font-size: 13px;
   font-weight: 400;
   background-color: #80243c;
   color: #fff;
   padding: 3px 15px;
   margin-right: 5px;
   margin-bottom: 5px;
}

.blog__cat:hover {
   box-shadow: 10px 10px 25px 15px rgb(0 0 0 / 7%);
}

.blog-item__inner {
   flex-grow: 1;
   padding: 25px 25px 30px;
   display: flex;
   flex-direction: column;
}

.blog-item__inner .img-wrap {
   min-height: 0%;
   width: 100%;
   overflow: hidden;
   aspect-ratio: 16/11;
   position: relative;
}

.blog__item .blog-item__inner .img-wrap img {
   transition: .4s ease;
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.blog__item:hover .blog-item__inner .img-wrap img {
   transform: scale(1.1, 1.1);
}

.blog-item__time {
   font-size: 14px;
   color: #333;
   font-weight: 400;
   margin-top: 25px;
}

.blog-item__title {
   font-size: 17px;
   font-weight: 400;
   color: #333333;
   line-height: 1.58;
   margin: 20px 0 35px;
}

.blog-item__more {
   text-align: right;
   font-size: 14px;
   font-weight: 400;
   color: #80243c;
   margin-top: auto;
}

.blog-item__more > span {
   position: relative;
}

.blog-item__more > span::before {
   content: "";
   display: block;
   width: 5px;
   height: 100%;
   background: url('../img/common/arrow-red.svg') no-repeat;
   background-size: 100%;
   background-position: center;
   position: absolute;
   top: 0;
   left: -5px;
   transform: translateX(-100%);
}

@media screen and (max-width: 767px) {
   .blog__content {
      width: 100%;
      display: block;
   }

   .blog__item {
      width: 100%;
      margin: 30px auto 0;
   }

   .blog__item:nth-child(odd) {
      margin-left: auto;
   }

   .blog__item:nth-child(2) {
      margin-top: 30px;
   }
}


/* =============
   concept
================ */
.concept .inner {
   padding-left: 0;
   padding-right: 0;
   width: 90%;
}

.concept .h3,
.concept .p {
   text-align: left;
}

.concept.under .h3,
.concept.under .p {
   text-align: center;
}

.concept-container:nth-child(odd) {
   background-color: #fff;
}

.concept-container:nth-child(even) {
   background-color: #f5f5f5;
}

.concept-technology__content {
   margin-top: 55px;
   padding: 30px;
   background-color: #f2e9eb;
}

.concept-technology__item-intro {
   font-size: 21px;
   font-weight: 500;
   color: #333333;
}

.concept-technology__item-title {
   font-size: 60px;
   color: #80243c;
   font-weight: 700;
   line-height: 1;
}

.concept-technology__item-text {
   font-size: 16px;
   font-weight: 400;
   color: #333;
   line-height: 1.75;
   margin-top: 15px;
}

.concept-technology .inner__content {
   background-color: #fff;
   padding: 35px 20px 55px;
   margin-top: 30px;
}

.concept-technology .inner-content__title {
   text-align: center;
   font-size: 26px;
   font-weight: 600;
}

.concept-technology .inner__item {
   display: flex;
   margin-top: 55px;
}

.concept-technology .inner__item:nth-child(2) {
   margin-top: 30px;
}

.concept-technology .inner__item figure {
   width: calc((100% - 10px) / 2);
   margin-left: 10px;
   position: relative;
}

.concept-technology .inner__item figure:nth-child(1) {
   margin-left: 0;
}

.concept-technology .inner__item figure:nth-child(1)::before {
   content: "Before";
   padding: 3px 10px;
   font-size: 18px;
   color: #80193d;
   background-color: #fff;
   font-weight: 500;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
}

.concept-technology .inner__item figure:nth-child(1) .img-wrap {
   position: relative;
}

.concept-technology .inner__item figure:nth-child(1) .img-wrap::before {
   content: "";
   display: block;
   width: 16.76%;
   height: 100%;
   background: url('../img/common/top_arrow.svg') no-repeat;
   background-size: 100%;
   background-position: center;
   position: absolute;
   top: 0;
   right: 0;
   transform: translateX(50%);
   z-index: 1;
}

.concept-technology .inner__item figure:nth-child(2)::before {
   content: "After";
   padding: 3px 10px;
   font-size: 18px;
   color: #fff;
   background-color: #80193d;
   font-weight: 500;
   position: absolute;
   top: 0;
   left: 0;
}

.concept-technology .inner__item figcaption {
   text-align: center;
   font-size: 20px;
   line-height: 1.4;
   color: #333;
   margin-top: 5px;
}

.concept-model__content {
   margin-top: 80px;
}

.concept-model__content_top {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}

.concept-model__item {
   width: calc((100% - 60px * 2) / 3);
   margin-left: 60px;
   margin-top: 60px;
   max-width: 282px;
}

.concept-model__item:nth-child(3n + 1) {
   margin-left: 0;
}

.concept-model__item:nth-child(-n + 3) {
   margin-top: 0;
}

.concept-model__item-title {
   text-align: center;
   font-size: 24px;
   font-weight: 700;
   color: #80193d;
}

.concept-model__item .img-wrap {
   margin: 20px auto 0;
   width: 70%;
}

.concept-model__item-text {
   font-size: 16px;
   color: #333;
   font-weight: 400;
   line-height: 1.68;
   text-align: left;
   margin-top: 15px;
}

.concept-model__content_bottom {
   margin-top: 70px;
   padding: 25px 0;
   background-color: #fff;
}

.concept-model__content_bottom .img-wrap {
   width: 80%;
   margin: auto;
}

.concept-solution__content {
   display: flex;
   flex-wrap: wrap;
   margin-top: 55px;
}

.concept-solution__item {
   background-color: #f5f5f5;
   box-sizing: border-box;
   padding: 15px 0 20px;
}

.concept-solution__item:nth-child(-n + 3) {
   width: calc((100% - 20px * 2) / 3);
   margin-left: 20px;
   max-width: 352px;
   flex-grow: 1;
   display: flex;
   flex-direction: column;
}

.concept-solution__item:nth-child(1) {
   margin-left: 0;
}

.concept-solution__item-inner {
   flex-grow: 1;
   padding: 0 20px;
}

.concept-solution__item:nth-child(-n + 3) .concept-solution__item-title {
   color: #80243c;
   font-family: 'Barlow Condensed', sans-serif;
   font-size: 28px;
   font-weight: 500;
   margin-bottom: 20px;
   height: 50.4px;
   line-height: 1;
}

.concept-solution__item:nth-child(-n + 3) .concept-solution__item-title > br {
   display: none;
}

.concept-solution__item:nth-child(-n + 3) .concept-solution__item-title .small02 {
   font-size: 13px;
   font-weight: 700;
   font-family: 'Noto Sans JP', sans-serif;
   margin-left: 7px;
}

.concept-solution__item:nth-child(-n + 3) .concept-solution__item-text {
   text-align: center;
   font-size: 22px;
   font-weight: 700;
   line-height: 1.4;
   margin-bottom: 20px;
   min-height: 85px;
}

.concept-solution__item:nth-child(-n + 3) .concept-solution__item-text .small02 {
   font-size: 13px;
   font-weight: 400;
   display: block;
   margin-top: 7px;
}

.concept-solution__item:nth-child(-n + 3) .img-wrap {
   margin-top: auto;
   min-height: 0%;
}

.concept-solution__item:nth-child(-n + 3) .concept-solution__item-tag {
   font-size: 13px;
   background-color: #80243c;
   color: #fff;
   line-height: 1.6;
   display: inline-block;
   padding: 0 12px;
   margin-top: 20px;
}

.concept-solution__item:nth-child(-n + 3) .concept-solution__item-kinds {
   font-size: 15px;
}

.concept-solution__item .txt_p {
   font-size: 15px;
   background-color: #f2e9eb;
   line-height: 1.6;
   padding: 20px;
   margin: 20px 0 0;
}

.concept-solution__item:last-child {
   width: 100%;
   margin-top: 45px;
}

.concept-solution__item:last-child .concept-solution__item-title {
   color: #80243c;
   font-family: 'Barlow Condensed', sans-serif;
   font-size: 28px;
   font-weight: 500;
   margin-bottom: 7px;
}

.concept-solution__item:last-child .concept-solution__item-text {
   font-size: 22px;
   font-weight: 700;
   line-height: 1.4;
   margin-bottom: 20px;
   text-align: left;
   color: #80243c;
   height: auto;
}

.concept-solution__item:last-child .concept-solution__item-kinds {
   font-size: 16px;
   margin-bottom: 20px;
}

.concept-solution__btn {
   margin: 20px auto 0;
   width: 90%;
   max-width: 250px;
   background-color: #80243c;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   border-radius: 40px;
}

.concept-solution__btn::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #fff;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.concept-solution__btn:hover::before {
   transform: translateX(10%);
}

.concept-solution__btn-link {
   text-align: center;
   font-size: 15px;
   line-height: 52px;
   color: #fff;
   font-weight: 400;
   display: block;
   width: 100%;
   height: 100%;
   box-sizing: border-box;
   transition: .4s ease;
}

.concept-solution__btn:hover .concept-solution__btn-link {
   color: #80243c;
}

.concept-solution__item:last-child .concept-solution__btn {
   margin-top: 20px;
}

@media screen and (max-width: 1200px) {
   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-title {
      font-size: 22px;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-title .small02 {
      font-size: 11px;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-text {
      font-size: 17px;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-text .small02 {
      font-size: 12px;
   }
}

@media screen and (max-width: 1024px) {

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-title > br {
      display: block;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-title .small02 {
      margin-left: 0;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-text {
      font-size: 16px;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-text {
      font-size: 15px;
   }
}

@media screen and (max-width: 767px) {
   .concept-technology__content {
      margin-top: 55px;
      padding: 30px 20px;
      background-color: #f2e9eb;
   }

   .concept-technology__item-intro {
      font-size: 15px;
   }

   .concept-technology__item-title {
      font-size: 32px;
   }

   .concept-technology__item-text {
      font-size: 14px;
   }

   .concept-technology .inner-content__title {
      font-size: 18px;
   }

   .concept-technology .inner__item {
      display: block;
   }

   .concept-technology .inner__item:nth-child(2) {
      margin-top: 20px;
   }

   .concept-technology .inner__item figure {
      width: 100%;
      margin-left: 0;
      margin-top: 80px;
   }

   .concept-technology .inner__item figure:nth-child(1) {
      margin-top: 0;
   }

   .concept-technology .inner__item figcaption {
      font-size: 13px;
   }

   .concept-technology .inner__item figure:nth-child(1)::before,
   .concept-technology .inner__item figure:nth-child(2)::before {
      font-size: 15px;
   }

   .concept-technology .inner__item figure:nth-child(1) .img-wrap::before {
      width: 46px;
      height: 46px;
      top: auto;
      bottom: -33px;
      right: auto;
      left: 50%;
      transform: translate(-50%, 100%) rotate(90deg);
   }

   .concept-model__item {
      width: calc((100% - 20px) / 2);
      margin-left: 20px;
      margin-top: 20px;
      max-width: 282px;
   }

   .concept-model__item:nth-child(odd) {
      margin-left: 0;
   }

   .concept-model__item:nth-child(even) {
      margin-left: 20px;
   }

   .concept-model__item:nth-child(3) {
      margin-top: 20px;
   }

   .concept-model__item-title {
      font-size: 18px;
   }

   .concept-model__item-text {
      font-size: 14px;
   }

   .concept-model__content_bottom .img-wrap {
      width: 90%;
   }

   .concept-solution__item {
      padding-bottom: 5vw;
   }

   .concept-solution__item:nth-child(-n + 3) {
      width: 95%;
      margin: 20px auto 0;
      max-width: none;
      flex-grow: 0;
   }

   .concept-solution__item:nth-child(1) {
      margin-top: 0;
      margin-left: auto;
   }

   .concept-solution__item-inner {
      padding-left: 5vw;
      padding-right: 5vw;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-title {
      font-size: 28px;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-title > br {
      display: none;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-title .small02 {
      margin-left: 7px;
      font-size: 13px;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-text {
      font-size: 20px;
      height: auto;
   }

   .concept-solution__item:nth-child(-n + 3) .concept-solution__item-text .small02 {
      font-size: 13px;
   }
}

/* =======================================
   security infrastructure life science
========================================== */

.under-technology__content {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}

.under-technology__content .img-wrap {
   width: 50%;
   margin: auto;
}

.under-technology__item-text {
   font-size: 16px;
   font-weight: 400;
   color: #333;
   line-height: 1.68;
   margin-top: 20px;
}

.security-technology .under-technology__item {
   width: calc((100% - 65px) / 2);
   margin-left: 65px;
   max-width: 405px;
}

.security-technology .under-technology__item:nth-child(1) {
   margin-left: 0;
}

.infrastructure-technology .under-technology__item {
   width: calc((100% - 45px * 3) / 4);
   margin-left: 45px;
   max-width: 250px;
}

.infrastructure-technology .under-technology__item:nth-child(1) {
   margin-left: 0;
}

.lifescience-technology .under-technology__item {
   width: calc(100% / 6);
   max-width: 240px;
   margin-top: 20px;
}

.lifescience-technology .under-technology__item:nth-child(1),
.lifescience-technology .under-technology__item:nth-child(7) {
   margin-left: 0;
}

.lifescience-technology .under-technology__item .img-wrap {
   width: 85%;
}

.under-technology__item-title {
   text-align: center;
   font-size: 24px;
   color: #80193d;
   font-weight: 700;
}

.under-technology__text {
   margin-top: 65px;
   font-size: 24px;
   color: #333;
   font-weight: 700;
   line-height: 1.58;
   padding: 35px 0 60px;
   position: relative;
   text-align: center;
}

.under-technology__text::before {
   content: "";
   display: block;
   width: 550px;
   height: 100%;
   background: url('../img/common/triangle.png') no-repeat;
   background-size: 100%;
   background-position: center;
   position: absolute;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
   z-index: -1;
}

.under-technology__video {
   margin-top: 45px;
}

.under-technology__video .video-box {
   padding: 45px 20px;
   background-color: #f2e9eb;
   margin-top: 55px;
}

.under-technology__video .video-box:first-child {
   margin-top: 0;
}

.under-technology__video .video-box__inner {
   max-width: 785px;
   margin: auto;
}

.under-technology__video-title {
   font-size: 34px;
   color: #80243c;
   font-weight: 700;
   text-align: center;
}

.under-technology__video-text {
   font-size: 16px;
   font-weight: 400;
   color: #333;
   line-height: 1.75;
   margin-top: 30px;
   text-align: center;
}

.under-technology__video-tag {
   text-align: center;
   color: #fff;
   background-color: #80243c;
   font-size: 20px;
   font-weight: 500;
   padding: 10px 0;
   margin-top: 40px;
}

.under-technology__video .video-wrap {
   margin-top: 25px;
   width: 100%;
   height: 0;
   padding-top: 56.17%;
   position: relative;
}

.under-technology__video iframe {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

.infrastructure-technology__box {
   margin-top: 60px;
   background-color: #f5f5f5;
   padding: 40px 30px 30px;
}

.infrastructure-technology__box-text_lg {
   text-align: center;
   font-size: 34px;
   font-weight: 700;
   color: #80243c;
}

.infrastructure-technology__box > div {
   margin-top: 45px;
   display: flex;
}


.infrastructure-technology__box .img-wrap {
   max-width: 490px;
   width: 90%;
}

.infrastructure-technology__box-text {
   margin-left: 40px;
   font-size: 16px;
   font-weight: 400;
   color: #333;
   line-height: 1.75;
}

.lifescience-technology__btn {
   margin: 65px auto 0;
   width: 250px;
   background-color: #80243c;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   border-radius: 40px;
}

.lifescience-technology__btn::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #fff;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.lifescience-technology__btn:hover::before {
   transform: translateX(10%);
}

.lifescience-technology__btn-link {
   text-align: center;
   font-size: 15px;
   line-height: 52px;
   color: #fff;
   font-weight: 400;
   display: block;
   width: 100%;
   height: 100%;
   box-sizing: border-box;
   transition: .4s ease;
}

.lifescience-technology__btn:hover .lifescience-technology__btn-link {
   color: #80243c;
}

.concept.under .top_product {
   background-color: transparent;
}

.concept.under .top_product .flex_box .flex {
   background-color: #f5f5f5;
   transition: .3s ease;
}

.concept.under .top_product .flex_box .flex:hover {
   background-color: #fff;
}

.concept-case__content {
   margin-top: 60px;
}

.concept-case__btn {
   margin: 65px auto 0;
   width: 250px;
   background-color: #80243c;
   border: 1px solid #80243c;
   position: relative;
   z-index: 1;
   display: block;
   overflow: hidden;
   transition: .3s;
   border-radius: 40px;
}

.concept-case__btn::before {
   content: "";
   width: 120%;
   height: 200%;
   position: absolute;
   top: -50%;
   right: 0;
   z-index: -1;
   background: #fff;
   border-radius: 0 100% 100% 0;
   transform: translateX(-100%);
   transition: transform ease .3s;
}

.concept-case__btn:hover::before {
   transform: translateX(10%);
}

.concept-case__btn-link {
   text-align: center;
   font-size: 15px;
   line-height: 52px;
   color: #fff;
   font-weight: 400;
   display: block;
   width: 100%;
   height: 100%;
   box-sizing: border-box;
   transition: .4s ease;
}

.concept-case__btn:hover .concept-case__btn-link {
   color: #80243c;
}

.blog__item:hover .blog__cat {
   background-color: #ab3f5b;
}

@media screen and (max-width: 1200px) {
   .under-technology__item-title {
      font-size: 19px;
   }
}


@media screen and (max-width: 1024px) {
   .infrastructure-technology .under-technology__item {
      width: calc((100% - 20px) / 2);
      margin-left: 20px;
      margin-top: 20px;
      max-width: none;
   }

   .infrastructure-technology .under-technology__item:nth-child(odd) {
      margin-left: 0;
   }

   .infrastructure-technology .under-technology__item:nth-child(-n + 2) {
      margin-top: 0;
   }

   .infrastructure-technology__box-text_lg {
      font-size: 26px;
   }

   .lifescience-technology .under-technology__item {
      width: calc(100% / 3);
   }
}

@media screen and (max-width: 767px) {
   .under-technology__item-text {
      font-size: 14px;
   }

   .under-technology__text {
      font-size: 17px;
      padding: 0px 0 10px;
   }

   .under-technology__text::before {
      width: 320px;
   }

   .under-technology__video-title {
      font-size: 18px;
   }

   .under-technology__video-text {
      font-size: 14px;
      margin-top: 15px;
   }

   .under-technology__video-tag {
      font-size: 15px;
      margin-top: 20px;
   }

   .under-technology__item-title {
      font-size: 16px;
      margin-bottom: 15px;
   }

   .security-technology .under-technology__item {
      width: calc((100% - 25px) / 2);
      margin-left: 25px;
   }

   .infrastructure-technology__box {
      padding: 40px 20px 30px;
   }

   .infrastructure-technology__box-text_lg {
      font-size: 20px;
   }

   .infrastructure-technology__box > div {
      flex-direction: column-reverse;
      margin-top: 20px;
   }

   .infrastructure-technology__box-text {
      margin-left: 0;
      font-size: 14px;
   }

   .infrastructure-technology__box .img-wrap {
      max-width: 490px;
      width: 90%;
      margin: 20px auto 0;
   }

   .lifescience-technology .under-technology__item {
      width: calc(100% / 2);
   }
}

.product__content01 .wrap {
   display: flex;
}

.product__content01 .img-wrap {
   width: calc((100% - 10px) / 2);
   margin-left: 10px;
}

.product__content01 .img-wrap.img-label {
   position: relative;
}

.product__content01 .img-wrap.img-label::after {
   display: inline-block;
   position: absolute;
   top: 0;
   left: 0;
   font-size: 18px;
   font-weight: 500;
   padding: 3px 10px;
}

.product__content01 .img-wrap.img-label:first-child::after {
   content: "Before";
   background-color: #ffffff;
   color: #80243c;
}

.product__content01 .img-wrap.img-label:last-child::after {
   content: "After";
   background-color: #80243c;
   color: #ffffff;
}

.product__content01 .img-wrap:first-child {
   margin-left: 0;
   position: relative;
}

.product__content01 .img-wrap:first-child::before {
   content: "";
   display: block;
   width: 15.64%;
   max-width: 84px;
   height: 26.95%;
   background: url('../img/common/top_arrow.svg') no-repeat;
   background-position: top;
   background-size: 100%;
   position: absolute;
   top: 50%;
   right: 0;
   transform: translate(50%, -70%);
   z-index: 1;
}

.product__content01 figcaption {
   text-align: center;
   font-size: 20px;
   font-weight: 400;
   color: #333;
}

.product__content01 .notice {
   font-size: 12px;
   font-weight: 400;
   color: #333;
   text-align: right;
   margin-top: 35px;
}

.product__content02 {
   display: flex;
}

.product__content02 .img-wrap {
   width: calc((100% - 15px * 3) / 4);
   margin-left: 15px;
}

.product__content02 .img-wrap:first-child {
   margin-left: 0;
}

.product__content02 figcaption {
   text-align: center;
}

.product__content02 span {
   display: inline-block;
   width: 100%;
   font-size: 17px;
   font-weight: 400;
   color: #333;
   line-height: 1.3;
   margin-top: 5px;
}

.product__content02 p {
   text-align: left;
   font-size: 15px;
   font-weight: 400;
   color: #333;
   line-height: 1.53;
   margin-top: 10px;
}

.product__content02 .img-wrap:last-child span {
   font-size: 20px;
   color: #80243c;
   font-weight: 700;
   display: initial;
}

.product__content02 .img-wrap:last-child p {
   color: #80243c;
   font-weight: 500;
}

@media screen and (max-width: 1200px) {
   .product__content02 span {
      font-size: 16px;
   }

   .product__content02 .img-wrap:last-child span {
      font-size: 17px;
   }
}


@media screen and (max-width: 1024px) {
   .product__content01 figcaption {
      font-size: 18px;
   }

   .product__content02 {
      flex-wrap: wrap;
   }

   .product__content02 .img-wrap {
      width: calc((100% - 15px) / 2);
      margin-left: 15px;
      margin-top: 20px;
   }

   .product__content02 .img-wrap:nth-child(odd) {
      margin-left: 0;
   }

   .product__content01 .img-wrap.img-label::after {
      font-size: 17px;
   }
}


@media screen and (max-width: 767px) {
   .product__content01 .wrap {
      /*     display: block; */
   }

   .product__content01 .img-wrap {
      width: 100%;
      max-width: 536px;
      /*     margin: 80px auto 0; */
   }

   .product__content01 .img-wrap:first-child {
      margin-left: auto;
      margin-top: 0;
   }

   .product__content01 .img-wrap:first-child::before {
      /*     top: 100%;
    right: 50%;
    transform: translate(50%, 0%) rotate(90deg); */
      width: 25px;
      height: 35px;
   }

   .product__content01 figcaption {
      font-size: 16px;
   }

   .product__content01 .notice {
      font-size: 10px;
   }

   .product__content02 .img-wrap {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      max-width: 242px;
   }

   .product__content02 .img-wrap:nth-child(odd) {
      margin-left: auto;
   }

   .product__content02 span {
      font-size: 15px;
   }

   .product__content02 .img-wrap:last-child span {
      font-size: 16px;
   }

   .product__content02 p {
      font-size: 14px;
   }

   .product__content01 .img-wrap.img-label::after {
      font-size: 13px;
      padding: 1px 5px;
   }
}

fieldset p img {
   max-width: 300px;
   margin: 40px auto 20px;
   display: block;
}

.single .top_product .flex_box a {
   display: flex;
   text-decoration: none;
   font-weight: 400;
}

.single .top_product .flex_box a:hover {
   background-color: #fff;
}


/*-- もくじ ----------------------------------------*/
#toc_container {
   padding: 2.4% 3.18% !important;
   border-radius: 10px;
   margin-left: auto;
   margin-right: auto;
}

#toc_container .toc_list li {
   margin-bottom: 11px;
   line-height: 1.4;
   font-size: 16px;
}

#toc_container .toc_list a:hover {
   text-decoration: none;
}

.toc_list span.toc_number {
   background-color: #752c3d;
   color: #fff;
   border: 1px solid #752c3d;
   width: 28px;
   text-align: center;
   display: inline-block;
   border-radius: 5px;
   margin-right: 5px;
   font-size: 11px;
   line-height: 2.4;
   transition: .5s;
}

.toc_list a:hover span.toc_number {
   background-color: #ffffff;
   color: #752c3d;
   opacity: 1;
}

.toc_list ul li:first-child {
   margin-top: 0.8em !important;
}

.toc_list ul li:last-child {
   margin-bottom: 1.5em !important;
}

.toc_list ul span.toc_number {
   background-color: #fff;
   color: #752c3d;
   border: 1px solid #752c3d;
}

.toc_list ul a:hover span.toc_number {
   background-color: #752c3d;
   color: #fff;
}

@media screen and (max-width: 1024px) {
   #toc_container .toc_list li {
      font-size: 15px;
   }
}

@media screen and (max-width: 767px) {
   #toc_container .toc_list li {
      font-size: 14px;
   }
}

/* 活用テーブル */
.post_table table,
.post_table td,
.post_table th {
   border: 1px solid #333333;
   border-collapse: collapse;
   width: 100%;
   margin-bottom: 20px;
}

.post_table td,
.post_table th {
   padding: 10px 15px;
   width: 30px;
   height: 25px;
}

.post_table th {
   font-weight: 400;
}

.post_table td {
   line-height: 1.6;
}

@media screen and (max-width: 767px) {

   .post_table td,
   .post_table th {
      padding: 7px 13px;
   }
}

/* ダウンロード詳細ページ用 */
.dow_btns_txt {
   font-weight: 700;
   margin-bottom: 20px;
   font-size: 22px;
   text-align: center;
}

.dow_btns .btn a {
   margin-left: auto;
   margin-right: auto;
}

.dow_btns .btn:nth-child(2) {
   padding: 0 0 90px;
   border-bottom: 1px solid #c1c1c1;
}

.dow_btns .btn:last-child {
   padding: 80px 0 0;
}

.page-template-page-download_single .page_main.pro .h3 {
   margin: 0 auto 50px 0;
}

#wpmem_login img {
   width: 170px;
   margin: 10px 0;
}

@media screen and (max-width: 767px) {
   .dow_btns_txt {
      font-size: 20px;
   }

   .dow_btns .btn a {
      width: 75%;
   }

   .dow_btns .btn:nth-child(2) {
      padding: 0 0 45px;
   }

   .dow_btns .btn:last-child {
      padding: 40px 0 20px;
   }

   .page-template-page-download_single .page_main.pro .h3 {
      margin: 0 auto 100px 0;
   }

   #wpmem_login img {
      width: 100px;
   }
}

/* ===================
    トップページ　ニュース
====================== */
.top-news {
   background-color: #e5e5e5;
}

.top-news .inner {
   padding: 1.4% 0;
   display: flex;
}

.top-news .heading-wrap {
   width: calc((250 / 1100)*100%);
   padding: 0 1em 2em;
   box-sizing: border-box;
}

.top-news .heading-wrap .all-btn {
   padding-right: .7em;
   display: inline-block;
   position: relative;
}

.top-news .heading-wrap .all-btn::before {
   content: "";
   display: block;
   width: .21875em;
   height: .21875em;
   border-bottom: 1px solid #80243c;
   border-right: 1px solid #80243c;
   position: absolute;
   top: 50%;
   left: 100%;
   transform: translate(90%, -50%) rotate(-45deg) skew(5deg, 5deg);
}

.top-news .heading-wrap .all-btn::after {
   content: "";
   display: block;
   width: .9375em;
   height: .9375em;
   border: 1px solid #80243c;
   border-radius: 50%;
   position: absolute;
   top: 50%;
   left: 100%;
   transform: translate(0, -50%);
}

.top-news .h2 {
   margin-bottom: 15px;
}

.top-news__article-wrap {
   width: calc((850 / 1100)*100%);
}

.top-news__article + .top-news__article {
   border-top: 1px solid #c8c8c8;
}

.top-news__article > a {
   padding: 1.56em 1.25em 2.18em 1.375em;
}

.top-news__article-date,
.top-news__article-cat,
.top-news__article-title {
   font-size: 14px;
   color: #333333;
}

.top-news__article-date,
.top-news__article-cat {
   display: inline-block;
   flex-shrink: 0;
   margin-right: 1.5%;
}

.top-news__article-cat a {
   font-size: 13px;
   padding: 0.4em 8px;
   display: flex;
   justify-content: center;
   align-items: center;
   color: #ffffff;
   background-color: #80243c;
   min-width: 7.142em;
   line-height: 1;
   box-sizing: border-box;
}

.top-news__article-title {
   flex-grow: 0;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}

.top-news__article-top {
   display: flex;
}

.top-news__article-bottom {
   display: flex;
   align-items: flex-start;
   margin-top: 5px;
   padding-left: 2%;
}

.top-news__article-btn {
   font-size: 14px;
   line-height: 1;
   color: #80243c;
   max-width: max-content;
   margin-left: auto;
   margin-top: 2.142em;
   flex-shrink: 0;
   position: relative;
}

.top-news__article-btn::before {
   content: "";
   display: block;
   width: 7px;
   height: 7px;
   border-bottom: 1px solid #80243c;
   border-right: 1px solid #80243c;
   position: absolute;
   top: 50%;
   right: 100%;
   transform: translate(-10px, -50%) rotate(-45deg) skew(5deg, 5deg);
}

@media screen and (max-width: 767px) {
   .top-news .inner {
      display: block;
      padding: 5% 3%;
   }

   .top-news .heading-wrap,
   .top-news__article-wrap {
      width: 100%;
   }

   .top-news__article > a {
      padding: 1.2em 1em 1em 1em;
   }

   .top-news__article-date,
   .top-news__article-title {
      font-size: 13px;
   }

   .top-news__article-cat {
      font-size: 11px;
   }

   .top-news__article-cat a {
      font-size: 12px;
      padding: 0.2em 1em;
      min-width: 6.9em;
   }

   .top-news__article-bottom {
      display: block;
   }

   .top-news__article-title {
      width: 100%;
      margin-top: 5px;
   }

   .top-news__article-btn {
      margin-top: 8px;
      font-size: 13px;
   }

   .top-news .heading-wrap .all-btn::before {
      transform: translate(110%, -50%) rotate(-45deg) skew(5deg, 5deg);
   }
}










/* -----------------------------------------
英語ページ用
----------------------------------------- */
/* ーーーーーーーー
Home
ーーーーーーーー */
/* Solution Field */
.top_business .flex .item .big.big-en {
    height: 150px;
}

.top_business .flex .item:last-child .big-en {
    color: #333333;
}

.top_business .flex .item-en:last-child {
    width: 32.5%;
}

@media screen and (max-width:991px) {
    .top_business .flex .item .big.big-en {
        height: 273px;
    }
}

@media screen and (max-width:767px) {
    .top_business .flex .item .big.big-en {
        height: auto;
    }

    .top_business .flex .item-en:last-child {
        width: 95%;
    }
}

/* ーーーーーーーー
concept
ーーーーーーーー */

/* Solution Field */
.concept-solution__content .concept-solution__item .concept-solution__item-text--en {
    height: 150px;
    color: #333333;
}

.concept-solution__content .concept-solution__item--en {
    width: calc((100% - 20px * 2) / 3);
    margin-top: 0;
}

.concept-solution__item:last-child .concept-solution__item-title--en {
    margin-bottom: 20px;
}


@media screen and (max-width:767px) {
    .concept-solution__content .concept-solution__item--en {
        width: 95%;
        margin-top: 20px;
        margin: 20px auto 0;
        max-width: none;
        flex-grow: 0;
    }

    .concept-solution__content .concept-solution__item .concept-solution__item-text--en {
        height: auto;
    }
}


/* ーーーーーーーー
security
ーーーーーーーー */
/* Products */
.concept .concept-container__security--en {
    background-color: #fff;
 }

/* ーーーーーーーー
infrastructure
ーーーーーーーー */
/* Products */
.concept.under .concept-container__infrastructure--en .top_product .flex_box .flex {
    background-color: #fff;
 }
 
 /* Our Technology */
.infrastructure-technology .under-technology__item-infra-en {
    display: flex;
    flex-direction: column;
 }
 
 .under-technology__item-infra-en .under-technology__item-title {
    flex-grow: 1;
 }
 
 .under-technology__content .under-technology__item-infra-en .img-wrap {
    width: 50%;
    margin: 0 auto;
 }
 
 .infrastructure-technology__box-text--en {
     width: 100%;
 }
 
/* ーーーーーーーー
life-science
ーーーーーーーー */
/* Our Technology */
.concept__lifescience--en .lifescience-technology .under-technology__item {
    width: calc(100% / 5);
    display: flex;
    flex-direction: column;
}

.concept__lifescience--en .under-technology__item-title {
    flex-grow: 1;
    margin-bottom: clamp(10px, 10%, 23px);
}

.concept__lifescience--en .concept.under .top_product .flex_box .flex {
    background-color: #fff;
}

@media screen and (max-width:1024px) {
    .concept__lifescience--en .lifescience-technology .under-technology__item {
        width: calc(100% / 3);
    }
}

@media screen and (max-width:767px) {
    .concept__lifescience--en .lifescience-technology .under-technology__item {
        width: calc(100% / 2);
    }
}

/* ーーーーーーーー
Demo
ーーーーーーーー */
.page_box02__demo--en .btn a {
    width: 400px;
}

@media screen and (max-width:767px) {

    .page_box02__demo--en .btn a {
        width: clamp(285px, 70%, 300px);
    }

}

/* ーーーーーーーー
Contact Us
ーーーーーーーー */
.required-en{
    font-size: 12px;
    font-weight: 400;
}

/* ーーーーーーーー
About Us
ーーーーーーーー */
.page_box-about-en .txt .dl .dt {
    min-width: 250px;
}


/* ーーーーーーーー
製品一覧（英語ページ）
ーーーーーーーー */
.flex .item02 a .img-product__en {
    aspect-ratio: 16/7;
}

 .top_product .flex_box .product-sf__en {
    background-color: #f5f5f5;
}

.top_product .flex_box .flex .img .img-sr__en {
    object-fit: cover;
}

.sec_pro .flex .item02 .black .txt .product-text__en {
    height: 100px;
}

.product-small__en03 {
    height: 33px;
}

@media screen and (max-width:1080px) {
    .product-small__en01 {
        height: 33px;
    }

    .product-ttl__en01 {
        height: 85px;
    }
}

@media screen and (max-width:991px) {

    .sec_pro .flex .item02 .black .txt .product-text__en,
    .product-small__en03,
    .product-small__en01,
    .product-ttl__en01 {
        height: auto;
    }
}

/* ーーーーーーーー
製品詳細（英語ページ）
ーーーーーーーー */
.proMerit-ttl__en {
    height: 100px;
}

@media screen and (max-width:991px) {
    .proMerit-ttl__en {
        height: 140px;
    }

   .four .panel-grid-cell .panel-widget-style .textwidget .item .txt .proMerit-txt__en {
        height: 90px;
    }
}

@media screen and (max-width:780px) {
    .proMerit-ttl__en,
    .four .panel-grid-cell .panel-widget-style .textwidget .item .txt .proMerit-txt__en {
        height: auto;
    }
}

@media screen and (max-width:767px) {
    .page_main.pro .txt .page_link .pro-detailBtn {
        width: auto;
    }
}

/* ーーーーーーーー
footer（英語ページ）
ーーーーーーーー */
@media screen and (max-width:389px) {
    .footer02-en .flex .item02 .txt {
        position: static;
        transform: none;
        -webkit-transform: none;
    }

    .footer02-en .flex .item02 a .img{
        position: absolute;
        z-index: -1;
        bottom: -20px;
    }
	
	    .footer02-en .flex .item02:first-child {
        margin-bottom:70px;
    }
	
	    .footer02-en .flex .item02 .txt {
        width: 100%;
    }
}

@media screen and (max-width:990px) {
    .btn-wrap_spEnglish .btn__link {
        display: block;
    }
}



/* ーーーーーーーー
管理バーを下に
ーーーーーーーー */

#wpadminbar {
    top: auto;
    bottom: 0;
}
html {
    margin-top: 0 !important;
    margin-bottom: 32px !important;

}



/* ーーーーーーーー
言語切り替え
ーーーーーーーー */


#gNavi .custom-lang-switcher {
    position: relative;
    margin: 0 20px 0;
    display: flex;
    justify-content: space-between;
    max-width: 56px;
    width: 100%;
    padding: 0;
}

#gNavi .custom-lang-switcher::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 80%;
    left: 45%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #000;
}
#gNavi .custom-lang-switcher li {
    color: #000;
    list-style: none;
    opacity:1;
}

#gNavi .custom-lang-switcher a {
 opacity: 0.5;
}


