@charset "UTF-8";
/* CSS Document */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  word-break: normal;
  word-wrap: break-word; }
  *:focus {
    outline: none; }

a {
  color: black; }

html {
  font-size: 20px;
  line-height: 1.6; }

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Meiryo, YuGothic, "游ゴシック", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  /* font-family:   ヒラギノ明朝 Pro W3,Hiragino Mincho Pro,HiraMinProN-W3,游明朝,
  Yu Mincho,游明朝体,YuMincho,HGS明朝E,HG明朝E,ＭＳ Ｐ明朝,MS PMincho,
  "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","游明朝",
  "Yu Mincho","游明朝体","YuMincho","HGS明朝E","HG明朝E",    
  "Hiragino Mincho Pro W3", "Hiragino Mincho Pro",
  "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
  background-color: #fff;
  color: #000;
  max-width: 100vw;
  overflow-x: hidden; }

img {
  vertical-align: bottom;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: 100%; }

.clearfix:before,
.clearfix:after {
  display: table;
  content: " "; }

.clearfix:after {
  clear: both; }

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

td,
th {
  padding: 0; }

table {
  background-color: transparent; }

table col[class*="col-"] {
  position: static;
  display: table-column;
  float: none; }

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  display: table-cell;
  float: none; }

ul li {
  list-style: none; }

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0px; }

.fixedcontainer {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0px; }

a:visited,
a:link,
a:hover,
a:active,
a:focus {
  outline: none;
  text-decoration: none; }

a:hover {
  opacity: 0.8;
  transition: opacity 0.5s ease; }

.red {
  color: #ed1c24; }

.yellow {
  color: #e58e55; }

.bkyellow {
  background-color: #fff100; }

.bold {
  font-weight: bold; }

.btline {
  text-decoration: underline; }

.underline {
  text-decoration: underline; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.visible-sp {
  display: none; }

.hidden-sp {
  display: block; }

.visible-xs {
  display: none; }

.hidden-xs {
  display: block; }

.visible-500 {
  display: none; }

.hidden-500 {
  display: block; }

.flex_part .flex_img_left {
  display: flex;
  flex-direction: row;
  justify-content: space-between; }
  .flex_part .flex_img_left > img {
    object-fit: contain; }
.flex_part .flex_img_center {
  display: flex;
  flex-direction: row;
  justify-content: center; }
.flex_part .flex_body {
  flex: 1; }
.flex_part .flex_img_right {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse; }
  .flex_part .flex_img_right > img {
    object-fit: contain; }

/* slick */
.slick-next::before {
  content: '';
  background: url(../img/right.png) no-repeat; }

.slick-prev::after {
  content: '';
  background: url(../img/left.png) no-repeat; }

.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 50px;
  height: 50px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 99; }

.slick-prev::after,
.slick-next::before {
  font-family: initial;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  opacity: 1; }

.slick-dots {
  bottom: -60px; }

.slick-dots li button:before {
  font-family: 'slick';
  font-size: 32px;
  line-height: 45px;
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  content: '•';
  text-align: center;
  opacity: 1;
  color: #c9caca;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li.slick-active button:before {
  opacity: 1;
  color: #00a0e9; }

.hover_anim {
  position: relative;
  overflow: hidden; }

.hover_anim::after {
  background: #fff;
  content: "";
  height: 400px;
  left: -300px;
  opacity: .2;
  position: absolute;
  top: -80px;
  transform: rotate(35deg);
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
  width: 150px;
  z-index: 100; }

.hover_anim:hover::after {
  left: 120%;
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); }

.fade-top {
  opacity: 0.1;
  transform: translate(0, 80px);
  transition: all 300ms ease-out 0s; }

.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.custom_checkbox {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  position: relative; }
  .custom_checkbox input[type=checkbox] {
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    appearance: none;
    left: 0;
    top: 0; }
    .custom_checkbox input[type=checkbox]:focus {
      outline: none; }
    .custom_checkbox input[type=checkbox]:checked {
      background: #036eb8;
      z-index: 0; }
      .custom_checkbox input[type=checkbox]:checked + span {
        color: white; }
  .custom_checkbox span {
    z-index: 100; }

header .g_nav {
  display: none; }

/* loading
------------------------------------------------- */
#loading {
  width: 100%;
  height: 100vh;
  background: #fff;
  left: 0;
  top: 0;
  position: fixed;
  z-index: 9999;
  opacity: 1;
  display: none; }
  #loading.active {
    opacity: 1; }

#line {
  margin: 0 auto 0;
  width: 100%;
  height: 100%;
  position: relative; }

@-webkit-keyframes rotating
/* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg); }
  to {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }
@keyframes maskRotate {
  0% {
    mask: conic-gradient(from 0.5turn, #000 -20%, transparent 0%, transparent); }
  1% {
    mask: conic-gradient(from 0.5turn, #000 -19%, transparent 1%, transparent); }
  2% {
    mask: conic-gradient(from 0.5turn, #000 -18%, transparent 2%, transparent); }
  3% {
    mask: conic-gradient(from 0.5turn, #000 -17%, transparent 3%, transparent); }
  4% {
    mask: conic-gradient(from 0.5turn, #000 -16%, transparent 4%, transparent); }
  5% {
    mask: conic-gradient(from 0.5turn, #000 -15%, transparent 5%, transparent); }
  6% {
    mask: conic-gradient(from 0.5turn, #000 -14%, transparent 6%, transparent); }
  7% {
    mask: conic-gradient(from 0.5turn, #000 -13%, transparent 7%, transparent); }
  8% {
    mask: conic-gradient(from 0.5turn, #000 -12%, transparent 8%, transparent); }
  9% {
    mask: conic-gradient(from 0.5turn, #000 -11%, transparent 9%, transparent); }
  10% {
    mask: conic-gradient(from 0.5turn, #000 -10%, transparent 10%, transparent); }
  11% {
    mask: conic-gradient(from 0.5turn, #000 -9%, transparent 11%, transparent); }
  12% {
    mask: conic-gradient(from 0.5turn, #000 -8%, transparent 12%, transparent); }
  13% {
    mask: conic-gradient(from 0.5turn, #000 -7%, transparent 13%, transparent); }
  14% {
    mask: conic-gradient(from 0.5turn, #000 -6%, transparent 14%, transparent); }
  15% {
    mask: conic-gradient(from 0.5turn, #000 -5%, transparent 15%, transparent); }
  16% {
    mask: conic-gradient(from 0.5turn, #000 -4%, transparent 16%, transparent); }
  17% {
    mask: conic-gradient(from 0.5turn, #000 -3%, transparent 17%, transparent); }
  18% {
    mask: conic-gradient(from 0.5turn, #000 -2%, transparent 18%, transparent); }
  19% {
    mask: conic-gradient(from 0.5turn, #000 -1%, transparent 19%, transparent); }
  20% {
    mask: conic-gradient(from 0.5turn, #000 0%, transparent 20%, transparent); }
  21% {
    mask: conic-gradient(from 0.5turn, #000 1%, transparent 21%, transparent); }
  22% {
    mask: conic-gradient(from 0.5turn, #000 2%, transparent 22%, transparent); }
  23% {
    mask: conic-gradient(from 0.5turn, #000 3%, transparent 23%, transparent); }
  24% {
    mask: conic-gradient(from 0.5turn, #000 4%, transparent 24%, transparent); }
  25% {
    mask: conic-gradient(from 0.5turn, #000 5%, transparent 25%, transparent); }
  26% {
    mask: conic-gradient(from 0.5turn, #000 6%, transparent 26%, transparent); }
  27% {
    mask: conic-gradient(from 0.5turn, #000 7%, transparent 27%, transparent); }
  28% {
    mask: conic-gradient(from 0.5turn, #000 8%, transparent 28%, transparent); }
  29% {
    mask: conic-gradient(from 0.5turn, #000 9%, transparent 29%, transparent); }
  30% {
    mask: conic-gradient(from 0.5turn, #000 10%, transparent 30%, transparent); }
  31% {
    mask: conic-gradient(from 0.5turn, #000 11%, transparent 31%, transparent); }
  32% {
    mask: conic-gradient(from 0.5turn, #000 12%, transparent 32%, transparent); }
  33% {
    mask: conic-gradient(from 0.5turn, #000 13%, transparent 33%, transparent); }
  34% {
    mask: conic-gradient(from 0.5turn, #000 14%, transparent 34%, transparent); }
  35% {
    mask: conic-gradient(from 0.5turn, #000 15%, transparent 35%, transparent); }
  36% {
    mask: conic-gradient(from 0.5turn, #000 16%, transparent 36%, transparent); }
  37% {
    mask: conic-gradient(from 0.5turn, #000 17%, transparent 37%, transparent); }
  38% {
    mask: conic-gradient(from 0.5turn, #000 18%, transparent 38%, transparent); }
  39% {
    mask: conic-gradient(from 0.5turn, #000 19%, transparent 39%, transparent); }
  40% {
    mask: conic-gradient(from 0.5turn, #000 20%, transparent 40%, transparent); }
  41% {
    mask: conic-gradient(from 0.5turn, #000 21%, transparent 41%, transparent); }
  42% {
    mask: conic-gradient(from 0.5turn, #000 22%, transparent 42%, transparent); }
  43% {
    mask: conic-gradient(from 0.5turn, #000 23%, transparent 43%, transparent); }
  44% {
    mask: conic-gradient(from 0.5turn, #000 24%, transparent 44%, transparent); }
  45% {
    mask: conic-gradient(from 0.5turn, #000 25%, transparent 45%, transparent); }
  46% {
    mask: conic-gradient(from 0.5turn, #000 26%, transparent 46%, transparent); }
  47% {
    mask: conic-gradient(from 0.5turn, #000 27%, transparent 47%, transparent); }
  48% {
    mask: conic-gradient(from 0.5turn, #000 28%, transparent 48%, transparent); }
  49% {
    mask: conic-gradient(from 0.5turn, #000 29%, transparent 49%, transparent); }
  50% {
    mask: conic-gradient(from 0.5turn, #000 30%, transparent 50%, transparent); }
  51% {
    mask: conic-gradient(from 0.5turn, #000 31%, transparent 51%, transparent); }
  52% {
    mask: conic-gradient(from 0.5turn, #000 32%, transparent 52%, transparent); }
  53% {
    mask: conic-gradient(from 0.5turn, #000 33%, transparent 53%, transparent); }
  54% {
    mask: conic-gradient(from 0.5turn, #000 34%, transparent 54%, transparent); }
  55% {
    mask: conic-gradient(from 0.5turn, #000 35%, transparent 55%, transparent); }
  56% {
    mask: conic-gradient(from 0.5turn, #000 36%, transparent 56%, transparent); }
  57% {
    mask: conic-gradient(from 0.5turn, #000 37%, transparent 57%, transparent); }
  58% {
    mask: conic-gradient(from 0.5turn, #000 38%, transparent 58%, transparent); }
  59% {
    mask: conic-gradient(from 0.5turn, #000 39%, transparent 59%, transparent); }
  60% {
    mask: conic-gradient(from 0.5turn, #000 40%, transparent 60%, transparent); }
  61% {
    mask: conic-gradient(from 0.5turn, #000 41%, transparent 61%, transparent); }
  62% {
    mask: conic-gradient(from 0.5turn, #000 42%, transparent 62%, transparent); }
  63% {
    mask: conic-gradient(from 0.5turn, #000 43%, transparent 63%, transparent); }
  64% {
    mask: conic-gradient(from 0.5turn, #000 44%, transparent 64%, transparent); }
  65% {
    mask: conic-gradient(from 0.5turn, #000 45%, transparent 65%, transparent); }
  66% {
    mask: conic-gradient(from 0.5turn, #000 46%, transparent 66%, transparent); }
  67% {
    mask: conic-gradient(from 0.5turn, #000 47%, transparent 67%, transparent); }
  68% {
    mask: conic-gradient(from 0.5turn, #000 48%, transparent 68%, transparent); }
  69% {
    mask: conic-gradient(from 0.5turn, #000 49%, transparent 69%, transparent); }
  70% {
    mask: conic-gradient(from 0.5turn, #000 50%, transparent 70%, transparent); }
  71% {
    mask: conic-gradient(from 0.5turn, #000 51%, transparent 71%, transparent); }
  72% {
    mask: conic-gradient(from 0.5turn, #000 52%, transparent 72%, transparent); }
  73% {
    mask: conic-gradient(from 0.5turn, #000 53%, transparent 73%, transparent); }
  74% {
    mask: conic-gradient(from 0.5turn, #000 54%, transparent 74%, transparent); }
  75% {
    mask: conic-gradient(from 0.5turn, #000 55%, transparent 75%, transparent); }
  76% {
    mask: conic-gradient(from 0.5turn, #000 56%, transparent 76%, transparent); }
  77% {
    mask: conic-gradient(from 0.5turn, #000 57%, transparent 77%, transparent); }
  78% {
    mask: conic-gradient(from 0.5turn, #000 58%, transparent 78%, transparent); }
  79% {
    mask: conic-gradient(from 0.5turn, #000 59%, transparent 79%, transparent); }
  80% {
    mask: conic-gradient(from 0.5turn, #000 60%, transparent 80%, transparent); }
  81% {
    mask: conic-gradient(from 0.5turn, #000 61%, transparent 81%, transparent); }
  82% {
    mask: conic-gradient(from 0.5turn, #000 62%, transparent 82%, transparent); }
  83% {
    mask: conic-gradient(from 0.5turn, #000 63%, transparent 83%, transparent); }
  84% {
    mask: conic-gradient(from 0.5turn, #000 64%, transparent 84%, transparent); }
  85% {
    mask: conic-gradient(from 0.5turn, #000 65%, transparent 85%, transparent); }
  86% {
    mask: conic-gradient(from 0.5turn, #000 66%, transparent 86%, transparent); }
  87% {
    mask: conic-gradient(from 0.5turn, #000 67%, transparent 87%, transparent); }
  88% {
    mask: conic-gradient(from 0.5turn, #000 68%, transparent 88%, transparent); }
  89% {
    mask: conic-gradient(from 0.5turn, #000 69%, transparent 89%, transparent); }
  90% {
    mask: conic-gradient(from 0.5turn, #000 70%, transparent 90%, transparent); }
  91% {
    mask: conic-gradient(from 0.5turn, #000 71%, transparent 91%, transparent); }
  92% {
    mask: conic-gradient(from 0.5turn, #000 72%, transparent 92%, transparent); }
  93% {
    mask: conic-gradient(from 0.5turn, #000 73%, transparent 93%, transparent); }
  94% {
    mask: conic-gradient(from 0.5turn, #000 74%, transparent 94%, transparent); }
  95% {
    mask: conic-gradient(from 0.5turn, #000 75%, transparent 95%, transparent); }
  96% {
    mask: conic-gradient(from 0.5turn, #000 76%, transparent 96%, transparent); }
  97% {
    mask: conic-gradient(from 0.5turn, #000 77%, transparent 97%, transparent); }
  98% {
    mask: conic-gradient(from 0.5turn, #000 78%, transparent 98%, transparent); }
  99% {
    mask: conic-gradient(from 0.5turn, #000 79%, transparent 99%, transparent); }
  100% {
    mask: conic-gradient(from 0.5turn, #000 80%, transparent 100%, transparent); } }
@keyframes opacityAnim {
  0% {
    opacity: 0; }
  20% {
    opacity: 1; } }
.fullwidth .expand {
  width: 100%;
  height: 100%;
  margin: 0;
  left: 0;
  top: 0;
  z-index: 100;
  position: fixed;
  text-align: center;
  display: inline-flex;
  flex-direction: column;
  align-items: center; }
  .fullwidth .expand .logo {
    display: block;
    background: url(./../img/circle.png) no-repeat;
    background-size: contain;
    width: 295px;
    height: 320px;
    animation: maskRotate 2s linear; }
  .fullwidth .expand:hover {
    opacity: 1; }
  .fullwidth .expand .ete {
    height: 100%;
    transition: all 1s;
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer; }
  .fullwidth .expand .fv_txt {
    position: absolute;
    bottom: 87px; }
    .fullwidth .expand .fv_txt img {
      width: 368px; }

@-webkit-keyframes fullexpand {
  0% {
    width: 0; }
  100% {
    width: 100%; } }
@keyframes fullexpand {
  0% {
    width: 0; }
  100% {
    width: 100%; } }
.font16 {
  font-size: 0.8rem; }
.font17 {
  font-size: 0.85rem; }
.font18 {
  font-size: 0.9rem; }
.font19 {
  font-size: 0.95rem; }
.font20 {
  font-size: 1rem; }
.font21 {
  font-size: 1.05rem; }
.font22 {
  font-size: 1.1rem; }
.font23 {
  font-size: 1.15rem; }
.font24 {
  font-size: 1.2rem; }
.font25 {
  font-size: 1.25rem; }
.font26 {
  font-size: 1.3rem; }
.font27 {
  font-size: 1.35rem; }
.font28 {
  font-size: 1.4rem; }
.font29 {
  font-size: 1.45rem; }
.font30 {
  font-size: 1.5rem; }
.font31 {
  font-size: 1.55rem; }
.font32 {
  font-size: 1.6rem; }
.font33 {
  font-size: 1.65rem; }
.font34 {
  font-size: 1.7rem; }
.font35 {
  font-size: 1.75rem; }
.font36 {
  font-size: 1.8rem; }
.font37 {
  font-size: 1.85rem; }
.font38 {
  font-size: 1.9rem; }
.font39 {
  font-size: 1.95rem; }
.font40 {
  font-size: 2rem; }

#pc_menu1 {
  width: 100%;
  text-align: center;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px; }
  #pc_menu1 h1 {
    line-height: 1; }
    #pc_menu1 h1 img {
      width: 150px; }
  #pc_menu1 .menu_area {
    width: 100%;
    padding: 0 0 0 5px;
    margin: 0 auto;
    text-align: left;
    display: flex;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    height: 100%; }
    #pc_menu1 .menu_area li a {
      color: white;
      font-size: 16px;
      font-weight: 700; }
      #pc_menu1 .menu_area li a.active {
        border-bottom: 1px solid black; }

#drag_menu {
  position: fixed;
  top: -100px;
  left: 0;
  z-index: 101;
  width: 100%;
  width: 100%;
  text-align: center;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  background: white; }
  #drag_menu.subdrag {
    top: 0 !important; }
  #drag_menu h1 {
    line-height: 1; }
    #drag_menu h1 img {
      width: 150px; }
  #drag_menu .menu_area {
    width: 100%;
    padding: 0 0 0 5px;
    margin: 0 auto;
    text-align: left;
    display: flex;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    height: 100%; }
    #drag_menu .menu_area li a {
      color: black;
      font-size: 16px;
      font-weight: 700;
      border-bottom: 4px solid white; }
      #drag_menu .menu_area li a.active {
        border-bottom: 4px solid black; }

.drag_nav {
  float: right;
  width: 780px;
  padding: 20px 0 0; }
  .drag_nav ul {
    width: 100%;
    line-height: 1.2em;
    list-style: none; }
    .drag_nav ul > li {
      float: left;
      margin-left: 35px;
      text-align: center;
      position: relative; }
  .drag_nav .top_menu_link {
    display: inline-block;
    vertical-align: top;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0.05em;
    font-size: 12px;
    color: #814900;
    line-height: 1.4; }
    .drag_nav .top_menu_link span {
      font-size: 16px;
      font-weight: bold;
      color: #444; }
    .drag_nav .top_menu_link:hover {
      opacity: 0.3; }

#drag_side {
  display: block;
  position: fixed;
  z-index: 101;
  right: -200px;
  top: 200px;
  width: 7%;
  max-width: 140px; }

.top {
  width: 100%;
  position: relative;
  height: 740px; }
  .top .container {
    text-align: center; }
  .top .top_ttl {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; }
  .top .top_txt1 {
    width: 100%;
    max-width: 860px;
    margin: 0 auto; }

.top .top_txt1 img {
  width: 100%; }

.loopSlider1 {
  margin: 0;
  width: 100%;
  height: 740px;
  text-align: left;
  overflow: hidden;
  position: relative; }
  .loopSlider1 ul {
    margin: 0;
    width: 100%;
    height: 740px;
    float: left;
    display: inline-block;
    overflow: hidden;
    padding: 0; }
  .loopSlider1 ul li {
    float: left;
    width: 555px;
    height: 740px;
    display: inline;
    overflow: hidden; }
    .loopSlider1 ul li div {
      width: 555px;
      height: 740px;
      padding: 0;
      border: 0px solid #289cdc;
      text-align: center;
      margin: 0; }
    .loopSlider1 ul li img {
      width: 100%;
      height: auto;
      background: white; }
  .loopSlider1:after {
    content: "";
    display: none;
    clear: none; }

.loopSliderWrap2 {
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  margin: 0;
  overflow: hidden;
  position: absolute; }

.loopSlider2 {
  margin: 40px 0 0;
  width: 100%;
  height: 200px;
  text-align: left;
  overflow: hidden;
  position: relative; }
  .loopSlider2 ul {
    margin: 0;
    width: 100%;
    height: 200px;
    float: left;
    display: inline-block;
    overflow: hidden;
    padding: 0; }
    .loopSlider2 ul li {
      float: left;
      width: 300px;
      height: 200px;
      display: inline;
      overflow: hidden; }
      .loopSlider2 ul li div {
        width: 300px;
        height: 200px;
        padding: 0;
        border: 0px solid #289cdc;
        text-align: center;
        margin: 0; }
      .loopSlider2 ul li img {
        width: 100%;
        height: auto;
        background: white; }

.loopSliderWrap2:after {
  content: "";
  display: none;
  clear: none; }

.loopSliderWrap1 {
  top: 0;
  left: 0;
  width: 100%;
  height: 740px;
  margin: 0;
  overflow: hidden;
  position: absolute; }

.loopSliderWrap2 {
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  margin: 0;
  overflow: hidden;
  position: absolute; }

/*-------------header----------------------*/
/*-----------        -----------------*/
.inviewfadeInUp {
  opacity: 0;
  transform: translate(0, 8px);
  -webkit-transform: translate(0, 8px);
  transition: 0.6s; }

.inviewfadeInUp0 {
  opacity: 0;
  transform: translate(0, 8px);
  -webkit-transform: translate(0, 8px);
  transition: 0.6s; }

.fadeInUp0 {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  transition: 0.6s; }

.fadeInUp {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewfadeInUp2 {
  opacity: 0;
  transform: translate(0, -40px);
  -webkit-transform: translate(0, -40px);
  transition: 0.8s;
  transition-delay: 0.8s; }

.fadeInUp2 {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewfadeInUp3 {
  opacity: 0;
  transform: translate(0, 40px);
  -webkit-transform: translate(0, 40px);
  transition: 0.8s;
  transition-delay: 0.8s; }

.fadeInUp3 {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewfadeInUp4 {
  opacity: 0;
  transform: translate(-30px, 0);
  -webkit-transform: translate(-30px 0);
  transition: 0.8s;
  transition-delay: 0.8s; }

.fadeInUp4 {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewfadeInUp5 {
  opacity: 0;
  transform: translate(30px, 0);
  -webkit-transform: translate(30px, 0);
  transition: 0.8s;
  transition-delay: 0.8s; }

.fadeInUp5 {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewfadeInUp6 {
  opacity: 0;
  transform: translate(0, 8px);
  -webkit-transform: translate(0, 8px);
  transition: 1s;
  transition-delay: 1.6s; }

.fadeInUp6 {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

figure {
  line-height: 0;
  width: 514px;
  margin: 0; }
  figure.hover-parent {
    position: relative; }
    figure.hover-parent .hover-mask {
      line-height: 2;
      pointer-events: none;
      position: fixed;
      top: 0;
      width: 100%;
      height: 100%;
      bottom: 0;
      left: 0;
      background: rgba(240, 237, 230, 0.82);
      opacity: 0;
      display: flex;
      align-items: center;
      padding: 45px;
      transition: all 0.6s ease;
      z-index: 1000; }
      figure.hover-parent .hover-mask .mask_block {
        width: 100%;
        max-width: 640px;
        margin: auto;
        position: relative; }
        figure.hover-parent .hover-mask .mask_block .img_block {
          margin-bottom: 20px;
          float: left;
          margin-right: 22px; }
          figure.hover-parent .hover-mask .mask_block .img_block img {
            width: 340px; }
        figure.hover-parent .hover-mask .mask_block p {
          font-size: 12px;
          padding-bottom: 0;
          text-align: left; }
          figure.hover-parent .hover-mask .mask_block p.spec_close {
            position: absolute;
            bottom: -25px;
            left: 0;
            width: 15px;
            display: block; }
          figure.hover-parent .hover-mask .mask_block p a {
            cursor: pointer;
            color: #333;
            text-decoration: underline; }
            figure.hover-parent .hover-mask .mask_block p a:visited, figure.hover-parent .hover-mask .mask_block p a:hover {
              color: #333;
              text-decoration: underline; }
    figure.hover-parent:hover .hover-mask {
      opacity: 0;
      transition: all 0.6s ease; }
    figure.hover-parent .hover-mask.hover {
      visibility: visible;
      pointer-events: initial;
      opacity: 1;
      transition: all 0.6s ease; }
    figure.hover-parent .plus {
      position: absolute;
      right: 20px;
      width: 80px;
      bottom: 25px;
      display: block;
      z-index: 1; }

.animation1 {
  animation: customFade ease 8000ms;
  position: relative; }

.animation2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%); }

.anipart {
  position: relative; }

@keyframes customFade {
  0% {
    opacity: 1; }
  15% {
    opacity: 0; }
  50% {
    opacity: 0; }
  65% {
    opacity: 1; }
  100% {
    opacity: 1; } }
body {
  font-family: 'Noto Sans JP', sans-serif; }

.eigo {
  font-family: 'Open Sans', sans-serif; }

header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100; }

.bgleft {
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  /* ボーダーの色と太さ */
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease .2s;
  border-color: white;
  /*hoverした際の形状*/ }
  .bgleft span {
    position: relative;
    z-index: 3;
    color: white;
    transition: all 0.2s;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/ }
  .bgleft:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: white;
    /*背景色*/
    width: 100%;
    height: 100%;
    /*アニメーション*/
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top; }
  .bgleft:hover span {
    color: black;
    transition: all 0.2s; }
  .bgleft:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s; }
  .bgleft.opposite {
    border-color: black; }
    .bgleft.opposite span {
      color: black;
      transition: all 0.2s; }
    .bgleft.opposite::before {
      background: black; }
    .bgleft.opposite:hover span {
      color: white;
      transition: all 0.2s; }
    .bgleft.opposite:hover::before {
      background: black; }

.bread_crumb {
  display: flex;
  flex-direction: column;
  position: absolute;
  z-index: 99;
  top: 240px;
  right: 11px; }
  .bread_crumb * {
    writing-mode: vertical-lr;
    font-family: 'Open Sans', sans-serif; }
  .bread_crumb a {
    font-size: 10px;
    color: black; }
  .bread_crumb .seperator {
    font-size: 10px;
    color: black;
    padding: 10px 0; }
  .bread_crumb .current {
    color: #C8C8C8;
    font-size: 10px; }

#sec_fv {
  position: relative; }
  #sec_fv img {
    width: 100%;
    height: 100vh;
    object-fit: cover; }
  #sec_fv h1 {
    position: absolute;
    bottom: 32px;
    right: 53px;
    font-size: 103px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
    line-height: 1; }
    #sec_fv h1 span {
      font-size: 71px; }

#sec1 {
  background: #181818;
  padding: 70px 0; }
  #sec1 .part1 {
    display: flex;
    align-items: stretch;
    justify-content: flex-end; }
    #sec1 .part1 h2 {
      color: white;
      writing-mode: vertical-lr;
      font-size: 24px;
      font-weight: 700; }
    #sec1 .part1 .news_part {
      padding-left: 67px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-between; }
      #sec1 .part1 .news_part .block a .date {
        color: rgba(255, 255, 255, 0.4);
        font-size: 14px; }
      #sec1 .part1 .news_part .block a .title {
        font-size: 16px;
        color: white; }
    #sec1 .part1 .link_part {
      display: flex;
      padding-left: 105px;
      align-self: flex-end; }
      #sec1 .part1 .link_part a {
        display: inline-flex;
        width: 200px;
        height: 48px;
        justify-content: center;
        align-items: center;
        border: 1px solid white;
        color: white;
        font-size: 13px; }

.head_image {
  width: 100%; }

#sec2 .part1 {
  text-align: center;
  padding-top: 33px; }
  #sec2 .part1 h2 {
    font-size: 24px;
    font-weight: 700;
    color: black;
    text-align: center;
    line-height: 1.5; }
  #sec2 .part1 .desc {
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
    margin: 0 auto;
    display: block; }
  #sec2 .part1 h3 {
    padding-top: 53px;
    font-size: 20px;
    text-align: center;
    line-height: 1.6; }
  #sec2 .part1 p {
    display: inline-block;
    max-width: 800px;
    text-align: left;
    font-size: 14px;
    margin-top: 30px;
    margin-bottom: 80px;
    line-height: 2.2; }
  #sec2 .part1 .view_more {
    text-align: center;
    margin-bottom: 92px; }
    #sec2 .part1 .view_more a {
      display: inline-flex;
      width: 200px;
      height: 48px;
      justify-content: center;
      align-items: center;
      border: 1px solid black;
      color: black;
      font-size: 13px; }

#sec3 {
  position: relative; }
  #sec3 .bean_img {
    position: absolute;
    top: 24.5vw;
    z-index: 1;
    width: 24vw;
    right: -8vw; }
  #sec3 .part1 {
    text-align: center;
    padding-top: 33px; }
    #sec3 .part1 h2 {
      font-size: 24px;
      font-weight: 700;
      color: black;
      text-align: center;
      line-height: 1.5; }
    #sec3 .part1 .desc {
      font-size: 14px;
      text-align: center;
      line-height: 1.5;
      margin: 0 auto;
      display: block; }
    #sec3 .part1 h3 {
      padding-top: 53px;
      font-size: 20px;
      text-align: center;
      line-height: 1.6; }
    #sec3 .part1 p {
      display: inline-block;
      max-width: 800px;
      text-align: left;
      font-size: 14px;
      margin-top: 30px;
      margin-bottom: 80px;
      line-height: 2.2; }
    #sec3 .part1 .view_more {
      text-align: center;
      margin-bottom: 92px; }
      #sec3 .part1 .view_more a {
        display: inline-flex;
        width: 200px;
        height: 48px;
        justify-content: center;
        align-items: center;
        border: 1px solid black;
        color: black;
        font-size: 13px; }

.italic {
  font-style: italic; }

#sec4 {
  background: url(./../img/sec4_bg.jpg) no-repeat;
  background-size: 100% 540px;
  background-position: top;
  padding-top: 90px;
  padding-bottom: 90px; }
  #sec4 .part1 h2 {
    font-size: 24px;
    font-weight: 700;
    color: black;
    text-align: center;
    line-height: 1.5; }
  #sec4 .part1 .desc {
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
    display: block;
    margin: 0 auto; }
  #sec4 .part2 h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    background: black;
    color: white;
    margin-top: 40px;
    font-size: 20px;
    text-align: center;
    line-height: 1.6;
    padding: 10px 0;
    margin-bottom: 10px; }
  #sec4 .part2 p {
    display: inline-block;
    max-width: 800px;
    text-align: left;
    font-size: 14px;
    margin-top: 30px;
    margin-bottom: 80px;
    line-height: 2.2; }
  #sec4 .part2 .flex_img_left .flex_img {
    flex: 1;
    position: relative; }
    #sec4 .part2 .flex_img_left .flex_img .user_info {
      position: absolute;
      width: 100%;
      height: 160px;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      bottom: 0;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0), black); }
      #sec4 .part2 .flex_img_left .flex_img .user_info p {
        color: white;
        position: relative;
        text-align: center;
        margin: 0; }
      #sec4 .part2 .flex_img_left .flex_img .user_info .company {
        font-size: 20px;
        font-weight: 700;
        padding-bottom: 3px; }
      #sec4 .part2 .flex_img_left .flex_img .user_info .role {
        font-size: 12px; }
      #sec4 .part2 .flex_img_left .flex_img .user_info .name {
        font-size: 16px; }
  #sec4 .part3 h3 {
    font-size: 16px;
    font-weight: 700;
    margin-top: 28px;
    padding-bottom: 10px; }
  #sec4 .part3 p {
    font-size: 14px;
    line-height: 2.2; }
  #sec4 .part3 .block {
    align-items: center;
    justify-content: space-between; }
  #sec4 .part3 .flex_body a {
    margin-left: auto;
    border: 1px solid black;
    font-size: 13px;
    color: black;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 48px; }

#company_fv {
  padding-top: 200px; }
  #company_fv h2 {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.05em; }
  #company_fv .desc {
    font-size: 20px;
    text-align: center;
    margin-top: 5px; }

#company_sec1 {
  margin-top: 72px;
  position: relative; }
  #company_sec1::before {
    position: absolute;
    height: 90px;
    width: 1px;
    left: 50%;
    top: 0;
    content: "";
    background: black;
    margin-top: -45px; }
  #company_sec1 .part1 h2 {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    padding-top: 75px;
    margin-bottom: 7px;
    line-height: 1.5; }
  #company_sec1 .part1 p {
    max-width: 920px;
    margin: auto;
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.03em; }
    #company_sec1 .part1 p a {
      color: black;
      text-decoration: underline; }
  #company_sec1 .part1 .desc {
    margin-bottom: 34px;
    line-height: 1.5;
    text-align: center;
    font-weight: bold;
    font-size: 16px; }
  #company_sec1 .part1 .part_body {
    padding-top: 111px;
    gap: 32px; }
    #company_sec1 .part1 .part_body .block {
      flex: 1; }
    #company_sec1 .part1 .part_body h4 {
      font-size: 16px;
      margin-top: 30px;
      margin-bottom: 30px; }

#company_sec2 {
  margin-top: 120px;
  margin-bottom: 150px;
  position: relative; }
  #company_sec2 .part1 h2 {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    padding-top: 75px;
    line-height: 1.5; }
  #company_sec2 .part1 p {
    max-width: 920px;
    margin: auto;
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.03em; }
    #company_sec2 .part1 p a {
      color: black;
      text-decoration: underline; }
  #company_sec2 .part1 .desc {
    margin-bottom: 34px;
    line-height: 1.5;
    text-align: center;
    font-size: 16px; }
  #company_sec2 .part1 .part_body {
    padding-top: 60px;
    gap: 32px; }
    #company_sec2 .part1 .part_body .block {
      flex: 1; }
    #company_sec2 .part1 .part_body h4 {
      font-size: 16px;
      margin-top: 30px;
      margin-bottom: 30px; }

#company_sec3 {
  background: #E8E8E8;
  padding: 66px 0 92px; }
  #company_sec3 .part1 h2 {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 7px;
    line-height: 1.5; }
  #company_sec3 .part1 .desc {
    margin-bottom: 28px;
    line-height: 1.5;
    text-align: center;
    font-size: 16px; }
  #company_sec3 .part1 .part_body {
    display: flex;
    align-items: stretch;
    justify-content: center; }
    #company_sec3 .part1 .part_body .block {
      flex: 1;
      background: white;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border: 1px solid #E8E8E8;
      position: relative; }
      #company_sec3 .part1 .part_body .block p {
        text-align: center;
        font-size: 20px;
        color: #623B10;
        margin-top: 10px; }
      #company_sec3 .part1 .part_body .block .icon {
        position: absolute;
        bottom: 6px;
        right: 12px;
        font-size: 20px;
        z-index: 2; }

#company_sec4 {
  background: #181818;
  padding: 55px 0 60px;
  text-align: center; }
  #company_sec4 h2 {
    text-align: center;
    font-size: 24px;
    color: white; }
  #company_sec4 .desc {
    color: white;
    font-size: 14px;
    text-align: center; }
  #company_sec4 ul {
    display: inline-flex;
    flex-direction: column;
    margin-top: 40px; }
    #company_sec4 ul li {
      display: flex;
      align-items: flex-start;
      margin-bottom: 5px; }
      #company_sec4 ul li .title {
        font-size: 14px;
        color: white;
        width: 100px;
        text-align: left;
        line-height: 2; }
      #company_sec4 ul li .desc {
        font-size: 14px;
        width: 317px;
        text-align: left;
        line-height: 2; }

#company_sec5 {
  background: #E8E8E8;
  padding: 75px 0 90px; }
  #company_sec5 .part1 h2 {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 5px; }
  #company_sec5 .part1 .desc {
    font-size: 14px;
    line-height: 1.5;
    text-align: center; }
  #company_sec5 .part1 .block {
    margin-top: 60px;
    justify-content: end; }
    #company_sec5 .part1 .block .flex_img {
      height: 480px;
      width: 50%; }
    #company_sec5 .part1 .block .flex_body {
      max-width: 460px;
      margin-right: 40px; }
      #company_sec5 .part1 .block .flex_body p {
        font-size: 14px;
        line-height: 2.2; }
        #company_sec5 .part1 .block .flex_body p strong {
          font-weight: 700;
          font-size: 16px; }
        #company_sec5 .part1 .block .flex_body p small {
          font-size: 11px; }

#company_sec6 {
  padding: 90px 0; }
  #company_sec6 .part1 {
    max-width: 960px; }
    #company_sec6 .part1 .block .flex_img {
      margin-right: 58px; }
    #company_sec6 .part1 .block .flex_body h3 {
      font-size: 18px;
      line-height: 2.2; }
    #company_sec6 .part1 .block .flex_body p {
      font-size: 14px;
      line-height: 2.2; }
      #company_sec6 .part1 .block .flex_body p:last-child {
        margin-top: 50px; }
      #company_sec6 .part1 .block .flex_body p small {
        line-height: 2; }

#products_sec1 {
  padding-bottom: 200px;
  margin-top: 72px;
  position: relative; }
  #products_sec1::before {
    position: absolute;
    height: 90px;
    width: 1px;
    left: 50%;
    top: 0;
    content: "";
    background: black;
    margin-top: -45px; }
  #products_sec1 .part1 {
    max-width: 920px; }
    #products_sec1 .part1 h2 {
      text-align: left;
      font-size: 20px;
      font-weight: 700;
      padding-top: 105px;
      margin-bottom: 7px;
      line-height: 2; }
      #products_sec1 .part1 h2 span {
        padding-bottom: 3px;
        border-bottom: 3px solid black; }
    #products_sec1 .part1 .block {
      padding-top: 80px; }
      #products_sec1 .part1 .block h3 {
        font-size: 16px; }
      #products_sec1 .part1 .block p {
        padding-top: 30px;
        font-size: 14px;
        line-height: 2.1; }
        #products_sec1 .part1 .block p a {
          color: black;
          text-decoration: underline; }
      #products_sec1 .part1 .block > img {
        width: 100%;
        margin-top: 35px; }
      #products_sec1 .part1 .block2 {
        padding-top: 140px; }

#products_sec2 .part1 {
  max-width: 920px; }
  #products_sec2 .part1 h2 {
    text-align: left;
    font-size: 20px;
    font-weight: 700;
    padding-top: 105px;
    margin-bottom: 7px;
    line-height: 2; }
    #products_sec2 .part1 h2 span {
      padding-bottom: 3px;
      border-bottom: 3px solid black; }
  #products_sec2 .part1 .part_body {
    padding-top: 100px;
    padding-bottom: 130px; }
    #products_sec2 .part1 .part_body .flex_img {
      width: 450px;
      box-shadow: 1px 3px 20px rgba(0, 0, 0, 0.16); }
    #products_sec2 .part1 .part_body .flex_body {
      padding-right: 50px; }
      #products_sec2 .part1 .part_body .flex_body h3 {
        font-size: 16px;
        margin-bottom: 35px;
        line-height: 2; }
      #products_sec2 .part1 .part_body .flex_body p {
        font-size: 14px;
        line-height: 2.2; }
      #products_sec2 .part1 .part_body .flex_body a {
        width: 100%;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid black;
        font-size: 13px;
        margin-top: 140px; }

#products_sec3 {
  padding-bottom: 130px; }
  #products_sec3 .part1 {
    max-width: 920px; }
    #products_sec3 .part1 h2 {
      text-align: left;
      font-size: 20px;
      font-weight: 700;
      padding-top: 105px;
      margin-bottom: 7px;
      line-height: 2; }
      #products_sec3 .part1 h2 span {
        padding-bottom: 3px;
        border-bottom: 3px solid black; }
    #products_sec3 .part1 .block {
      padding-top: 80px; }
      #products_sec3 .part1 .block h3 {
        font-size: 16px; }
      #products_sec3 .part1 .block p {
        padding-top: 30px;
        font-size: 14px;
        line-height: 2.1; }
        #products_sec3 .part1 .block p a {
          color: black;
          text-decoration: underline; }
      #products_sec3 .part1 .block > img {
        width: 100%;
        margin-top: 35px; }
      #products_sec3 .part1 .block2 {
        padding-top: 110px; }
        #products_sec3 .part1 .block2 p {
          padding-top: 0; }
        #products_sec3 .part1 .block2 a {
          width: 100%;
          height: 100px;
          display: flex;
          align-items: center;
          justify-content: center;
          border: 1px solid black;
          margin-top: 40px; }
          #products_sec3 .part1 .block2 a span {
            font-size: 13px; }
            #products_sec3 .part1 .block2 a span strong {
              font-size: 20px;
              font-weight: bold; }

#products2_sec1 {
  padding-bottom: 0;
  margin-top: 72px;
  position: relative; }
  #products2_sec1::before {
    position: absolute;
    height: 90px;
    width: 1px;
    left: 50%;
    top: 0;
    content: "";
    background: black;
    margin-top: -45px; }
  #products2_sec1 .part1 {
    max-width: 920px; }
    #products2_sec1 .part1 .tabs {
      margin-top: 100px;
      display: flex;
      align-items: center;
      justify-content: center; }
      #products2_sec1 .part1 .tabs .tab {
        width: 220px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-left: 1px solid black;
        cursor: pointer; }
        #products2_sec1 .part1 .tabs .tab:last-child {
          border-right: 1px solid black; }
        #products2_sec1 .part1 .tabs .tab a {
          font-size: 16px;
          text-decoration: none;
          color: black;
          font-weight: bold;
          padding: 3px 0;
          border-bottom: 2px solid white; }
          #products2_sec1 .part1 .tabs .tab a.active {
            border-bottom: 2px solid black; }
    #products2_sec1 .part1 .tab_containers {
      padding-top: 100px; }
      #products2_sec1 .part1 .tab_containers .tab_container {
        display: none; }
        #products2_sec1 .part1 .tab_containers .tab_container.active {
          display: block; }
        #products2_sec1 .part1 .tab_containers .tab_container h2 {
          font-size: 32px;
          font-weight: bold; }
        #products2_sec1 .part1 .tab_containers .tab_container .desc {
          font-size: 14px;
          margin-bottom: 50px; }
        #products2_sec1 .part1 .tab_containers .tab_container .block {
          position: relative; }
          #products2_sec1 .part1 .tab_containers .tab_container .block h3 {
            font-size: 20px;
            font-weight: bold;
            padding-top: 53px;
            padding-bottom: 20px;
            line-height: 2; }
          #products2_sec1 .part1 .tab_containers .tab_container .block p {
            font-size: 14px;
            line-height: 2.2; }
            #products2_sec1 .part1 .tab_containers .tab_container .block p a {
              color: black;
              text-decoration: underline; }
          #products2_sec1 .part1 .tab_containers .tab_container .block .slicker_parts1 {
            position: initial;
            margin-right: calc(460px - 50vw); }
            #products2_sec1 .part1 .tab_containers .tab_container .block .slicker_parts1 .slicker_part {
              padding: 0 5px; }
          #products2_sec1 .part1 .tab_containers .tab_container .block .slick-next, #products2_sec1 .part1 .tab_containers .tab_container .block .slick-prev {
            top: 95px; }
          #products2_sec1 .part1 .tab_containers .tab_container .block .slick-next {
            right: -70px; }
          #products2_sec1 .part1 .tab_containers .tab_container .block .slick-prev {
            left: -70px; }
          #products2_sec1 .part1 .tab_containers .tab_container .block .user_info {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            margin-top: 38px;
            margin-bottom: 120px;
            gap: 30px; }
            #products2_sec1 .part1 .tab_containers .tab_container .block .user_info .title_block h4 {
              font-size: 20px;
              font-weight: bold;
              letter-spacing: 0.05em; }
            #products2_sec1 .part1 .tab_containers .tab_container .block .user_info .title_block .desc {
              font-size: 10px;
              text-align: center;
              margin: 0; }
            #products2_sec1 .part1 .tab_containers .tab_container .block .user_info .seperator {
              width: 40px;
              display: block;
              height: 2px;
              background: black; }
            #products2_sec1 .part1 .tab_containers .tab_container .block .user_info .profile_block {
              display: flex;
              align-items: center;
              justify-content: flex-start; }
              #products2_sec1 .part1 .tab_containers .tab_container .block .user_info .profile_block p {
                font-size: 13px;
                line-height: 1.6;
                font-weight: 700;
                padding-left: 10px; }
        #products2_sec1 .part1 .tab_containers .tab_container .persons {
          padding-bottom: 100px; }
          #products2_sec1 .part1 .tab_containers .tab_container .persons ul li {
            display: flex;
            align-items: flex-end;
            justify-content: flex-start;
            margin-bottom: 60px; }
            #products2_sec1 .part1 .tab_containers .tab_container .persons ul li .profile {
              padding-left: 40px; }
              #products2_sec1 .part1 .tab_containers .tab_container .persons ul li .profile h3 {
                font-size: 24px;
                font-weight: bold;
                margin-bottom: 30px; }
              #products2_sec1 .part1 .tab_containers .tab_container .persons ul li .profile p {
                font-size: 13px;
                line-height: 2.2; }
              #products2_sec1 .part1 .tab_containers .tab_container .persons ul li .profile a {
                font-size: 13px;
                width: 200px;
                height: 48px;
                border: 1px solid black;
                display: flex;
                align-items: center;
                justify-content: center;
                letter-spacing: 0.1em;
                color: black;
                margin-top: 35px; }

#detail_sec1 {
  padding-top: 200px; }
  #detail_sec1 .part1 {
    max-width: 920px; }
    #detail_sec1 .part1 .desc {
      font-size: 16px;
      line-height: 1.5;
      padding: 0; }
    #detail_sec1 .part1 h2 {
      font-size: 32px;
      line-height: 1.5;
      padding-bottom: 50px; }
    #detail_sec1 .part1 .text {
      padding: 60px 0;
      font-size: 14px;
      line-height: 2.2; }

#detail_sec2 {
  padding-top: 50px; }
  #detail_sec2 > img {
    width: 100%; }
  #detail_sec2 .part1 {
    position: relative;
    max-width: 920px; }
    #detail_sec2 .part1 .icon_block {
      position: absolute;
      right: 0;
      text-align: right;
      top: -90px;
      z-index: 10; }
      #detail_sec2 .part1 .icon_block p {
        font-size: 14px;
        padding-top: 32px; }
    #detail_sec2 .part1 h2 {
      padding-top: 70px;
      font-size: 32px;
      font-weight: bold; }
    #detail_sec2 .part1 .desc {
      font-size: 16px;
      margin-bottom: 40px; }
    #detail_sec2 .part1 .text {
      line-height: 2.1;
      font-size: 14px; }
  #detail_sec2 .part2 {
    display: flex;
    padding-top: 60px;
    justify-content: space-between;
    gap: 30px; }
  #detail_sec2 .part3 {
    max-width: 920px;
    padding-top: 68px; }
    #detail_sec2 .part3 h2 {
      font-size: 20px; }
    #detail_sec2 .part3 .text {
      font-size: 14px;
      line-height: 2.1;
      padding-top: 20px; }
    #detail_sec2 .part3 a {
      color: black;
      text-decoration: underline;
      font-size: 14px;
      margin-top: 15px; }
    #detail_sec2 .part3 > a {
      display: flex;
      width: 100%;
      align-items: center;
      justify-content: space-between; }
    #detail_sec2 .part3 .news {
      margin-top: 30px;
      background: #E8E8E8;
      padding: 10px 20px;
      font-size: 14px; }
  #detail_sec2.detail_sec2 {
    padding-top: 0; }

#detail_sec3 {
  margin-top: 130px;
  padding-bottom: 150px; }
  #detail_sec3 .part1 {
    max-width: 920px; }
    #detail_sec3 .part1 h2 {
      font-size: 32px; }
    #detail_sec3 .part1 ul {
      padding-top: 30px; }
      #detail_sec3 .part1 ul li a {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 25px 20px;
        border-bottom: 1px solid #707070;
        position: relative; }
        #detail_sec3 .part1 ul li a .status {
          background: black;
          color: white;
          font-size: 14px;
          font-weight: bold;
          padding: 0 6px;
          line-height: 1.5; }
        #detail_sec3 .part1 ul li a .title {
          font-size: 16px;
          font-weight: bold;
          padding-left: 20px;
          flex: 1;
          text-align: left;
          color: black;
          line-height: 1.5; }
        #detail_sec3 .part1 ul li a::after {
          content: "";
          width: 6px;
          height: 6px;
          border-bottom: 1px solid black;
          border-right: 1px solid black;
          border-radius: 1px;
          transform: rotate(-45deg); }

#contact_sec1 {
  padding-top: 225px; }
  #contact_sec1 .part1 {
    display: flex;
    align-items: flex-start; }
    #contact_sec1 .part1 .title_wrapper {
      flex: 1; }
      #contact_sec1 .part1 .title_wrapper h2 {
        font-size: 40px; }
      #contact_sec1 .part1 .title_wrapper .desc {
        font-size: 20px;
        letter-spacing: 0.1em; }
      #contact_sec1 .part1 .title_wrapper .text {
        font-size: 14px;
        margin-top: 80px;
        line-height: 2.2; }
    #contact_sec1 .part1 .form_wrapper {
      width: 640px;
      padding-bottom: 122px; }
      #contact_sec1 .part1 .form_wrapper form .form_group {
        margin-bottom: 40px; }
        #contact_sec1 .part1 .form_wrapper form .form_group label {
          display: block;
          font-size: 14px;
          padding-bottom: 12px; }
        #contact_sec1 .part1 .form_wrapper form .form_group input[type=text], #contact_sec1 .part1 .form_wrapper form .form_group input[type=email] {
          width: 100%;
          height: 60px;
          font-size: 16px;
          border: 1px solid #C8C8C8;
          font-family: "Noto Sans JP", sans-serif !important;
          padding: 0 0.5em; }
        #contact_sec1 .part1 .form_wrapper form .form_group .text {
          font-size: 16px; }
        #contact_sec1 .part1 .form_wrapper form .form_group textarea {
          height: 240px;
          border: 1px solid #C8C8C8;
          width: 100%;
          font-size: 16px;
          font-weight: 400;
          padding: 1em 0.5em 0;
          font-family: "Noto Sans JP", sans-serif !important; }
      #contact_sec1 .part1 .form_wrapper form .complete_wrapper {
        font-size: 14px;
        padding-top: 140px;
        padding-bottom: 200px;
        line-height: 2.2; }
      #contact_sec1 .part1 .form_wrapper form .privacy_policy_wrapper {
        height: 200px;
        background: #E8E8E8;
        border: 1px soli #C8C8C8;
        margin-bottom: 34px;
        padding: 15px;
        font-size: 14px;
        overflow: auto; }
      #contact_sec1 .part1 .form_wrapper form .btn_wrapper {
        display: flex;
        align-items: center;
        justify-content: flex-start; }
        #contact_sec1 .part1 .form_wrapper form .btn_wrapper a, #contact_sec1 .part1 .form_wrapper form .btn_wrapper button {
          margin-right: 10px;
          width: 200px;
          letter-spacing: 0.1em;
          font-size: 14px;
          height: 48px;
          display: flex;
          align-items: center;
          justify-content: center;
          background: none;
          border: 1px solid black; }
        #contact_sec1 .part1 .form_wrapper form .btn_wrapper.confirm {
          margin-top: 2em; }

.icon {
  margin-right: 5px; }

footer {
  background: black;
  padding: 60px 0; }
  footer .part1 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between; }
    footer .part1 h2 {
      width: 150px; }
    footer .part1 .link_part1 ul li {
      margin-bottom: 20px; }
      footer .part1 .link_part1 ul li a .title {
        color: white;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.4; }
      footer .part1 .link_part1 ul li a .desc {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.6);
        line-height: 1.4; }
      footer .part1 .link_part1 ul li.normal {
        margin-bottom: 8px;
        line-height: 1; }
        footer .part1 .link_part1 ul li.normal a {
          font-size: 12px;
          color: white; }
    footer .part1 .link_part2 {
      width: 420px; }
      footer .part1 .link_part2 ul {
        display: flex; }
        footer .part1 .link_part2 ul li:last-child {
          flex: 1;
          margin-left: 60px; }
          footer .part1 .link_part2 ul li:last-child a {
            display: block; }
        footer .part1 .link_part2 ul li a .title {
          font-size: 16px;
          color: white;
          font-weight: bold; }
        footer .part1 .link_part2 ul li a .desc {
          font-size: 12px;
          color: rgba(255, 255, 255, 0.6); }
        footer .part1 .link_part2 ul li a.normal {
          font-size: 12px;
          color: white;
          margin-top: 14px; }
      footer .part1 .link_part2 .contact_btn {
        margin-top: 40px; }
        footer .part1 .link_part2 .contact_btn a {
          border: 1px solid white;
          color: white;
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: center;
          height: 60px;
          font-size: 16px; }
  footer .part2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 80px; }
    footer .part2 .sns {
      display: flex;
      align-items: center;
      justify-content: flex-start; }
      footer .part2 .sns li {
        margin-right: 40px; }
        footer .part2 .sns li a {
          color: white;
          font-size: 16px;
          display: flex;
          align-items: center;
          justify-content: flex-start; }
    footer .part2 p {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.6); }

.base_txt {
  font-size: 14px;
  line-height: 1.75; }
  .base_txt.confirm .text {
    margin: 1.5em 0 0.5em; }
  .base_txt.confirm_info {
    padding-bottom: 3em;
    border-bottom: 1px solid #000; }
