@charset "UTF-8";
/* 共通
========================================================*/
/* A Modern CSS Reset */
*, *::before, *::after {
  box-sizing: border-box; }

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0; }

ul[role="list"], ol[role="list"] {
  list-style: none; }

html:focus-within {
  scroll-behavior: smooth; }

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5; }

a:not([class]) {
  text-decoration-skip-ink: auto; }

img, picture {
  max-width: 100%;
  display: block; }

input, button, textarea, select {
  font: inherit; }

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto; }

  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important; } }
html {
  font-size: 62.5%; }

body {
  margin: 0;
  padding: 0; }

ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  ul li {
    list-style: none; }

ol {
  margin: 0;
  padding: 0; }

p, li, a {
  font-size: 1.6rem;
  line-height: 1.5; }

/*

	viewport settings

**************************************************/
/*

	font setting

**************************************************/
/*

	clearfix settings

**************************************************/
/*

	boxsizing settings

**************************************************/
/*

	opacity settings

**************************************************/
/*

	border-radius settings

**************************************************/
/*

	drop shadow settings

**************************************************/
/*

	vertical align setting

**************************************************/
/*

	flexbox layout setting

**************************************************/
/*

	hover transition

**************************************************/
/*================================
	hoverアクション
=================================*/
/* 共通パーツ
========================================================*/
/*================================
	color
=================================*/
.mt0 {
  margin-top: 0 !important; }

.mt10 {
  margin-top: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

@media screen and (max-width: 767px) {
  .sp-mt0 {
    margin-top: 0 !important; } }

@media screen and (max-width: 767px) {
  .sp-mt10 {
    margin-top: 10px !important; } }

@media screen and (max-width: 767px) {
  .sp-mt20 {
    margin-top: 20px !important; } }

@media screen and (max-width: 767px) {
  .sp-mt30 {
    margin-top: 30px !important; } }

@media screen and (max-width: 767px) {
  .sp-mt40 {
    margin-top: 40px !important; } }

@media screen and (max-width: 767px) {
  .sp-mt50 {
    margin-top: 50px !important; } }

@media screen and (max-width: 767px) {
  .sp-mt60 {
    margin-top: 60px !important; } }

.mt_xxl {
  margin-top: 80px !important; }
  @media screen and (max-width: 767px) {
    .mt_xxl {
      margin-top: 40px !important; } }

.mt_xl {
  margin-top: 64px !important; }
  @media screen and (max-width: 767px) {
    .mt_xl {
      margin-top: 32px !important; } }

.mt_x {
  margin-top: 40px !important; }
  @media screen and (max-width: 767px) {
    .mt_x {
      margin-top: 24px !important; } }

.mt_l {
  margin-top: 32px !important; }
  @media screen and (max-width: 767px) {
    .mt_l {
      margin-top: 16px !important; } }

.mt_m {
  margin-top: 24px !important; }
  @media screen and (max-width: 767px) {
    .mt_m {
      margin-top: 8px !important; } }

.mt_s {
  margin-top: 16px !important; }
  @media screen and (max-width: 767px) {
    .mt_s {
      margin-top: 8px !important; } }

.mt_xs {
  margin-top: 8px !important; }
  @media screen and (max-width: 767px) {
    .mt_xs {
      margin-top: 8px !important; } }

.mt_-xxl {
  margin-top: -80px !important; }
  @media screen and (max-width: 767px) {
    .mt_-xxl {
      margin-top: -40px !important; } }

.mt_-xl {
  margin-top: -64px !important; }
  @media screen and (max-width: 767px) {
    .mt_-xl {
      margin-top: -32px !important; } }

.mt_-x {
  margin-top: -40px !important; }
  @media screen and (max-width: 767px) {
    .mt_-x {
      margin-top: -24px !important; } }

.mt_-l {
  margin-top: -32px !important; }
  @media screen and (max-width: 767px) {
    .mt_-l {
      margin-top: -16px !important; } }

.mt_-m {
  margin-top: -24px !important; }
  @media screen and (max-width: 767px) {
    .mt_-m {
      margin-top: -8px !important; } }

.mt_-s {
  margin-top: -16px !important; }
  @media screen and (max-width: 767px) {
    .mt_-s {
      margin-top: -8px !important; } }

.mt_-xs {
  margin-top: -8px !important; }
  @media screen and (max-width: 767px) {
    .mt_-xs {
      margin-top: -8px !important; } }

.mb_xxl {
  margin-bottom: 80px !important; }
  @media screen and (max-width: 767px) {
    .mb_xxl {
      margin-bottom: 40px !important; } }

.mb_xl {
  margin-bottom: 64px !important; }
  @media screen and (max-width: 767px) {
    .mb_xl {
      margin-bottom: 32px !important; } }

.mb_x {
  margin-bottom: 40px !important; }
  @media screen and (max-width: 767px) {
    .mb_x {
      margin-bottom: 24px !important; } }

.mb_l {
  margin-bottom: 32px !important; }
  @media screen and (max-width: 767px) {
    .mb_l {
      margin-bottom: 16px !important; } }

.mb_m {
  margin-bottom: 24px !important; }
  @media screen and (max-width: 767px) {
    .mb_m {
      margin-bottom: 8px !important; } }

.mb_s {
  margin-bottom: 16px !important; }
  @media screen and (max-width: 767px) {
    .mb_s {
      margin-bottom: 8px !important; } }

.mb_xs {
  margin-bottom: 8px !important; }
  @media screen and (max-width: 767px) {
    .mb_xs {
      margin-bottom: 8px !important; } }

.twocols {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px; }

@media screen and (max-width: 768px) {
  .twocols.sp-onecols {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(1, 1fr); } }
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #333;
  position: relative; }

.wrapper {
  overflow: hidden; }

.main {
  padding-bottom: 140px; }
  @media screen and (max-width: 1001px) {
    .main {
      padding-bottom: calc(9.99000999vw); } }
  @media screen and (max-width: 768px) {
    .main {
      padding-bottom: calc(10.4166666667vw); } }
  @media screen and (max-width: 428px) {
    .main {
      padding-bottom: calc(18.691588785vw); } }

img {
  width: 100%;
  height: auto; }

.for-pc {
  display: block !important; }
  @media screen and (max-width: 768px) {
    .for-pc {
      display: none !important; } }

.for-sp {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .for-sp {
      display: block !important; } }

.inner-content {
  max-width: 1200px;
  margin: 0 auto; }
  @media screen and (max-width: 1201px) {
    .inner-content {
      max-width: 100%;
      padding: 0 16px; } }

.sub-content {
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1201px) {
    .sub-content {
      max-width: 100%;
      padding: 0 20px; } }

a {
  text-decoration: none;
  color: #000; }

html {
  scroll-behavior: smooth; }

.l-header {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  top: 0;
  z-index: 101;
  height: 143px;
  position: sticky;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .l-header.is-scrolling {
    background: rgba(255, 255, 255, 0.8); }
  .l-header.fix {
    height: 86px;
    background: rgba(255, 255, 255, 0.9); }
    .l-header.fix .l-header__inner {
      padding: 8px 0; }
    .l-header.fix .l-header__logo {
      width: 58px;
      height: 70px;
      -moz-transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease; }
    .l-header.fix .header__search {
      top: 13px; }
  .l-header__inner {
    width: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 0; }
  .l-header__logo {
    width: 79px;
    height: 95px;
    margin-left: calc(2.1428571429vw);
    z-index: 100; }
    .l-header__logo a {
      text-decoration: none;
      transition: all ease .7s; }
      .l-header__logo a:hover {
        opacity: .6;
        cursor: pointer; }
    .l-header__logo.fix {
      width: 58px;
      height: 70px; }
  .l-header__tab {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    gap: calc(3.4285714286vw); }
    .l-header__tab-list {
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: center;
      gap: calc(1.7142857143vw); }
      .l-header__tab-list-item {
        font-weight: 700; }
        .l-header__tab-list-item a {
          font-size: calc(1.1428571429vw);
          padding: calc(1.1428571429vw);
          position: relative; }
          .l-header__tab-list-item a::before {
            background: #0F3675;
            content: '';
            width: 100%;
            height: 2px;
            position: absolute;
            left: 0;
            bottom: 0;
            margin: auto;
            transform-origin: right top;
            transform: scale(0, 1);
            transition: transform .3s; }
          .l-header__tab-list-item a:hover::before {
            transform-origin: left top;
            transform: scale(1, 1); }
        .l-header__tab-list-item.store {
          position: relative;
          padding-left: calc(0.8571428571vw); }
          .l-header__tab-list-item.store::before {
            content: "";
            background: url(../images/common/ico_store.svg) 0 0 no-repeat;
            background-size: contain;
            width: calc(1.7142857143vw);
            height: calc(1.7142857143vw);
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            left: 0; }
        .l-header__tab-list-item.link-blank {
          position: relative;
          padding-right: calc(0.5714285714vw); }
          .l-header__tab-list-item.link-blank::after {
            content: "";
            background: url(../images/common/ico_link-blank.svg) 0 0 no-repeat;
            background-size: contain;
            width: calc(1.2857142857vw);
            height: calc(1.0714285714vw);
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            right: 0; }
    .l-header__tab .hamburger {
      display: block;
      height: 60px;
      margin-left: auto;
      position: relative;
      z-index: 10;
      width: 90px;
      border: none;
      background-color: #022A43;
      cursor: pointer; }
      .l-header__tab .hamburger::before {
        background: #0F3675;
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 100%;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
        z-index: -1; }
      .l-header__tab .hamburger:hover::before {
        transform: scale(1, 1); }
      .l-header__tab .hamburger.is-active .hamburger__line {
        background-color: #022A43; }
        .l-header__tab .hamburger.is-active .hamburger__line::before {
          top: 0;
          transform: rotate(30deg); }
        .l-header__tab .hamburger.is-active .hamburger__line::after {
          top: 0;
          transform: rotate(-30deg); }
      .l-header__tab .hamburger__line {
        display: block;
        height: 2px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: 46px;
        background-color: #FFFFFF;
        transition: 0.4s; }
        .l-header__tab .hamburger__line::before, .l-header__tab .hamburger__line::after {
          content: "";
          display: block;
          height: 100%;
          position: absolute;
          width: 100%;
          background-color: #FFFFFF;
          transition: inherit; }
        .l-header__tab .hamburger__line::before {
          top: -10px; }
        .l-header__tab .hamburger__line::after {
          top: 10px; }
      .l-header__tab .hamburger__text {
        position: absolute;
        bottom: 8px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%; }
    .l-header__tab .header {
      width: 100%; }
      .l-header__tab .header__nav-area {
        position: absolute;
        top: 0;
        left: -100%;
        z-index: 9;
        width: 100%;
        visibility: hidden;
        padding-top: 60px;
        background-color: #fff;
        transition: 0.4s;
        padding: 150px 0; }
        .l-header__tab .header__nav-area.is-active {
          left: 0;
          visibility: visible;
          overflow: scroll;
          height: 100vh; }
          .l-header__tab .header__nav-area.is-active .global-navigation {
            max-width: 1200px;
            margin: 0 auto; }
            .l-header__tab .header__nav-area.is-active .global-navigation .accordion-toggle, .l-header__tab .header__nav-area.is-active .global-navigation .accordion-label {
              display: none; }
            .l-header__tab .header__nav-area.is-active .global-navigation__ttl {
              font-weight: 700;
              padding-bottom: 16px;
              border-bottom: 2px solid #022A43;
              color: #022A43; }
              .l-header__tab .header__nav-area.is-active .global-navigation__ttl a {
                display: block;
                transition: all ease .7s; }
                .l-header__tab .header__nav-area.is-active .global-navigation__ttl a:hover {
                  color: #4C8FBF; }
              .l-header__tab .header__nav-area.is-active .global-navigation__ttl.store {
                position: relative;
                padding-left: 24px; }
                .l-header__tab .header__nav-area.is-active .global-navigation__ttl.store::before {
                  content: "";
                  background: url(../images/common/ico_store.svg) 0 0 no-repeat;
                  background-size: contain;
                  width: 20px;
                  height: 20px;
                  position: absolute;
                  top: calc(50% - 8px);
                  -webkit-transform: translateY(-50%);
                  transform: translateY(-50%);
                  left: 0; }
              .l-header__tab .header__nav-area.is-active .global-navigation__ttl.link-blank {
                position: relative;
                padding-right: 8px; }
                .l-header__tab .header__nav-area.is-active .global-navigation__ttl.link-blank::after {
                  content: "";
                  background: url(../images/common/ico_link-blank_navy.svg) 0 0 no-repeat;
                  background-size: contain;
                  width: 18px;
                  height: 14px;
                  position: absolute;
                  top: calc(50% - 7px);
                  -webkit-transform: translateY(-50%);
                  transform: translateY(-50%);
                  right: 0; }
            .l-header__tab .header__nav-area.is-active .global-navigation__wrap-01 {
              width: calc(80% - 32px); }
            .l-header__tab .header__nav-area.is-active .global-navigation__wrap-02 {
              width: 20%; }
            .l-header__tab .header__nav-area.is-active .global-navigation__row {
              display: flex;
              display: -webkit-flex;
              justify-content: flex-start;
              gap: 32px;
              align-items: flex-start; }
              .l-header__tab .header__nav-area.is-active .global-navigation__row + .global-navigation__row {
                margin-top: 80px; }
              .l-header__tab .header__nav-area.is-active .global-navigation__row-item {
                width: calc((100% - (32px * 6)) / 7); }
            .l-header__tab .header__nav-area.is-active .global-navigation__list {
              margin-top: 16px; }
              .l-header__tab .header__nav-area.is-active .global-navigation__list-item a {
                font-size: 1.4rem;
                position: relative;
                padding-left: 22px;
                display: inline-block;
                text-decoration: none;
                transition: all ease .7s; }
                .l-header__tab .header__nav-area.is-active .global-navigation__list-item a:hover {
                  opacity: .6;
                  cursor: pointer; }
                .l-header__tab .header__nav-area.is-active .global-navigation__list-item a:hover {
                  text-decoration: underline; }
                .l-header__tab .header__nav-area.is-active .global-navigation__list-item a::before {
                  content: "";
                  background: #022A43;
                  width: 12px;
                  height: 1px;
                  position: absolute;
                  top: 50%;
                  -webkit-transform: translateY(-50%);
                  transform: translateY(-50%);
                  left: 0; }
              .l-header__tab .header__nav-area.is-active .global-navigation__list-item + .global-navigation__list-item {
                margin-top: 8px; }
              .l-header__tab .header__nav-area.is-active .global-navigation__list + .global-navigation__list {
                margin-left: 64px; }
      .l-header__tab .header__search {
        position: absolute;
        top: 42px;
        right: 119px; }
        .l-header__tab .header__search #cse-search-box {
          display: flex;
          display: -webkit-flex;
          justify-content: center;
          align-items: center;
          overflow: hidden; }
          .l-header__tab .header__search #cse-search-box input[type="text"] {
            width: 430px;
            height: 60px;
            padding: 5px 15px;
            box-sizing: border-box;
            background-color: #F1F1F1;
            font-size: 1.6rem;
            outline: none;
            border: none; }
            .l-header__tab .header__search #cse-search-box input[type="text"]::placeholder {
              color: #5E5E5E;
              font-size: 1.6rem; }
          .l-header__tab .header__search #cse-search-box input[type="submit"] {
            display: flex;
            display: -webkit-flex;
            justify-content: center;
            align-items: center;
            align-items: center;
            width: 60px;
            height: 60px;
            border: none;
            background: url(../images/common/ico_search.svg) center center no-repeat #022A43;
            cursor: pointer; }
      .l-header__tab .header__bottom {
        max-width: 1200px;
        margin: 48px auto 0;
        display: flex;
        display: -webkit-flex;
        justify-content: space-between;
        align-items: flex-end; }
        .l-header__tab .header__bottom-link01 {
          font-weight: 700;
          color: #022A43;
          text-decoration: none;
          transition: all ease .7s; }
          .l-header__tab .header__bottom-link01:hover {
            opacity: .6;
            cursor: pointer; }
          .l-header__tab .header__bottom-link01:hover {
            text-decoration: underline; }
        .l-header__tab .header__bottom-link02 {
          font-size: 1.4rem;
          position: relative;
          padding-left: 22px;
          display: inline-block;
          text-decoration: none;
          transition: all ease .7s;
          margin-left: 100px; }
          .l-header__tab .header__bottom-link02:hover {
            opacity: .6;
            cursor: pointer; }
          .l-header__tab .header__bottom-link02:hover {
            text-decoration: underline; }
          .l-header__tab .header__bottom-link02::before {
            content: "";
            background: #022A43;
            width: 12px;
            height: 1px;
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            left: 0; }
        .l-header__tab .header__bottom-right {
          display: flex;
          display: -webkit-flex;
          justify-content: flex-start;
          align-items: center;
          gap: 32px; }
          .l-header__tab .header__bottom-right a {
            text-decoration: none;
            transition: all ease .7s; }
            .l-header__tab .header__bottom-right a:hover {
              opacity: .6;
              cursor: pointer; }
          .l-header__tab .header__bottom-right-youtube {
            width: 60px;
            height: 42px; }
          .l-header__tab .header__bottom-right-facebook {
            width: 50px;
            height: 50px; }
          .l-header__tab .header__bottom-right-x {
            width: 42px;
            height: 43px; }
  @media screen and (min-width: 1400px) {
    .l-header__inner {
      padding: 24px 0; }
    .l-header__logo {
      width: 79px;
      height: 95px;
      margin-left: 30px; }
    .l-header__tab {
      gap: 48px; }
      .l-header__tab-list {
        gap: 24px; }
        .l-header__tab-list-item a {
          font-size: 1.6rem;
          padding: 16px; }
        .l-header__tab-list-item.store {
          padding-left: 12px; }
          .l-header__tab-list-item.store::before {
            width: 24px;
            height: 24px; }
        .l-header__tab-list-item.link-blank {
          padding-right: 8px; }
          .l-header__tab-list-item.link-blank::after {
            width: 18px;
            height: 14px; }
      .l-header__tab .header__nav-area {
        padding: 150px 0 48px; } }
  @media screen and (max-width: 1201px) {
    .l-header__tab .header {
      width: 100%; }
      .l-header__tab .header__nav-area.is-active .global-navigation {
        max-width: 100%;
        padding: 0 16px; }
      .l-header__tab .header__bottom {
        max-width: 100%; } }
  @media screen and (max-width: 1001px) {
    .l-header__tab {
      gap: calc(1.6vw); }
      .l-header__tab-list {
        gap: calc(0.8vw); }
        .l-header__tab-list-item a {
          font-size: calc(1.4vw);
          padding: calc(1.4vw) calc(0.8vw); }
        .l-header__tab-list-item.store {
          padding-left: calc(1.2vw); }
          .l-header__tab-list-item.store::before {
            width: calc(2vw);
            height: calc(2vw); }
        .l-header__tab-list-item.link-blank {
          padding-right: calc(0.8vw); }
          .l-header__tab-list-item.link-blank::after {
            width: calc(1.6vw);
            height: calc(1.3vw); } }
  @media screen and (max-width: 768px) {
    .l-header {
      height: 104px; }
      .l-header__inner {
        padding: 16px 0; }
      .l-header__logo {
        width: 60px;
        height: auto;
        margin-left: 16px; }
      .l-header__tab .hamburger {
        height: 50px;
        width: 75px; }
        .l-header__tab .hamburger__line {
          height: 2px;
          width: 38px; }
      .l-header__tab .header__nav-area {
        width: 100%;
        height: auto;
        padding-top: 90px; }
        .l-header__tab .header__nav-area.is-active .global-navigation {
          max-width: 100%;
          padding: 16px 16px 0; }
          .l-header__tab .header__nav-area.is-active .global-navigation__wrap-01 {
            width: 100%;
            margin-bottom: 16px; }
          .l-header__tab .header__nav-area.is-active .global-navigation__wrap-02 {
            width: 100%;
            margin-bottom: 16px; }
          .l-header__tab .header__nav-area.is-active .global-navigation__row {
            flex-direction: column; }
            .l-header__tab .header__nav-area.is-active .global-navigation__row + .global-navigation__row {
              margin-top: 0; }
            .l-header__tab .header__nav-area.is-active .global-navigation__row-item {
              width: 100%;
              margin-bottom: 16px; }
          .l-header__tab .header__nav-area.is-active .global-navigation__list {
            display: flex;
            display: -webkit-flex;
            justify-content: flex-start;
            align-items: flex-start;
            flex-wrap: wrap;
            gap: 8px;
            box-sizing: border-box;
            margin-top: 0; }
            .l-header__tab .header__nav-area.is-active .global-navigation__list-item {
              width: calc(50% - 8px); }
              .l-header__tab .header__nav-area.is-active .global-navigation__list-item a {
                font-size: 1.3rem; }
              .l-header__tab .header__nav-area.is-active .global-navigation__list-item + .global-navigation__list-item {
                margin-top: 0; }
            .l-header__tab .header__nav-area.is-active .global-navigation__list + .global-navigation__list {
              margin-left: 0; }
          .l-header__tab .header__nav-area.is-active .global-navigation__ttl a {
            color: #022A43; }
          .l-header__tab .header__nav-area.is-active .global-navigation__ttl.link-blank::after {
            right: 8px; }
          .l-header__tab .header__nav-area.is-active .global-navigation .accordion-label {
            display: block; }
        .l-header__tab .header__nav-area.is-active .accordion-toggle {
          display: none; }
        .l-header__tab .header__nav-area.is-active .accordion-label {
          display: block;
          position: relative;
          font-size: 1.6rem; }
        .l-header__tab .header__nav-area.is-active .accordion-label::after, .l-header__tab .header__nav-area.is-active .accordion-label::before {
          content: "";
          position: absolute;
          right: 16px;
          top: 0.3em;
          width: 2px;
          height: 1em;
          background-color: #022A43;
          transition: all 0.3s; }
        .l-header__tab .header__nav-area.is-active .accordion-label::after {
          transform: rotate(90deg); }
        .l-header__tab .header__nav-area.is-active .accordion-label,
        .l-header__tab .header__nav-area.is-active .accordion .accordion-content {
          backface-visibility: hidden;
          transform: translateZ(0);
          transition: all 0.7s; }
        .l-header__tab .header__nav-area.is-active .accordion-content {
          height: 0;
          padding-bottom: 0;
          overflow: hidden; }
        .l-header__tab .header__nav-area.is-active .accordion-toggle:checked + .accordion-label + .accordion-content {
          height: auto;
          padding: 10px 0;
          transition: all 0.7s; }
        .l-header__tab .header__nav-area.is-active .accordion-toggle:checked + .accordion-label::before {
          transform: rotate(90deg) !important; }
      .l-header__tab .header__search {
        padding: 16px 16px 0;
        position: static; }
        .l-header__tab .header__search-form label {
          width: calc(100% - 48px); }
        .l-header__tab .header__search-form input {
          width: 100%;
          height: 40px;
          padding: 5px 10px; }
          .l-header__tab .header__search-form input::placeholder {
            font-size: 1.3rem; }
        .l-header__tab .header__search-form button {
          width: 40px;
          height: 40px; }
          .l-header__tab .header__search-form button:after {
            width: 17px;
            height: 17px; }
      .l-header__tab .header__bottom {
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        display: -webkit-flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        padding: 0 16px; }
        .l-header__tab .header__bottom-left {
          width: 100%; }
        .l-header__tab .header__bottom-link01 {
          display: block;
          border-bottom: 2px solid #022A43;
          padding-bottom: 16px; }
        .l-header__tab .header__bottom-link02 {
          display: block;
          font-size: 1.3rem;
          margin-left: 0;
          margin-top: 16px; }
        .l-header__tab .header__bottom-right {
          width: 100%;
          display: flex;
          display: -webkit-flex;
          justify-content: center;
          align-items: center;
          gap: 32px;
          margin-top: 32px; }
          .l-header__tab .header__bottom-right a {
            text-decoration: none;
            transition: all ease .7s; }
            .l-header__tab .header__bottom-right a:hover {
              opacity: .6;
              cursor: pointer; }
          .l-header__tab .header__bottom-right-youtube {
            width: 60px;
            height: 42px; }
          .l-header__tab .header__bottom-right-facebook {
            width: 50px;
            height: 50px; }
          .l-header__tab .header__bottom-right-x {
            width: 42px;
            height: 43px; } }

.l-footer {
  background-image: linear-gradient(90deg, #022a43, black);
  color: #FFFFFF; }
  @media screen and (max-width: 768px) {
    .page-commodity .l-footer {
      margin-bottom: 50px; } }
  @media screen and (max-width: 768px) {
    .page-commodity-top .l-footer {
      margin-bottom: 0; } }
  .l-footer a {
    color: #FFFFFF; }
  .l-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: calc(6.8571428571vw);
    padding-bottom: calc(6.8571428571vw); }
  .l-footer__wrap {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 60px; }
  .l-footer__top {
    width: 32%; }
    .l-footer__top-row {
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: flex-end;
      gap: calc(1.1428571429vw);
      margin-bottom: calc(0.5714285714vw); }
    .l-footer__top-logo {
      text-decoration: none;
      transition: all ease .7s; }
      .l-footer__top-logo:hover {
        opacity: .6;
        cursor: pointer; }
      .l-footer__top-logo img {
        width: calc(5.7142857143vw); }
    .l-footer__top-tel {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      margin-bottom: calc(2.2857142857vw); }
      .l-footer__top-tel a {
        font-weight: 700;
        font-size: calc(3.1428571429vw); }
        .l-footer__top-tel a span {
          font-size: calc(1.4285714286vw);
          margin-right: calc(0.5714285714vw); }
  .l-footer__sns {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(2.2857142857vw);
    margin-top: calc(5.7142857143vw); }
    .l-footer__sns a {
      text-decoration: none;
      transition: all ease .7s; }
      .l-footer__sns a:hover {
        opacity: .6;
        cursor: pointer; }
    .l-footer__sns-youtube {
      width: calc(4.2857142857vw);
      height: calc(3vw); }
    .l-footer__sns-facebook {
      width: calc(3.5714285714vw);
      height: calc(3.5714285714vw); }
    .l-footer__sns-x {
      width: calc(3vw);
      height: calc(3.0714285714vw); }
  .l-footer__body {
    width: calc(100% - 32% - 60px); }
    .l-footer__body-box {
      margin-bottom: calc(5.1428571429vw); }
    .l-footer__body-ttl {
      color: #6EB9EF;
      margin-bottom: calc(0.5714285714vw); }
      .l-footer__body-ttl a {
        color: #6EB9EF;
        text-decoration: none;
        transition: all ease .7s; }
        .l-footer__body-ttl a:hover {
          opacity: .6;
          cursor: pointer; }
        .l-footer__body-ttl a:hover {
          text-decoration: underline; }
      .l-footer__body-ttl + .l-footer__body-ttl {
        margin-top: calc(1.7142857143vw); }
      .l-footer__body-ttl.store {
        position: relative;
        padding-left: calc(2.2857142857vw); }
        .l-footer__body-ttl.store::before {
          content: "";
          background: url(../images/common/ico_store_blue.svg) 0 0 no-repeat;
          background-size: contain;
          width: calc(1.8571428571vw);
          height: calc(1.8571428571vw);
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 0; }
      .l-footer__body-ttl.link-blank {
        padding-right: calc(0.5714285714vw); }
        .l-footer__body-ttl.link-blank::after {
          content: "";
          background: url(../images/common/ico_link-blank.svg) 0 0 no-repeat;
          background-size: contain;
          width: calc(1.2857142857vw);
          height: calc(1vw);
          display: inline-block;
          margin-left: calc(0.5714285714vw); }
  .l-footer__listrow {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    align-items: flex-start; }
  .l-footer__list {
    gap: 8px; }
    .l-footer__list .lead02 a {
      color: #FFFFFF;
      text-decoration: none; }
    .l-footer__list + .l-footer__body-ttl {
      margin-top: calc(1.7142857143vw); }
    .l-footer__list-item a {
      position: relative;
      padding-left: calc(1.5714285714vw);
      display: inline-block;
      text-decoration: none;
      transition: all ease .7s; }
      .l-footer__list-item a:hover {
        opacity: .6;
        cursor: pointer; }
      .l-footer__list-item a:hover {
        text-decoration: underline; }
      .l-footer__list-item a::before {
        content: "";
        background: #FFFFFF;
        width: calc(0.8571428571vw);
        height: calc(0.0714285714vw);
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0; }
    .l-footer__list-item + .l-footer__list-item {
      margin-top: calc(0.5714285714vw); }
  .l-footer__bottom {
    background: #000;
    padding: calc(2.8571428571vw); }
    .l-footer__bottom-inner {
      display: flex;
      display: -webkit-flex;
      justify-content: space-between;
      align-items: center; }
    .l-footer__bottom-left {
      padding-left: calc((100% - 1200px) / 2);
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 24px; }
      .l-footer__bottom-left a {
        display: inline-block;
        text-decoration: none;
        transition: all ease .7s; }
        .l-footer__bottom-left a:hover {
          opacity: .6;
          cursor: pointer; }
        .l-footer__bottom-left a:hover {
          text-decoration: underline; }
    .l-footer__bottom-copy {
      font-size: calc(1vw);
      padding-right: calc(7.1428571429vw); }
  @media screen and (min-width: 1400px) {
    .l-footer__inner {
      padding-top: 96px; }
    .l-footer__wrap {
      gap: 60px; }
    .l-footer__top-row {
      gap: 16px;
      margin-bottom: 8px; }
    .l-footer__top-logo img {
      width: 80px; }
    .l-footer__top-tel {
      margin-bottom: 32px; }
      .l-footer__top-tel a {
        font-size: 4.6rem; }
        .l-footer__top-tel a span {
          font-size: 2rem;
          margin-right: 8px; }
    .l-footer__sns {
      gap: 32px;
      margin-top: 80px; }
      .l-footer__sns-youtube {
        width: 60px;
        height: 42px; }
      .l-footer__sns-facebook {
        width: 50px;
        height: 50px; }
      .l-footer__sns-x {
        width: 42px;
        height: 43px; }
    .l-footer__body {
      width: calc(100% - 32% - 60px); }
      .l-footer__body-box {
        margin-bottom: 72px; }
      .l-footer__body-ttl {
        margin-bottom: 8px; }
        .l-footer__body-ttl + .l-footer__body-ttl {
          margin-top: 24px; }
        .l-footer__body-ttl.store {
          padding-left: 32px; }
          .l-footer__body-ttl.store::before {
            width: 26px;
            height: 26px; }
        .l-footer__body-ttl.link-blank {
          padding-right: 8px; }
          .l-footer__body-ttl.link-blank::after {
            width: 18px;
            height: 14px;
            margin-left: 8px; }
    .l-footer__list {
      gap: 8px; }
      .l-footer__list + .l-footer__body-ttl {
        margin-top: 24px; }
      .l-footer__list-item a {
        padding-left: 22px; }
        .l-footer__list-item a::before {
          width: 12px;
          height: 1px; }
      .l-footer__list-item + .l-footer__list-item {
        margin-top: 8px; }
    .l-footer__bottom {
      padding: 40px; }
      .l-footer__bottom-copy {
        font-size: 1.4rem;
        padding-right: 100px; } }
  @media screen and (max-width: 1201px) {
    .l-footer__inner {
      max-width: 100%;
      padding: 32px 16px; }
    .l-footer__bottom-inner {
      padding-left: 16px; } }
  @media screen and (max-width: 768px) {
    .l-footer__wrap {
      flex-direction: column;
      gap: 0; }
    .l-footer__top {
      width: 100%; }
      .l-footer__top-row {
        display: flex;
        display: -webkit-flex;
        justify-content: space-between;
        align-items: flex-end; }
      .l-footer__top-logo {
        width: 22%; }
        .l-footer__top-logo img {
          width: 100%; }
      .l-footer__top-tel {
        margin-bottom: 24px; }
        .l-footer__top-tel a {
          font-size: 4rem;
          display: block;
          text-align: center; }
          .l-footer__top-tel a span {
            font-size: 2rem;
            margin-right: 8px; }
    .l-footer__body {
      width: 100%; }
      .l-footer__body-ttl.store {
        padding-left: calc(8.5333333333vw); }
        .l-footer__body-ttl.store::before {
          width: calc(6.9333333333vw);
          height: calc(6.9333333333vw); }
      .l-footer__body-ttl.link-blank {
        padding-right: calc(2.1333333333vw); }
        .l-footer__body-ttl.link-blank::after {
          width: calc(4.8vw);
          height: calc(3.7333333333vw);
          margin-left: calc(2.1333333333vw); }
      .l-footer__body-list {
        margin-top: 28px;
        display: flex;
        display: -webkit-flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 16px 8px; }
        .l-footer__body-list .l-footer__body-ttl {
          width: calc(50% - 4px);
          margin: 0; }
          .l-footer__body-list .l-footer__body-ttl + .l-footer__body-ttl {
            margin-top: 0; }
    .l-footer__sns {
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center;
      gap: calc(8.5333333333vw);
      margin: 40px 0; }
      .l-footer__sns-youtube {
        width: calc(16vw);
        height: calc(11.2vw); }
      .l-footer__sns-facebook {
        width: calc(13.3333333333vw);
        height: calc(13.3333333333vw); }
      .l-footer__sns-x {
        width: calc(11.2vw);
        height: calc(11.4666666667vw); }
    .l-footer__bottom-inner {
      display: flex;
      display: -webkit-flex;
      justify-content: space-between;
      align-items: center; }
    .l-footer__bottom-left {
      padding-left: 0;
      margin-top: 32px; }
    .l-footer__bottom-copy {
      font-size: calc(3.2vw); } }

.recruit {
  width: 100%;
  height: 0;
  padding-top: 30%;
  background: url(../images/common/bg_recruit-pc.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative; }
  .recruit__wrap {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .recruit__btn {
    width: calc(21.4285714286vw);
    margin-top: calc(2.8571428571vw); }
  @media screen and (max-width: 768px) {
    .recruit {
      background-color: #f3f3f3;
      background-image: none;
      padding: 24px 0 0;
      height: auto; }
      .recruit__wrap {
        position: static;
        top: auto;
        -webkit-transform: translateY(0);
        transform: translateY(0); }
      .recruit__btn {
        width: 80%;
        margin: 24px auto 0; } }

.action-b {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.5s ease; }
  .action-b.is-action {
    opacity: 100;
    transform: translateY(0); }

.action-l {
  opacity: 0;
  transform: translateX(-50px);
  transition: all 0.5s ease; }
  .action-l.is-action {
    opacity: 100;
    transform: translateX(0px); }

.action-r {
  opacity: 0;
  transform: translateX(50px);
  transition: all 0.5s ease; }
  .action-r.is-action {
    opacity: 100;
    transform: translateX(0px); }

/* 共通コンポーネント
========================================================*/
.ttl01 {
  font-size: calc(2.5714285714vw);
  font-weight: 700;
  margin-bottom: calc(0.5714285714vw); }
  @media screen and (max-width: 768px) {
    .ttl01 {
      font-size: calc(6.9333333333vw);
      margin-bottom: calc(2.1333333333vw); }
      .ttl01.ttl__long {
        font-size: calc(4.8vw); } }
  @media screen and (min-width: 1400px) {
    .ttl01 {
      font-size: 3.6rem;
      margin-bottom: 8px; } }

.subttl {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: calc(1.1428571429vw);
  font-weight: 700;
  color: #4C8FBF; }
  @media screen and (max-width: 768px) {
    .subttl {
      font-size: calc(3.7333333333vw); } }
  @media screen and (min-width: 1400px) {
    .subttl {
      font-size: 1.6rem; } }

.ttl02 {
  font-size: calc(2.2857142857vw);
  font-weight: 700;
  margin-bottom: calc(2.8571428571vw);
  position: relative;
  text-align: center;
  padding-top: calc(4vw); }
  .ttl02 span {
    font-size: calc(1.4285714286vw); }
  .ttl02::before {
    position: absolute;
    content: "";
    width: calc(0.2142857143vw);
    height: calc(3.5714285714vw);
    background: #4C8FBF;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 0; }
  @media screen and (min-width: 1400px) {
    .ttl02 {
      font-size: 3.2rem;
      margin-bottom: 40px;
      padding-top: 56px; }
      .ttl02 span {
        font-size: 2rem; }
      .ttl02::before {
        width: 3px;
        height: 50px; } }
  @media screen and (max-width: 768px) {
    .ttl02 {
      font-size: calc(7.4666666667vw);
      margin-bottom: calc(4.2666666667vw);
      padding-top: calc(10.6666666667vw); }
      .ttl02 span {
        font-size: calc(3.7333333333vw); }
      .ttl02::before {
        width: calc(0.8vw);
        height: calc(8.5333333333vw); } }

.ttl03 {
  font-size: calc(2vw);
  font-weight: 700;
  margin-bottom: calc(2.2857142857vw);
  border-left: 3px solid #4C8FBF;
  padding-left: calc(2vw); }
  @media screen and (min-width: 1400px) {
    .ttl03 {
      font-size: 2.8rem;
      margin-bottom: 32px;
      padding-left: 28px; } }
  @media screen and (max-width: 768px) {
    .ttl03 {
      font-size: calc(5.8666666667vw);
      margin-bottom: calc(6.4vw);
      padding-left: calc(4.2666666667vw); } }

.ttl04 {
  font-size: calc(1.8571428571vw);
  margin-bottom: calc(1.7142857143vw);
  color: #022A43; }
  @media screen and (min-width: 1400px) {
    .ttl04 {
      font-size: 2.6rem;
      margin-bottom: 24px; } }
  @media screen and (max-width: 768px) {
    .ttl04 {
      font-size: calc(5.3333333333vw);
      margin-bottom: calc(4.2666666667vw); } }

.ttl05 {
  font-size: calc(1.7142857143vw);
  font-weight: 700;
  margin-bottom: calc(1.7142857143vw);
  color: #022A43;
  border-bottom: 1px solid #4C8FBF;
  padding-bottom: 8px; }
  @media screen and (min-width: 1400px) {
    .ttl05 {
      font-size: 2.4rem;
      margin-bottom: 24px; } }
  @media screen and (max-width: 768px) {
    .ttl05 {
      font-size: calc(5.3333333333vw);
      margin-bottom: calc(4.2666666667vw); } }

.ttl06 {
  font-size: calc(1.4285714286vw);
  font-weight: 700;
  margin-bottom: calc(1.7142857143vw);
  position: relative;
  padding-left: calc(1.7142857143vw); }
  .ttl06::before {
    position: absolute;
    content: "";
    width: calc(1.4285714286vw);
    height: calc(0.2142857143vw);
    background: #4C8FBF;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  @media screen and (min-width: 1400px) {
    .ttl06 {
      font-size: 2rem;
      margin-bottom: 16px;
      padding-left: 24px; }
      .ttl06::before {
        width: 20px;
        height: 3px; } }
  @media screen and (max-width: 768px) {
    .ttl06 {
      font-size: calc(4.8vw);
      margin-bottom: calc(4.2666666667vw);
      padding-left: calc(5.8666666667vw); }
      .ttl06::before {
        width: calc(4.2666666667vw);
        height: calc(0.8vw); } }

.ttl07 {
  font-size: calc(1.4285714286vw);
  font-weight: 700; }
  @media screen and (min-width: 1400px) {
    .ttl07 {
      font-size: 2rem; } }
  @media screen and (max-width: 768px) {
    .ttl07 {
      font-size: calc(4.8vw); } }

.ttl08 {
  font-size: calc(1.2857142857vw);
  font-weight: 700; }
  @media screen and (min-width: 1400px) {
    .ttl08 {
      font-size: 1.8rem; } }
  @media screen and (max-width: 768px) {
    .ttl08 {
      font-size: calc(4.2666666667vw); } }

.ttl09 {
  font-size: calc(1.1428571429vw);
  font-weight: 700; }
  .ttl09 a {
    font-size: calc(1.1428571429vw); }
  @media screen and (min-width: 1400px) {
    .ttl09 {
      font-size: 1.6rem; }
      .ttl09 a {
        font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    .ttl09 {
      font-size: calc(3.7333333333vw); }
      .ttl09 a {
        font-size: calc(3.7333333333vw); } }

.ttl10 {
  font-size: calc(1.8571428571vw);
  font-weight: 700;
  color: #4C8FBF; }
  @media screen and (min-width: 1400px) {
    .ttl10 {
      font-size: 2.6rem; } }
  @media screen and (max-width: 768px) {
    .ttl10 {
      font-size: calc(5.3333333333vw); } }

.ttl11 {
  font-size: calc(3vw);
  font-weight: 700; }
  @media screen and (min-width: 1400px) {
    .ttl11 {
      font-size: 4.2rem; } }
  @media screen and (max-width: 768px) {
    .ttl11 {
      font-size: calc(7.4666666667vw); } }

.ttl12 {
  font-size: calc(1.3571428571vw);
  font-weight: 700; }
  @media screen and (min-width: 1400px) {
    .ttl12 {
      font-size: 1.9rem; } }
  @media screen and (max-width: 768px) {
    .ttl12 {
      font-size: calc(4.8vw); } }

.ttlset {
  margin-bottom: calc(3.2857142857vw); }
  .ttlset .lead01, .ttlset .list03 li, .list03 .ttlset li {
    margin-top: calc(1.7142857143vw); }
  @media screen and (max-width: 768px) {
    .ttlset {
      margin-bottom: 32px; }
      .ttlset .lead01, .ttlset .list03 li, .list03 .ttlset li {
        margin-top: 16px; } }
  @media screen and (min-width: 1400px) {
    .ttlset {
      margin-bottom: 46px; }
      .ttlset .lead01, .ttlset .list03 li, .list03 .ttlset li {
        margin-top: 24px; } }

.ttlset02 {
  margin-bottom: calc(6.8571428571vw); }
  @media screen and (max-width: 768px) {
    .ttlset02 {
      margin-bottom: 96px; } }
  @media screen and (min-width: 1400px) {
    .ttlset02 {
      margin-bottom: calc(10.6666666667vw); } }

.lead01, .list03 li {
  font-size: calc(1.1428571429vw);
  font-weight: 400; }
  .lead01 a, .list03 li a {
    font-size: calc(1.1428571429vw);
    color: #4C8FBF;
    text-decoration: underline; }
  @media screen and (min-width: 1400px) {
    .lead01, .list03 li {
      font-size: 1.6rem; }
      .lead01 a, .list03 li a {
        font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    .lead01, .list03 li {
      font-size: calc(3.7333333333vw); }
      .lead01 a, .list03 li a {
        font-size: calc(3.7333333333vw); } }

.lead02 {
  font-size: calc(1vw);
  font-weight: 400; }
  .lead02 a {
    color: #4C8FBF;
    text-decoration: underline;
    font-size: calc(1vw); }
  @media screen and (min-width: 1400px) {
    .lead02 {
      font-size: 1.4rem; }
      .lead02 a {
        font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    .lead02 {
      font-size: calc(3.2vw); }
      .lead02 a {
        font-size: calc(3.2vw); } }
  @media screen and (min-width: 1400px) {
    .lead02 {
      font-size: 1.4rem; } }

.lead03 {
  font-size: calc(0.9285714286vw);
  font-weight: 400; }
  .lead03 a {
    font-size: calc(0.9285714286vw); }
  @media screen and (min-width: 1400px) {
    .lead03 {
      font-size: 1.3rem; }
      .lead03 a {
        font-size: 1.3rem; } }
  @media screen and (max-width: 768px) {
    .lead03 {
      font-size: calc(3.2vw); }
      .lead03 a {
        font-size: calc(3.2vw); } }

.lead04 {
  font-size: calc(1.2857142857vw);
  font-weight: 200; }
  @media screen and (min-width: 1400px) {
    .lead04 {
      font-size: 1.8rem; } }
  @media screen and (max-width: 768px) {
    .lead04 {
      font-size: calc(4.2666666667vw); } }

.page-lead {
  max-width: 800px;
  margin: 0 auto;
  padding: calc(2.8571428571vw) 0 calc(5.7142857143vw);
  font-size: calc(1.4285714286vw);
  line-height: 2; }
  .page-lead a {
    font-size: calc(1.4285714286vw);
    color: #4C8FBF; }
  @media screen and (min-width: 1400px) {
    .page-lead {
      font-size: 2.0rem;
      padding: 40px 0 80px; }
      .page-lead a {
        font-size: 2.0rem; } }
  @media screen and (max-width: 768px) {
    .page-lead {
      font-size: calc(4.8vw);
      padding: calc(6.4vw) 0 calc(12.8vw); }
      .page-lead a {
        font-size: calc(4.8vw); } }

.page-lead02 {
  margin: 0 auto;
  padding-bottom: calc(2.8571428571vw);
  font-size: calc(1.2857142857vw);
  font-weight: 500;
  line-height: 2; }
  .page-lead02 a {
    font-size: calc(1.2857142857vw);
    color: #4C8FBF; }
  @media screen and (min-width: 1400px) {
    .page-lead02 {
      font-size: 1.6rem;
      padding-bottom: 40px; }
      .page-lead02 a {
        font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    .page-lead02 {
      font-size: calc(4.2666666667vw);
      padding-bottom: calc(6.4vw); }
      .page-lead02 a {
        font-size: calc(4.2666666667vw); } }

.txt-center {
  text-align: center; }

.txt-right {
  text-align: right; }

.txt-red {
  color: #E22E17; }

.txt-blue {
  color: #4C8FBF; }

.txt-white {
  color: #FFFFFF; }

.txt-bold {
  font-weight: 700; }

.txt-caution {
  font-size: calc(0.8571428571vw);
  font-weight: 400;
  display: inline-block;
  line-height: 1.2; }
  .txt-caution a {
    font-size: calc(0.8571428571vw);
    color: #4C8FBF;
    text-decoration: underline; }
  @media screen and (min-width: 1400px) {
    .txt-caution {
      font-size: 1.2rem; }
      .txt-caution a {
        font-size: 1.2rem; } }
  @media screen and (max-width: 768px) {
    .txt-caution {
      font-size: calc(2.9333333333vw);
      line-height: 1.4; }
      .txt-caution a {
        font-size: calc(2.9333333333vw); } }

.link-pdf:after {
  content: "";
  background: url("../images/icon/ico_pdf.svg") 0 0 no-repeat;
  background-size: contain;
  width: 15px;
  height: 20px;
  display: inline-block;
  margin: 0 5px -4px 5px; }
  @media screen and (max-width: 428px) {
    .link-pdf:after {
      width: 13px;
      height: 17px; } }

.link-eternal:after {
  content: "";
  background: url("../images/icon/ico_link.svg") 0 0 no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
  display: inline-block;
  margin: 0 5px -4px 5px; }

.link-double {
  position: relative; }
  .link-double:before {
    content: "";
    background: url("../images/icon/ico_pdf.svg") 0 0 no-repeat;
    background-size: contain;
    width: 15px;
    height: 20px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: -20px; }
  .link-double:after {
    content: "";
    background: url("../images/icon/ico_link.svg") 0 0 no-repeat;
    background-size: contain;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: -50px; }

.btn01 {
  background: #022A43;
  border: 1px solid #FFFFFF;
  padding: calc(1.7142857143vw) calc(1.1428571429vw);
  color: #FFFFFF;
  font-size: calc(1.2857142857vw);
  display: block;
  position: relative;
  transition: 0.3s;
  text-align: center;
  z-index: 1;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center; }
  .btn01::after {
    content: "";
    background: url(../images/common/ico_arrow_next_wht.svg) 0 0 no-repeat;
    background-size: contain;
    width: 9px;
    height: 18px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .btn01.btn__sm {
    padding: calc(1.1428571429vw) calc(1.1428571429vw);
    font-size: calc(1.1428571429vw); }
  .btn01.btn__md {
    border: 2px solid #FFFFFF;
    padding: calc(2.8571428571vw) calc(1.1428571429vw);
    font-size: calc(1.2857142857vw);
    font-weight: 500; }
  .btn01.btn__lg {
    border: 3px solid #FFFFFF;
    padding: calc(4vw) calc(1.1428571429vw);
    font-size: calc(1.4285714286vw);
    font-weight: 700; }
  .btn01::before {
    background: #0F3675;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1; }
  .btn01:hover::before {
    transform: scale(1, 1); }
  .btn01:hover::after {
    content: "";
    background: url(../images/common/ico_arrow_next_wht.svg) 0 0 no-repeat;
    background-size: contain;
    width: 9px;
    height: 18px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  @media screen and (min-width: 1400px) {
    .btn01 {
      padding: 24px 16px;
      font-size: 1.8rem; }
      .btn01.btn__sm {
        padding: 16px;
        font-size: 1.6rem; }
      .btn01.btn__md {
        padding: 40px 16px;
        font-size: 1.8rem; }
      .btn01.btn__lg {
        padding: 56px 16px;
        font-size: 2rem; } }
  @media screen and (max-width: 768px) {
    .btn01 {
      font-size: calc(4.2666666667vw);
      padding: calc(4.2666666667vw) calc(2.1333333333vw); }
      .btn01.btn__sm {
        padding: calc(4.2666666667vw) calc(6.4vw);
        font-size: calc(3.7333333333vw); }
      .btn01.btn__md {
        padding: calc(6.4vw) calc(4.2666666667vw);
        font-size: calc(4.8vw); }
      .btn01.btn__lg {
        padding: calc(8.5333333333vw) calc(8.5333333333vw);
        font-size: calc(5.3333333333vw); } }

.btn02 {
  background: #FFFFFF;
  border: 1px solid #022A43;
  padding: calc(1.7142857143vw) calc(1.1428571429vw);
  color: #022A43;
  font-size: calc(1.2857142857vw);
  display: block;
  position: relative;
  transition: 0.3s;
  text-align: center;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center; }
  .btn02::after {
    content: "";
    background: url(../images/common/ico_arrow_next_nvy.svg) 0 0 no-repeat;
    background-size: contain;
    width: 9px;
    height: 18px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .btn02:hover {
    border: 1px solid #FFFFFF;
    background-color: #022A43;
    color: #FFFFFF;
    transition: 0.3s; }
    .btn02:hover::after {
      content: "";
      background: url(../images/common/ico_arrow_next_wht.svg) 0 0 no-repeat;
      background-size: contain;
      width: 9px;
      height: 18px;
      position: absolute;
      right: 24px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
  .btn02.btn__sm {
    padding: calc(1.1428571429vw) calc(1.1428571429vw);
    font-size: calc(1.1428571429vw); }
  .btn02.btn__md {
    border: 2px solid #022A43;
    padding: calc(2.8571428571vw) calc(1.1428571429vw);
    font-size: calc(1.2857142857vw);
    font-weight: 500; }
  .btn02.btn__lg {
    border: 3px solid #022A43;
    padding: calc(4vw) calc(1.1428571429vw);
    font-size: calc(1.4285714286vw);
    font-weight: 700; }
  @media screen and (min-width: 1400px) {
    .btn02 {
      padding: 24px 16px;
      font-size: 1.8rem; }
      .btn02.btn__sm {
        padding: 16px;
        font-size: 1.6rem; }
      .btn02.btn__md {
        padding: 40px 16px;
        font-size: 1.8rem; }
      .btn02.btn__lg {
        padding: 56px 16px;
        font-size: 2rem; } }
  @media screen and (max-width: 768px) {
    .btn02 {
      font-size: calc(4.2666666667vw);
      padding: calc(4.2666666667vw) calc(2.1333333333vw); }
      .btn02.btn__sm {
        padding: calc(4.2666666667vw) calc(4.2666666667vw);
        font-size: calc(3.7333333333vw); }
      .btn02.btn__md {
        padding: calc(6.4vw) calc(4.2666666667vw);
        font-size: calc(4.8vw); }
      .btn02.btn__lg {
        padding: calc(8.5333333333vw) calc(8.5333333333vw);
        font-size: calc(5.3333333333vw); } }

.btn__next {
  position: relative; }
  .btn__next::after {
    content: "";
    background: url(../images/common/ico_arrow_next_wht.svg) 0 0 no-repeat;
    background-size: contain;
    width: 9px;
    height: 18px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .btn__next::after {
      right: calc(3.90625vw); } }

.btn02.btn__next {
  position: relative; }
  .btn02.btn__next::after {
    content: "";
    background: url(../images/common/ico_arrow_next_nvy.svg) 0 0 no-repeat;
    background-size: contain;
    width: 9px;
    height: 18px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .btn02.btn__next:hover::after {
    background: url(../images/common/ico_arrow_next_wht.svg) 0 0 no-repeat;
    background-size: contain; }
  @media screen and (max-width: 768px) {
    .btn02.btn__next::after {
      right: calc(3.90625vw); } }

.btn__back {
  position: relative; }
  .btn__back::before {
    content: "";
    background: url(../images/common/ico_arrow_back_wht.svg) 0 0 no-repeat;
    background-size: contain;
    width: 9px;
    height: 18px;
    position: absolute;
    left: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .btn__back::after {
    content: none; }
  .btn__back:hover::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .btn__back:hover::after {
    content: none; }
  @media screen and (max-width: 768px) {
    .btn__back::before {
      left: calc(3.90625vw); } }

.btn__pdf {
  position: relative; }
  .btn__pdf::after {
    content: "";
    background: url(../images/common/ico_pdf_wht.svg) 0 0 no-repeat;
    background-size: contain;
    width: 22px;
    height: 25px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .btn__pdf:hover::after {
    content: "";
    background: url(../images/common/ico_pdf_wht.svg) 0 0 no-repeat;
    background-size: contain;
    width: 22px;
    height: 25px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .btn__pdf {
      padding: calc(4.2666666667vw) calc(8.5333333333vw) calc(4.2666666667vw) calc(2.1333333333vw) !important; }
      .btn__pdf::after {
        content: "";
        background: url(../images/common/ico_pdf_wht.svg) 0 0 no-repeat;
        background-size: contain;
        width: 22px;
        height: 25px;
        position: absolute;
        right: 8px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); } }

.btn__disabled {
  background: #FFFFFF;
  border: 1px solid #A0A0A0;
  padding: calc(1.7142857143vw) calc(1.1428571429vw);
  color: #A0A0A0;
  font-size: calc(1.2857142857vw);
  display: block;
  position: relative;
  transition: 0.3s;
  text-align: center; }
  .btn__disabled:hover {
    background-color: #DEDEDE;
    transition: 0.3s; }
  @media screen and (min-width: 1400px) {
    .btn__disabled {
      padding: 24px 16px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 768px) {
    .btn__disabled {
      font-size: calc(4.2666666667vw);
      padding: calc(4.2666666667vw) calc(2.1333333333vw); } }

.btn__mail::before {
  content: "";
  background: url(../images/common/ico_mail_wht.svg) 0 0 no-repeat;
  background-size: contain;
  width: 25px;
  height: 17px;
  display: inline-block;
  margin-right: 8px; }

.btn__faq::before {
  content: "";
  background: url(../images/common/ico_faq_wht.svg) 0 0 no-repeat;
  background-size: contain;
  width: calc(4vw);
  height: calc(2vw);
  display: inline-block;
  margin-right: calc(0.5714285714vw);
  vertical-align: bottom; }
@media screen and (min-width: 1400px) {
  .btn__faq::before {
    width: 56px;
    height: 28px;
    margin-right: 8px; } }
@media screen and (max-width: 768px) {
  .btn__faq::before {
    width: calc(14.9333333333vw);
    height: calc(7.4666666667vw);
    margin-right: calc(2.1333333333vw); } }

.btn__set {
  width: 100%;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(1.1428571429vw); }
  .btn__set-wrap .btn02 {
    flex-direction: column;
    padding: calc(1.1428571429vw); }
  .btn__set-wrap:hover .btn__set-bottom {
    border-top: 1px solid #FFFFFF; }
    .btn__set-wrap:hover .btn__set-bottom .icon-mail {
      filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%); }
  .btn__set-bottom {
    border-top: 1px solid #022A43;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    padding: 8px 0 0;
    width: 80%; }
    .btn__set-bottom .icon-mail {
      width: 25px;
      height: 17px;
      margin-right: 8px; }
  @media screen and (min-width: 1400px) {
    .btn__set {
      gap: 16px; } }
  @media screen and (max-width: 768px) {
    .btn__set {
      grid-template-rows: repeat(2, 1fr);
      grid-template-columns: 1fr;
      gap: calc(2.1333333333vw) 0; } }

.btn__set02 {
  width: 100%;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px; }
  @media screen and (max-width: 768px) {
    .btn__set02 {
      grid-template-rows: repeat(3, 1fr);
      grid-template-columns: 1fr;
      gap: 8px 0; } }

.btn__question::before {
  content: "";
  background: url(../images/common/ico_question.svg) 0 0 no-repeat;
  background-size: contain;
  width: 42px;
  height: 42px;
  display: inline-block;
  margin-right: 8px; }
.btn__question:hover::before {
  background: url(../images/common/ico_question_wht.svg) 0 0 no-repeat;
  background-size: contain; }

.btn__flow::before {
  content: "";
  background: url(../images/common/ico_flow.svg) 0 0 no-repeat;
  background-size: contain;
  width: 42px;
  height: 42px;
  display: inline-block;
  margin-right: 8px; }
.btn__flow:hover::before {
  background: url(../images/common/ico_flow_wht.svg) 0 0 no-repeat;
  background-size: contain; }

.btn__seminar::before {
  content: "";
  background: url(../images/common/ico_seminar_nvy.svg) 0 0 no-repeat;
  background-size: contain;
  width: 37px;
  height: 37px;
  display: inline-block;
  margin-right: 8px; }
.btn__seminar:hover::before {
  background: url(../images/common/ico_seminar_wht.svg) 0 0 no-repeat;
  background-size: contain; }

.btn__wrap--lg {
  width: 700px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .btn__wrap--lg {
      width: 100%; } }
.btn__wrap--md {
  width: 500px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .btn__wrap--md {
      width: 100%; } }

.card01 {
  width: 100%;
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 48px; }
  .card01 a {
    display: block; }
    .card01 a .ttl08 {
      transition: 0.5s all; }
    .card01 a:hover .ttl08 {
      color: #4C8FBF;
      position: relative;
      padding-left: calc(1.4285714286vw); }
      .card01 a:hover .ttl08::before {
        content: "";
        background: url(../images/common/ico_arrow_next_blue.svg) 0 0 no-repeat;
        background-size: contain;
        width: calc(0.6428571429vw);
        height: calc(1.2857142857vw);
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0; }
    .card01 a:hover .card01__img img {
      transform: scale(1.2, 1.2);
      transition: 0.5s all; }
  .card01__box {
    width: calc((100% - 96px) / 3); }
  .card01__img {
    margin-bottom: 16px;
    height: 220px;
    overflow: hidden;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center; }
    .card01__img img {
      transition: 0.5s all; }
  .card01__subttl {
    margin-top: 8px; }
  .card01__caution {
    text-align: right;
    margin-top: 8px; }
  @media screen and (max-width: 768px) {
    .card01 {
      flex-direction: column; }
      .card01 .ttl08 {
        color: #4C8FBF;
        position: relative;
        padding-left: 20px; }
        .card01 .ttl08::before {
          content: "";
          background: url(../images/common/ico_arrow_next_blue.svg) 0 0 no-repeat;
          background-size: contain;
          width: 9px;
          height: 18px;
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 0; }
      .card01__box {
        width: 100%; }
      .card01__img {
        height: 190px;
        margin-bottom: 8px; } }

.card02 {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 48px; }
  .card02__box {
    width: calc((100% - 96px) / 3); }
  .card02 a {
    display: block; }
    .card02 a .ttl08 {
      transition: 0.5s all; }
    .card02 a:hover .ttl08 {
      color: #4C8FBF;
      position: relative;
      padding-left: calc(1.4285714286vw); }
      .card02 a:hover .ttl08::before {
        content: "";
        background: url(../images/common/ico_arrow_next_blue.svg) 0 0 no-repeat;
        background-size: contain;
        width: calc(0.6428571429vw);
        height: calc(1.2857142857vw);
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0; }
    .card02 a:hover .card02__img img {
      transform: scale(1.2, 1.2);
      transition: 0.5s all; }
  .card02__icon {
    margin-bottom: 16px; }
  .card02__img {
    margin-bottom: 16px;
    border: 1px solid #DEDEDE;
    height: 220px;
    overflow: hidden;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center; }
    .card02__img img {
      transition: 0.5s all; }
  .card02__subttl {
    margin-top: 8px; }
  .card02__caution {
    text-align: right;
    margin-top: 8px; }
  @media screen and (max-width: 768px) {
    .card02 {
      flex-direction: column;
      gap: 48px 24px; }
      .card02 a .ttl08 {
        color: #4C8FBF;
        position: relative;
        padding-left: 20px; }
        .card02 a .ttl08::before {
          content: "";
          background: url(../images/common/ico_arrow_next_blue.svg) 0 0 no-repeat;
          background-size: contain;
          width: 9px;
          height: 18px;
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 0; }
      .card02__box {
        width: 100%; }
      .card02__img {
        margin-bottom: 8px;
        height: 200px; } }

.card03 {
  width: 100%;
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px; }
  .card03__box {
    width: calc((100% - 48px) / 4); }
  .card03 a {
    text-decoration: none;
    transition: all ease .7s;
    display: block; }
    .card03 a:hover {
      opacity: .6;
      cursor: pointer; }
  .card03__ttl {
    margin-bottom: 8px; }
  @media screen and (max-width: 768px) {
    .card03__box {
      width: calc((100% - 16px) / 2); } }

.card04 {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 88px 32px; }
  .card04__box {
    width: calc((100% - 88px) / 2); }
  .card04__top {
    text-decoration: none;
    transition: all ease .7s;
    display: block;
    border-bottom: 1px solid #022A43;
    margin-bottom: 24px;
    padding-bottom: 16px; }
    .card04__top:hover {
      opacity: .6;
      cursor: pointer; }
    .card04__top img {
      height: 30px;
      width: auto;
      display: block;
      margin: 0 auto; }
  .card04__ttl {
    margin-bottom: 8px; }
  @media screen and (max-width: 768px) {
    .card04 {
      flex-direction: column;
      gap: 24px; }
      .card04__box {
        width: 100%; }
      .card04__top {
        margin-bottom: 16px; } }

.card-catalog {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 48px 40px;
  flex-wrap: wrap; }
  .card-catalog__box {
    width: calc((100% - 80px) / 3); }
  .card-catalog__img {
    width: 142px;
    margin: 0 auto 16px;
    border: 1px solid #DEDEDE; }
  .card-catalog__btn {
    margin-top: 8px; }
  @media screen and (max-width: 768px) {
    .card-catalog {
      gap: 32px 24px; }
      .card-catalog__box {
        width: calc((100% - 24px) / 2); }
      .card-catalog__img {
        width: 60%;
        margin-bottom: 8px; } }

.card-company {
  max-width: 900px;
  margin: 0 auto; }
  .card-company__box {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    gap: 64px; }
    .card-company__box + .card-company__box {
      margin-top: 40px; }
  .card-company__img {
    width: 35%; }
  .card-company__txt {
    width: calc(100% - 35% - 64px); }
  .card-company .ttl08 {
    margin-bottom: 8px; }
  .card-company__btn {
    width: 250px;
    margin-top: 16px; }
  @media screen and (max-width: 768px) {
    .card-company {
      max-width: 100%; }
      .card-company__box {
        flex-direction: column;
        gap: 0; }
        .card-company__box + .card-company__box {
          margin-top: 40px; }
      .card-company__img {
        width: 60%;
        margin-bottom: 16px; }
      .card-company__txt {
        width: 100%; }
      .card-company__btn {
        margin: 8px auto 0; } }

.page__bg-black .card01 .ttl08, .page__bg-black .card01 .lead01, .page__bg-black .card01 .list03 li, .list03 .page__bg-black .card01 li {
  color: #FFFFFF; }

.page__bg-black .card02 .ttl08, .page__bg-black .card02 .lead01, .page__bg-black .card02 .list03 li, .list03 .page__bg-black .card02 li {
  color: #FFFFFF; }

.page__bg-black .card03 .lead02 {
  color: #FFFFFF; }

.list01 dt {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4444444444; }
.list01 dd {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.625; }
  .list01 dd + dt {
    margin-top: 20px; }
@media screen and (max-width: 768px) {
  .list01 dt {
    font-size: 1.6rem;
    line-height: 1.625; }
  .list01 dd {
    font-size: 1.4rem;
    line-height: 1.8571428571; }
    .list01 dd + dt {
      margin-top: 15px; } }

.list02 li {
  list-style: disc;
  margin-left: 2em; }
  .list02 li + li {
    margin-top: 5px; }
  .list02 li a {
    color: #4C8FBF;
    text-decoration: underline;
    transition: 0.3s; }
    .list02 li a:hover {
      opacity: 0.7;
      transition: 0.3s; }

.list03 {
  padding-left: 18px; }
  .list03 > ul {
    padding-left: 24px; }

.list04 {
  counter-reset: my-counter;
  list-style: none;
  padding: 0; }
  .list04 li {
    margin-bottom: 10px;
    padding-left: 30px;
    position: relative; }
    .list04 li::before {
      content: counter(my-counter);
      counter-increment: my-counter;
      background-color: #333;
      color: #FFFFFF;
      display: block;
      float: left;
      line-height: 22px;
      margin-left: -30px;
      text-align: center;
      height: 22px;
      width: 22px;
      border-radius: 50%; }

.page-top {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 99;
  width: calc(7.3571428571vw);
  height: calc(7.3571428571vw);
  opacity: 0;
  visibility: hidden; }
  .page-top a {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    background: #4C8FBF;
    width: 100%;
    height: 100%;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 1; }
    .page-top a img {
      width: calc(1.5714285714vw); }
    .page-top a::after {
      background: #0F3675;
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      width: 100%;
      height: 100%;
      transform: scale(0, 1);
      transform-origin: left top;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
      z-index: -1; }
    .page-top a:hover::after {
      transform: scale(1, 1); }
  .page-top.active {
    opacity: 1;
    visibility: visible;
    transition: 0.5s all; }
  @media screen and (min-width: 1400px) {
    .page-top {
      width: 103px;
      height: 103px; }
      .page-top a img {
        width: 22px; } }
  @media screen and (max-width: 768px) {
    .page-top {
      width: calc(15.234375vw);
      height: calc(15.234375vw);
      bottom: 50px; }
      .page-top a img {
        width: calc(5.7291666667vw); } }
  @media screen and (max-width: 428px) {
    .page-top {
      width: calc(15.2vw);
      height: calc(15.2vw); }
      .page-top a img {
        width: calc(5.8666666667vw); } }

.fix-btn {
  top: 60vh;
  right: 0;
  position: fixed;
  display: flex;
  display: -webkit-flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 1px;
  flex-direction: column;
  z-index: 100; }
  .fix-btn__item {
    display: block;
    background: #022A43;
    color: #FFFFFF;
    width: 55px;
    height: 55px;
    overflow: hidden;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .fix-btn__item:first-child {
      border-radius: 10px 0 0 0; }
    .fix-btn__item:last-child {
      border-radius: 0 0 0 10px; }
    .fix-btn__item:hover {
      width: 165px;
      -moz-transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      .fix-btn__item:hover .fix-btn__txt {
        display: block; }
  .fix-btn__icon {
    width: 27px; }
  .fix-btn__txt {
    display: none; }
  @media screen and (max-width: 768px) {
    .fix-btn {
      top: auto;
      bottom: 0;
      width: 100%;
      display: grid;
      grid-template-rows: 1fr;
      grid-template-columns: repeat(3, 1fr);
      gap: 0px 1px; }
      .fix-btn__item {
        width: 100%;
        height: 50px;
        border-radius: 4px 4px 0 0; }
        .fix-btn__item:first-child {
          border-radius: 4px 4px 0 0; }
        .fix-btn__item:last-child {
          border-radius: 4px 4px 0 0; }
      .fix-btn__icon {
        width: 22px; }
      .fix-btn__txt {
        display: block; } }

.tabs {
  margin-top: 50px;
  background-color: #fff;
  margin: 0 auto; }
  .tabs .tab__item {
    width: calc(100% / 6);
    height: calc(4.2857142857vw);
    border-left: 1px solid #FFFFFF;
    background-color: #DEDEDE;
    text-align: center;
    display: block;
    float: left;
    transition: all 0.2s ease;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    padding: 8px; }
    .tabs .tab__item:hover {
      background: #4C8FBF;
      color: #FFFFFF;
      cursor: pointer; }
  .tabs input[name="tab__item"] {
    display: none; }
  .tabs .tab__content {
    display: none;
    padding: 0 40px 0;
    clear: both;
    overflow: hidden; }
  .tabs #tab01:checked ~ #tab01_content,
  .tabs #tab02:checked ~ #tab02_content,
  .tabs #tab03:checked ~ #tab03_content,
  .tabs #tab04:checked ~ #tab04_content,
  .tabs #tab05:checked ~ #tab05_content,
  .tabs #tab06:checked ~ #tab06_content {
    display: block; }
  .tabs input:checked + .tab__item {
    background-color: #FFFFFF;
    color: #000;
    font-weight: 700;
    border-top: 2px solid #4C8FBF; }
  @media screen and (max-width: 768px) {
    .tabs .tab__item {
      width: calc(100% / 3);
      height: calc(13.3333333333vw);
      padding: 8px; }
    .tabs .tab__content {
      padding: 0; } }

.local-nav {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 80px; }
  .local-nav li {
    border-top: 1px solid #A0A0A0;
    border-bottom: 1px solid #A0A0A0;
    border-left: 1px solid #A0A0A0;
    background: #DEDEDE;
    text-align: center;
    width: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center; }
    .local-nav li:last-child {
      border-right: 1px solid #A0A0A0; }
    .local-nav li a {
      display: block;
      color: #333;
      text-decoration: none;
      padding: 16px;
      width: 100%;
      height: 100%;
      transition: all 0.2s ease;
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center; }
      .local-nav li a:hover {
        color: #fff;
        background: #4C8FBF; }
    .local-nav li.is-current {
      background-color: #FFFFFF;
      font-weight: 700;
      color: #4C8FBF;
      padding: 16px; }
  @media screen and (max-width: 768px) {
    .local-nav {
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: stretch;
      align-items: stretch;
      flex-wrap: wrap;
      margin-top: 40px; }
      .local-nav li {
        width: 33.333%; }
        .local-nav li:nth-child(3n) {
          border-right: 1px solid #A0A0A0; }
        .local-nav li:nth-child(n+4) {
          border-top: none; }
        .local-nav li a {
          padding: 16px 8px; }
        .local-nav li.is-current {
          padding: 16px 8px; } }

.local-nav-top {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center; }
  .local-nav-top__item {
    display: block;
    height: calc(4.2857142857vw);
    border-left: 1px solid #FFFFFF;
    background-color: #DEDEDE;
    text-align: center;
    display: block;
    transition: all 0.2s ease;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    padding: 8px; }
    .local-nav-top__item:first-child {
      border-left: #DEDEDE solid 1px; }
    .local-nav-top__item:last-child {
      border-right: #DEDEDE solid 1px; }
    .local-nav-top__item:hover {
      background: #4C8FBF;
      color: #FFFFFF; }
    .tab-2 .local-nav-top__item {
      width: calc(100% / 6); }
    .tab-3 .local-nav-top__item {
      width: calc(100% / 6); }
    .tab-4 .local-nav-top__item {
      width: calc(100% / 4); }
    .tab-5 .local-nav-top__item {
      width: calc(100% / 5); }
    .tab-6 .local-nav-top__item {
      width: calc(100% / 6); }
  .local-nav-top .is-current {
    background: #FFFFFF;
    color: #000;
    font-weight: 700;
    position: relative; }
    .local-nav-top .is-current::before {
      position: absolute;
      content: "";
      background: #4C8FBF;
      height: 2px;
      width: 100%;
      top: 0;
      left: 0; }
  @media screen and (max-width: 768px) {
    .local-nav-top {
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: stretch;
      align-items: stretch;
      flex-wrap: wrap; }
      .local-nav-top__item {
        padding: 16px 8px;
        display: flex;
        display: -webkit-flex;
        justify-content: center;
        align-items: center;
        height: auto; }
        .tab-2 .local-nav-top__item {
          width: calc(100% / 2); }
        .tab-3 .local-nav-top__item {
          width: calc(100% / 3); }
        .tab-4 .local-nav-top__item {
          width: calc(100% / 4); }
        .tab-5 .local-nav-top__item {
          width: calc(100% / 5); }
        .tab-6 .local-nav-top__item {
          width: calc(100% / 6); }
        .local-nav-top__item.is-current {
          padding: 16px 8px;
          height: auto; } }

.anker-nav {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1px; }
  .anker-nav li {
    width: calc((100% - 3px) / 4);
    border: 1px solid #FFFFFF;
    background: #022A43; }
    .anker-nav li a {
      display: block;
      padding: 24px 24px 24px 16px;
      color: #FFFFFF;
      position: relative;
      text-decoration: none; }
      .anker-nav li a::after {
        content: "";
        background: url(../images/common/ico_arrow_down_wht.svg) 0 0 no-repeat;
        background-size: contain;
        width: 18px;
        height: 9px;
        position: absolute;
        right: 24px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
      .anker-nav li a:hover {
        background-color: #0F3675;
        transition: 0.3s; }
  @media screen and (max-width: 768px) {
    .anker-nav li {
      width: calc((100% - 1px) / 2); }
      .anker-nav li a::after {
        width: 12px;
        height: 6px;
        right: 16px; } }

.tag {
  color: #FFFFFF;
  text-align: center;
  padding: 2px 32px;
  display: inline-block; }
  .tag__yellow {
    background: #B2B358; }
  .tag__green {
    background: #80B358; }
  .tag__blue {
    background: #58B39E; }
  .tag__grey {
    background: #939393; }
  .tag__blue2 {
    background: #5885B3; }
  .tag__ui {
    color: #333;
    background: #FCDD04; }
  .tag__control {
    color: #333;
    background: #ACDFF1; }
  .tag__communication {
    color: #333;
    background: #FAB0B0; }

.movie {
  background: #f8f8f8;
  background: linear-gradient(144deg, #f8f8f8 0%, #d4d4d4 100%);
  padding: 64px 0; }
  .movie__block {
    max-width: 560px;
    margin: 0 auto; }
  .movie__wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    position: relative; }
    .movie__wrap iframe,
    .movie__wrap a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .movie__lead {
    margin-top: 8px; }
  @media screen and (max-width: 768px) {
    .movie {
      padding: 32px 0; }
      .movie__block {
        max-width: 100%;
        margin: 0 auto;
        padding: 0 16px; } }

.movie02 {
  background: #f8f8f8;
  background: linear-gradient(144deg, #f8f8f8 0%, #d4d4d4 100%);
  padding: 64px 0; }
  .movie02__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px; }
  .movie02__block {
    width: calc((100% - 40px) / 2);
    margin: 0 auto; }
  .movie02__wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    position: relative; }
    .movie02__wrap iframe,
    .movie02__wrap a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .movie02__lead {
    margin-top: 8px; }
  @media screen and (max-width: 768px) {
    .movie02 {
      padding: 32px 0; }
      .movie02__inner {
        max-width: 100%;
        padding: 0 16px;
        gap: 24px;
        flex-direction: column; }
      .movie02__block {
        max-width: 100%;
        width: 100%;
        margin: 0 auto; } }

.faq__item + .faq__item {
  margin-top: 32px; }
.faq__que {
  position: relative; }
  .faq__que::before {
    content: "Q";
    background: #022A43;
    color: #FFFFFF;
    font-size: 2.2rem;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    text-align: center;
    align-content: center; }
.faq__toggle {
  display: none; }
.faq__label {
  padding: 16px 16px 16px 80px;
  display: block;
  background: #f4f4f4;
  border: 1px solid #DEDEDE;
  position: relative; }
  .faq__label::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #022A43;
    border-right: 2px solid #022A43;
    transform: rotate(135deg);
    position: absolute;
    top: calc(50% - 10px / 2);
    right: 24px;
    transition: transform 0.3s; }
.faq__label,
.faq .faq__content {
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s; }
.faq__content {
  height: 0;
  padding: 0 16px;
  overflow: hidden;
  padding-left: 80px; }
.faq__toggle:checked + .faq__label + .faq__content {
  height: auto;
  padding: 16px;
  border-right: 1px solid #DEDEDE;
  border-left: 1px solid #DEDEDE;
  border-bottom: 1px solid #DEDEDE;
  padding: 16px 16px 16px 80px;
  position: relative; }
  .faq__toggle:checked + .faq__label + .faq__content::before {
    content: "A";
    background: #4C8FBF;
    color: #FFFFFF;
    font-size: 2.2rem;
    position: absolute;
    left: 0;
    top: 0;
    width: 56px;
    height: 56px;
    text-align: center;
    align-content: center; }
.faq__toggle:checked + .faq__label::after {
  transform: rotate(-45deg) !important; }
@media screen and (max-width: 768px) {
  .faq__item + .faq__item {
    margin-top: 24px; }
  .faq__que::before {
    font-size: 1.8rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    top: 0;
    width: 40px;
    height: 40px; }
  .faq__label {
    padding: 16px 40px 16px 56px; }
    .faq__label::after {
      right: 16px; }
  .faq__content {
    padding-left: 56px; }
  .faq__toggle:checked + .faq__label + .faq__content {
    padding: 16px 16px 16px 56px;
    position: relative; }
    .faq__toggle:checked + .faq__label + .faq__content::before {
      font-size: 1.8rem;
      width: 40px;
      height: 40px; } }

.faq02 a {
  text-decoration: none;
  transition: all ease .7s; }
  .faq02 a:hover {
    opacity: .6;
    cursor: pointer; }
.faq02__que {
  position: relative; }
  .faq02__que::before {
    content: "Q";
    background: #022A43;
    color: #FFFFFF;
    font-size: 2.2rem;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    text-align: center;
    align-content: center; }
  .faq02__que + .faq02__que {
    margin-top: 16px; }
.faq02__label {
  padding: 16px 16px 16px 80px;
  display: block;
  background: #f4f4f4;
  border: 1px solid #DEDEDE;
  position: relative; }
.faq02__answer {
  margin-top: 16px;
  position: relative; }
  .faq02__answer::before {
    content: "A";
    background: #4C8FBF;
    color: #FFFFFF;
    font-size: 2.2rem;
    position: absolute;
    left: 0;
    top: 0;
    width: 56px;
    height: 56px;
    text-align: center;
    align-content: center; }
  .faq02__answer.faq02__label {
    background: #fff; }
.faq02__content p,
.faq02__content ul,
.faq02__content ol,
.faq02__content table {
  line-height: 1.5;
  margin-bottom: 16px; }
@media screen and (max-width: 768px) {
  .faq02__que::before {
    font-size: 1.8rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    top: 0;
    width: 40px;
    height: 40px; }
  .faq02__que + .faq02__que {
    margin-top: 8px; }
  .faq02__label {
    padding: 8px 8px 8px 56px; }
    .faq02__label::after {
      right: 16px; }
  .faq02__answer::before {
    font-size: 1.8rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    top: 0;
    width: 40px;
    height: 40px; } }

.breadcrumb {
  padding: 16px 0;
  background: #000; }
  .breadcrumb ul {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center; }
    .breadcrumb ul li {
      color: #FFFFFF; }
      .breadcrumb ul li a {
        color: #FFFFFF;
        text-decoration: none;
        transition: all ease .7s; }
        .breadcrumb ul li a:hover {
          opacity: .6;
          cursor: pointer; }
      .breadcrumb ul li + li:before {
        content: "＞";
        display: inline-block;
        padding: 0 10px; }
  @media screen and (max-width: 768px) {
    .breadcrumb {
      padding: 8px 0; }
      .breadcrumb ul {
        overflow-x: scroll; }
        .breadcrumb ul li {
          flex-shrink: 0; }
          .breadcrumb ul li a {
            text-decoration: underline; } }

.pagination {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  gap: 8px; }
  .pagination__item-link {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 33px;
    height: 33px;
    background: #f2f2f2;
    border: solid 1px #d4d4d4;
    font-size: 1.4rem;
    color: #111;
    font-weight: bold;
    transition: all 0.15s linear; }
    .pagination__item-link.is-active {
      background: #fff;
      border: 1px solid #4C8FBF;
      color: #4C8FBF;
      pointer-events: none; }
    .pagination__item-link:not(.is-active):hover {
      background: #4C8FBF;
      color: #fff;
      border: 1px solid #4C8FBF; }
    .pagination__item-link-icon {
      width: 20px; }
    @media screen and (max-width: 768px) {
      .pagination__item-link {
        font-size: 1.3rem; } }

.table01 table {
  width: 100%;
  border: 1px solid #BCBCBC; }
.table01 table, .table01 td, .table01 th {
  border-collapse: collapse; }
.table01 td, .table01 th {
  padding: 20px;
  font-size: 16px;
  font-weight: 400;
  vertical-align: top;
  border-right: 1px solid #BCBCBC;
  border-bottom: 1px solid #BCBCBC; }
  .table01 td a, .table01 th a {
    font-size: 16px;
    color: #4C8FBF;
    text-decoration: underline;
    transition: 0.3s; }
    .table01 td a:hover, .table01 th a:hover {
      transition: 0.3s;
      opacity: 0.7; }
.table01 th {
  background: #F8F8F8; }
@media screen and (max-width: 1001px) {
  .table01 td, .table01 th {
    padding: 15px;
    font-size: 16px; }
    .table01 td li, .table01 th li {
      font-size: 16px; }
    .table01 td a, .table01 th a {
      font-size: 16px; } }
@media screen and (max-width: 768px) {
  .table01 td, .table01 th {
    padding: 15px;
    font-size: 14px; }
    .table01 td li, .table01 th li {
      font-size: 14px; }
    .table01 td a, .table01 th a {
      font-size: 14px; } }
@media screen and (max-width: 428px) {
  .table01 td, .table01 th {
    font-size: 14px; }
    .table01 td li, .table01 th li {
      font-size: 14px; }
    .table01 td a, .table01 th a {
      font-size: 14px; } }

@media screen and (max-width: 768px) {
  .table-scroll {
    overflow: scroll; }
    .table-scroll td, .table-scroll th {
      white-space: nowrap; } }

.table02 {
  width: 100%; }
  .table02 table {
    width: 100%;
    border-top: 1px solid #BCBCBC;
    border-left: 1px solid #BCBCBC; }
  .table02 table, .table02 td, .table02 th {
    border-collapse: collapse; }
  .table02 td, .table02 th {
    padding: 20px;
    font-size: 1.6rem;
    line-height: 1.75;
    font-weight: 400;
    border-right: 1px solid #BCBCBC;
    border-bottom: 1px solid #BCBCBC; }
    .table02 td a, .table02 th a {
      font-size: 1.6rem;
      line-height: 1.75;
      color: #E22E17;
      text-decoration: underline;
      transition: 0.3s; }
      .table02 td a:hover, .table02 th a:hover {
        transition: 0.3s;
        color: #FF3100; }
  .table02 th {
    background: #022A43;
    color: #FFFFFF;
    text-align: center;
    font-weight: 500; }
  .table02 .bg-gray {
    background: #f5f5f5;
    font-weight: 500; }
  @media screen and (max-width: 1001px) {
    .table02 td, .table02 th {
      padding: 15px;
      font-size: 16px; }
      .table02 td a, .table02 th a {
        font-size: 16px; } }
  @media screen and (max-width: 768px) {
    .table02 td, .table02 th {
      padding: 15px;
      font-size: 14px; }
      .table02 td a, .table02 th a {
        font-size: 14px; } }
  @media screen and (max-width: 428px) {
    .table02 td, .table02 th {
      font-size: 14px; }
      .table02 td a, .table02 th a {
        font-size: 14px; } }

.table03 table {
  width: 100%;
  border: 1px solid #BCBCBC; }
.table03 table, .table03 td, .table03 th {
  border-collapse: collapse; }
.table03 td, .table03 th {
  padding: 20px;
  font-size: 16px;
  font-weight: 400;
  vertical-align: top;
  border-right: 1px solid #BCBCBC;
  border-bottom: 1px solid #BCBCBC; }
  .table03 td a, .table03 th a {
    font-size: 16px;
    color: #4C8FBF;
    text-decoration: underline;
    transition: 0.3s; }
    .table03 td a:hover, .table03 th a:hover {
      transition: 0.3s;
      opacity: 0.7; }
.table03 th {
  background: #F8F8F8; }
.table03 thead th {
  background: #022A43;
  color: #FFFFFF; }
.table03 td dl {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%; }
  .table03 td dl + dl {
    margin-top: 16px; }
  .table03 td dl dt {
    width: calc(70% - 20px);
    padding-right: 20px;
    position: relative; }
    .table03 td dl dt:before {
      content: ">";
      color: #4C8FBF;
      position: absolute;
      font-size: 16px;
      top: calc(50% - 12px);
      right: 0; }
  .table03 td dl dd {
    width: 30%;
    padding-left: 20px; }
@media screen and (max-width: 1001px) {
  .table03 td, .table03 th {
    padding: 15px;
    font-size: 16px; }
    .table03 td li, .table03 th li {
      font-size: 16px; }
    .table03 td a, .table03 th a {
      font-size: 16px; } }
@media screen and (max-width: 768px) {
  .table03 td, .table03 th {
    padding: 15px;
    font-size: 14px;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal; }
    .table03 td li, .table03 th li {
      font-size: 14px; }
    .table03 td a, .table03 th a {
      font-size: 14px; } }
@media screen and (max-width: 428px) {
  .table03 td, .table03 th {
    font-size: 14px; }
    .table03 td li, .table03 th li {
      font-size: 14px; }
    .table03 td a, .table03 th a {
      font-size: 14px; } }

.step {
  position: relative; }
  .step::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background: #4C8FBF;
    left: calc(6.0714285714vw);
    z-index: 0; }
  .step__block {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 32px;
    position: relative;
    z-index: 1; }
    .step__block + .step__block {
      margin-top: 16px; }
    .step__block-icon {
      color: #4C8FBF;
      background: #FFFFFF;
      border: 1px solid #4C8FBF;
      border-radius: 50%;
      font-size: calc(4.2857142857vw);
      width: calc(12.1428571429vw);
      height: calc(12.1428571429vw);
      text-align: center;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center;
      flex-direction: column; }
      .step__block-icon span {
        font-size: calc(1.2857142857vw); }
    .step__block .ttl08 {
      color: #4C8FBF;
      margin-bottom: 8px; }
    .step__block-btn {
      width: calc(21.4285714286vw);
      margin-top: 16px; }
  @media screen and (min-width: 1400px) {
    .step::before {
      left: calc(170px / 2); }
    .step__block-icon {
      font-size: 6rem;
      width: 170px;
      height: 170px; }
      .step__block-icon span {
        font-size: 1.8rem; }
    .step__block .ttl08 {
      color: #4C8FBF;
      margin-bottom: 8px; }
    .step__block-btn {
      width: 300px; } }
  @media screen and (max-width: 768px) {
    .step::before {
      left: calc(80px / 2); }
    .step__block {
      gap: 16px; }
      .step__block-icon {
        font-size: 3rem;
        width: 80px;
        height: 80px;
        line-height: 1; }
        .step__block-icon span {
          font-size: 1.2rem; }
      .step__block-btn {
        width: 100%;
        margin-top: 8px; } }

.history__block {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 32px; }
  .history__block-number {
    color: #4C8FBF;
    font-size: calc(3.5714285714vw);
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    width: calc(12.1428571429vw); }
  .history__block-left {
    width: calc(12.1428571429vw); }
  .history__block-right {
    padding: calc(1.1428571429vw) 0 calc(2.8571428571vw) calc(1.7142857143vw);
    position: relative; }
    .history__block-right::after {
      content: "";
      position: absolute;
      width: 1px;
      height: 100%;
      background: #4C8FBF;
      left: calc(0vw);
      top: 0; }
    .history__block-right::before {
      content: "";
      background: #4C8FBF;
      border-radius: 50%;
      width: calc(1.4285714286vw);
      height: calc(1.4285714286vw);
      position: absolute;
      left: calc(-0.7142857143vw);
      top: calc(1.4285714286vw); }
  .history__block .ttl08 {
    color: #4C8FBF;
    margin-bottom: 8px; }
@media screen and (min-width: 1400px) {
  .history__block-number {
    font-size: 5rem;
    width: 170px; }
  .history__block-left {
    width: 170px; }
  .history__block-right {
    padding: 16px 0 40px 24px;
    position: relative; }
    .history__block-right::before {
      left: -10px;
      width: 20px;
      height: 20px;
      top: 20px; }
    .history__block-right .ttl08::before {
      left: -34px;
      top: 5px; }
    .history__block-right-btn {
      width: 300px;
      margin-top: 16px; } }
@media screen and (max-width: 768px) {
  .history::before {
    left: calc(80px / 2); }
  .history__block {
    gap: 16px; }
    .history__block-number {
      font-size: calc(5.3333333333vw);
      width: calc(13.3333333333vw); }
    .history__block-left {
      width: calc(13.3333333333vw); }
    .history__block-right {
      padding: calc(1.0666666667vw) 0 calc(6.4vw) calc(2.1333333333vw); }
      .history__block-right::before {
        width: calc(2.6666666667vw);
        height: calc(2.6666666667vw);
        left: calc(-1.3333333333vw);
        top: calc(2.6666666667vw); } }

.img01 {
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .img01 {
      max-width: 100%; } }

.img02 {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  gap: 16px; }
  .img02 figcaption {
    margin-top: 8px; }

.img__md {
  max-width: 700px;
  padding: 24px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .img__md {
      max-width: 80%;
      padding: 16px; } }

.img__sm {
  max-width: 400px;
  padding: 24px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .img__sm {
      max-width: 80%;
      padding: 16px; } }

.img__icon {
  max-width: 200px;
  width: 200px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .img__icon {
      max-width: 50%; } }

.form label {
  font-size: 1.6rem; }
.form-row {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px; }
.form-label {
  font-size: 1.6rem;
  display: block; }
  .form-label .required {
    color: #E22E17;
    font-size: 1.4rem;
    margin-left: 8px; }
.form-title {
  width: 25%;
  padding: 0 16px; }
.form-list {
  width: 75%;
  padding: 0 16px; }
.form-wrap {
  margin: 40px 0;
  padding: 8px 0 8px 24px;
  border-left: 10px solid #A0A0A0; }
  .form-wrap .form-layout + .form-layout {
    margin-top: 24px; }
.form-layout {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: center;
  padding: 40px 0; }
  .form-layout + .form-layout {
    border-top: 1px solid #A0A0A0; }
  .form-layout input[type="radio"] {
    appearance: none;
    position: relative;
    border: 1px solid #A0A0A0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    vertical-align: -5px;
    margin-right: 8px; }
  .form-layout input[type="radio"]:checked:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #022A43;
    content: ''; }
  .form-layout-left {
    margin-left: 32px;
    margin-bottom: 8px; }
  .form-layout-start {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: flex-start; }
.form-input {
  border: none;
  background: #F4F4F4;
  display: block;
  width: 100%;
  padding: 16px;
  margin-top: 8px;
  border-radius: 4px;
  font-size: 1.6rem; }
  .form-input::placeholder {
    color: #939393; }
  .form-input-short {
    width: 50%; }
  .form-input-number {
    width: 30%; }
  .form-input-row {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: flex-end; }
  .form-input-txt {
    margin-left: 8px;
    font-size: 1.4rem; }
.form-caution {
  font-size: 1.2rem;
  color: #A0A0A0; }
.form-checkbox label {
  font-size: 1.6rem; }
.form-checkbox input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #A0A0A0;
  background: #FFFFFF;
  border-radius: 0; }
.form-checkbox input[type="checkbox"]:checked:before {
  position: absolute;
  top: -2px;
  left: 4px;
  transform: rotate(50deg);
  width: 7px;
  height: 14px;
  border-right: 2px solid #022A43;
  border-bottom: 2px solid #022A43;
  content: ''; }
.form-checkbox + .form-checkbox {
  margin-top: 8px; }
.form-select {
  border: 1px solid #B3B3B3;
  padding: 16px 48px 16px 16px;
  width: 100%;
  border-radius: 4px;
  font-size: 1.4rem;
  background: #fff;
  color: #333;
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  background-image: url(../images/common/ico_arrow_down.svg);
  background-repeat: no-repeat;
  background-size: 12px auto;
  /* 画像のサイズ（幅 高さ）*/
  background-position: right 16px center; }
  .form-select::-ms-expand {
    display: none; }
  .form-select-wrap {
    width: 200px;
    margin-top: 8px; }
.form-btn {
  width: 400px;
  margin: 80px auto 0;
  text-align: center;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  position: relative; }
  .form-btn::after {
    content: "";
    background: url(../images/common/ico_arrow_next_wht.svg) 0 0 no-repeat;
    background-size: contain;
    width: 9px;
    height: 18px;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .form-btn input {
    width: 100%;
    font-size: 1.8rem;
    text-align: center;
    padding: 16px 40px;
    cursor: pointer;
    appearance: none; }
  .form-btn input[type="reset"] {
    background: #FFFFFF;
    color: #BCBCBC;
    border: 1px solid #BCBCBC; }
  .form-btn input[type="submit"] {
    background: #022A43;
    color: #FFFFFF; }
    .form-btn input[type="submit"]:hover {
      background-color: #0F3675;
      transition: 0.3s; }
@media screen and (max-width: 768px) {
  .form label {
    font-size: 1.4rem; }
  .form-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px; }
  .form-label {
    font-size: 1.4rem; }
    .form-label .required {
      font-size: 1.2rem; }
  .form-title {
    width: 100%;
    padding: 0;
    margin-bottom: 8px; }
  .form-layout {
    align-items: flex-start;
    flex-direction: column;
    padding: 24px 0; }
  .form-input {
    font-size: 1.4rem; }
    .form-input-row {
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: flex-end; }
    .form-input-txt {
      margin-left: 8px;
      font-size: 1.4rem; }
  .form-list {
    width: 100%;
    padding: 0; }
  .form-select {
    padding: 16px 32px 16px 10px;
    font-size: 1.2rem;
    background-image: url(../images/common/ico_arrow_down.svg);
    background-repeat: no-repeat;
    background-size: 12px auto;
    /* 画像のサイズ（幅 高さ）*/
    background-position: right 8px center; }
  .form-btn {
    width: 100%;
    margin: 40px auto 0; }
    .form-btn input {
      font-size: 1.4rem;
      padding: 16px; } }

.formTable {
  width: 100%;
  border-collapse: collapse; }
  .formTable th {
    width: 25%; }
  .formTable td, .formTable th {
    padding: 40px 16px;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
    border-bottom: 1px solid #A0A0A0;
    border-collapse: collapse; }
    @media screen and (max-width: 768px) {
      .formTable td, .formTable th {
        padding: 24px 8px;
        font-size: 1.4rem; } }
  .formTable .required {
    color: #E22E17;
    font-size: 1.4rem;
    margin-left: 8px; }
    @media screen and (max-width: 768px) {
      .formTable .required {
        font-size: 1.2rem; } }
  .formTable td input, .formTable td textarea {
    border: none;
    background: #F4F4F4;
    display: block;
    width: 100%;
    padding: 16px;
    margin-top: 8px;
    border-radius: 4px;
    font-size: 1.6rem; }
    .formTable td input::placeholder, .formTable td textarea::placeholder {
      color: #939393; }
  .formTable td input[type="checkbox"] {
    width: auto; }
  .formTable td input[type="radio"] {
    width: auto; }
  .formTable td > div {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 32px; }
    @media screen and (max-width: 768px) {
      .formTable td > div {
        display: flex;
        display: -webkit-flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 8px;
        flex-direction: column; } }
  .formTable td .dispB {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center;
    padding: 8px; }
    @media screen and (max-width: 768px) {
      .formTable td .dispB {
        display: flex;
        display: -webkit-flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 8px; } }
  .formTable-row {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .formTable-row {
        display: flex;
        display: -webkit-flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 8px; } }

.formSubmit .formBtnSubmit {
  background: #022A43;
  color: #FFFFFF;
  font-size: 1.6rem;
  padding: 16px;
  width: 400px;
  display: block;
  margin: 64px auto 0; }
  @media screen and (max-width: 768px) {
    .formSubmit .formBtnSubmit {
      width: 100%; } }

.page__bg-black {
  background: #000; }
.page__bg-grey {
  background: #f9f9f9;
  padding: 40px 0; }
.page__bg-blue {
  background: #EEFBFF;
  padding: 64px 0 80px; }
  @media screen and (max-width: 768px) {
    .page__bg-blue {
      padding: 32px 0 48px; } }
.page__block01 {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: flex-start; }
  .page__block01-img {
    width: 30%; }
  .page__block01-txt {
    width: 70%;
    padding: 16px 0 0 32px; }
  @media screen and (max-width: 768px) {
    .page__block01 {
      flex-direction: column; }
      .page__block01-img {
        width: 90%;
        margin: 0 auto; }
      .page__block01-txt {
        width: 100%;
        padding: 16px 0 0; } }
.page__block02 {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 48px 32px;
  flex-wrap: wrap; }
  .page__block02-item {
    width: calc((100% - 32px) / 2); }
  @media screen and (max-width: 768px) {
    .page__block02 {
      flex-direction: column;
      gap: 32px; }
      .page__block02-item {
        width: 100%; } }
.page__block03 {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  gap: 32px; }
  .page__block03-img {
    width: 40%; }
  .page__block03-txt {
    width: 60%; }
  @media screen and (max-width: 768px) {
    .page__block03 {
      flex-direction: column; }
      .page__block03-img {
        width: 90%;
        margin: 0 auto; }
      .page__block03-txt {
        width: 100%;
        padding: 16px 0 0; } }
.page__block04 {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center; }
  .page__block04-img {
    width: 15%; }
  .page__block04-txt {
    width: 85%;
    padding: 16px 0 0 32px; }
  @media screen and (max-width: 768px) {
    .page__block04 {
      flex-direction: column; }
      .page__block04-img {
        width: 50%;
        margin: 0 auto; }
      .page__block04-txt {
        width: 100%;
        padding: 16px 0 0; } }
.page__row-start {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 32px; }
  @media screen and (max-width: 768px) {
    .page__row-start {
      flex-direction: column;
      gap: 16px; } }
.page__row-center {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: flex-start;
  gap: 32px; }
  @media screen and (max-width: 768px) {
    .page__row-center {
      flex-direction: column;
      gap: 16px; } }
.page__row-wrap {
  flex-wrap: wrap; }
.page__list {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap; }
  .page__list li {
    width: calc((100% - 6em) / 3); }
    .page__list li + li {
      margin-top: 0; }
.page__col2 {
  width: calc((100% - 32px) / 2); }
  @media screen and (max-width: 768px) {
    .page__col2 {
      width: 100%; } }
.page__col3 {
  width: calc((100% - 64px) / 3); }
  @media screen and (max-width: 768px) {
    .page__col3 {
      width: 100%; } }
.page__col4 {
  width: calc((100% - 96px) / 4); }
  @media screen and (max-width: 768px) {
    .page__col4 {
      width: 100%; } }
.page__line {
  border: 1px solid #BCBCBC;
  padding: 24px; }
  @media screen and (max-width: 768px) {
    .page__line {
      padding: 16px; } }
.page__border-bottom {
  border-bottom: 1px solid #BCBCBC;
  padding-bottom: 16px; }
.page__arrow-down {
  display: inline-block;
  vertical-align: middle;
  color: #4C8FBF;
  line-height: 1;
  position: relative;
  width: 0.5em;
  height: 5em;
  background: #4C8FBF; }
  .page__arrow-down::before {
    content: '';
    width: 3em;
    height: 3em;
    border: 0.5em solid #4C8FBF;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg);
    transform-origin: bottom left;
    position: absolute;
    left: 50%;
    bottom: -0.2em;
    box-sizing: border-box; }

/* 各ページ
========================================================*/
.home {
  background-image: url(../images/top/top_bg.jpg);
  background-repeat: no-repeat;
  background-size: contain; }
  @media screen and (max-width: 768px) {
    .home {
      background-image: url(../images/top/top_bg-sp.jpg);
      background-repeat: no-repeat;
      background-size: contain; } }
  .home main {
    overflow: hidden; }

.kv {
  padding: 32px 0 56px;
  width: 95%;
  margin-left: auto; }
  .kv__inner {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-end;
    align-items: center;
    gap: 3%; }
  .kv__txt {
    width: 23%; }
    .kv__txt-ttl {
      font-size: calc(2.3571428571vw);
      margin-bottom: 16px;
      line-height: 1.2; }
      .kv__txt-ttl span {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        font-weight: 700;
        font-size: calc(2.1428571429vw); }
    .kv__txt-lead {
      font-size: calc(1.1428571429vw);
      font-weight: 700;
      padding-top: 16px;
      border-top: 1px solid #4C8FBF; }
  .kv__slide {
    width: 74%;
    position: relative; }
    .kv__slide-box {
      position: relative; }
    .kv__slide-txt {
      color: #FFFFFF;
      position: absolute;
      bottom: 16px;
      left: 24px; }
    .kv__slide-ttl {
      font-size: calc(3.1428571429vw);
      font-weight: 700; }
    .kv__slide-lead {
      font-size: calc(1.4285714286vw);
      font-weight: 700; }
    .kv__slide .swiper-pagination {
      position: absolute;
      width: 36%;
      left: -36%;
      bottom: 0;
      z-index: 8;
      text-align: right;
      padding-right: 4%; }
      .kv__slide .swiper-pagination-bullet {
        width: calc(2.1428571429vw);
        height: calc(0.2142857143vw);
        border-radius: 0;
        cursor: pointer; }
        .kv__slide .swiper-pagination-bullet-active {
          background: #022A43; }
  @media screen and (min-width: 1400px) {
    .kv__txt-ttl {
      font-size: 3.3rem; }
      .kv__txt-ttl span {
        font-size: 3rem; }
    .kv__txt-lead {
      font-size: 1.6rem; }
    .kv__slide-ttl {
      font-size: 4.4rem; }
    .kv__slide-lead {
      font-size: 2rem; } }
  @media screen and (max-width: 768px) {
    .kv {
      padding: calc(8.5333333333vw) 0 calc(14.9333333333vw);
      width: 100%;
      margin-left: auto; }
      .kv__inner {
        gap: 0;
        flex-direction: column;
        padding: 0; }
      .kv__txt {
        width: 100%;
        padding: 0 16px 16px; }
        .kv__txt-ttl {
          font-size: calc(8vw);
          margin-bottom: 16px; }
          .kv__txt-ttl span {
            font-size: calc(9.0666666667vw); }
        .kv__txt-lead {
          font-size: calc(4.2666666667vw); }
      .kv__slide {
        width: calc(100% - 16px);
        margin-left: auto; }
        .kv__slide-txt {
          bottom: 8px;
          left: 8px; }
        .kv__slide-ttl {
          font-size: calc(4.8vw); }
        .kv__slide-lead {
          font-size: calc(3.4666666667vw); }
        .kv__slide .swiper-pagination {
          width: 100%;
          left: 0;
          bottom: calc(-5.3333333333vw);
          text-align: left;
          padding-right: 0; }
          .kv__slide .swiper-pagination-bullet {
            width: calc(8vw);
            height: calc(0.5333333333vw); } }

.about {
  background: linear-gradient(90deg, #f8f8f8, #d4d4d4);
  position: relative;
  z-index: 2; }
  .about::after {
    content: "";
    background: url(../images/top/product_bg.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(75.3571428571vw);
    height: calc(11.3571428571vw);
    position: absolute;
    bottom: -130px;
    right: -20px;
    z-index: -1; }
  .about__inner {
    width: 100%;
    height: 0;
    padding-top: 70%;
    background-image: url(../images/top/about_bg-pc.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .about .inner-content {
    width: 1200px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
  .about .ttl01, .about .subttl, .about .lead01, .about .list03 li, .list03 .about li {
    color: #FFFFFF; }
  .about__card {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 48px; }
    .about__card-box {
      background: #FFFFFF;
      padding: calc(2.2857142857vw) calc(1.1428571429vw) calc(1.7142857143vw);
      width: calc((100% - 96px) / 3); }
    .about__card a {
      display: block;
      text-align: center;
      text-decoration: none;
      transition: all ease .7s;
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      height: 100%; }
      .about__card a:hover {
        opacity: .6;
        cursor: pointer; }
    .about__card-ttl {
      margin-bottom: calc(0.5714285714vw); }
    .about__card-subttl {
      color: #4C8FBF; }
    .about__card .subttl {
      color: #4C8FBF; }
    .about__card-img {
      height: calc(7.7142857143vw);
      width: auto;
      margin-bottom: calc(1.1428571429vw); }
      .about__card-img img {
        height: 100%;
        width: auto; }
  .about__card02 {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 48px; }
    .about__card02-box {
      background: #FFFFFF;
      padding: calc(0.5714285714vw) calc(0.5714285714vw) calc(1.1428571429vw);
      width: calc((100% - 96px) / 3); }
    .about__card02 a {
      display: block;
      text-align: center;
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      height: 100%; }
      .about__card02 a:hover .about__card02-img img {
        transform: scale(1.2, 1.2);
        transition: 0.5s all; }
    .about__card02-ttl {
      margin-bottom: calc(0.5714285714vw); }
    .about__card02-subttl {
      color: #4C8FBF; }
    .about__card02 .subttl {
      color: #4C8FBF; }
    .about__card02-img {
      height: calc(12.1428571429vw);
      width: 100%;
      margin-bottom: calc(1.1428571429vw);
      overflow: hidden;
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center; }
      .about__card02-img img {
        height: auto;
        width: 100%;
        transition: 0.5s all; }
  @media screen and (min-width: 1400px) {
    .about::after {
      width: 1055px;
      height: 159px; }
    .about__card-box {
      padding: 32px 16px 24px; }
    .about__card-ttl {
      margin-bottom: 8px; }
    .about__card-img {
      height: 108px;
      margin-bottom: 16px; }
    .about__card02-box {
      padding: 8px 8px 16px; }
    .about__card02-ttl {
      margin-bottom: 8px; }
    .about__card02-img {
      height: 170px;
      margin-bottom: 16px; } }
  @media screen and (max-width: 768px) {
    .about::after {
      background: url(../images/top/product_bg.svg) 0 0 no-repeat;
      background-size: contain;
      width: 90%;
      height: 5%;
      bottom: -44px;
      right: -10px; }
    .about__inner {
      padding-top: 289%;
      background-image: url(../images/top/about_bg-sp.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover; }
    .about .inner-content {
      width: 100%; }
    .about__card {
      gap: 8px; }
      .about__card-box {
        padding: 16px 8px;
        width: calc((100% - 8px) / 2); }
      .about__card-img {
        height: 83px;
        margin-bottom: 16px; }
    .about__card02 {
      gap: 8px; }
      .about__card02-box {
        padding: 8px 8px 16px;
        width: calc((100% - 8px) / 2); }
        .about__card02-box a {
          justify-content: flex-start; }
      .about__card02-img {
        height: 70px;
        margin-bottom: 8px; } }

.product {
  background: linear-gradient(90deg, #f8f8f8, #d4d4d4);
  position: relative;
  padding: 64px 0 96px; }
  .product__btn, .news__btn {
    width: 300px;
    margin: 80px auto 0; }
  @media screen and (max-width: 768px) {
    .product {
      padding: 64px 0 72px; }
      .product__btn, .news__btn {
        width: 80%;
        margin: 40px auto 0; } }

.news {
  position: relative;
  padding: 64px 0 96px; }
  .news::before {
    content: "";
    background: url(../images/top/news_bg.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(40.7142857143vw);
    height: calc(10.7142857143vw);
    position: absolute;
    top: -15px;
    right: -20px;
    z-index: -1; }
  .news__inner {
    max-width: 900px;
    margin: 0 auto; }
  .news__list {
    display: grid;
    gap: 32px; }
    .news__list-item {
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: center;
      gap: 40px;
      padding-top: 32px; }
      .news__list-item + .news__list-item {
        border-top: 1px solid #BCBCBC; }
      .news__list-item:first-child {
        padding-top: 0; }
    .news__list-icon {
      padding: 5px 8px;
      text-align: center;
      width: 120px;
      color: #FFFFFF; }
    .news__list .icon-kigyo {
      background: #A0A14B; }
    .news__list .icon-oshirase {
      background: #80B458; }
    .news__list .icon-release {
      background: #58B49E; }
    .news__list-date {
      color: #939393; }
    .news__list-text {
      width: 70%; }
      .news__list-text a {
        padding: 16px 0;
        color: #333;
        text-decoration: none; }
        .news__list-text a:hover {
          text-decoration: underline;
          color: #0F3675;
          transition: 0.5s all; }
  @media screen and (min-width: 1400px) {
    .news::before {
      width: 570px;
      height: 150px; } }
  @media screen and (max-width: 768px) {
    .news {
      padding: 64px 0 72px; }
      .news::before {
        width: 80%;
        height: 85px;
        top: -15px;
        right: -20px; }
      .news__inner {
        max-width: 100%; }
      .news__list {
        display: grid;
        gap: 24px; }
        .news__list-item {
          display: flex;
          display: -webkit-flex;
          justify-content: flex-start;
          align-items: flex-start;
          flex-direction: column;
          gap: 8px;
          padding-top: 24px; }
        .news__list-icon {
          width: calc(26.6666666667vw); }
        .news__list-text {
          width: 100%; } }

.overview {
  background-image: url("../images/top/bg_overview.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 75px 0 85px; }
  .overview .ttl01, .overview .lead01, .overview .list03 li, .list03 .overview li {
    color: #FFFFFF;
    text-align: center; }
  .overview-link {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
  .overview-btn {
    width: 48%;
    margin-top: 20px; }
  @media screen and (max-width: 768px) {
    .overview-link {
      flex-direction: column; }
    .overview-btn {
      width: 50%; } }
  @media screen and (max-width: 428px) {
    .overview .lead01, .overview .list03 li, .list03 .overview li {
      text-align: left; }
    .overview-btn {
      width: 80%; } }

.open {
  padding: 50px 0 60px; }
  .open-top {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center; }
  .open-txt {
    width: 30%; }
  .open-img {
    width: 55%;
    margin-right: 5%; }
    .open-img img {
      border-radius: 0 10px 10px 0; }
  .open-btn {
    width: 80%;
    margin-top: 50px; }
  @media screen and (max-width: 1001px) {
    .open-txt {
      width: 40%; }
    .open-img {
      width: 50%;
      margin-right: 5%; }
    .open-btn {
      max-width: 400px;
      margin: 30px auto 0; } }
  @media screen and (max-width: 768px) {
    .open {
      padding: 35px 0 40px; }
      .open-top {
        flex-direction: column;
        margin-bottom: 35px; }
      .open-txt {
        width: 100%;
        padding: 0 20px;
        margin-bottom: 30px;
        order: 1; }
      .open-img {
        width: 90%;
        margin-right: auto;
        order: 2; }
      .open-btn {
        width: 70%; } }

.access .lead01, .access .list03 li, .list03 .access li, .access .caution {
  text-align: center; }
.access-list {
  text-align: center;
  margin-bottom: 20px; }
  .access-list ul {
    display: inline-block; }
    .access-list ul li {
      text-align: left;
      margin-bottom: 5px;
      position: relative;
      font-size: 1.6rem;
      line-height: 1.75; }
      .access-list ul li:before {
        content: "";
        background: url(../images/icon/ico_train.svg) 0 0 no-repeat;
        background-size: contain;
        width: 14px;
        height: 21px;
        position: absolute;
        left: -20px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
      .access-list ul li br {
        display: none; }
.access-map {
  margin: 50px auto; }
  .access-map iframe {
    width: 100%;
    aspect-ratio: 16/9; }
.access-btn {
  max-width: 370px;
  margin: 0 auto; }
@media screen and (max-width: 768px) {
  .access .lead01, .access .list03 li, .list03 .access li, .access .caution {
    text-align: left; }
  .access-list {
    margin-left: 20px; }
    .access-list ul li {
      font-size: 1.4rem;
      line-height: 1.5714285714; }
  .access-btn {
    width: 70%; }
  .access-map {
    margin: 30px auto; } }
@media screen and (max-width: 428px) {
  .access-list ul li br {
    display: block; } }

.sub.page-commodity {
  background-image: url(../images/commodity/top_bg.jpg);
  background-repeat: no-repeat;
  background-size: contain; }
.sub.page-news {
  background-image: url(../images/information/top_bg.jpg);
  background-repeat: no-repeat;
  background-size: contain; }
.sub.page-support {
  background-image: url(../images/support/top_bg.jpg);
  background-repeat: no-repeat;
  background-size: contain; }
.sub.page-company {
  background-image: url(../images/company/top_bg.jpg);
  background-repeat: no-repeat;
  background-size: contain; }
.sub .l-header.is-scrolling {
  background: rgba(2, 42, 67, 0.8); }
.sub .l-header__tab-list-item a {
  color: #FFFFFF; }
  .sub .l-header__tab-list-item a::before {
    background: #FFFFFF; }
.sub .l-header.fix {
  background: rgba(2, 42, 67, 0.9); }
.sub .l-header__tab-list-item.store::before {
  background: url(../images/common/ico_store_wht.svg) 0 0 no-repeat;
  background-size: contain; }
.sub .l-header__tab-list-item.link-blank::after {
  background: url(../images/common/ico_link-blank_wht.svg) 0 0 no-repeat;
  background-size: contain; }
.sub .l-header__tab .hamburger {
  background-color: #FFFFFF; }
  .sub .l-header__tab .hamburger:hover .hamburger__line {
    background-color: #FFFFFF; }
    .sub .l-header__tab .hamburger:hover .hamburger__line::before {
      background-color: #FFFFFF; }
    .sub .l-header__tab .hamburger:hover .hamburger__line::after {
      background-color: #FFFFFF; }
.sub .l-header__tab .hamburger__line {
  background-color: #022A43; }
  .sub .l-header__tab .hamburger__line::before {
    background-color: #022A43; }
  .sub .l-header__tab .hamburger__line::after {
    background-color: #022A43; }
.sub .l-header__tab .hamburger.is-active .hamburger__line {
  background: #FFFFFF; }
.sub .l-header__tab .hamburger.is-active:hover .hamburger__line {
  background: #022A43; }
.sub__kv {
  padding: 80px 0; }
  .sub__kv .ttl01, .sub__kv .subttl {
    color: #FFFFFF;
    text-align: center; }
.sub__kv--sm {
  padding: 0 8px; }
  .sub__kv--sm .ttl01, .sub__kv--sm .subttl {
    color: #FFFFFF;
    text-align: center; }
.sub__content {
  background: #FFFFFF;
  padding: 40px 0 120px; }
@media screen and (max-width: 768px) {
  .sub.page-commodity {
    background-image: url(../images/commodity/top_bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: 105%; }
  .sub.page-news {
    background-image: url(../images/information/top_bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: 105%; }
  .sub.page-support {
    background-image: url(../images/support/top_bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: 105%; }
  .sub.page-company {
    background-image: url(../images/company/top_bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: 105%; }
  .sub__kv {
    padding: 40px 0 12px; }
  .sub__content {
    padding: 24px 0 64px; } }
.sub main {
  overflow: hidden; }

.page-commodity__kv {
  width: 35%; }
.page-commodity #flow01, .page-commodity #flow02, .page-commodity #flow03 {
  padding-top: 100px;
  margin-top: -100px;
  padding-bottom: 80px; }
.page-commodity__icon {
  width: 60%;
  margin: 0 auto; }
.page-commodity__flow-item {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center; }
.page-commodity__flow-arrow {
  position: relative;
  display: inline-block;
  padding: 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px; }
  .page-commodity__flow-arrow::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 12px;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    border: 12px solid transparent;
    border-left: 12px solid #4C8FBF; }
.page-commodity__flow-txt {
  border: 1px solid #4C8FBF;
  padding: 24px;
  border-radius: 4px;
  font-weight: 500; }
.page-commodity__flow02-box {
  padding: 16px 24px;
  border: 1px solid #4C8FBF;
  border-radius: 4px;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 12px; }
.page-commodity__flow02-ttl {
  display: inline-block;
  font-weight: 500; }
.page-commodity__flow02-img01 {
  width: 200px; }
.page-commodity__flow02-img02 {
  width: 150px; }
.page-commodity__flow02-arrow {
  height: 12px;
  position: relative; }
  .page-commodity__flow02-arrow::before {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    border: 12px solid transparent;
    border-top: 12px solid #4C8FBF; }
@media screen and (max-width: 768px) {
  .page-commodity__kv {
    width: 80%; }
  .page-commodity__icon {
    width: 40%; }
  .page-commodity__flow-item {
    flex-direction: column; }
  .page-commodity__flow-arrow {
    padding: 16px 0; }
    .page-commodity__flow-arrow::before {
      left: 0;
      top: 10px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 12px;
      height: 12px;
      border: 12px solid transparent;
      border-top: 12px solid #4C8FBF; }
  .page-commodity__flow-txt {
    padding: 8px 16px; }
  .page-commodity__flow02-box {
    padding: 8px 16px;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px; }
  .page-commodity__flow02-img01 {
    width: 200px; }
  .page-commodity__flow02-img02 {
    width: 150px; }
  .page-commodity__flow02-arrow {
    position: relative; }
    .page-commodity__flow02-arrow::before {
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      content: "";
      vertical-align: middle;
      box-sizing: border-box;
      width: 12px;
      height: 12px;
      border: 12px solid transparent;
      border-top: 12px solid #4C8FBF; } }

.page-company__btn {
  width: 400px;
  margin: 0 auto; }
.page-company__box {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  gap: 32px 72px;
  flex-wrap: wrap; }
  .page-company__box-img {
    border-radius: 50%;
    border: 2px solid #4C8FBF;
    width: 200px;
    height: 200px;
    overflow: hidden;
    margin: 0 auto; }
    .page-company__box-img img {
      width: auto;
      height: 100%;
      object-fit: cover; }
.page-company__block {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  gap: 40px; }
  .page-company__block-img {
    width: 150px; }
  @media screen and (max-width: 768px) {
    .page-company__block {
      gap: 16px; }
      .page-company__block-img {
        width: calc(40vw); } }
.page-company #concept01, .page-company #concept02, .page-company #concept03, .page-company #concept04 {
  padding-top: 100px;
  margin-top: -100px;
  padding-bottom: 80px; }
.page-company__msg .sub__content {
  padding: 0 0 120px; }
.page-company__msg-box {
  background: #F9F9F9;
  padding-bottom: 100px; }
.page-company__msg-top {
  background-image: url(../images/company/img_ceo-msg-pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(8.5714285714vw) 0 calc(15.7142857143vw); }
.page-company__msg-ttl {
  font-size: calc(2.2857142857vw);
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.3); }
  @media screen and (min-width: 1400px) {
    .page-company__msg-ttl {
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) {
    .page-company__msg-ttl {
      font-size: calc(7.4666666667vw); } }
.page-company__msg-body {
  background: #FFFFFF;
  padding: calc(5.7142857143vw) 0;
  border-radius: 40px;
  max-width: 1200px;
  margin: calc(-7.1428571429vw) auto 0; }
  @media screen and (max-width: 1232px) {
    .page-company__msg-body {
      max-width: 100%;
      margin: calc(-7.1428571429vw) 16px 0; } }
.page-company__msg-sign {
  width: 280px;
  margin-left: auto; }
.page-company__concept {
  position: relative; }
  .page-company__concept-ttl {
    font-size: calc(5.7142857143vw);
    font-weight: 700;
    color: #CFCFCF;
    text-align: center;
    line-height: 1; }
    @media screen and (min-width: 1400px) {
      .page-company__concept-ttl {
        font-size: 8rem; } }
  .page-company__concept-jpttl {
    color: #FFFFFF; }
  .page-company__concept-list {
    color: #FFFFFF; }
    .page-company__concept-list li {
      text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); }
  .page-company__concept-lead {
    line-height: 1.4;
    color: #FFFFFF;
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); }
  .page-company__concept-btn {
    width: calc(22.8571428571vw);
    margin: 0 auto; }
    .page-company__concept-btn .btn02 {
      padding: 16px; }
      .page-company__concept-btn .btn02::after {
        right: 16px; }
    @media screen and (min-width: 1400px) {
      .page-company__concept-btn {
        width: 320px; } }
  .page-company__concept-box {
    position: absolute;
    width: 100%; }
    .page-company__concept-box.box01 {
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      top: 5%; }
    .page-company__concept-box.box02 {
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      top: 31%; }
    .page-company__concept-box.box03 {
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      top: 63%; }
  .page-company__concept-about {
    background: #DEDEDE;
    padding: 24px 56px 40px;
    margin-top: 40px;
    position: relative; }
    .page-company__concept-about::after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-right: 50px solid transparent;
      border-left: 50px solid transparent;
      border-bottom: 60px solid #DEDEDE;
      border-top: 0;
      top: -30px;
      right: 22%; }
  .page-company__concept-blue {
    background: #022A43;
    padding: 70px 0 130px; }
    .page-company__concept-blue-ttl {
      font-size: calc(4.4285714286vw); }
    .page-company__concept-blue-block {
      display: flex;
      display: -webkit-flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 64px; }
    .page-company__concept-blue-txt {
      width: 80%;
      line-height: 2; }
    .page-company__concept-blue-logo {
      width: 13%; }
  .page-company__concept-list {
    text-align: center; }
    .page-company__concept-list ul {
      display: inline-block; }
      .page-company__concept-list ul li {
        text-align: left; }
.page-company__ideal .ideal-box {
  position: relative; }
  .page-company__ideal .ideal-box .ttl11 {
    position: relative;
    z-index: 2; }
  .page-company__ideal .ideal-box .lead01, .page-company__ideal .ideal-box .list03 li, .list03 .page-company__ideal .ideal-box li {
    line-height: 2; }
.page-company__ideal .ideal-btn {
  width: 400px;
  margin: 0 auto; }
.page-company__ideal #ideal01 {
  padding-top: calc(7.5714285714vw); }
  .page-company__ideal #ideal01::before {
    content: "";
    background: url(../images/company/img_ideal_world.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(48.5714285714vw);
    height: calc(20.3571428571vw);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; }
  .page-company__ideal #ideal01::after {
    content: "";
    background: url(../images/company/img_ideal_num01.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(16.7142857143vw);
    height: calc(11.2142857143vw);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0; }
  .page-company__ideal #ideal01 .ttl11 {
    padding-bottom: calc(7.5714285714vw); }
.page-company__ideal #ideal02 {
  padding-top: calc(2.5714285714vw); }
  .page-company__ideal #ideal02::before {
    content: "";
    background: url(../images/company/img_ideal_history.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(56.1428571429vw);
    height: calc(9.7857142857vw);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0; }
  .page-company__ideal #ideal02::after {
    content: "";
    background: url(../images/company/img_ideal_num02.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(16.7142857143vw);
    height: calc(11.2142857143vw);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; }
  .page-company__ideal #ideal02 .ttl11 {
    padding-bottom: calc(6.7142857143vw);
    text-align: right; }
.page-company__ideal #ideal03 {
  padding-top: calc(7.5714285714vw); }
  .page-company__ideal #ideal03::before {
    content: "";
    background: url(../images/company/img_ideal_field.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(72vw);
    height: calc(20.3571428571vw);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; }
  .page-company__ideal #ideal03::after {
    content: "";
    background: url(../images/company/img_ideal_num03.svg) 0 0 no-repeat;
    background-size: contain;
    width: calc(16.7142857143vw);
    height: calc(11.2142857143vw);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0; }
  .page-company__ideal #ideal03 .ttl11 {
    padding-bottom: calc(10.6428571429vw); }
@media screen and (min-width: 1400px) {
  .page-company__ideal #ideal01 {
    padding-top: 106px; }
    .page-company__ideal #ideal01::before {
      width: 680px;
      height: 285px; }
    .page-company__ideal #ideal01::after {
      width: 234px;
      height: 157px; }
    .page-company__ideal #ideal01 .ttl11 {
      padding-bottom: 106px; }
  .page-company__ideal #ideal02 {
    padding-top: 36px; }
    .page-company__ideal #ideal02::before {
      width: 786px;
      height: 137px; }
    .page-company__ideal #ideal02::after {
      width: 234px;
      height: 157px; }
    .page-company__ideal #ideal02 .ttl11 {
      padding-bottom: 94px; }
  .page-company__ideal #ideal03 {
    padding-top: 106px; }
    .page-company__ideal #ideal03::before {
      width: 1008px;
      height: 285px; }
    .page-company__ideal #ideal03::after {
      width: 234px;
      height: 157px; }
    .page-company__ideal #ideal03 .ttl11 {
      padding-bottom: 149px; } }
.page-company__msg .sub__content {
  padding: 0 0 120px; }
.page-company__msg-box {
  background: #F9F9F9;
  padding-bottom: 100px; }
.page-company__msg-top {
  background-image: url(../images/company/img_ceo-msg-pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(8.5714285714vw) 0 calc(15.7142857143vw); }
.page-company__msg-ttl {
  font-size: calc(2.2857142857vw);
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.3); }
  @media screen and (min-width: 1400px) {
    .page-company__msg-ttl {
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) {
    .page-company__msg-ttl {
      font-size: calc(7.4666666667vw); } }
.page-company__msg-body {
  background: #FFFFFF;
  padding: calc(5.7142857143vw) 0;
  border-radius: 40px;
  max-width: 1200px;
  margin: -100px auto 0; }
  @media screen and (max-width: 1232px) {
    .page-company__msg-body {
      max-width: 100%;
      margin: -100px 16px 0; } }
.page-company__msg-sign {
  width: 280px;
  margin-left: auto; }
@media screen and (max-width: 768px) {
  .page-company__btn {
    width: 100%;
    margin: 0 auto; }
  .page-company__box {
    gap: 32px 16px; }
    .page-company__box-item {
      width: calc((100% - 16px) / 2); }
    .page-company__box-img {
      width: calc(32vw);
      height: calc(32vw); }
  .page-company__msg .sub__content {
    padding: 0 0 64px; }
  .page-company__msg-box {
    padding-bottom: 48px; }
  .page-company__msg-top {
    background-image: url(../images/company/img_ceo-msg-sp.jpg);
    padding: calc(26.6666666667vw) 0 calc(48vw); }
  .page-company__msg-ttl {
    font-size: calc(5.8666666667vw);
    padding: 0 16px; }
  .page-company__msg-body {
    padding: calc(10.6666666667vw) 0;
    border-radius: 26px; }
  .page-company__msg-sign {
    width: 60%; }
  .page-company__concept {
    position: relative; }
    .page-company__concept-bg {
      margin-bottom: 40px; }
    .page-company__concept-ttl {
      font-size: calc(8vw);
      color: #022A43;
      text-align: left; }
      .page-company__concept-ttl::before {
        content: "●";
        color: #cfcfcf;
        font-size: calc(8vw);
        display: inline-block;
        margin-right: 8px; }
    .page-company__concept-jpttl {
      color: #022A43;
      text-align: left; }
    .page-company__concept-list {
      color: #333; }
    .page-company__concept-lead {
      color: #022A43;
      text-align: left; }
    .page-company__concept-btn {
      width: 100%; }
    .page-company__concept-box {
      width: 100%;
      position: relative; }
      .page-company__concept-box + .page-company__concept-box {
        margin-top: 40px; }
    .page-company__concept-about {
      background: #DEDEDE;
      padding: 16px 16px 24px;
      margin-top: 32px; }
      .page-company__concept-about::after {
        border-right: 30px solid transparent;
        border-left: 30px solid transparent;
        border-bottom: 40px solid #DEDEDE;
        top: -30px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); }
    .page-company__concept-blue {
      padding: 32px 0 40px; }
      .page-company__concept-blue-ttl {
        font-size: calc(10.6666666667vw); }
      .page-company__concept-blue-block {
        flex-direction: column;
        gap: 24px; }
      .page-company__concept-blue-txt {
        width: 100%; }
      .page-company__concept-blue-logo {
        width: 40%;
        margin: 0 auto; }
  .page-company__block03 {
    gap: 16px; }
    .page-company__block03 .page__block03-txt {
      order: 1; }
    .page-company__block03 .page__block03-img {
      order: 2; }
  .page-company__ideal .ideal-btn {
    width: 100%; }
  .page-company__ideal #ideal01 {
    padding-top: calc(16vw); }
    .page-company__ideal #ideal01::before {
      width: calc(86.1333333333vw);
      height: calc(34.4vw);
      top: calc(5.3333333333vw); }
    .page-company__ideal #ideal01::after {
      width: calc(22.6666666667vw);
      height: calc(25.6vw); }
    .page-company__ideal #ideal01 .ttl11 {
      padding-bottom: calc(13.3333333333vw); }
  .page-company__ideal #ideal02 {
    padding-top: calc(22.6666666667vw); }
    .page-company__ideal #ideal02::before {
      width: calc(99.4666666667vw);
      height: calc(17.3333333333vw);
      top: calc(20vw);
      right: auto;
      left: 0; }
    .page-company__ideal #ideal02::after {
      width: calc(22.6666666667vw);
      height: calc(25.6vw);
      top: 0;
      left: auto;
      right: 0; }
    .page-company__ideal #ideal02 .ttl11 {
      padding-bottom: calc(5.3333333333vw);
      text-align: left; }
  .page-company__ideal #ideal03 {
    padding-top: calc(26.6666666667vw); }
    .page-company__ideal #ideal03::before {
      width: calc(99.2vw);
      height: calc(28vw);
      top: calc(20vw); }
    .page-company__ideal #ideal03::after {
      width: calc(22.6666666667vw);
      height: calc(25.6vw);
      top: 0;
      right: 0; }
    .page-company__ideal #ideal03 .ttl11 {
      padding-bottom: calc(10.6428571429vw); } }

.page-oem__btn {
  width: 400px;
  margin: 0 auto;
  padding: 64px 0; }
.page-oem #solution01, .page-oem #solution02 {
  padding-top: 60px;
  margin-top: -60px; }
@media screen and (max-width: 768px) {
  .page-oem__btn {
    width: 100%;
    padding: 40px 0 0; } }

.page-news .tabs .tab__item {
  width: calc(100% / 4); }
.page-news__icon {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 16px; }
.page-news .lead01 + .lead01, .page-news .list03 li + .lead01, .list03 .page-news li + .lead01, .page-news .list03 .lead01 + li, .list03 .page-news .lead01 + li, .page-news .list03 li + li, .list03 .page-news li + li {
  margin-top: 16px; }
.page-news__btn {
  width: 400px;
  margin: 0 auto;
  padding: 64px 0; }
@media screen and (max-width: 768px) {
  .page-news__btn {
    width: 100%; }
  .page-news .news {
    padding: 32px 0 40px; } }
.page-news .news__content {
  margin-top: 64px; }
  .page-news .news__content p,
  .page-news .news__content ul,
  .page-news .news__content ol,
  .page-news .news__content table {
    line-height: 1.5;
    margin-bottom: 16px; }
  .page-news .news__content a {
    color: #4C8FBF;
    text-decoration: underline; }
  .page-news .news__content table {
    width: 100%;
    border-top: 1px solid #BCBCBC;
    border-left: 1px solid #BCBCBC; }
  .page-news .news__content table, .page-news .news__content td, .page-news .news__content th {
    border-collapse: collapse; }
  .page-news .news__content td, .page-news .news__content th {
    padding: 20px;
    font-size: 1.6rem;
    line-height: 1.75;
    font-weight: 400;
    border-right: 1px solid #BCBCBC;
    border-bottom: 1px solid #BCBCBC; }
    .page-news .news__content td a, .page-news .news__content th a {
      font-size: 1.6rem;
      line-height: 1.75;
      color: #4C8FBF;
      text-decoration: underline;
      transition: 0.3s; }
      .page-news .news__content td a:hover, .page-news .news__content th a:hover {
        transition: 0.3s; }
  .page-news .news__content th {
    background: #022A43;
    color: #FFFFFF;
    text-align: center;
    font-weight: 500; }
  .page-news .news__content .bg-gray {
    background: #f5f5f5;
    font-weight: 500; }
  .page-news .news__content .non-table {
    border-top: none !important;
    border-left: none !important; }
    .page-news .news__content .non-table td, .page-news .news__content .non-table th {
      border-right: none !important;
      border-bottom: none !important; }
      .page-news .news__content .non-table td img, .page-news .news__content .non-table th img {
        width: auto !important;
        height: auto !important; }
  @media screen and (max-width: 1001px) {
    .page-news .news__content td, .page-news .news__content th {
      padding: 15px;
      font-size: 16px; }
      .page-news .news__content td a, .page-news .news__content th a {
        font-size: 16px; } }
  @media screen and (max-width: 768px) {
    .page-news .news__content td, .page-news .news__content th {
      padding: 15px;
      font-size: 14px; }
      .page-news .news__content td a, .page-news .news__content th a {
        font-size: 14px; }
    .page-news .news__content .non-table td, .page-news .news__content .non-table th {
      width: 100%;
      display: block; } }
  @media screen and (max-width: 428px) {
    .page-news .news__content td, .page-news .news__content th {
      font-size: 14px; }
      .page-news .news__content td a, .page-news .news__content th a {
        font-size: 14px; }
    .page-news .news__content .non-table td, .page-news .news__content .non-table th {
      width: 100%;
      display: block; } }

.page-support__search {
  background: #F4F4F4;
  padding: 40px 60px;
  margin-top: 16px; }
  .page-support__search .search-form {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    gap: 8px; }
    .page-support__search .search-form input {
      width: 550px;
      height: 45px;
      padding: 5px 15px;
      border: 1px solid #B3B3B3;
      box-sizing: border-box;
      background-color: #fff;
      font-size: 1.4rem;
      outline: none; }
      .page-support__search .search-form input::placeholder {
        color: #ccc;
        font-size: 1.4rem; }
    .page-support__search .search-form .entered::placeholder {
      color: #000; }
    .page-support__search .search-form button {
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center;
      align-items: center;
      width: 45px;
      height: 45px;
      border: none;
      background-color: #022A43;
      cursor: pointer;
      position: relative; }
      .page-support__search .search-form button:after {
        content: "";
        background: url(../images/support/ico_search.svg) 0 0 no-repeat;
        background-size: contain;
        width: 23px;
        height: 27px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%); }
  .page-support__search .form-select {
    width: 603px;
    height: 45px;
    padding: 5px 15px; }
.page-support__wrap {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 64px;
  padding: 0 32px; }
  .page-support__wrap > div {
    width: 20%; }
@media screen and (max-width: 768px) {
  .page-support__search {
    padding: 16px 8px 16px; }
    .page-support__search .search-form label {
      width: 100%; }
    .page-support__search .search-form input {
      width: 100%;
      height: 45px;
      padding: 5px 10px; }
  .page-support .form-select {
    width: 100%;
    height: 45px;
    padding: 5px 15px; }
  .page-support__wrap {
    gap: 8px;
    padding: 0; }
    .page-support__wrap > div {
      width: calc((100% - 8px) / 2); }
      .page-support__wrap > div:nth-child(n+3) {
        margin-top: 16px; } }

.page-inquiry__box {
  border: 3px solid #022A43;
  padding: 40px; }
  .page-inquiry__box__ttl {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; }
  .page-inquiry__box-tel {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: calc(2.2857142857vw);
    font-weight: 700;
    margin-bottom: 0; }
  .page-inquiry__box-wrap {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    margin-top: 16px; }
    .page-inquiry__box-wrap div p {
      text-align: center; }
    .page-inquiry__box-wrap div + div {
      border-left: 1px solid #022A43;
      padding-left: 24px; }
@media screen and (min-width: 1400px) {
  .page-inquiry {
    font-size: calc(2.2857142857vw); } }
@media screen and (max-width: 768px) {
  .page-inquiry__box {
    padding: 16px; }
    .page-inquiry__box-tel {
      font-size: calc(8.5333333333vw); }
      .page-inquiry__box-tel a {
        font-size: calc(8.5333333333vw); }
    .page-inquiry__box-wrap {
      flex-direction: column;
      gap: 16px;
      margin-top: 16px; }
      .page-inquiry__box-wrap div p {
        text-align: center; }
      .page-inquiry__box-wrap div + div {
        border-left: none;
        border-top: 1px solid #022A43;
        padding-left: 0;
        padding-top: 16px; } }

.information {
  background: #f2f2f2;
  padding-bottom: 140px; }
  .information-inner {
    padding: 70px 0 0; }
  .information-list dl {
    background: #FFFFFF;
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 50px; }
    .information-list dl + dl {
      margin-top: 13px; }
    .information-list dl dt {
      width: 13%; }
    .information-list dl dd {
      width: 87%;
      font-weight: 400;
      font-size: 1.6rem;
      line-height: 1.25;
      padding: 25px 0; }
      .information-list dl dd a {
        display: block;
        transition: 0.3s; }
        .information-list dl dd a:hover {
          color: #FF3100;
          transition: 0.3s; }
    .information-list dl .new a {
      position: relative;
      padding-left: 60px; }
      .information-list dl .new a:before {
        content: "NEW";
        color: #FFFFFF;
        background: #E22E17;
        font-weight: 700;
        padding: 3px 7px;
        font-size: 1.2rem;
        margin-right: 10px;
        position: absolute;
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
  .information-content {
    background: #fff;
    padding: 80px 0 90px; }
    .information-content-honbun {
      padding-top: 45px; }
    .information-content-row {
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      align-items: center; }
    .information-content-img {
      width: 35%;
      margin: 30px auto; }
      .information-content-img + .information-content-img {
        margin-left: 20px; }
    .information-content .new:after {
      content: "NEW";
      color: #FFFFFF;
      background: #E22E17;
      font-weight: 700;
      padding: 3px 7px;
      display: inline;
      font-size: 1.2rem;
      margin-left: 10px; }
  .information-btn {
    max-width: 370px;
    margin: 50px auto 0; }
  @media screen and (max-width: 1001px) {
    .information {
      padding-bottom: calc(11.988011988vw); }
      .information-inner {
        padding: calc(4.995004995vw) 0 0; }
      .information-content {
        padding: calc(5.994005994vw) 0 calc(7.992007992vw); }
        .information-content-honbun {
          padding-top: calc(4.4955044955vw); }
        .information-content-img {
          width: 40%;
          margin: calc(2.997002997vw) auto; } }
  @media screen and (max-width: 768px) {
    .information {
      padding-bottom: calc(10.4166666667vw); }
      .information-inner {
        padding: calc(3.90625vw) 0; }
      .information-list dl {
        display: flex;
        display: -webkit-flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        padding: calc(2.6041666667vw); }
        .information-list dl dt {
          width: 100%;
          padding-left: 0; }
        .information-list dl dd {
          width: 100%;
          padding: calc(2.6041666667vw) 0 0; }
          .information-list dl dd a {
            font-size: 1.4rem;
            line-height: 1.4285714286;
            padding: 0; }
        .information-list dl .new {
          padding: calc(6.5104166667vw) 0 0; }
          .information-list dl .new a {
            display: inline-block;
            padding-left: 0; }
            .information-list dl .new a:before {
              top: -15px; }
      .information-content {
        padding: calc(7.8125vw) 0 calc(10.4166666667vw); }
        .information-content-honbun {
          padding-top: calc(5.859375vw); }
        .information-content-img {
          width: 40%;
          margin: calc(3.90625vw) auto; }
      .information-btn {
        width: 70%; } }
  @media screen and (max-width: 428px) {
    .information-inner {
      padding: calc(10.6666666667vw) 0; }
    .information-list dl {
      padding: calc(5.3333333333vw); }
      .information-list dl dd {
        padding: calc(4vw) 0 0; }
    .information-content {
      padding: calc(10.6666666667vw) 0 calc(13.3333333333vw); }
      .information-content-honbun {
        padding-top: calc(8vw); }
      .information-content-img {
        width: 60%;
        margin: calc(5.3333333333vw) auto; }
        .information-content-img + .information-content-img {
          margin-left: auto; }
      .information-content-row {
        flex-direction: column; } }

.sitemap__body-box {
  margin-bottom: calc(5.1428571429vw); }
.sitemap__body-ttl {
  color: #022A43;
  margin-bottom: calc(0.5714285714vw); }
  .sitemap__body-ttl a {
    color: #022A43;
    text-decoration: none;
    transition: all ease .7s; }
    .sitemap__body-ttl a:hover {
      opacity: .6;
      cursor: pointer; }
    .sitemap__body-ttl a:hover {
      text-decoration: underline; }
  .sitemap__body-ttl + .sitemap__body-ttl {
    margin-top: calc(1.7142857143vw); }
  .sitemap__body-ttl.store {
    position: relative;
    padding-left: calc(2.2857142857vw); }
    .sitemap__body-ttl.store::before {
      content: "";
      background: url(../images/common/ico_store.svg) 0 0 no-repeat;
      background-size: contain;
      width: calc(1.8571428571vw);
      height: calc(1.8571428571vw);
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 0; }
  .sitemap__body-ttl.link-blank {
    padding-right: calc(0.5714285714vw); }
    .sitemap__body-ttl.link-blank::after {
      content: "";
      background: url(../images/common/ico_link-blank.svg) 0 0 no-repeat;
      background-size: contain;
      width: calc(1.2857142857vw);
      height: calc(1vw);
      display: inline-block;
      margin-left: calc(0.5714285714vw); }
.sitemap__listrow {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 80px; }
.sitemap__list {
  width: 33%;
  gap: 8px; }
  .sitemap__list + .sitemap__body-ttl {
    margin-top: calc(1.7142857143vw); }
  .sitemap__list-item {
    margin-top: calc(0.5714285714vw); }
    .sitemap__list-item a {
      position: relative;
      padding-left: calc(1.5714285714vw);
      display: inline-block;
      text-decoration: none;
      transition: all ease .7s; }
      .sitemap__list-item a:hover {
        opacity: .6;
        cursor: pointer; }
      .sitemap__list-item a:hover {
        text-decoration: underline; }
      .sitemap__list-item a::before {
        content: "";
        background: #333;
        width: calc(0.8571428571vw);
        height: calc(0.0714285714vw);
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0; }
.sitemap__layout {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap; }
  .sitemap__layout .sitemap__list-item {
    width: 33.33%; }
    .sitemap__layout .sitemap__list-item:nth-child(n+4) {
      margin-top: 8px; }
@media screen and (min-width: 1400px) {
  .sitemap__body {
    width: calc(100% - 32% - 60px); }
    .sitemap__body-box {
      margin-bottom: 72px; }
    .sitemap__body-ttl {
      margin-bottom: 8px; }
      .sitemap__body-ttl + .sitemap__body-ttl {
        margin-top: 24px; }
      .sitemap__body-ttl.store {
        padding-left: 32px; }
        .sitemap__body-ttl.store::before {
          width: 26px;
          height: 26px; }
      .sitemap__body-ttl.link-blank {
        padding-right: 8px; }
        .sitemap__body-ttl.link-blank::after {
          width: 18px;
          height: 14px;
          margin-left: 8px; }
  .sitemap__list {
    gap: 8px; }
    .sitemap__list + .sitemap__body-ttl {
      margin-top: 24px; }
    .sitemap__list-item a {
      padding-left: 22px; }
      .sitemap__list-item a::before {
        width: 12px;
        height: 1px; }
    .sitemap__list-item + .sitemap__list-item {
      margin-top: 8px; } }
@media screen and (max-width: 768px) {
  .sitemap__body {
    width: 100%; }
    .sitemap__body-ttl.store {
      padding-left: calc(8.5333333333vw); }
      .sitemap__body-ttl.store::before {
        width: calc(6.9333333333vw);
        height: calc(6.9333333333vw); }
    .sitemap__body-ttl.link-blank {
      padding-right: calc(2.1333333333vw); }
      .sitemap__body-ttl.link-blank::after {
        width: calc(4.8vw);
        height: calc(3.7333333333vw);
        margin-left: calc(2.1333333333vw); }
    .sitemap__body-ttl + .sitemap__body-ttl {
      margin-top: calc(6.4vw); }
    .sitemap__body-list {
      margin-top: 28px;
      display: flex;
      display: -webkit-flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: wrap;
      gap: 16px 8px; }
      .sitemap__body-list .sitemap__body-ttl {
        width: calc(50% - 4px);
        margin: 0; }
        .sitemap__body-list .sitemap__body-ttl + .sitemap__body-ttl {
          margin-top: 0; }
  .sitemap__listrow {
    gap: 8px;
    flex-direction: column; }
  .sitemap__list {
    width: 100%;
    gap: 8px; }
    .sitemap__list + .sitemap__body-ttl {
      margin-top: calc(6.4vw); }
    .sitemap__list-item a {
      padding-left: calc(5.8666666667vw); }
      .sitemap__list-item a::before {
        width: calc(3.2vw);
        height: calc(0.2666666667vw); }
    .sitemap__list-item + .sitemap__list-item {
      margin-top: 8px; }
  .sitemap__layout .sitemap__list-item {
    width: 100%; }
    .sitemap__layout .sitemap__list-item:nth-child(n+4) {
      margin-top: 8px; } }
      
 /* INTALOGIC5ページ：バナー上の余白を詰める */
.page-commodity .sub__content{
  padding-top: 16px; /* 40px → 16px くらいに */
}
@media screen and (max-width: 768px){
  .page-commodity .sub__content{
    padding-top: 12px; /* 24px → 12px */
  }
}
.lp-banner{
  margin: 0 auto 40px; /* 上は0でOK（親paddingで調整する） */
  max-width: 840px;
}
/* 販売終了の注意文（商品ページ共通） */
.product-end-notice{
  text-align: center;
  margin: 32px 0 24px;
}
.product-end-notice__box{
  display: block;           /* inline-block → block */
  width: 100%;              /* inner-content 幅いっぱい */
  box-sizing: border-box;   /* border/padding込みで100%に収める */
  border: 2px solid #E22E17;
  color: #E22E17;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
  padding: 16px 40px;
  background: #fff;
  text-align: center;       /* 文字は中央 */
}

@media screen and (max-width: 768px){
  .product-end-notice{
    margin: 20px 0 16px;
    padding: 0 12px;
  }
  .product-end-notice__box{
    font-size: 1.8rem;
    padding: 12px 18px;
  }
}
/* 商品ページ：導入相談・お問い合わせ（逆配色ボタン） */
.commodity-inquiry-btn{
  width: 100%;
}

.btn02.btn__inquiry-invert{
  background: #022A43;         /* 通常：紺 */
  border: 1px solid #FFFFFF;   /* 枠：白 */
  color: #FFFFFF;              /* 文字：白 */
}

/* 通常時の矢印：白 */
.btn02.btn__inquiry-invert::after{
  background: url(../images/common/ico_arrow_next_wht.svg) 0 0 no-repeat;
  background-size: contain;
}

/* ホバー時：白（既存btn02と逆） */
.btn02.btn__inquiry-invert:hover{
  background: #FFFFFF;
  border: 1px solid #022A43;
  color: #022A43;
}

/* ホバー時の矢印：紺 */
.btn02.btn__inquiry-invert:hover::after{
  background: url(../images/common/ico_arrow_next_nvy.svg) 0 0 no-repeat;
  background-size: contain;
}
/* ===== Top: Products cards (new) ===== */
.productCards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media screen and (max-width: 768px){
  .productCards{
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.productCard{
  position: relative;
  display: block;
  background: #fff;
  border: 1px solid #E6EAF0;
  border-radius: 10px;
  padding: 18px 18px 16px;
  text-decoration: none;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}

.productCard:hover{
  border-color: #BFD4E5;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

/* 右矢印（添付2枚目の雰囲気） */
.productCard::after{
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 10px;
  height: 18px;
  background: url(../images/common/ico_arrow_next_blue.svg) 0 0 no-repeat;
  background-size: contain;
  opacity: .9;
}

/* 左上の分類バッジ */
.productCard__tag{
  position: absolute;
  left: 14px;
  top: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 14px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .04em;
  color: #fff;
}

/* 説明文（ロゴの下） */
.productCard__desc{
  margin-top: 10px;
  padding-right: 22px; /* 右矢印と被りにくく */
  color: #111;
  font-size: 16px;
  line-height: 1.6;
}

/* ===== Category colors (添付3枚目の円イメージ) ===== */
/* UI = yellow */
.tag--ui{
  background: #F2C300;
  color: #111; /* 黄色は黒文字が読みやすい */
}

/* 制御 = blue */
.tag--ctrl{
  background: #6FC6E6;
  color: #111;
}

/* 通信 = pink */
.tag--com{
  background: #F39AA0;
  color: #111;
}

/* 制御×通信 = purple-ish */
.tag--ctrlcom{
  background: #B98CF0;
  color: #111;
}
/* ロゴ枠を少し大きくする */
.productCard__logo{
  height: 110px;          /* 86px → 110px くらいに */
  margin-top: 10px;       /* 18px → 10px くらいに詰める */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ロゴ画像の表示上限を上げる */
.productCard__logo img{
  max-height: 90px;       /* 70px → 90px くらい */
  max-width: 92%;
  width: auto;
  height: auto;
}   
.page-commodity .new-product-section {
  margin-top: 16px;
  margin-bottom: 104px;
}

.page-commodity .new-product-card {
  justify-content: center;
}

.page-commodity .new-product-card .card02__box {
  width: calc((100% - 96px) / 3);
}

.page-commodity .new-product-card .card02__img {
  height: 220px;
  padding: 20px;
}

.page-commodity .new-product-card .card02__img img {
  width: auto;
  height: auto;
  max-width: 78%;
  max-height: 78%;
  object-fit: contain;
  margin: 0 auto;
}

.page-commodity .new-product-card .card02__icon {
  margin-bottom: 12px;
}

.page-commodity .new-product-card .card02__subttl {
  margin-top: 12px;
}

@media screen and (max-width: 768px) {
  .page-commodity .new-product-section {
    margin-top: 12px;
    margin-bottom: 64px;
  }

  .page-commodity .new-product-card .card02__box {
    width: 100%;
  }

  .page-commodity .new-product-card .card02__img {
    height: 200px;
    padding: 16px;
  }

  .page-commodity .new-product-card .card02__img img {
    max-width: 82%;
    max-height: 82%;
  }
}
/* ===== header menu fix ===== */
.l-header__tab-list {
  flex-wrap: nowrap;
}

.l-header__tab-list-item {
  min-width: 0;
}

.l-header__tab-list-item a {
  white-space: nowrap;
  line-height: 1.2;
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  padding-left: clamp(6px, 0.8vw, 16px);
  padding-right: clamp(6px, 0.8vw, 16px);
}