@charset "UTF-8";

/*
Theme Name: main
Theme URI: 
Description: 
Author: ailylab
Author URI: 
Version: 1.0.0
*/
img[src=""] {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 70%;
  border: 1px solid #eee;
}

img[src=""]:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  font-size: 24px;
  white-space: nowrap;
  content: "※画像準備中※";
}

/****************************************
1.Setting
*****************************************/
html,
body,
div,
span,
a,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
address,
em,
img,
dl,
dt,
dd,
ol,
ul,
li,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
time,
video {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

a[href="#none"] {
  color: #313131;
  text-decoration: none;
  pointer-events: none;
}

img {
  display: block;
  max-width: 100%;
  margin: 0px auto;
  -webkit-backface-visibility: hidden;
  /* IE 9 */
  /* Chrome, Safari, Opera */
  transform: translateZ(0);
}

/* Chromeで縮小したアイコン画像がぼやける現象への対策 */
img[src$=".png"],
img[src$=".gif"] {
  -webkit-backface-visibility: hidden;
}

p.paragraph:nth-of-type(n + 2) {
  margin: 1.5em 0px 0px;
}

figcaption {
  padding: 0.35em;
  text-align: center;
}

a:hover>figure>img {
  opacity: 0.8;
}

table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

@media screen and (max-width: 767.98px) {
  .tbl_wrapper {
    overflow-x: scroll;
  }

  .tbl_wrapper>table {
    width: 767px;
  }
}

address {
  font-style: normal;
}

.video_wrapper {
  position: relative;
}

.video_wrapper:not(.js_active)::before {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
}

.video_wrapper:not(.js_active)::after {
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  background-image: url(./images/common/icon_loading.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}

.video_wrapper>video {
  width: 100%;
}

ol.list,
ul.list {
  margin: 0px 0px 0px 1.5em;
}

p+ol.list,
p+ul.list {
  margin: 0.5em 0px 0px 1.5em;
}

ol.list+p,
ul.list+p {
  margin: 0.5em 0px 0px;
}

ol.list>li+li,
ul.list>li+li {
  margin: 1em 0px 0px;
}

ol.list>li>ul,
ul.list>li>ul {
  margin: 1em 0px 0px 1.5em;
}

ol.list>li>.box,
ul.list>li>.box {
  margin: 1em 0px 0px;
}

dl.list {
  border: 1px solid #dedede;
  border-top: none;
}

dl.list>dt,
dl.list>dd {
  padding: 1em;
  margin: 0px;
  border-top: 1px solid #dedede;
}

dl.list>dt {
  background-color: #ecf8fe;
  color: #231815;
  font-weight: bold;
}

.cf:after {
  display: block;
  clear: both;
  content: "";
}

.bw>span,

h2>span,
h3>span,
h4>span,
h5>span,
h6>span,
figcaption>span {
  display: inline-block;
}

h1>span{
  display: block;
}


@media screen and (max-width: 991px) {
  .pc {
    display: none !important;
  }
}

@media screen and (max-width: 767.98px) {
  .tb {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .mb {
    display: none !important;
  }
}

.center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .pc_center {
    text-align: center;
  }
}

.right {
  text-align: right;
}

.em {
  font-size: 16px;
  font-weight: bold;
}

.if_wrapper {
  position: relative;
  padding-bottom: 56.25%;
}

.if_wrapper iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}

.link_prev,
.link_next {
  position: relative;
  padding: 0px 1em;
}

.link_prev {
  float: left;
}

.link_next {
  float: right;
}

.link_prev:before,
.link_next:after {
  position: absolute;
  top: 50%;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}

.link_prev:before {
  left: 0px;
  transform: translateY(-50%) rotate(225deg);
}

.link_next:after {
  right: 0px;
  transform: translateY(-50%) rotate(45deg);
}

.breadcrumb {
  display: flex;
  padding: 0.5em 0px;
  list-style: none;
  white-space: nowrap;
}

.breadcrumb>li {
  position: relative;
  font-size: 14px;
}

.breadcrumb>li:last-of-type {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 767px) {
  .breadcrumb>li {
    font-size: 12px;
  }
}

.breadcrumb>li:nth-of-type(n + 2) {
  padding: 0px 0px 0px 1.5em;
}

.breadcrumb>li:nth-of-type(n + 2):before {
  position: absolute;
  top: 50%;
  left: 0.4em;
  width: 0.5em;
  height: 0.5em;
  transform: translateY(-50%) rotate(45deg);
  border-right: 1px solid #000104;
  border-top: 1px solid #000104;
  content: "";
}

.list_slash {
  list-style: none;
}

.list_slash>li {
  display: inline-block;
  position: relative;
}

.list_slash>li:not(:last-child)::after {
  margin: 0px 0.5em;
  content: "/";
}

/****************************************
2. Layout 
*****************************************/
.mt1em {
  margin-top: 1em;
}

.mb1em {
  margin-bottom: 1em;
}

.mtb1em{
  margin:1em auto;
}

.mtb3em{
  margin:3em auto;
}

.mt30 {
  margin-top: 30px;
}


div[class=col],
div[class^=col-] {
  margin-top: 30px;
}

.row.no_mt {
  margin-top: -30px;
}

.container {
  width: 100%;
}

@media print,
(min-width: 992px) {
  .container {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 576px) {
  .container {
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 100%;
  }
}

@media (min-width: 1100px) {
  .container {
    max-width: 1100px;
  }
}

@media (min-width: 1300px) {
  .container {
    max-width: 1100px;
  }
}

.container_s {
  padding: 0px 15px;
  width: 100%;
}

@media print,
(min-width: 992px) {
  .container_s {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}

@media (min-width: 768px) {
  .container_s {
    max-width: 768px;
  }
}

@media print,
(min-width: 768px) {
  .col2 {
    display: flex;
    padding: 0px 0px 60px;
  }

  .col2_main {
    order: 2;
    width: 75%;
  }

  .col2_side {
    order: 1;
    margin: 0px 20px 0px 0px;
    width: calc(25% - 20px);
  }
}

@media screen and (max-width: 767.98px) {
  .col2_side {
    margin: 30px 0px 0px;
  }
}

/****************************************
3. header,nav
*****************************************/
@media screen and (max-width: 767.98px) {

  .header_cta,
  .header_menu {
    display: none;
  }
}

.header_cta_tel {
  color: #009270;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  text-indent: 0.5px;
  letter-spacing: 0.5px;
}

.header_cta_tel:hover {
  color: #009270;
  opacity: 0.8;
}

.header_cta_contact {
  padding: 0.5em 2em;
  margin: 0px 0px 0px 30px;
  background-color: #d3282a;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.header_cta_contact:hover {
  color: #fff;
  opacity: 0.8;
}

.header_cta_contact::before {
  display: inline-block;
  margin: 0px 0.5em 0px 0px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0e0";
}

.header_title_logo img {
  max-width: 150px;
}

@media print,
(min-width: 1040px) {
  .header_title_logo img {
    max-width: 200px;
  }
}

.header_menu>.menu {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 0px;
  margin: 0px;
}

.header_menu>.menu>li {
  position: relative;
  list-style-type: none;
  font-size: 14px;
}

.header_menu>.menu>li>a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 5em;
  color: #313131;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1;
}

@media screen and (max-width: 991px) {
  .header_menu>.menu>li {
    font-size: 13px;
  }
}

.header_menu>.menu>.current-menu-item::before,
.header_menu>.menu>li:hover::before {
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  width: 100%;
  height: 3px;
  background-color: #0066b5;
  content: "";
}

.header_menu .sub-menu {
  display: block;
  position: absolute;
  top: 5em;
  left: 50%;
  transform: translateX(-50%);
  padding: 2em;
  background-color: rgba(8, 20, 65, 0.8);
  list-style: none;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
}

.header_menu .sub-menu.js_active {
  visibility: visible;
  opacity: 1;
}

.header_menu .sub-menu>li+li {
  margin-top: 1.5em;
}

.header_menu .sub-menu>li>a {
  display: block;
  color: #fff;
  text-decoration: none;
}

.header_menu .sub-menu>li>a:hover {
  color: #007cdb;
}

.page_title {
  position: relative;
  z-index: -1;
  height: 200px;
  background-image: url(./images/pagetitle/common.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

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

.page_title_base>h1 {
  padding: 1em;
  width: 100%;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
}

.post-type-archive-product .page_title,
.single-product .page_title {
  background-image: url(./images/pagetitle/product.jpg);
}

.page-contact .page_title,
.page-contact-child .page_title {
  background-image: url(./images/pagetitle/contact.jpg);
}

.category-news .page_title,
.single-post .page_title {
  background-image: url(./images/pagetitle/news.jpg);
}

.page-privacy .page_title {
  background-image: url(./images/pagetitle/privacy.jpg);
}

.error404 .page_title,
.page-sitemap .page_title {
  background-image: url(./images/pagetitle/common.jpg);
}

/****************************************
4. sidebar
*****************************************/
/****************************************
5. contents
****************************************/
.menu-sitemap-container>.menu {
  margin: -1em 0px 0px 1.5em;
}

.menu-sitemap-container>.menu>li {
  margin: 1em 0px 0px;
  font-size: 17px;
}

.menu-sitemap-container>.menu .sub-menu {
  margin: 0px 0px 0px 2em;
}

.menu-sitemap-container>.menu .sub-menu>li {
  margin: 0.5em 0px 0px;
  font-size: 15px;
}

/****************************************
6. Footer 
****************************************/
@media print,
(max-width: 767.98px) {
  .mnavi {
    display: block;
    position: fixed;
    bottom: 0px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    height: 80px;
    background-color: #009270;
  }
}

@media print,
(min-width: 768px) {
  .mnavi {
    display: none;
  }
}

.mnavi>ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 100%;
  list-style: none;
}

.mnavi>ul>li {
  width: 40px;
  height: 40px;
}

.mnavi>ul>li>a,
.mnavi>ul>li>button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.5vw;
}

.mnavi>ul>li>a:before,
.mnavi>ul>li>button:before {
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 32px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.mnavi_home>a:before {
  content: "\f015";
}

.mnavi_contact>a:before {
  content: "\f0e0";
}

.mnavi_tel>a:before {
  content: "\f095";
}

.mnavi_menu>button:before {
  content: "\f0c9";
}

.mnavi>ul>li>a {
  text-decoration: none;
}

.mnavi>ul>li>button {
  border: none;
  background: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

.mnavi>ul>li span {
  position: absolute;
  bottom: -1em;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  white-space: nowrap;
}

.mnavi_menu_area {
  display: none;
  position: fixed;
  left: 0px;
  bottom: 80px;
  width: 100vw;
  height: calc(100vh - 80px);
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.6);
  overflow-x: hidden;
  overflow-y: scroll;
}

.mnavi_menu_area>.menu {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 90%;
}

.mnavi_menu_area>.menu>li {
  list-style-type: none;
  text-align: center;
}

.mnavi_menu_area>.menu>li>a {
  display: inline-block;
  padding: 1em 2em;
  color: #fff;
  font-size: 4vw;
  text-decoration: none;
}

.to-top {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s;
  position: fixed;
  bottom: 30px;
  right: 40px;
  z-index: 9;
  box-shadow: 0 1px 15px rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 767px) {
  .to-top {
    width: 45px;
    height: 45px;
    bottom: 16px;
    right: 20px;
  }
}

.to-top span {
  margin-top: 4px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #000104;
  border-right: 1px solid #000104;
  transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
  .to-top span {
    width: 7px;
    height: 7px;
  }
}

/****************************************
7. single
****************************************/
.single__content p+p {
  margin: 1em 0px 0px;
}

@media screen and (max-width: 767.98px) {
  .single__content img {
    margin: 1em auto 0px;
  }
}

@media print,
(min-width: 768px) {
  .single__content img {
    margin: 1em 0px 0px;
  }

  .single__content .alignleft {
    display: inline-block;
  }

  .single__content .alignleft+.alignleft {
    margin: 1em 0px 0px 1em;
  }

  .single__content .aligncenter {
    margin: 1em auto 0px;
  }

  .single__content .alignright {
    margin: 1em 0px 0px 100%;
    transform: translateX(-100%);
  }
}

/****************************************
8. WP
****************************************/
/****************************************
9. Print
****************************************/
/****************************************
10. Plugin
****************************************/
.no_must {
  display: block;
  background-color: #fc0;
  padding: 4px 5px;
  font-size: 13px;
  color: #fff;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #ccc;
}

.bx-wrapper {
  background-color: transparent;
  margin: 0px auto 0px;
  border: none;
  box-shadow: none;
}

.bx-wrapper img {
  display: block;
  margin: 0px auto;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #c9e2ff;
}

/****************************************
10. Tweak
****************************************/
/****************************************
11. メールフォームプロ用スタイル
****************************************/
form#mailformpro .mailform {
  margin: 0px;
}

form#mailformpro dl {
  box-sizing: border-box;
}

form#mailformpro dl dt {
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  border: none;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}

form#mailformpro dl dd {
  box-sizing: border-box;
  border: none;
}

form#mailformpro dl dt:nth-of-type(n + 2),
form#mailformpro dl dd:nth-of-type(n + 2) {
  border-top: 1px solid #d3dad9;
}

.mfp_colored {
  background: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
  padding: 1em;
  margin: 0px;
  width: 100% !important;
  box-sizing: border-box;
  border: 1px solid #95cec7;
  background-color: #ebf2fe;
  box-shadow: none;
  outline: none;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
  padding: 0.5em 3em;
  box-sizing: border-box;
  background: none;
  background-color: #008aef;
  box-shadow: none;
  color: #fff;
  font-size: 18px;
  text-shadow: 0px 2px 0px #00564d;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover {
  background: none;
  background-color: #48a5e8;
  box-shadow: none;
}

div.mfp_err {
  padding: 0.5em 0px 0.5em 1em;
  background: none;
}

.problem {
  border: 1px solid #ffd5dc;
  background-color: #ffd5dc;
}

.must,
.no_must {
  display: block;
  padding: 0px 1em;
  border-radius: 4px;
  background: none;
  box-shadow: none;
  text-shadow: none;
  color: #fff;
  font-size: 10px;
  line-height: 1.5;
}

.must {
  border: 1px solid #c60505;
  background-color: #c60505;
}

.no_must {
  border: 1px solid #fc0;
  background-color: #fc0;
}

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

  form#mailformpro dl dt,
  form#mailformpro dl dd {
    padding: 1em;
    width: 100%;
  }

  .must,
  .no_must {
    margin: 2px 2em 0px 0px;
  }
}

@media print,
(min-width: 768px) {
  form#mailformpro dl {
    display: flex;
    flex-wrap: wrap;
  }

  form#mailformpro dl dt {
    float: none;
    padding: 2em 0px;
    width: 280px;
  }

  form#mailformpro dl dd {
    padding: 2em 2em 2em 0px;
    width: calc(100% - 280px);
  }

  .mfp_element_text,
  .mfp_element_number,
  .mfp_element_select-one,
  .mfp_element_email,
  .mfp_element_tel,
  .mfp_element_textarea {
    max-width: 500px;
  }

  .must,
  .no_must {
    margin: 2px 2em 0px;
  }
}

a {
  text-decoration: none;
  color: inherit;
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: inherit;
  }
}

ul,
li {
  list-style: none;
}

.error404 .col a {
  text-decoration: underline;
}

body {
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #000104;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    line-height: 1.75;
  }
}

a {
  transition: opacity 0.3s;
  cursor: pointer;
}

a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  a:hover {
    opacity: 1;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.heading01 {
  position: relative;
}

.heading01__ja {
  font-size: 50px;
  font-weight: 500;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  color: #0539a0;
  line-height: 1.5;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .heading01__ja {
    font-size: 28px;
  }
}

.heading01__en {
  font-size: 96px;
  font-weight: 900;
  font-family: "forma-djr-text", sans-serif;
  letter-spacing: 0.023em;
  line-height: 1;
  color: rgba(178, 205, 250, 0.26);
  position: absolute;
  top: -0.575em;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .heading01__en {
    font-size: 55px;
  }
}

.heading02 {
  display: flex;
  flex-direction: column-reverse;
  color: #fff;
  text-align: center;
}

.heading02__main {
  font-size: 50px;
  font-weight: 500;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading02__main {
    font-size: 32px;
  }
}

.heading02__sub {
  font-size: 20px;
  font-weight: 500;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading02__sub {
    font-size: 16px;
  }
}

.heading03 {
  font-size: min(40px, 3.5087719298vw);
  color: #0539a0;
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .heading03 {
    font-size: min(22px, 5.8666666667vw);
  }
}

.heading04 {
  font-size: min(34px, 2.9824561404vw);
  color: #fff;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading04 {
    font-size: min(20px, 5.3333333333vw);
  }
}

.heading04>span {
  display: inline-block;
}

.heading05 {
  font-size: min(30px, 3vw);
  color: #0539a0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading05 {
    font-size: min(20px, 5.3333333333vw);
  }
}

.heading05 span {
  display: inline-block;
}

.heading06 {
  font-size: min(28px, 2.8vw);
  color: #0539a0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading06 {
    font-size: 20px;
  }
}

.heading06>span {
  display: inline-block;
}

.heading07 {
  font-size: 26px;
  color: #0539a0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading07 {
    font-size: 17px;
  }
}

.heading07>span {
  display: inline-block;
}

.heading08 {
  font-size: min(22px, 1.9298245614vw);
  font-weight: 600;
  color: #0539a0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading08 {
    font-size: 14px;
  }
}

.heading08 span {
  font-size: 17px;
}

@media screen and (max-width: 767px) {
  .heading08 span {
    font-size: 13px;
  }
}

.heading09 {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  color: #0539a0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .heading09 {
    font-size: 14px;
  }
}

.heading09 span {
  display: inline-block;
}

.btn01 {
  display: inline-block;
  min-width: 205px;
  text-align: center;
  line-height: 1.5;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  padding: 1.25em;
}

@media screen and (max-width: 767px) {
  .btn01 {
    min-width: 250px;
    font-size: 14px;
    padding: 1.1em;
  }
}

.btn01 .icon {
  display: inline-block;
  position: relative;
}

.btn01.-download {
  background-color: #008aef;
}

.btn01.-download .icon {
  padding-left: 28px;
}

.btn01.-contact {
  background-color: #bf1967;
}

.btn01.-contact .icon {
  padding-left: 29px;
  transform: translateX(-3px);
}

.btn01 .icon::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 45%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .btn01 .icon::before {
    top: 40%;
  }
}

.btn01.-download .icon::before {
  width: 18px;
  height: 18px;
  background-image: url(images/common/icon-download.svg);
}

@media screen and (max-width: 767px) {
  .btn01.-download .icon::before {
    width: 20px;
    height: 20px;
  }
}

.btn01.-contact .icon::before {
  width: 20px;
  height: 20px;
  background-image: url(images/common/icon-mail.svg);
}

@media screen and (max-width: 767px) {
  .btn01.-contact .icon::before {
    width: 22px;
    height: 22px;
  }
}

.btn01.-contact.-large {
  min-width: 309px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .btn01.-contact.-large {
    min-width: 250px;
    font-size: 14px;
  }
}

.btn01.-contact.-large .icon {
  padding-left: 38px;
}

.btn01.-contact.-large .icon::before {
  width: 24px;
  height: 24px;
}

.btn01.-contact.-large .arrow {
  display: inline-block;
  margin-left: 15px;
}

.btn06 {
  display: inline-block;
  text-align: center;
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
  padding: 1.25em;
  background-color: #bf1967;
  min-width: 309px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .btn06 {
    min-width: 250px;
    font-size: 14px;
  }
}

.btn06>span {
  display: inline-block;
  position: relative;
  padding-right: 31px;
}

.btn06 .icon {
  display: inline-block;
  position: relative;
  padding-left: 38px;
}

.btn06 .icon::before {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(images/common/icon-mail.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 45%;
  left: 0;
  transform: translateY(-50%);
}

.btn06 .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.btn06 .arrow::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  right: 0;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.btn06 .arrow::after {
  content: "";
  width: 14px;
  height: 1.5px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.btn02 {
  display: inline-block;
  min-width: 157px;
  text-align: center;
  line-height: 1.5;
  font-size: 13px;
  font-weight: 700;
  color: #0343b5;
  background-color: #fff;
  padding: 0.9423em;
}

.btn02>span {
  display: inline-block;
  position: relative;
  padding-right: 25px;
}

.btn02 .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.btn02 .arrow::before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 50%;
  right: 0;
  border-top: 1.5px solid #0343b5;
  border-right: 1.5px solid #0343b5;
  transform: translateY(-50%) rotate(45deg);
}

.btn02 .arrow::after {
  content: "";
  width: 12px;
  height: 1.5px;
  background-color: #0343b5;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.btn03 {
  display: inline-block;
  min-width: 162px;
  text-align: center;
  line-height: 1.5;
  font-size: 13px;
  font-weight: 700;
  color: #0343b5;
  background-color: #fff;
  border: 2px solid #0539a0;
  border-radius: 50px;
  padding: 0.75em;
  transition: all 0.3s;
}

.btn03>span {
  display: inline-block;
  position: relative;
  padding-right: 25px;
}

.btn03 .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.btn03 .arrow::before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 50%;
  right: 0;
  border-top: 1.5px solid #0343b5;
  border-right: 1.5px solid #0343b5;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

.btn03 .arrow::after {
  content: "";
  width: 12px;
  height: 1.5px;
  background-color: #0343b5;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: background-color 0.3s;
}

@media (hover: hover) {
  .btn03:hover {
    opacity: 1;
    color: #fff;
    background-color: #0343b5;
  }

  .btn03:hover .arrow::before {
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
  }

  .btn03:hover .arrow::after {
    background-color: #fff;
  }
}

.btn04 {
  display: inline-block;
  width: min(570px, 100%);
  text-align: center;
  line-height: 1.5;
  font-size: 20px;
  font-weight: 700;
  color: #0539a0;
  background-color: #fff;
  padding: 1.2em;
  position: relative;
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .btn04 {
    font-size: 14px;
    padding: 0.75em 1.2em;
  }
}

.btn04.-blue {
  background-color: #0343b5;
  color: #fff;
}

.btn04 .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 38px;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .btn04 .arrow {
    right: 16px;
  }
}

.btn04 .arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  border-top: 2px solid #0539a0;
  border-right: 2px solid #0539a0;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .btn04 .arrow::before {
    width: 6px;
    height: 6px;
  }
}

.btn04.-blue .arrow::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.btn04 .arrow::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #0539a0;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .btn04 .arrow::after {
    width: 14px;
  }
}

.btn04.-blue .arrow::after {
  background-color: #fff;
}

@media (hover: hover) {
  .btn04:hover {
    opacity: 1;
    color: #fff;
    background-color: #0539a0;
  }

  .btn04:hover .arrow::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }

  .btn04:hover .arrow::after {
    background-color: #fff;
  }

  .btn04.-blue:hover {
    color: #fff;
  }
}

.btn05 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  height: inherit;
  transition: background-color 0.3s;
}

@media screen and (max-width: 1000px) {
  .btn05 {
    min-width: initial;
  }
}

.btn05>span {
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
}

@media screen and (max-width: 1000px) {
  .btn05>span {
    font-size: 10px;
    transform: scale(0.85);
  }
}

.btn05.-contact {
  background-color: #bf1967;
}

.btn05.-download {
  background-color: #008aef;
}

.btn05.-download small {
  display: block;
  line-height: 1;
  text-align: center;
}

.btn05>span {
  position: relative;
}

.btn05.-contact>span {
  padding-top: 38px;
}

@media screen and (max-width: 1000px) {
  .btn05.-contact>span {
    padding-top: 25px;
  }
}

.btn05.-download>span {
  padding-top: 42px;
}

.btn05>span::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.btn05.-contact>span::before {
  width: 34px;
  height: 34px;
  top: -6px;
  background-image: url(images/common/icon-mail.svg);
}

@media screen and (max-width: 1000px) {
  .btn05.-contact>span::before {
    width: 28px;
    height: 28px;
  }
}

.btn05.-download>span::before {
  width: 32px;
  height: 32px;
  background-image: url(images/common/icon-download.svg);
}

@media (hover: hover) {
  .btn05:hover {
    opacity: 1;
  }

  .btn05.-contact:hover {
    background-color: #db1673;
    opacity: 1;
  }

  .btn05.-download:hover {
    background-color: #27a4ff;
    opacity: 1;
  }
}

.btn07 {
  display: inline-block;
  width: min(760px, 100%);
  color: #0539a0;
  background-color: #fff;
  text-align: center;
  padding: 24px 1em 29px;
  position: relative;
  transition: background-color 0.3s;
}

@media screen and (max-width: 767px) {
  .btn07 {
    padding: 16px 3em 20px 2em;
  }
}

.btn07__main {
  margin: 0 auto;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 42px;
  font-weight: 500;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.02em;
  line-height: 1.5;
  position: relative;
}

@media screen and (max-width: 767px) {
  .btn07__main {
    font-size: min(22px, 5.8666666667vw);
  }
}

.btn07__main::before {
  content: "";
  width: 116px;
  height: 83px;
  background-image: url(./images/common/icon-book.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 80%;
  left: -2.8em;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .btn07__main::before {
    width: 68px;
    height: 47px;
    top: 80%;
    left: -1.8em;
  }
}

.btn07__main span {
  font-size: 36px;
}

@media screen and (max-width: 767px) {
  .btn07__main span {
    font-size: 20px;
  }
}

.btn07__sub {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.022em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .btn07__sub {
    margin-top: 0.5em;
    font-size: 12px;
  }
}

.btn07::before,
.btn07::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 47px;
  transition: right 0.3s;
}

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

  .btn07::before,
  .btn07::after {
    right: 1.25em;
  }
}

.btn07::before {
  width: 8px;
  height: 8px;
  border-top: 2px solid #0343b5;
  border-right: 2px solid #0343b5;
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .btn07::before {
    height: 6px;
    width: 6px;
  }
}

.btn07::after {
  width: 20px;
  height: 2px;
  background-color: #0343b5;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .btn07::after {
    width: 14px;
  }
}

@media (hover: hover) {
  .btn07:hover {
    opacity: 1;
    background-color: #ebf2fe;
    color: #0043b5;
  }

  .btn07:hover::before,
  .btn07:hover::after {
    right: 42px;
  }
}

.btn08 {
  display: inline-block;
  width: min(374px, 100%);
  text-align: center;
  line-height: 1.5;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  background-color: #0343b5;
  padding: 0.809em;
  position: relative;
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .btn08 {
    font-size: min(13px, 3.4666666667vw);
    max-width: 300px;
  }
}

@media screen and (max-width: 374px) {
  .btn08 {
    text-align: left;
  }
}

.btn08 .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 38px;
  transform: translateY(-50%);
}

.btn08 .icon::before {
    width: 25px;
    height: 25px;
    background-image: url(images/common/icon-download.svg);
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 45%;
    left: 5%;
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .btn08 .arrow {
    right: 16px;
  }
}

.btn08 .arrow::before {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  top: 50%;
  right: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .btn08 .arrow::before {
    width: 6px;
    height: 6px;
  }
}

@media screen and (max-width: 374px) {
  .btn08 .arrow::before {
    right: -6px;
  }
}

.btn08 .arrow::after {
  content: "";
  width: 16px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .btn08 .arrow::after {
    width: 14px;
  }
}

@media screen and (max-width: 374px) {
  .btn08 .arrow::after {
    right: -6px;
  }
}

@media (hover: hover) {
  .btn08:hover {
    opacity: 1;
    color: #0539a0;
    background-color: #fff;
  }

  .btn08:hover .arrow::before {
    border-top: 2px solid #0539a0;
    border-right: 2px solid #0539a0;
  }

  .btn08:hover .arrow::after {
    background-color: #0539a0;
  }
}

.lead01 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .lead01 {
    font-size: 14px;
  }
}

.circle-arrow01 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #0043b5;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  transition: transform 0.3s;
}

@media screen and (max-width: 767px) {
  .circle-arrow01 {
    width: 36px;
    height: 36px;
  }
}

.circle-arrow01 span {
  display: inline-block;
  width: 14px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .circle-arrow01 span {
    width: 13px;
  }
}

.circle-arrow01 span::before {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  top: 50%;
  right: 0;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .circle-arrow01 span::before {
    width: 5px;
    height: 5px;
  }
}

.circle-arrow01 span::after {
  content: "";
  width: 15px;
  height: 1.5px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .circle-arrow01 span::after {
    width: 12px;
  }
}

.circle-arrow02 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #032767;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  transition: background-color 0.3s;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .circle-arrow02 {
    width: 40px;
    height: 40px;
  }
}

@media (hover: hover) {
  .circle-arrow02:hover {
    background-color: #00389b;
    opacity: 1;
  }
}

.circle-arrow02 span {
  display: inline-block;
  width: 13px;
  position: relative;
}

.circle-arrow02 span::before {
  content: "";
  width: 11px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 0;
}

@media screen and (max-width: 767px) {
  .circle-arrow02 span::before {
    width: 9px;
    height: 9px;
  }
}

.circle-arrow02 span::after {
  content: "";
  width: 14px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.circle-arrow02.-next span::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.circle-arrow02.-next span::after {
  right: 0;
}

.circle-arrow02.-prev span::before {
  left: 1px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.circle-arrow02.-prev span::after {
  width: 15px;
  left: 0;
}

.number01 {
  font-size: min(121px, 10.6140350877vw);
  font-weight: 900;
  font-family: "forma-djr-text", sans-serif;
  letter-spacing: 0.027em;
  line-height: 1;
  color: rgba(178, 205, 250, 0.26);
}

@media screen and (max-width: 767px) {
  .number01 {
    font-size: 65px;
  }
}

.number02 {
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  justify-content: center;
  background-color: #ffd938;
  width: 95px;
  height: 95px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  color: #0539a0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .number02 {
    width: 68px;
    height: 68px;
    font-size: 14px;
    gap: 4px;
  }
}

.number02 span {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .number02 span {
    font-size: 22px;
  }
}

.text-list01 {
  padding-left: 1.35em;
  position: relative;
  line-height: 1.5;
}

.text-list01::before {
  content: "";
  width: 0.9em;
  height: 0.9em;
  background-color: #0539a0;
  border-radius: 50%;
  position: absolute;
  top: 0.275em;
  left: 0;
}

.text-list02 {
  padding-left: 2.47em;
  position: relative;
  line-height: 1.5;
  font-size: min(34px, 2.9824561404vw);
  font-weight: 600;
  color: #0539a0;
}

@media screen and (max-width: 767px) {
  .text-list02 {
    padding-left: 2em;
    font-size: min(19px, 5.0666666667vw);
  }
}

.text-list02.-paddingNarrow {
  padding-left: 1.75em;
}

.text-list02 span {
  padding: 0 0.4em;
  background: linear-gradient(transparent 60%, #ffe474 60%, #ffe474 150%, transparent 150%);
}

@media screen and (max-width: 767px) {
  .text-list02 span {
    padding: 0;
  }
}

.text-list02::before {
  content: "";
  width: min(51px, 4.4736842105vw);
  height: min(51px, 4.4736842105vw);
  background-image: url(./images/common/icon_check.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .text-list02::before {
    width: min(30px, 8vw);
    height: min(30px, 8vw);
  }
}

.text-list03 {
  padding-left: 2.9em;
  position: relative;
  line-height: 1.5;
  font-size: min(26px, 2.2807017544vw);
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .text-list03 {
    padding-left: 2em;
    font-size: 16px;
  }
}

.text-list03::before {
  content: "";
  width: min(45px, 3.9473684211vw);
  height: min(45px, 3.9473684211vw);
  background-image: url(./images/common/icon_check.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: -0.1em;
  left: 0;
}

@media screen and (max-width: 767px) {
  .text-list03::before {
    width: 24px;
    height: 24px;
    top: 0;
  }
}

.text-list04 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 600;
  color: #0539a0;
  line-height: 1;
  writing-mode: vertical-rl;
  border: 3px solid #1c4ba9;
  min-height: 330px;
  padding: 0.9038em;
}

@media screen and (max-width: 767px) {
  .text-list04 {
    font-size: 16px;
    writing-mode: initial;
    min-height: initial;
    width: min(400px, 100%);
  }
}

.text-list04:nth-of-type(odd) {
  background-color: #eff1f5;
}

.text-list04:nth-of-type(even) {
  background-color: #fff;
}

.text-list05 {
  font-size: 12px;
  position: relative;
  padding-left: 1.5em;
  transition: initial;
}

@media screen and (max-width: 767px) {
  .text-list05 {
    padding-left: 1em;
  }
}

.text-list05::before {
  content: "";
  width: 4px;
  height: 1px;
  background-color: #b7c8ea;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.text-list05::after {
  content: "";
  width: calc(100% - 1.5em);
  height: 1px;
  background-color: transparent;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: background-color 0.3s;
}

@media (hover: hover) {
  .text-list05:hover {
    opacity: 1;
  }

  .text-list05:hover::after {
    background-color: #b7c8ea;
  }
}

.text-list06 {
  padding-left: 2em;
  position: relative;
  line-height: 1.5;
  font-weight: 600;
  font-size: 22px;
}

@media screen and (max-width: 767px) {
  .text-list06 {
    font-size: 18px;
  }
}

.text-list06::before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background-image: url(./images/common/icon_check.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}

.icon-text01 {
  display: flex;
  align-items: center;
  gap: 14px;
}

@media screen and (max-width: 767px) {
  .icon-text01__icon {
    width: 42px;
  }
}

.icon-text01__text {
  line-height: 1.53;
  font-size: 34px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .icon-text01__text {
    font-size: 18px;
  }
}

.label01 {
  display: inline-block;
  font-size: 11px;
  color: #fff;
  line-height: 1.5;
  background-color: #0043b5;
  min-width: 37px;
  text-align: center;
  padding: 0.2954em;
}

.label02 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 600;
  color: #fff;
  background-color: #0043b5;
  border-radius: 50%;
  width: 39px;
  height: 39px;
}

@media screen and (max-width: 767px) {
  .label02 {
    font-size: 15px;
    width: 30px;
    height: 30px;
  }
}

.label03 {
  font-size: 20px;
  font-weight: 600;
  color: #c7084c;
  line-height: 1.475;
}

@media screen and (max-width: 767px) {
  .label03 {
    font-size: 15px;
  }
}

.label04 {
  display: inline-block;
  font-size: 11px;
  color: #0539a0;
  line-height: 1.5;
  background-color: #ebf2fe;
  min-width: 37px;
  text-align: center;
  padding: 0.2954em;
}

.tel01 {
  display: inline-flex;
  align-items: flex-end;
  gap: 7px;
  color: #0539a0;
}

.tel01__icon {
  display: inline-block;
}

.tel01__icon::before {
  display: inline-block;
  transform: scaleX(-1) translateY(0.25em);
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
}

.tel01__num {
  line-height: 1;
  font-size: 22px;
  letter-spacing: 0.02em;
  font-weight: 600;
}

.tel01__time {
  line-height: 1;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.02em;
  transform: translateY(-2px);
}

.tel02 {
  display: inline-flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 7px;
  color: #fff;
  font-weight: 600;
}

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

.tel02__icon img {
  width: 20px;
  transform: translateY(-8px);
}

@media screen and (max-width: 767px) {
  .tel02__icon img {
    width: 15px;
    transform: translateY(-6px);
  }
}

.tel02__num {
  line-height: 1.5;
  font-size: 27px;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .tel02__num {
    font-size: 20px;
  }
}

.tel02__time {
  line-height: 1.5;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  transform: translateY(-6px);
}

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

.triangle {
  display: inline-block;
  border-style: solid;
  border-width: 39px 45.5px 0 45.5px;
  border-color: #c7084c transparent transparent transparent;
}

@media screen and (max-width: 767px) {
  .triangle {
    border-width: 25px 30px 0 30px;
  }
}

.text-link01 {
  display: inline-block;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.025em;
  padding-left: 1.25em;
  position: relative;
}

@media screen and (max-width: 767px) {
  .text-link01 {
    display: block;
    padding: 0.25em 0.25em 0.25em 1.25em;
  }
}

.text-link01::before {
  content: "";
  width: 9px;
  height: 9px;
  position: absolute;
  top: 50%;
  left: 0;
  border-top: 1px solid #000104;
  border-right: 1px solid #000104;
  transform: translateY(-50%) rotate(45deg);
}

.text-link01>span {
  display: inline-block;
}

.diagonal-bg {
  position: relative;
}

.diagonal-bg::before {
  content: "";
  width: 100%;
  height: 550px;
  background-color: #0343b5;
  position: absolute;
  top: -36%;
  left: 0;
  transform: skewY(7deg);
  transform-origin: top left;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .diagonal-bg::before {
    height: 126%;
    top: -22%;
  }
}

.inner {
  margin: 0 auto;
  width: min(1190px, 100%);
  padding: 0 25px;
}

@media screen and (max-width: 767px) {
  .inner {
    width: min(540px, 100%);
    padding: 0 20px;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 113px;
  z-index: 10;
  transition: 0.5s;
}

.header.js_active {
  height: 80px;
  background-color: #fff;
  transition: 0.5s;
}

@media screen and (max-width: 1000px) {
  .header {
    height: 60px;
  }
}

.header__inner {
  padding: 0 0 0 min(62px, 4.4285714286vw);
  height: inherit;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1000px) {
  .header__inner {
    padding: 0 0 0 10px;
  }
}

.header__logo {
  position: relative;
  width: min(221px, 15.7857142857vw);
}

@media screen and (max-width: 1000px) {
  .header__logo {
    width: clamp(140px, 37.3333333333vw, 180px);
  }
}

.header__logo img {
  transition: opactiy 0.5s;
}

.header__logo_white {
  opacity: 1;
}

.header.js_active .header__logo_white {
  opacity: 0;
}

.header__logo_blue {
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0;
}

.header.js_active .header__logo_blue {
  opacity: 1;
}

.header__center {
  margin-left: auto;
  padding-top: 6px;
  text-align: right;
}

@media screen and (max-width: 1000px) {
  .header__center {
    display: none;
  }
}

.header__tel {
  padding-right: min(10px, 0.7142857143vw);
  margin: 0p 0px 0px auto;
}

.header .header__tel {
  color: #fff;
}

.header.header.js_active .header__tel {
  color: #0539a0;
}

.header__nav {
  margin-top: 6px;
}

.header__navList {
  display: flex;
  gap: min(29px, 2.0714285714vw);
}

.header__navItem {
  position: relative;
  color: #fff;
  transition: all 0.3s ease-out;
}

.header.js_active .header__navItem {
  color: #000104;
}

.header__navLink,
.header__navTrigger {
  display: inline-block;
  font-size: min(16px, 1.4545454545vw);
  padding: 6px min(10px, 0.7142857143vw);
  line-height: 1.5;
  cursor: pointer;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .header__navTrigger:hover {
    opacity: 0.7;
  }
}

.header__navTrigger {
  padding-right: min(16px, 1.1428571429vw);
  position: relative;
}

.header__navTrigger::before {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  top: 48%;
  right: 0;
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s;
}

.header__navTrigger.is-active::before {
  transform: translateY(-50%) rotate(-45deg);
}

.header__btns {
  margin-left: min(30px, 2.1428571429vw);
  display: flex;
  height: inherit;
}

@media screen and (max-width: 1000px) {
  .header__btns {
    margin-left: auto;
  }
}

.header__btn {
  height: inherit;
}

@media screen and (max-width: 1000px) {
  .header__btn {
    width: 60px;
  }
}

@media screen and (max-width: 1000px) {
  .header__btn:nth-of-type(1) {
    display: none;
  }
}

.header__btn:nth-of-type(3) {
  display: none;
}

@media screen and (max-width: 1000px) {
  .header__btn:nth-of-type(3) {
    display: block;
  }
}

.header__navChild {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  background-color: rgba(0, 138, 239, 0.75);
  display: none;
  transition: top 0.3s;
}

.header__navChild {
  width: -moz-max-content;
  width: max-content;
}

.header__navInnerWrap {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 23px 33px;
}

.header__navChildList {
  display: grid;
  gap: 7px;
  text-align: left;
}

.header__navChildItem a {
  display: inline-block;
  font-size: 15px;
  color: #fff;
  line-height: 1;
  padding: 10px;
  transition: color 0.3s;
}

@media (hover: hover) {
  .header__navChildItem a:hover {
    color: #50b0f5;
  }
}

.header__sp-menu {
  display: none;
}

@media screen and (max-width: 1000px) {
  .header__sp-menu {
    display: block;
    position: fixed;
    top: 60px;
    right: 0;
    bottom: 0;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    visibility: hidden;
  }
}

.footer {
  background-color: #002876;
  color: #fff;
  padding: 122px 0 82px;
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 80px 0 40px;
  }
}

.footer__top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}

@media screen and (max-width: 767px) {
  .footer__top {
    flex-direction: column;
    gap: 20px;
  }
}

.footer__topLogo {
  width: 148px;
}

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

.footer__topText {
  font-size: 23px;
  font-weight: 500;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}

@media screen and (max-width: 767px) {
  .footer__topText {
    font-size: 22px;
    text-align: center;
  }
}

.footer__topText span {
  display: inline-block;
}

.footer__img {
  margin-top: 22px;
}

@media screen and (max-width: 767px) {
  .footer__img {
    margin: 20px calc(50% - 50vw) 0;
    height: 75px;
  }
}

@media screen and (max-width: 767px) {
  .footer__img img {
    height: inherit;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.footer__wrapper {
  margin: 38px auto 0;
  width: min(945px, 100%);
}

.footer__center {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .footer__center {
    flex-direction: column;
    gap: 32px;
  }
}

.footer__list01 {
  width: 70%;
  display: flex;
  gap: min(72px, 6.3157894737vw);
}

@media screen and (min-width: 768px) and (max-width: 1139px) {
  .footer__list01 {
    gap: min(36px, 3.2727272727vw);
  }
}

@media screen and (max-width: 767px) {
  .footer__list01 {
    width: 100%;
    flex-direction: column;
    gap: 1em;
    border-left: 1px solid #2c4b88;
  }
}

.footer__item01 {
  padding-left: 16px;
  border-left: 1px solid #2c4b88;
}

@media screen and (max-width: 767px) {
  .footer__item01 {
    border-left: none;
  }
}

.footer__list02 {
  display: grid;
  gap: 5px;
}

@media screen and (max-width: 767px) {
  .footer__list02 {
    gap: 1em;
  }
}

.footer__item02 {
  line-height: 1.5;
}

.footer__item02 a,
.footer__navText {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  border-bottom: 1px solid transparent;
}

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

  .footer__item02 a,
  .footer__navText {
    font-size: 15px;
  }
}

.footer__item02>a {
  transition: border-bottom 0.3s;
}

@media (hover: hover) {
  .footer__item02>a:hover {
    border-bottom: 1px solid #fff;
    opacity: 1;
  }
}

.footer__list03 {
  margin-top: 0.25em;
  display: grid;
  gap: 0.3em;
}

@media screen and (max-width: 767px) {
  .footer__list03 {
    margin-top: 0.75em;
    padding-left: 0.5em;
    gap: 0.75em;
  }
}

.footer__item03 a {
  color: #b7c8ea;
}

@media screen and (max-width: 767px) {
  .footer__item03 a {
    font-size: 14px;
  }
}

.footer__calender {
  width: 28%;
  min-width: 264px;
}

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

.footer__calender img {
  width: 100%;
}

.footer__bottom {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  align-items: end;
  flex-wrap: wrap;
  gap: 20px 40px;
}

@media screen and (max-width: 767px) {
  .footer__bottom {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
}

.footer__logo {
  width: 172px;
}

.footer__address {
  font-size: 11px;
  line-height: 1.8181;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .footer__address {
    font-size: 13px;
  }
}

.footer__links {
  display: flex;
  gap: 22px;
}

.footer__link a {
  font-size: 11px;
}

@media screen and (max-width: 767px) {
  .footer__link a {
    font-size: 13px;
  }
}

.footer__copy {
  font-size: 11px;
  font-weight: 500;
  color: #405a8d;
  padding-bottom: 0.25em;
}

@media screen and (max-width: 767px) {
  .footer__copy {
    font-size: 12px;
  }
}

.main {
  overflow-x: clip;
}

.section {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .section {
    margin-top: 60px;
  }
}

.section:first-of-type {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .section:first-of-type {
    margin-top: 50px;
  }
}

.section-body {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .section-body {
    margin-top: 24px;
  }
}

.card01 {
  position: relative;
}

.card01::before {
  content: "";
  width: 100%;
  height: 30%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000205);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
}

@media (hover: hover) {
  .card01__link:hover {
    opacity: 1;
  }

  .card01__link:hover .card01__bg img {
    transform: scale(1.05);
  }

  .card01__link:hover .circle-arrow01 {
    transform: translateX(5px);
  }
}

.card01__body {
  position: absolute;
  bottom: 16px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 25px 0 15px;
}

.card01__text {
  color: #fff;
  line-height: 1.42;
}

.card01__bg {
  overflow: hidden;
}

.card01__bg img {
  transition: transform 0.3s;
}

.card02 {
  background-color: #0343b5;
  text-align: center;
  padding: 20px 1em 38px;
  width: min(295px, 100%);
}

@media screen and (max-width: 767px) {
  .card02 {
    padding: 1.5em 1em 2em;
    width: clamp(250px, 78.6666666667vw, 375px);
  }
}

.card02__en {
  color: #4b84ea;
  font-family: "forma-djr-text", sans-serif;
  font-weight: 900;
  letter-spacing: 0.023em;
  line-height: 1.5;
}

.card02__ja {
  margin-top: 4px;
  color: #fff;
  line-height: 1.25;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  font-size: min(38px, 3.4545454545vw);
}

@media screen and (max-width: 767px) {
  .card02__ja {
    font-size: 23px;
  }
}

.card02__text {
  margin-top: 14px;
  color: #fff;
  line-height: 1.71;
  font-size: min(14px, 1.2727272727vw);
}

@media screen and (max-width: 767px) {
  .card02__text {
    font-size: 14px;
  }
}

.card02__btn {
  margin-top: 26px;
}

@media screen and (max-width: 767px) {
  .card02__btn {
    margin-top: 20px;
  }
}

.card02__btn a {
  transition: background-color 0.3s;
}

.card02__btn a .arrow::before,
.card02__btn a .arrow::after {
  transition: right 0.3s;
}

@media (hover: hover) {
  .card02__btn a:hover {
    opacity: 1;
    color: #0539a0;
    background-color: #d0e1ff;
  }

  .card02__btn a:hover .arrow::before,
  .card02__btn a:hover .arrow::after {
    right: -5px;
  }
}

.card03 {
  background-color: #d6e5fd;
  padding: 50px 38px 68px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .card03 {
    padding: 2em;
  }
}

.card03__inner {
  position: relative;
  z-index: 1;
}

.card03::before {
  content: "";
  width: 232px;
  height: 232px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .card03::before {
    width: 140px;
    height: 140px;
  }
}

.card03:nth-of-type(1)::before {
  background-image: url(images/basic/icon-circle.svg);
}

.card03:nth-of-type(2)::before {
  background-image: url(images/basic/icon-triangle.svg);
}

.card03__header {
  display: block;
  font-weight: 600;
  border-bottom: 1px solid #0539a0;
  padding-bottom: 18px;
  text-align: center;
}

.card03__list {
  margin-top: 1.75em;
  display: grid;
  gap: 1em;
}

.card04 {
  background-color: #d6e5fd;
  padding: 32px 28px;
}

@media screen and (max-width: 767px) {
  .card04 {
    padding: 1.5em 1em;
  }
}

.card04__header {
  display: block;
  font-size: min(24px, 2.4vw);
  font-weight: 700;
  color: #0539a0;
  font-feature-settings: "palt";
  text-align: center;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .card04__header {
    font-size: 16px;
  }
}

.card04__header span {
  display: inline-block;
}

.card04__text {
  margin-top: 0.5em;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .card04__text {
    line-height: 1.75;
  }
}

.card05 {
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
}

.card05__text {
  margin-top: 18px;
  font-family: "forma-djr-text", sans-serif;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.023em;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .card05__text {
    margin-top: 0.5em;
    font-size: 16px;
  }
}

.card05__text span {
  display: inline-block;
}

/*.card06 {
  background-color: #fff;
  position: relative;
  padding: 80px min(26px, 2.2807017544vw) 80px;
  width: calc(33.3333333333% - 16px);
}*/

.card06 {
  background-color: #fff;
  position: relative;
  padding: 30px 60px;
  width: 80%;
  margin: 20px auto;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .card06 {
    width: calc(50% - 12px);
  }
}

@media screen and (max-width: 767px) {
  .card06 {
    width: 100%;
    padding: 50px 1.5em 30px;
  }
}

/*
.card06__number {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -2.5em;
}*/

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

.card06__title {
  font-size: min(24px, 1.9672131148vw);
  font-weight: 600;
  color: #0539a0;
  line-height: 1.6;
  text-align: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #0539a0;
  font-feature-settings: "palt";
  /*min-height: 132px;*/
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .card06__title {
    font-size: 20px;
  }
}

@media screen and (max-width: 767px) {
  .card06__title {
    font-size: 18px;
    min-height: initial;
  }
}

.card06__text {
  margin-top: 24px;
}

.card07 {
  display: flex;
  flex-direction: column-reverse;
}

.card07__body {
  background-color: #d6e5fd;
  padding: 22px 16px 60px;
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .card07__body {
    padding: 1em;
  }
}

.card07__header {
  font-size: min(22px, 1.9298245614vw);
  text-align: center;
  border-bottom: 1px solid #0539a0;
  padding-bottom: 0.5em;
}

@media screen and (max-width: 767px) {
  .card07__header {
    font-size: 14px;
  }
}

.card07__list {
  margin-top: 20px;
  display: grid;
  gap: 8px;
}

@media screen and (max-width: 767px) {
  .card07__list {
    margin-top: 12px;
  }
}

.card07__block {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .card07__block {
    gap: 0.5em;
  }
}

.card07__description {
  font-size: 14px;
  color: #0539a0;
  line-height: 1.5;
  font-weight: 600;
  word-break: break-all;
  font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
  .card07__description {
    font-size: 12px;
  }
}

.card08 {
  background-color: #0043b5;
  color: #fff;
  padding: min(36px, 3.1578947368vw) min(20px, 1.7543859649vw) min(52px, 4.5614035088vw);
  position: relative;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .card08 {
    padding: 2em 1em;
  }
}

.card08__title {
  color: #fff;
  font-size: min(25px, 2.1929824561vw);
  font-weight: 600;
  line-height: 1.769;
  font-feature-settings: "palt";
  min-height: 88px;
  display: grid;
  place-items: center;
}

@media screen and (max-width: 767px) {
  .card08__title {
    font-size: 18px;
    min-height: initial;
  }
}

.card08__icon {
  margin-top: min(34px, 2.9824561404vw);
}

@media screen and (max-width: 767px) {
  .card08__icon {
    margin-top: 24px;
  }
}

.card08__icon.-scale img {
  width: min(100px, 8.7719298246vw);
}

@media screen and (max-width: 767px) {
  .card08__icon.-scale img {
    width: 50px;
  }
}

.card08__icon.-complex img {
  width: min(105px, 9.2105263158vw);
}

@media screen and (max-width: 767px) {
  .card08__icon.-complex img {
    width: 50px;
  }
}

.card08__icon.-consult img {
  width: min(118px, 10.350877193vw);
}

@media screen and (max-width: 767px) {
  .card08__icon.-consult img {
    width: 50px;
  }
}

.card08__icon.-hand img {
  width: min(121px, 10.6140350877vw);
}

@media screen and (max-width: 767px) {
  .card08__icon.-hand img {
    width: 50px;
  }
}

.card08__icon.-staff img {
  width: min(190px, 16.6666666667vw);
}

@media screen and (max-width: 767px) {
  .card08__icon.-staff img {
    width: 50px;
  }
}

.card08__num {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

@media screen and (max-width: 767px) {
  .card08__num {
    bottom: 15px;
    right: 15px;
  }
}

.card09 {
  background-color: #0043b5;
  color: #fff;
  padding: min(43px, 3.7719298246vw) min(63px, 5.5263157895vw);
  position: relative;
  min-height: 300px;
}

@media screen and (max-width: 767px) {
  .card09 {
    padding: 2em 1.5em;
    min-height: initial;
  }
}

.card09__header {
  display: flex;
  align-items: center;
  gap: min(14px, 1.2280701754vw);
}

@media screen and (max-width: 767px) {
  .card09__header {
    gap: 1em;
    justify-content: center;
  }
}

.card09__icon img {
  width: min(72px, 6.3157894737vw);
}

@media screen and (max-width: 767px) {
  .card09__icon img {
    width: min(40px, 10.6666666667vw);
  }
}

.card09__icon.-complex img {
  width: min(60px, 5.2631578947vw);
}

@media screen and (max-width: 767px) {
  .card09__icon.-complex img {
    width: min(36px, 9.6vw);
  }
}

.card09__icon.-consult img {
  width: min(64px, 5.6140350877vw);
}

@media screen and (max-width: 767px) {
  .card09__icon.-consult img {
    width: min(38px, 10.1333333333vw);
  }
}

.card09__icon.-hand img {
  width: min(78px, 6.8421052632vw);
}

@media screen and (max-width: 767px) {
  .card09__icon.-hand img {
    width: min(45px, 12vw);
  }
}

.card09__icon.-staff img {
  width: min(113px, 9.9122807018vw);
}

@media screen and (max-width: 767px) {
  .card09__icon.-staff img {
    width: min(66px, 17.6vw);
  }
}

.card09__title {
  font-size: min(34px, 2.9824561404vw);
  font-weight: 600;
  line-height: 1.529;
  font-feature-settings: "palt";
  text-align: center;
}

@media screen and (max-width: 767px) {
  .card09__title {
    font-size: 18px;
  }
}

.card09__text {
  margin-top: 16px;
}

.card09__num {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

@media screen and (max-width: 767px) {
  .card09__num {
    bottom: -10px;
    right: 0px;
  }
}

.header__humburger {
  position: relative;
}

.hamburger {
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background-color: #0043b5;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

.hamburger__line {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 24px;
  height: 2px;
  background-color: #fff;
}

.hamburger__line::before,
.hamburger__line::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: inherit;
  content: "";
  transition: transform 0.3s, top 0.3s;
}

.hamburger__line::before {
  top: -7px;
}

.hamburger__line::after {
  top: 7px;
}

.hamburger[aria-expanded=true] .hamburger__line {
  background-color: transparent;
}

.hamburger[aria-expanded=true] .hamburger__line::before,
.hamburger[aria-expanded=true] .hamburger__line::after {
  top: 0;
  background-color: #fff;
}

.hamburger[aria-expanded=true] .hamburger__line::before {
  transform: rotate(45deg);
}

.hamburger[aria-expanded=true] .hamburger__line::after {
  transform: rotate(-45deg);
}

.sp-menu {
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
  overflow: auto;
}

.sp-menu.is-clicked {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s, visibility 0.5s;
}

.sp-menu__nav {
  margin-bottom: 180px;
}

.sp-menu__item01:nth-of-type(n + 2) {
  border-top: 1px solid #fff;
}

.sp-menu__item01:last-of-type {
  border-bottom: 1px solid #fff;
}

.sp-menu__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em 20px;
  font-size: 16px;
  font-weight: 700;
}

.sp-menu__list02 {
  display: none;
  padding: 0 30px 35px 30px;
}

.sp-menu__item02>a {
  padding: 0.5em 0.5em 0.5em 1.25em;
}

.sp-menu__item02>a::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.sp-menu__btns {
  margin-top: 2em;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}

.accordion-btn {
  position: relative;
}

.accordion-btn::before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: -0.25em;
  right: 0;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateX(-50%) rotate(45deg);
  transition: transform 0.3s;
  transform-origin: center;
}

.sp-menu__title.open .accordion-btn::before {
  transform: translateX(-50%) rotate(225deg);
}

.grid-list {
  display: grid;
  gap: 50px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .grid-list {
    margin-top: 25px;
    gap: 120px;
  }
}

.grid-list__item {
  position: relative;
}

@media screen and (max-width: 767px) {
  .grid-list__item {
    display: flex;
    flex-direction: column-reverse;
  }
}

.grid-list__body {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .grid-list__body {
    margin: -6em auto;
    z-index: 1;
    width: min(85%, 400px);
    position: static;
    transform: initial;
  }
}

.grid-list__item:nth-of-type(odd) .grid-list__body {
  left: 5.46875vw;
}

.grid-list__item:nth-of-type(even) .grid-list__body {
  right: 5.46875vw;
}

.grid-list__item.-imgContain .grid-list__body {
  left: 10vw;
}

@media screen and (min-width: 768px) and (max-width: 1140px) {
  .grid-list__item.-imgContain .grid-list__body {
    left: 5.46875vw;
  }
}

@media screen and (max-width: 767px) {
  .grid-list__item.-imgContain .grid-list__body {
    margin: 1em auto 0;
    z-index: 1;
    width: min(85%, 400px);
  }
}

@media screen and (max-width: 767px) {
  .grid-list__item.-imgContain+.grid-list__item {
    margin-top: -6em;
  }
}

.grid-list__item.-img-wide .grid-list__body {
  top: auto;
  transform: initial;
  bottom: 0;
}

.grid-list__bodyInner {
  position: relative;
  background-color: #0343b5;
  color: #fff;
  padding: 3.5087719298vw 5.2631578947vw 5.2631578947vw;
}

@media screen and (max-width: 767px) {
  .grid-list__bodyInner {
    padding: 1.5em 1.5em 2em;
  }
}

.grid-list__wrap {
  margin: 0 auto;
  width: clamp(450px, 35.15625vw, 525px);
}

@media screen and (max-width: 767px) {
  .grid-list__wrap {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .grid-list__title {
    font-size: 18px;
    text-align: center;
  }
}

.grid-list__title span {
  font-feature-settings: "palt";
}

.grid-list__text {
  margin-top: min(18px, 1.5789473684vw);
}

@media screen and (max-width: 767px) {
  .grid-list__text {
    margin-top: 14px;
    font-size: 13px;
  }
}

.grid-list__text span {
  display: inline-block;
}

.grid-list__num {
  position: absolute;
  bottom: 30px;
  right: 30px;
}

@media screen and (max-width: 767px) {
  .grid-list__num {
    bottom: 10px;
    right: 10px;
  }
}

.grid-list__img {
  margin-left: auto;
  width: 63vw;
  max-height: 639px;
  min-height: 480px;
}

@media screen and (min-width: 1500px) {
  .grid-list__img {
    width: 72%;
  }
}

@media screen and (max-width: 767px) {
  .grid-list__img {
    margin: initial;
    width: 100%;
    max-height: 300px;
    min-height: initial;
  }
}

.grid-list__item:nth-of-type(even) .grid-list__img {
  margin-left: initial;
}

.grid-list__item.-img-wide .grid-list__img {
  width: 52.5vw;
}

@media screen and (min-width: 1500px) {
  .grid-list__item.-img-wide .grid-list__img {
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  .grid-list__item.-img-wide .grid-list__img {
    width: 100%;
  }
}

.grid-list__img picture,
.grid-list__img img {
  max-height: inherit;
  min-height: inherit;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.grid-list__item.-imgContain .grid-list__img img {
  -o-object-fit: contain;
  object-fit: contain;
}

.grid-list02 {
  display: grid;
  gap: 135px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .grid-list02 {
    margin-top: 25px;
    gap: 120px;
  }
}

.grid-list02__item {
  position: relative;
}

@media screen and (max-width: 767px) {
  .grid-list02__item {
    display: flex;
    flex-direction: column-reverse;
  }
}

.grid-list02__item:nth-of-type(n + 2) {
  position: relative;
}

.grid-list02__item:nth-of-type(n + 2)::before {
  content: "";
  width: 22px;
  height: 252px;
  background-image: url(images/recruit/down-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -11em;
  left: min(255px, 22.3684210526vw);
}

@media screen and (min-width: 1880px) {
  .grid-list02__item:nth-of-type(n + 2)::before {
    top: -31%;
  }
}

@media screen and (max-width: 767px) {
  .grid-list02__item:nth-of-type(n + 2)::before {
    display: none;
  }
}

.grid-list02__body {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  left: 5.46875vw;
}

@media screen and (max-width: 767px) {
  .grid-list02__body {
    margin: -6em auto;
    z-index: 1;
    width: min(85%, 400px);
    position: static;
    transform: initial;
  }
}

.grid-list02__bodyInner {
  position: relative;
  background-color: #0343b5;
  color: #fff;
  padding: 3.5087719298vw 5.2631578947vw 9.649122807vw;
}

@media screen and (max-width: 767px) {
  .grid-list02__bodyInner {
    padding: 1.5em 1.5em 4em;
  }
}

.grid-list02__wrap {
  margin: 0 auto;
  width: clamp(436px, 34.0625vw, 525px);
}

@media screen and (max-width: 767px) {
  .grid-list02__wrap {
    width: 100%;
  }
}

.grid-list02__header {
  display: flex;
  align-items: center;
  gap: min(32px, 2.8070175439vw);
}

@media screen and (max-width: 767px) {
  .grid-list02__header {
    gap: 0.75em;
    justify-content: center;
  }
}

.grid-list02__title {
  font-weight: 600;
  padding-top: 5px;
}

@media screen and (max-width: 767px) {
  .grid-list02__title {
    font-size: 20px;
    text-align: center;
  }
}

.grid-list02__title span {
  font-feature-settings: "palt";
}

.grid-list02__text {
  margin-top: 18px;
}

@media screen and (max-width: 767px) {
  .grid-list02__text {
    margin-top: 14px;
    font-size: 13px;
  }
}

.grid-list02__text p+p {
  margin-top: 1.5em;
}

.grid-list02__text span {
  display: inline-block;
}

.grid-list02__step {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .grid-list02__step {
    font-size: 60px;
    bottom: -4px;
  }
}

.grid-list02__img {
  margin-left: auto;
  width: 63vw;
  max-height: 606px;
  min-height: 480px;
}

@media screen and (min-width: 1500px) {
  .grid-list02__img {
    width: 72%;
  }
}

@media screen and (max-width: 767px) {
  .grid-list02__img {
    margin: initial;
    width: 100%;
    max-height: 300px;
    min-height: initial;
  }
}

.grid-list02__img img {
  max-height: inherit;
  min-height: inherit;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .grid-list02__icon {
    width: 30px;
  }
}

@media screen and (max-width: 767px) {
  .grid-list02__icon.-question {
    width: 35px;
  }
}

@media screen and (max-width: 767px) {
  .grid-list02__icon.-communication {
    width: 40px;
  }
}

#sub .sidebar #biz_calendar table.bizcal .holiday,
#biz_calendar p span.boxholiday {
  background-color: #8ed5ff;
}

#biz_calendar table.bizcal .holiday {
  background-color: #8ed5ff;
}

#biz_calendar {
  max-width: initial;
}

@media screen and (max-width: 767px) {
  #biz_calendar {
    margin: 0 auto;
    width: min(350px, 85%);
  }
}

#biz_calendar table.bizcal {
  margin: 0 0 10px;
}

.bg-on {
  padding: 90px 25px;
}

@media screen and (max-width: 767px) {
  .bg-on {
    padding: 45px 20px;
  }
}

.bg-on.-light {
  background-color: #ebf2fe;
}

.bg-on.-dark {
  background-color: #0043b5;
}

.bg-on.-pseudo {
  background-color: #0343b5;
  position: relative;
  overflow: hidden;
}

.bg-on.-pseudo::before,
.bg-on.-pseudo::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}

.bg-on.-pseudo::before {
  width: 675px;
  height: 353px;
  background-image: url(images/common/bg-left.png);
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .bg-on.-pseudo::before {
    width: 300px;
    height: 160px;
  }
}

.bg-on.-pseudo::after {
  width: 645px;
  height: 434px;
  background-image: url(images/common/bg-right.png);
  top: -4.5em;
  right: -5em;
}

@media screen and (max-width: 767px) {
  .bg-on.-pseudo::after {
    width: 200px;
    height: 140px;
    top: 1em;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  .bg-on>.inner {
    padding: 0;
  }
}

.footer-contact {
  margin-top: 98px;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .footer-contact {
    margin-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .page-develop .footer-contact {
    margin-top: 120px;
  }
}

.footer-contact__inner {
  margin: 0 auto -94px;
  width: min(950px, 100%);
  padding: 76px 1em 72px;
  color: #fff;
  background-color: #0449be;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .footer-contact__inner {
    margin: 0 auto -50px;
    padding: 48px 1em 36px;
  }
}

.footer-contact__title .heading01__ja {
  font-size: 45px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .footer-contact__title .heading01__ja {
    font-size: 28px;
  }
}

.footer-contact__title .heading01__en {
  left: 50%;
  transform: translateX(-50%);
}

.footer-contact__text {
  margin-top: 28px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .footer-contact__text {
    margin-top: 18px;
    font-size: 14px;
  }
}

.footer-contact__text span {
  display: inline-block;
}

.footer-contact__row {
  margin-top: 36px;
  display: flex;
  justify-content: center;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .footer-contact__row {
    margin-top: 28px;
    flex-direction: column;
  }
}

#btn_scroll_top {
  display: none;
  position: fixed;
  bottom: 120px;
  right: 30px;
  z-index: 9999;
  width: 50px;
  height: 50px;
  border: 2px solid #fff;
  background-color: #008aef;
  text-decoration: none;
  outline: none;
}

#btn_scroll_top:after {
  position: absolute;
  top: 40%;
  left: 50%;
  width: 20px;
  height: 20px;
  transform: translateX(-50%) rotate(-45deg);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  content: "";
}

@media print,
(min-width: 768px) {
  #btn_scroll_top {
    bottom: 30px;
    width: 42px;
    height: 42px;
  }

  #btn_scroll_top:after {
    width: 12px;
    height: 12px;
  }
}

.bg-box {
  background-color: #fff;
  padding: 50px 40px 60px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .bg-box {
    padding: 2em 1em;
  }
}

.index-mv {
  position: relative;
  min-height: 600px;
  height: 100svh;
  color: #fff;
}

@media screen and (max-width: 1000px) {
  .index-mv {
    height: calc(100svh - 60px);
    min-height: initial;
  }
}

@media screen and (max-width: 767px) {
  .index-mv {
    height: auto;
  }
}

.index-mv::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(82, 82, 82, 0.55);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.index-mv__inner {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  margin-left: min(70px, 5.5555555556vw);
}

@media screen and (max-width: 767px) {
  .index-mv__inner {
    top: initial;
    transform: initial;
    margin-left: 0;
    margin: 0 auto;
    padding: 8.5vh 20px;
    width: min(540px, 100%);
  }
}

.index-mv__title {
  font-size: 46px;
  font-weight: 500;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 1.1913;
}

@media screen and (max-width: 767px) {
  .index-mv__title {
    margin-top: 0;
    font-size: min(23px, 6.1333333333vw);
    text-align: center;
  }
}

.index-mv__text {
  margin-top: 6.2svh;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.722;
}

@media screen and (max-width: 767px) {
  .index-mv__text {
    margin-top: 32px;
    font-size: 15px;
  }
}

.index-mv__row {
  margin-top: 6.46svh;
  display: flex;
  gap: 14px;
  align-items: end;
}

@media screen and (max-width: 767px) {
  .index-mv__row {
    margin-top: 42px;
    flex-direction: column-reverse;
    align-items: center;
    gap: 1.5em;
  }
}

.index-mv__cta {
  display: inline-block;
  background-color: #0043b5ad;
  padding: 24px 34px 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .index-mv__cta {
    padding: 1.5em;
  }
}

.index-mv__ctaTitle {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.032em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .index-mv__ctaTitle {
    font-size: 20px;
  }
}

.index-mv__ctaText {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}

.index-mv__ctaText span {
  display: inline-block;
}

.index-mv__list {
  margin-top: 20px;
  display: flex;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .index-mv__list {
    flex-direction: column;
    gap: 1em;
  }
}

.index-mv__logo {
  width: 187px;
  padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .index-mv__logo {
    width: 140px;
    padding-bottom: 0;
  }
}

.index-mv__movie {
  width: 100%;
  height: inherit;
  min-height: inherit;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.index-mv__movie video {
  width: 100%;
  height: 100%;
  min-height: inherit;
  -o-object-fit: cover;
  object-fit: cover;
}

.index-tech {
  margin-top: 48px;
  background-color: #0043b5;
}

.index-tech__inner {
  padding: 124px min(95px, 8.6363636364vw) 70px;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .index-tech__inner {
    padding: 70px 30px 40px;
  }
}

.index-tech__inner::before {
  content: "";
  width: min(614px, 55.8181818182vw);
  height: min(477px, 43.3636363636vw);
  background-image: url(./images/index/index-tech-bg.png?2);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 13px;
  right: -43px;
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .index-tech__inner::before {
    right: -11em;
  }
}

@media screen and (max-width: 767px) {
  .index-tech__inner::before {
    top: 7em;
    right: -43px;
    width: min(241px, 55.8181818182vw);
    height: min(187px, 55.8181818182vw);
  }
}

.index-tech__title .heading01__ja {
  color: #fff;
  font-size: 58px;
}

@media screen and (max-width: 767px) {
  .index-tech__title .heading01__ja {
    font-size: 28px;
  }
}

.index-tech__title .heading01__en {
  font-size: 78px;
}

@media screen and (max-width: 767px) {
  .index-tech__title .heading01__en {
    font-size: 45px;
  }
}

.index-tech__list {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .index-tech__list {
    margin-top: 42px;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
}

@media screen and (max-width: 767px) {
  .index-tech__item {
    margin: auto;
    max-width: 400px;
  }
}

.index-tech__btn {
  margin-top: 60px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .index-tech__btn {
    margin-top: 30px;
  }
}

.index-strength {
  margin-top: 120px;
}

@media screen and (max-width: 767px) {
  .index-strength {
    margin-top: 80px;
  }
}

.index-strength__list {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

@media screen and (max-width: 767px) {
  .index-strength__list {
    margin-top: 28px;
    gap: 32px;
    grid-template-columns: repeat(1, 1fr);
  }
}

.index-strength__img {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .index-strength__img {
    max-height: 300px;
  }
}

.index-strength__img img {
  transition: transform 0.3s;
  -o-object-fit: cover;
  object-fit: cover;
}

.index-strength__img.is-active img {
  transform: scale(1.05);
}

.index-strength__box {
  margin: -72px auto 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .index-strength__box {
    margin: -85px auto 0;
  }
}

.index-product {
  margin-top: 230px;
}

@media screen and (max-width: 767px) {
  .index-product {
    margin-top: 120px;
  }
}

.index-product__title .heading01__ja {
  color: #fff;
}

.index-product__sliderWrap {
  margin: 36px auto 0;
  position: relative;
  width: min(950px, 100%);
}

@media screen and (max-width: 767px) {
  .index-product__sliderWrap {
    margin: 20px auto 0;
  }
}

.index-product__link {
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
}

@media (hover: hover) {
  .index-product__link:hover {
    opacity: 1;
  }

  .index-product__link:hover .index-product__text {
    opacity: 0.7;
  }

  .index-product__link:hover .index-product__img img {
    transform: scale(1.05);
  }
}

.index-product__text {
  margin-top: 18px;
  font-family: "forma-djr-text", sans-serif;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.023em;
  color: #fff;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .index-product__text {
    font-size: 16px;
  }
}

.index-product__img {
  overflow: hidden;
}

.index-product__img img {
  transition: transform 0.3s;
  aspect-ratio: 310/250;
  -o-object-fit: cover;
  object-fit: cover;
}

.index-product__sliderWrap .swiper-button-prev:after,
.index-product__sliderWrap .swiper-button-next:after {
  display: none;
}

.index-product__sliderWrap .circle-arrow02 {
  top: 55%;
  transform: translateY(-50%);
}

@media screen and (max-width: 1100px) {
  .index-product__sliderWrap .circle-arrow02 {
    top: 50%;
  }
}

.index-product__sliderWrap .circle-arrow02.-prev {
  left: -5vw;
}

@media screen and (max-width: 1100px) {
  .index-product__sliderWrap .circle-arrow02.-prev {
    left: -1.25em;
  }
}

.index-product__sliderWrap .circle-arrow02.-next {
  right: -5vw;
}

@media screen and (max-width: 1100px) {
  .index-product__sliderWrap .circle-arrow02.-next {
    right: -1.25em;
  }
}

.index-about {
  margin-top: 210px;
}

@media screen and (max-width: 767px) {
  .index-about {
    margin-top: 120px;
  }
}

.index-about__list {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
}

@media screen and (max-width: 767px) {
  .index-about__list {
    margin-top: 28px;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
}

.index-about__link {
  display: flex;
  flex-direction: column-reverse;
  gap: 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .index-about__link {
    gap: 10px;
  }
}

.index-about__text {
  font-size: 22px;
  font-weight: 600;
  color: #0539a0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .index-about__text {
    font-size: 18px;
  }
}

.index-about__img {
  overflow: hidden;
}

.index-about__img img {
  transition: transform 0.3s;
}

@media (hover: hover) {
  .index-about__link:hover {
    opacity: 1;
  }

  .index-about__link:hover .index-about__img img {
    transform: scale(1.05);
  }
}

.index-news {
  margin-top: 135px;
}

@media screen and (max-width: 767px) {
  .index-news {
    margin-top: 80px;
  }
}

.index-news__list {
  margin: 30px auto 0;
  width: min(760px, 100%);
  position: relative;
}

@media screen and (max-width: 767px) {
  .index-news__list {
    margin: 14px auto 0;
  }
}

.index-news__item {
  border-bottom: 1px solid #e5e8ed;
}

.index-news__link {
  display: flex;
  gap: 1em;
  padding: 1em 12px 1em;
}

@media screen and (max-width: 767px) {
  .index-news__link {
    flex-direction: column;
    padding: 1em 0;
    gap: 0.25em;
  }
}

.index-news__time {
  display: inline-block;
  min-width: calc(175px - 0.5em);
}

@media screen and (max-width: 767px) {
  .index-news__time {
    width: 100%;
  }
}

.index-news__entryTitle {
  width: calc(100% - 175px - 0.5em);
}

@media screen and (max-width: 767px) {
  .index-news__entryTitle {
    width: 100%;
  }
}

.index-news__btn {
  position: absolute;
  top: -43%;
  right: 0;
  z-index: 5;
}

@media screen and (max-width: 767px) {
  .index-news__btn {
    margin-top: 2em;
    position: initial;
    text-align: center;
  }
}

.index-iso {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .index-iso {
    margin-top: 40px;
    padding: 0 20px;
  }
}

.index-iso__inner {
  margin: 0 auto;
  width: min(760px, 100%);
  border: 10px solid #edf4fe;
  padding: 46px 1em 29px;
}

@media screen and (max-width: 767px) {
  .index-iso__inner {
    width: min(540px, 100%);
    padding: 30px 1em 20px;
  }
}

.index-iso__list {
  display: flex;
  gap: 56px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .index-iso__list {
    gap: 1em;
  }
}

.index-iso__item {
  width: 189px;
}

@media screen and (max-width: 767px) {
  .index-iso__item {
    width: 140px;
  }
}

.index-iso__text {
  margin-top: 32px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .index-iso__text {
    margin-top: 16px;
    font-size: 12px;
  }
}

.page-title {
  background-image: url(images/common/page-title-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 120px 0px 40px;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.page-title__inner {
  position: relative;
  z-index: 1;
}

.page-title__head {
  display: flex;
  flex-direction: column-reverse;
}

.page-title__main {
  margin-top: 6px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: min(50px, 4.3859649123vw);
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .page-title__main {
    font-size: min(32px, 8.5333333333vw);
  }
}

.page-title__main>span {
  display: block;
}

.page-title__sub {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 20px;
  line-height: 1.25;
}

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

.page-title__btns {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 15px;
}

@media screen and (max-width: 767px) {
  .page-title__btns {
    margin-top: 36px;
    flex-direction: column;
  }
}

.breadcrumb {
  font-size: 12px;
  color: #797a8e;
}

.breadcrumb__inner {
  position: relative;
}

.breadcrumb__inner::before {
  content: "";
  width: 100vw;
  height: 1px;
  background-color: #e5e8ed;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.breadcrumb li:last-of-type {
  color: #0539a0;
}

.advantage-about {
  margin-top: 34px;
}

@media screen and (max-width: 767px) {
  .advantage-about {
    margin-top: 25px;
  }
}

.advantage-about__inner {
  width: min(1180px, 100%);
}

.advantage-about__box {
  background-color: #ebf2fe;
  text-align: center;
  padding: 48px 1em;
}

@media screen and (max-width: 767px) {
  .advantage-about__box {
    padding: 2em 1em;
  }
}

.advantage-about__head {
  color: #0539a0;
  font-weight: 600;
}

.advantage-about__head>span {
  display: inline-block;
}

.advantage-about__lead {
  margin-top: 8px;
  line-height: 2.3125;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .advantage-about__lead {
    margin-top: 14px;
    line-height: 1.75;
    text-align: left;
  }
}

.advantage-about__list {
  margin-top: 37px;
}

.advantage-case {
  margin-top: 170px;
}

@media screen and (max-width: 767px) {
  .advantage-case {
    margin-top: 120px;
  }
}

.advantage-case__inner {
  background-color: #ebf2fe;
  padding: 74px 95px 95px;
}

@media screen and (max-width: 767px) {
  .advantage-case__inner {
    padding: 2.5em 1.5em;
  }
}

.advantage-case__header {
  display: flex;
  align-items: center;
  gap: 34px;
}

@media screen and (max-width: 767px) {
  .advantage-case__header {
    flex-direction: column;
    gap: 1.5em;
  }
}

.advantage-case__Left {
  color: #fff;
  background-color: #0539a0;
  line-height: 1.2;
  min-width: 121px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.128em 0;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .advantage-case__Left {
    min-width: 74px;
    line-height: 1.35;
    font-size: 15px;
  }
}

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

.advantage-case__text {
  margin-top: 20px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .advantage-case__text {
    margin-top: 1em;
    text-align: left;
  }
}

.advantage-case__body {
  margin-top: 97px;
  background-color: #fff;
  padding: 54px 95px 90px;
}

@media screen and (max-width: 767px) {
  .advantage-case__body {
    margin-top: 30px;
    padding: 2em 1em;
  }
}

.advantage-case__subtitle {
  font-size: 25px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .advantage-case__subtitle {
    font-size: 16px;
  }
}

.advantage-case__cols {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .advantage-case__cols {
    margin-top: 1.5em;
    flex-direction: column;
  }
}

.advantage-case__colsLeft {
  width: 51.45%;
  background-color: #ebf2fe;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(28px, 2.4561403509vw);
  padding: 26px 0.5em;
}

@media screen and (max-width: 767px) {
  .advantage-case__colsLeft {
    width: 100%;
    gap: 1em;
    padding: 1em 0.5em;
  }
}

.advantage-case__colsLeft span {
  display: inline-block;
  width: min(66px, 5.7894736842vw);
}

@media screen and (max-width: 767px) {
  .advantage-case__colsLeft span {
    width: 28px;
  }
}

.advantage-case__colsRight {
  width: 43.83%;
}

@media screen and (max-width: 767px) {
  .advantage-case__colsRight {
    width: 100%;
  }
}

.advantage-case__flow {
  margin-top: 1em;
}

.flow__list {
  display: grid;
  gap: 72px;
}

@media screen and (max-width: 767px) {
  .flow__list {
    gap: 30px;
  }
}

.flow__item {
  display: flex;
  gap: 20px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .flow__item {
    gap: 1em;
  }
}

.flow__item:not(:last-of-type):before {
  content: "";
  width: 2px;
  height: calc(100% + 25px);
  background-color: #0043b5;
  position: absolute;
  top: 47px;
  left: 23px;
}

@media screen and (max-width: 767px) {
  .flow__item:not(:last-of-type):before {
    top: 30px;
    left: 14px;
    height: 100%;
  }
}

.flow__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  background-color: #0043b5;
  border-radius: 50%;
  color: #fff;
  flex-shrink: 0;
  font-weight: 600;
}

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

.flow__body {
  padding-top: 0.25em;
  width: calc(100% - 67px);
}

@media screen and (max-width: 767px) {
  .flow__body {
    width: calc(100% - 1em - 30px);
  }
}

.flow__text {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .flow__text {
    margin-top: 12px;
  }
}

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

.basic-section01 {
  background-color: #0043b5;
  overflow-x: hidden;
  padding: 0 0 90px;
}

@media screen and (max-width: 767px) {
  .basic-section01 {
    padding: 0 0 45px;
  }
}

.basic-section01__bgArea {
  padding-top: 90px;
  background-image: url(images/basic/basic-section01-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

@media screen and (max-width: 767px) {
  .basic-section01__bgArea {
    padding-top: 45px;
  }
}

.basic-section01__section.-mtL {
  margin-top: 80px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .basic-section01__section.-mtL {
    margin-top: 40px;
  }
}

.basic-section01__container {
  position: relative;
}

.basic-section01__container::before,
.basic-section01__container::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}

.basic-section01__container::before {
  width: 675px;
  height: 353px;
  background-image: url(images/common/bg-left.png);
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .basic-section01__container::before {
    width: 300px;
    height: 160px;
  }
}

.basic-section01__container::after {
  width: 645px;
  height: 434px;
  background-image: url(images/common/bg-right.png);
  top: -11.5em;
  right: -8em;
}

@media screen and (max-width: 767px) {
  .basic-section01__container::after {
    width: 235px;
    height: 160px;
    top: 1em;
    right: -50px;
  }
}

.basic-section01__title {
  color: #fff;
}

.basic-section01__lead {
  margin-top: 42px;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .basic-section01__lead {
    margin-top: 18px;
  }
}

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

.basic-section01__subTitle.-white {
  color: #fff;
}

.basic-section01__list03 {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .basic-section01__list03 {
    margin-top: 25px;
  }
}

.basic-section01__btn {
  margin-top: 90px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .basic-section01__btn {
    margin-top: 40px;
  }
}

.basic-section02 {
  padding: 100px 0;
  background-color: #ebf2fe;
  position: relative;
}

@media screen and (max-width: 767px) {
  .basic-section02 {
    padding: 60px 0;
  }
}

.basic-section02::before {
  content: "";
  width: 100%;
  height: 60.7%;
  background-image: url(images/basic/basic-section02-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.basic-section02__inner {
  position: relative;
}

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

.basic-section02__btn {
  margin-top: 108px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .basic-section02__btn {
    margin-top: 30px;
  }
}

.basic-section03__inner {
  width: min(950px, 100%);
}

@media screen and (max-width: 767px) {
  .basic-section03__inner {
    width: min(540px, 100%);
  }
}

.basic-section03__title {
  margin-top: 92px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .basic-section03__title {
    margin-top: 50px;
  }
}

.basic-section03__cols {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .basic-section03__cols {
    flex-direction: column;
  }
}

.basic-section03__body {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .basic-section03__body {
    width: 100%;
  }
}

.basic-section03__img {
  width: 46.32%;
}

@media screen and (max-width: 767px) {
  .basic-section03__img {
    width: 100%;
  }
}

.basic-section03__sub {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .basic-section03__sub {
    margin-top: 30px;
  }
}

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

.basic-section03__table {
  margin-top: 42px;
}

@media screen and (max-width: 767px) {
  .basic-section03__table {
    margin-top: 20px;
  }
}

.basic-section04 {
  margin-top: 123px;
  background-color: #0343b5;
  padding: 142px 0 50px;
}

@media screen and (max-width: 767px) {
  .basic-section04 {
    margin-top: 60px;
    padding: 60px 0 40px;
  }
}

.basic-section04__title {
  color: #fff;
}

.basic-section04__list01 {
  display: grid;
  gap: 24px;
}

.basic-section04__item01 {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: min(60px, 5.2631578947vw) 48px min(46px, 4.0350877193vw) min(95px, 8.3333333333vw);
}

@media screen and (max-width: 767px) {
  .basic-section04__item01 {
    flex-direction: column;
    padding: 2em 1em 1em;
  }
}

.basic-section04__left {
  width: 12.55%;
}

@media screen and (max-width: 767px) {
  .basic-section04__left {
    width: 80px;
  }
}

.basic-section04__caption {
  font-weight: 600;
  color: #0539a0;
}

.basic-section04__right {
  width: 80.92%;
}

@media screen and (max-width: 767px) {
  .basic-section04__right {
    width: 100%;
  }
}

.basic-section04__block {
  padding: 1.5em 1em;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .basic-section04__block {
    padding: 1em;
  }
}

.basic-section04__block:first-of-type {
  border-bottom: 1px solid #0444b5;
}

.basic-section04__term {
  color: #0539a0;
  width: 92px;
}

@media screen and (max-width: 767px) {
  .basic-section04__term {
    width: min(62px, 16.5333333333vw);
  }
}

.basic-section04__description {
  width: calc(100% - 92px);
}

@media screen and (max-width: 767px) {
  .basic-section04__description {
    width: calc(100% - min(62px, 16.5333333333vw));
  }
}

.basic-section04__list02 {
  display: grid;
  gap: 1em;
}

.basic-section04__text {
  margin-top: 70px;
  color: #fff;
  font-size: min(24px, 2.4vw);
  font-weight: 600;
  line-height: 2.5;
  text-align: center;
}

.knowledge_foot {
  color:#0449be;
  font-size: min(24px, 2.4vw);
  font-weight: 600;
  line-height: 2.5;
  text-align: center;
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .basic-section04__text {
    margin-top: 30px;
    font-size: min(18px, 4.8vw);
    line-height: 1.75;
    text-align: left;
  }
}

.basic-section03__banner {
  margin: 100px auto 0;
  width: min(875px, 100%);
  background-image: url(images/basic/banner01-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (max-width: 767px) {
  .basic-section03__banner {
    margin: 40px auto 0;
  }
}

.basic-section03__banner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(16, 17, 21, 0.39);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.banner01__cols {
  position: relative;
  padding: 0 46px 35px 46px;
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

@media screen and (max-width: 767px) {
  .banner01__cols {
    padding: 0 1em 1.5em;
    gap: 1.5em;
  }
}

.banner01__vertical {
  writing-mode: vertical-rl;
  color: #0539a0;
  font-size: 23px;
  font-weight: 600;
  background-color: #fee243;
  -webkit-clip-path: polygon(99% 0, 100% 50%, 100% 100%, 52% 95%, 0 100%, 0% 0%);
  clip-path: polygon(99% 0, 100% 50%, 100% 100%, 52% 95%, 0 100%, 0% 0%);
  padding: 1em 3px;
}

@media screen and (max-width: 767px) {
  .banner01__vertical {
    font-size: 14px;
  }
}

.banner01__body {
  color: #fff;
  padding-top: 50px;
}

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

.banner01__title {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: min(47px, 4.1228070175vw);
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .banner01__title {
    font-size: min(23px, 6.1333333333vw);
  }
}

.banner01_text {
  margin-top: 6px;
  font-size: 15px;
  line-height: 2.2;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .banner01_text {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.5;
    align-items: flex-start;
    gap: 8px;
  }
}

@media screen and (max-width: 767px) {
  .banner01_text span {
    width: 18px;
    flex-shrink: 0;
  }
}

.banner01__btn {
  margin-top: 32px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .banner01__btn {
    margin-top: 20px;
  }
}

.card-list03 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

@media screen and (max-width: 767px) {
  .card-list03 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.card-list04 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px 22px;
}

@media screen and (max-width: 767px) {
  .card-list04 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.card-list05 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .card-list05 {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 12px;
  }
}

.card-list05.-col3 {
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 767px) {
  .card-list05.-col3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.card-list05.-flex-start {
  align-items: flex-start;
}

/*.card-list06 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 124px min(24px, 2.1052631579vw);
}
*/

.card-list06 {
  display: block;
  flex-wrap: wrap;
  justify-content: center;
  gap: 124px min(24px, 2.1052631579vw);
}

@media screen and (max-width: 767px) {
  .card-list06 {
    gap: 60px;
  }
}

.card-list08 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(24px, 2.1052631579vw);
}

@media screen and (max-width: 767px) {
  .card-list08 {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
}

.worry {
  padding: 60px 25px;
}

@media screen and (max-width: 767px) {
  .worry {
    padding: 30px 20px;
  }
}

.worry__inner,
.bg-on>.worry__inner {
  width: min(990px, 100%);
  background-color: #fff;
  padding: 70px min(178px, 15.6140350877vw) 50px;
  position: relative;
}

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

  .worry__inner,
  .bg-on>.worry__inner {
    width: min(540px, 100%);
    padding: 2em min(32px, 4.1720990874vw);
  }
}

.worry__inner::before {
  content: "";
  width: 173px;
  height: 192px;
  background-image: url(images/common/icon-question.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 42px;
  right: 70px;
}

@media screen and (max-width: 767px) {
  .worry__inner::before {
    width: 80px;
    height: 100px;
    top: 10px;
    right: 14px;
  }
}

.worry__textArea {
  position: relative;
}

.worry__message{
  text-align: center;
  margin-top: 50px;
  font-size: 28px;
  font-weight: bold;
}

.worry__title {
  text-align: center;
}

.worry__lead {
  margin-top: 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .worry__lead {
    margin-top: 16px;
  }
}

.worry__list {
  display: grid;
  gap: 1.5em;
}

@media screen and (max-width: 767px) {
  .worry__list {
    gap: 1em;
    margin: 24px auto 0;
    width: min(380px, 100%);
  }
}

.worry__text {
  margin-top: 1em;
}

.lining-feature__inner {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .lining-feature__inner {
    width: min(400px, 100%);
  }
}

.lining-feature__title {
  color: #fff;
}

.lining-feature__list {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .lining-feature__list {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .lining-tech__inner {
    padding: 0;
  }
}

.lining-tech__text {
  margin-top: 1.25em;
  color: #0539a0;
}

.lining-tech__list {
  display: grid;
  gap: 22px;
}

@media screen and (max-width: 767px) {
  .lining-tech__list {
    gap: 24px;
  }
}

.lining-tech__item {
  padding: 50px 80px 60px;
}

@media screen and (max-width: 767px) {
  .lining-tech__item {
    padding: 2em 1em;
  }
}

.tech-item__title {
  color: #0539a0;
  text-align: center;
}

.tech-item__cols {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .tech-item__cols {
    flex-direction: column;
  }
}

.tech-item__body {
  width: 63.2%;
}

@media screen and (max-width: 767px) {
  .tech-item__body {
    width: 100%;
  }
}

.tech-item__img {
  width: 34.44%;
}

@media screen and (max-width: 767px) {
  .tech-item__img {
    width: 100%;
  }
}

.table01 {
  border: 1px solid #b9b9b9;
}

.table01 th,
.table01 td {
  padding: 0.4063em;
}

.table01 th {
  background-color: #dfe7f8;
}

.table01 td {
  text-align: center;
  font-weight: 600;
}

.table01 span {
  display: inline-block;
}

.table01 tr:nth-of-type(even) {
  background-color: #eff1f5;
}

.table01 tr th:first-of-type,
.table01 tr td:first-of-type {
  width: 34%;
}

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

  .table01 tr th:first-of-type,
  .table01 tr td:first-of-type {
    width: 30%;
  }
}

.table02 th,
.table02 td {
  border: 1px solid #b9b9b9;
}

.table02 tr th:first-of-type,
.table02 tr td:first-of-type {
  width: 18.86%;
}

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

  .table02 tr th:first-of-type,
  .table02 tr td:first-of-type {
    width: 22%;
  }
}

.table02 tr th:first-of-type {
  color: #0539a0;
  font-weight: 600;
  padding: 1em 0.5em;
}

.table02 tr:first-of-type th {
  font-size: 20px;
  font-weight: 600;
  color: #0539a0;
  padding: 0.5375em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .table02 tr:first-of-type th {
    font-size: 14px;
  }
}

.table02 tr:first-of-type th span {
  display: inline-block;
}

.table02 tr:first-of-type th:nth-of-type(1) {
  background-color: transparent;
  border: transparent;
}

.table02 tr:first-of-type th:nth-of-type(2),
.table02 tr:first-of-type th:nth-of-type(3) {
  background-color: #d6e5fd;
}

.table02 tr:nth-of-type(n + 2) th {
  background-color: #eff1f5;
  line-height: 1.5;
}

.table02 tr:nth-of-type(n + 2) th span {
  display: inline-block;
}

.table02 tr:nth-of-type(n + 2) td {
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .table02 tr:nth-of-type(n + 2) td {
    vertical-align: baseline;
  }
}

.table02 tr:nth-of-type(n + 2) td>span {
  padding: 1em 22px;
  line-height: 1.625;
  display: flex;
  align-items: center;
  gap: 30px;
}

@media screen and (max-width: 767px) {
  .table02 tr:nth-of-type(n + 2) td>span {
    flex-direction: column;
    gap: 1em;
    padding: 1em;
  }
}

.table02 tr:nth-of-type(n + 2) td>span span {
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .table02 tr:nth-of-type(n + 2) td>span span {
    width: 22px;
  }
}

.table02 th>span {
  width: min(128px, 11.2280701754vw);
  margin: 0 auto;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .table02 th>span {
    width: initial;
    margin: initial;
    text-align: center;
  }
}

.table03 td {
  padding: 4px 0.75em;
  line-height: 2.3125;
}

@media screen and (max-width: 767px) {
  .table03 td {
    display: block;
    width: 100%;
    line-height: 1.75;
    padding: 4px 0;
  }
}

.table03 th {
  width: 97px;
  background-color: #0043b5;
  color: #fff;
  font-weight: 600;
  text-align: center;
  border: 1px solid #fff;
  padding: 4px 0.25em;
}

@media screen and (max-width: 767px) {
  .table03 th {
    display: block;
    width: 100%;
  }
}

.table03 th span {
  display: inline-block;
}

.table03__item {
  display: flex;
  align-items: baseline;
  padding: 0.5em 0;
}

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

.table03__item:not(:last-of-type) {
  border-bottom: 1px solid #e5e8ed;
}

.table03__item span {
  display: inline-block;
}

.table03__left {
  width: 125px;
  color: #0539a0;
  font-weight: 600;
}

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

.table03__right {
  width: calc(100% - 125px);
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .table03__right {
    margin-top: 2px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .table03 tr:nth-of-type(n + 2) th {
    margin-top: 1em;
  }
}

.table04 th {
  width: 19.19%;
  background-color: #0043b5;
  color: #fff;
  font-weight: 600;
  text-align: center;
  border: 1px solid #fff;
  padding: 4px 0.25em;
}

@media screen and (max-width: 767px) {
  .table04 th {
    display: block;
    width: 100%;
    padding: 0.5em;
  }
}

.table04 th span {
  display: inline-block;
}

.table04 td {
  width: 80.81%;
  line-height: 2.3125;
  padding: 4px 0 4px 24px;
}

@media screen and (max-width: 767px) {
  .table04 td {
    display: block;
    width: 100%;
    line-height: 1.75;
    padding: 4px 0;
  }
}

.table04__item {
  display: flex;
  padding: 0.5em 0;
}

@media screen and (max-width: 767px) {
  .table04__item {
    flex-direction: column;
    padding: 1em;
  }
}

.table04__item:not(:last-of-type) {
  border-bottom: 1px solid #e5e8ed;
}

.table04__item:first-of-type {
  padding: 0 0 0.5em 0;
}

@media screen and (max-width: 767px) {
  .table04__item:first-of-type {
    padding: 1em;
  }
}

.table04__item:last-of-type {
  padding: 0.5em 0 0 0;
}

@media screen and (max-width: 767px) {
  .table04__item:last-of-type {
    padding: 1em;
  }
}

.table04__item span {
  display: inline-block;
}

.table04__left {
  width: 22%;
  color: #0539a0;
  font-weight: 600;
  text-align: center;
}

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

.table04__right {
  width: 78%;
  line-height: 2.0625;
}

@media screen and (max-width: 767px) {
  .table04__right {
    margin-top: 5px;
    width: 100%;
    line-height: 1.75;
  }
}

.table05 th,
.table05 td {
  border: 1px solid #ddd;
  font-size: 14px;
  text-align: left;
  padding: 8px;
  line-height: 1.7;
  vertical-align: top;
}

.table05 tr:nth-of-type(n + 2) th {
  font-weight: 400;
}

.table05 tr th:first-of-type {
  width: 35.14%;
}

.table05 tr>th:nth-of-type(n + 3),
.table05 tr>td:nth-of-type(n + 2) {
  width: 18.23%;
}

.table06 {
  border-bottom: 1px solid #707070;
}

.table06 th,
.table06 td {
  display: block;
  width: 100%;
  padding: 8px 1em;
}

.table06 th {
  text-align: left;
  border: 1px solid #707070;
  background-color: #eff1f5;
  color: #0539a0;
}

.table06 td {
  border-left: 1px solid #707070;
  border-right: 1px solid #707070;
}

.table07 th,
.table07 td {
  border: 1px solid #ddd;
  font-size: 14px;
  text-align: left;
  padding: 8px;
  line-height: 1.7;
  vertical-align: top;
  word-break: break-all;
}

.table07 tr:nth-of-type(n + 2) th {
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .table07 tr th:first-of-type {
    width: 35%;
  }
}

.table07 tr>th:nth-of-type(n + 3) {
  width: 10%;
}

@media screen and (max-width: 767px) {
  .table07 tr>th:nth-of-type(n + 3) {
    width: 15%;
  }
}

.table08 {
  background-color: #fff;
  width: -webkit-fill-available;
}

.table08 th,
.table08 td {
  border: 1px solid #ddd;
  font-size: 14px;
  vertical-align: top;
  padding: 8px;
  line-height: 1.7;
  word-break: break-all;
}

.table08 .info {
  background-color: #d9edf7;
}

@media screen and (max-width: 767px) {
  .table08 .info>span {
    display: inline-block;
    transform: translateX(-1em) scale(0.9);
  }
}

.table09 th,
.table09 td {
  border: 1px solid #e5e8ed;
  line-height: 1.5;
  padding: 1.15625em;
}

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

  .table09 th,
  .table09 td {
    padding: 1em 0.75em;
  }
}

.table09 th {
  background-color: #0444b5;
  color: #fff;
  width: 26.4%;
  word-break: break-all;
}

@media screen and (max-width: 767px) {
  .table09 th {
    width: 32%;
    text-align: left;
  }
}

.table09 th span {
  margin: 0 auto;
  display: inline-block;
  width: 80px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .table09 th span {
    width: 100%;
    text-align: center;
  }
}

.table09 td {
  width: 73.6%;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .table09 td {
    width: 68%;
  }
}

.table09 td li+li {
  margin-top: 1.5em;
}

.case__inner {
  padding: 0;
  position: relative;
  z-index: 1;
}

.case__inner.-narrow {
  width: min(740px, 100%);
}

@media screen and (max-width: 767px) {
  .case__inner.-narrow {
    width: min(540px, 100%);
  }
}

.case__inner.-narrow .card07__body {
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .case__inner.-narrow .card07__body {
    padding: 1em;
    display: block;
  }
}

.case__title {
  color: #fff;
}

.case__lead {
  margin-top: 60px;
  color: #fff;
  text-align: center;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .case__lead {
    margin-top: 30px;
  }
}

.case__btn {
  margin-top: 72px;
  text-align: center;
}

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

.lining-chara {
  padding: 72px 20px;
}

@media screen and (max-width: 767px) {
  .lining-chara {
    padding: 45px 20px;
  }
}

.bg-on>.lining-chara__inner {
  padding: 50px 65px 60px;
}

@media screen and (max-width: 767px) {
  .bg-on>.lining-chara__inner {
    padding: 2em 1em;
  }
}

.lining-chara__title {
  color: #0539a0;
  text-align: center;
}

.lining-chara__item:not(:last-of-type) {
  padding-bottom: 26px;
  border-bottom: 1px solid #0444b5;
}

@media screen and (max-width: 767px) {
  .lining-chara__item:not(:last-of-type) {
    padding-bottom: 10px;
  }
}

.lining-chara__item+.lining-chara__item {
  margin-top: 26px;
}

.lining-alert {
  margin: 72px auto 0;
  background-color: #0043b5;
  width: min(950px, 100%);
  padding: 60px 77px 60px min(77px, 6.7543859649vw);
  text-align: center;
  font-weight: 700;
  position: relative;
}

@media screen and (max-width: 767px) {
  .lining-alert {
    margin: 45px auto 0;
    padding: 5.5em 2em 2em;
  }
}

.lining-alert::before {
  content: "";
  width: min(126px, 11.0526315789vw);
  height: min(112px, 9.8245614035vw);
  background-image: url(./images/common/icon-alert.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 4.5em;
  right: 1.5em;
}

@media screen and (max-width: 767px) {
  .lining-alert::before {
    width: 36px;
    height: 34px;
    top: 2em;
    left: 50%;
    transform: translateX(-50%);
  }
}

.lining-alert__inner {
  transform: translateX(-18px);
}

@media screen and (max-width: 767px) {
  .lining-alert__inner {
    transform: initial;
  }
}

.lining-alert__title {
  display: inline;
  background: linear-gradient(transparent 70%, #d3ac0c 70%, #d3ac0c 150%, transparent 150%);
  color: #fff;
}

.lining-alert__text {
  margin-top: 40px;
  color: #fff;
  line-height: 2.2727;
}

@media screen and (max-width: 767px) {
  .lining-alert__text {
    margin-top: 20px;
    line-height: 2;
  }
}

.lining-performance__inner {
  width: min(795px, 100%);
}

@media screen and (max-width: 767px) {
  .lining-performance__inner {
    width: min(540px, 100%);
  }
}

.lining-performance__title {
  color: #0539a0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .lining-performance__wrap {
    overflow-x: scroll;
  }
}

.lining-performance__table {
  width: 755px;
}

@media screen and (max-width: 767px) {
  .lining-performance__table {
    width: 700px;
  }
}

.lining-performance__note {
  margin-top: 62px;
}

@media screen and (max-width: 767px) {
  .lining-performance__note {
    margin-top: 30px;
  }
}

.lining-flow02 {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .lining-flow02 {
    margin-top: 50px;
  }
}

.lining-flow02__title {
  text-align: center;
  color: #0539a0;
}

.lining-flow02__list {
  display: grid;
  gap: 78px;
}

@media screen and (max-width: 767px) {
  .lining-flow02__list {
    gap: 50px;
  }
}

.lining-flow02__item {
  background-color: #eff1f5;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  position: relative;
}

@media screen and (max-width: 767px) {
  .lining-flow02__item {
    flex-direction: column;
    padding: 2em;
  }
}

.lining-flow02__item:nth-of-type(n + 2):before {
  content: "";
  width: 22px;
  height: 43px;
  background-image: url(./images/common/icon-down-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -3.75em;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .lining-flow02__item:nth-of-type(n + 2):before {
    width: 15px;
    height: 35px;
    top: -2.75em;
  }
}

.lining-flow02__body {
  width: 51%;
}

@media screen and (max-width: 767px) {
  .lining-flow02__body {
    width: 100%;
  }
}

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

.lining-flow02__text {
  margin-top: min(32px, 2.8070175439vw);
  line-height: 2.0625;
}

@media screen and (max-width: 767px) {
  .lining-flow02__text {
    margin-top: 1em;
    line-height: 1.75;
  }
}

.lining-flow02__img {
  width: 44.86%;
}

@media screen and (max-width: 767px) {
  .lining-flow02__img {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .lining-qa__inner {
    padding: 0;
  }
}

.lining-qa__title {
  text-align: center;
  color: #0539a0;
}

.lining-flow01__body {
  display: grid;
  gap: 62px;
}

@media screen and (max-width: 767px) {
  .lining-flow01__body {
    gap: 40px;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
  }
}

.lining-flow01__box {
  background-color: #ebf2fe;
  padding: min(29px, 2.5438596491vw);
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .lining-flow01__box {
    flex-direction: column;
    padding: 14px 20px 20px;
  }
}

.lining-flow01__box .lining-flow01__item {
  position: relative;
}

.lining-flow01__box:nth-of-type(1) .lining-flow01__item:nth-of-type(1):before {
  content: "";
  width: min(42px, 3.6842105263vw);
  height: min(22px, 1.9298245614vw);
  background-image: url(images/common/icon-right-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(100% + 50px);
  left: 50%;
  transform: translateX(-50%) rotate(35deg);
}

@media screen and (max-width: 767px) {
  .lining-flow01__box:nth-of-type(1) .lining-flow01__item:nth-of-type(1):before {
    width: 28px;
    height: 15px;
    top: calc(100% - 1.5em);
    left: calc(100% + 3em);
    right: -1em;
  }
}

.lining-flow01__box:nth-of-type(1) .lining-flow01__item:nth-of-type(2):before {
  content: "";
  width: min(42px, 3.6842105263vw);
  height: min(22px, 1.9298245614vw);
  background-image: url(images/common/icon-right-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(100% + 50px);
  left: 0;
  transform: rotate(-35deg);
}

@media screen and (max-width: 767px) {
  .lining-flow01__box:nth-of-type(1) .lining-flow01__item:nth-of-type(2):before {
    width: 28px;
    height: 15px;
    top: 0;
    left: calc(100% + 2em);
    right: -1em;
    transform: rotate(135deg);
  }
}

.lining-flow01__box:nth-of-type(2) .lining-flow01__item:nth-of-type(n + 2):before {
  content: "";
  width: min(30px, 2.6315789474vw);
  height: min(16px, 1.4035087719vw);
  background-image: url(images/common/icon-right-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: -2.25em;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .lining-flow01__box:nth-of-type(2) .lining-flow01__item:nth-of-type(n + 2):before {
    width: 21px;
    height: 11px;
    top: -3em;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}

.lining-flow01__icon {
  width: 17.6%;
  transform: translateX(-1em);
}

@media screen and (max-width: 767px) {
  .lining-flow01__icon {
    width: 100%;
    transform: initial;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.lining-flow01__icon.-customer img {
  width: min(86px, 7.5438596491vw);
}

@media screen and (max-width: 767px) {
  .lining-flow01__icon.-customer img {
    width: 57px;
  }
}

.lining-flow01__icon.-logo img {
  width: min(183px, 16.0526315789vw);
}

@media screen and (max-width: 767px) {
  .lining-flow01__icon.-logo img {
    width: 116px;
  }
}

.lining-flow01__icon figcaption {
  font-size: min(20px, 1.7543859649vw);
  font-weight: 600;
  color: #0539a0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .lining-flow01__icon figcaption {
    font-size: 13px;
  }
}

.lining-flow01__list {
  width: 82.21%;
  display: flex;
  padding-left: min(46px, 4.0350877193vw);
  position: relative;
}

@media screen and (max-width: 767px) {
  .lining-flow01__list {
    padding-top: 28px;
    padding-left: 0;
    width: 100%;
    flex-direction: column;
    min-height: 572px;
  }
}

.lining-flow01__list.-jcsb {
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .lining-flow01__list.-jcsb {
    flex-grow: 1;
  }
}

.lining-flow01__list.-jcc {
  justify-content: center;
  gap: min(56px, 4.9122807018vw);
}

@media screen and (max-width: 767px) {
  .lining-flow01__list.-jcc {
    gap: 56px;
  }
}

.lining-flow01__list::before {
  content: "";
  width: 1px;
  height: 91%;
  background-color: #0539a0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .lining-flow01__list::before {
    width: 100%;
    height: 1px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}

.lining-flow01__item {
  background-color: #fff;
  text-align: center;
  width: min(161px, 14.1228070175vw);
  line-height: 1.5;
  padding: min(35.5px, 3.1140350877vw) 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  font-size: min(20px, 1.7543859649vw);
  font-weight: 600;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .lining-flow01__item {
    width: 100%;
    font-size: 13px;
    padding: 2.682em 0.5em;
    min-height: 105px;
  }
}

.lining-flow01__item span {
  font-size: min(17px, 1.4912280702vw);
}

@media screen and (max-width: 767px) {
  .lining-flow01__item span {
    font-size: 12px;
  }
}

.lining-flow01__item .under-text {
  position: absolute;
  top: 100%;
  left: 50%;
  font-size: min(14px, 1.2280701754vw);
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .lining-flow01__item .under-text {
    top: calc(100% + 2px);
    transform: translateX(-50%);
    font-size: 10px;
  }
}

@media screen and (max-width: 767px) {
  .lining-flow01__item:has(.under-text) {
    margin-bottom: 10px;
  }
}

.lining-flow01__note {
  margin-top: 24px;
  font-weight: 600;
  color: #0539a0;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .lining-flow01__note {
    margin-top: 16px;
    font-size: 12px;
    text-align: center;
  }
}

.lining-flow01__note span {
  display: inline-block;
}

.mold-molding-scene {
  position: relative;
}

.mold-molding-scene::before {
  content: "";
  display: inline-block;
  border-style: solid;
  border-width: 39px 45.5px 0 45.5px;
  border-color: #c7084c transparent transparent transparent;
  position: absolute;
  top: calc(100% - 20px);
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .mold-molding-scene::before {
    border-width: 25px 30px 0 30px;
    top: calc(100% - 14px);
  }
}

.mold-molding-scene__inner {
  width: min(1190px, 100%);
}

@media screen and (max-width: 767px) {
  .mold-molding-scene__inner {
    width: min(540px, 100%);
  }
}

.mold-molding-scene__wrap {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .mold-molding-scene__wrap {
    margin-top: 20px;
  }
}

.mold-molding-scene__list {
  margin: 0 auto;
  width: min(750px, 100%);
  display: grid;
  gap: 1.5em;
}

.mold-molding-service__lead {
  margin-top: 36px;
  font-weight: 600;
  text-align: center;
  color: #000104;
}

@media screen and (max-width: 767px) {
  .mold-molding-service__lead {
    margin-top: 18px;
  }
}

.mold-molding-service__list {
  margin-top: 26px;
}

@media screen and (max-width: 767px) {
  .mold-molding-service__list {
    margin-top: 16px;
  }
}

.mold-molding-feature__list {
  display: grid;
  gap: 92px;
}

@media screen and (max-width: 767px) {
  .mold-molding-feature__list {
    gap: 45px;
  }
}

.cols {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .cols {
    flex-direction: column;
    gap: 1.5em;
  }
}

.cols__body {
  width: 45%;
}

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

.cols.-narrow .cols__body {
  width: 60%;
}

@media screen and (max-width: 767px) {
  .cols.-narrow .cols__body {
    width: 100%;
  }
}

.cols__img {
  width: 50%;
}

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

.cols.-narrow .cols__img {
  width: 35%;
}

@media screen and (max-width: 767px) {
  .cols.-narrow .cols__img {
    width: 100%;
  }
}

.cols__img img {
  width: 100%;
}

.cols__banner {
  margin: 50px auto 0;
  width: 70%;
}

@media screen and (max-width: 767px) {
  .cols__banner {
    margin: 20px auto 0;
    width: 80%;
  }
}

.cols__banner02 {
  margin: 30px auto 0;
  width: 80%;
}

@media screen and (max-width: 767px) {
  .cols__banner02 {
    margin: 14px auto 0;
    width: 90%;
  }
}

.cols02 {
  position: relative;
}

@media screen and (max-width: 767px) {
  .cols02 {
    display: flex;
    flex-direction: column-reverse;
  }
}

@media screen and (max-width: 767px) {
  .cols02__inner {
    position: relative;
  }
}

.cols02__body {
  position: absolute;
  top: 50%;
  left: -70px;
  transform: translateY(-50%);
  z-index: 1;
  width: min(600px, 52.6315789474vw);
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .cols02__body {
    left: -20px;
  }
}

@media screen and (max-width: 767px) {
  .cols02__body {
    margin: -100px auto 0;
    width: min(400px, 100%);
    position: initial;
    transform: initial;
    left: initial;
  }
}

.cols02:nth-of-type(even) .cols02__body {
  left: auto;
  right: 0;
}

@media screen and (max-width: 767px) {
  .cols02:nth-of-type(even) .cols02__body {
    right: auto;
  }
}

.cols02__img {
  margin-left: auto;
  width: 70.7%;
}

@media screen and (max-width: 767px) {
  .cols02__img {
    margin: 0 calc(50% - 50vw);
    width: auto;
  }
}

.cols02:nth-of-type(even) .cols02__img {
  margin: 0 auto 0 0;
  transform: translateX(-70px);
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  .cols02:nth-of-type(even) .cols02__img {
    left: -20px;
  }
}

@media screen and (max-width: 767px) {
  .cols02:nth-of-type(even) .cols02__img {
    transform: initial;
    margin: 0 calc(50% - 50vw);
    width: auto;
  }
}

.cols02__img img {
  min-height: 500px;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .cols02__img img {
    min-height: initial;
    max-height: 350px;
  }
}

.cols03 {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}

@media screen and (max-width: 767px) {
  .cols03 {
    flex-direction: column;
    gap: 24px;
  }
}

.cols03__left {
  width: 35%;
}

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

.cols03__img+.cols03__img {
  margin-top: 1em;
}
.cols03__img+.cols03__img.mt2em {
  margin-top: 4em;
}
.cols03__note {
  margin-top: 21px;
  background-color: #ebf2fe;
  color: #0539a0;
  text-align: center;
  font-weight: 600;
  line-height: 2.25;
  padding: 2.03125em 52px;
}

@media screen and (max-width: 767px) {
  .cols03__note {
    margin-top: 12px;
    line-height: 1.75;
    padding: 1.5em;
  }
}

.cols03__right {
  width: 65%;
}

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

.cols04 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .cols04 {
    flex-direction: column;
    gap: 1.5em;
  }
}

.cols04__body {
  width: 52%;
}

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

.cols04__img {
  width: 40%;
}

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

.cols04__title {
  text-align: center;
}

.cols04__text:not(:first-of-type) {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .cols04__text:not(:first-of-type) {
    margin-top: 1.5em;
  }
}

.cols05 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .cols05 {
    flex-direction: column;
    gap: 1.5em;
  }
}

.cols05__body {
  width: 62%;
}

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

.cols05__img {
  width: 35%;
  padding-right: 40px;
}

@media screen and (max-width: 767px) {
  .cols05__img {
    width: 100%;
    padding-right: 0;
  }
}

.cols05__title {
  text-align: center;
  font-weight: 600;
}

.cols05__text {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .cols05__text {
    margin-top: 1.5em;
  }
}

.cols05__list {
  margin-top: 1em;
}

.cols05__container {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .cols05__container {
    margin-top: 1.5em;
  }
}

.mold-molding-tech {
  margin-top: 25px;
}

.mold-molding-tech__subTitle {
  color: #0539a0;
  text-align: center;
}

.mold-molding-tech__lead {
  margin-top: 20px;
  text-align: center;
  font-weight: 600;
}

.mold-molding-tech__cols {
  margin-top: 28px;
}

.mold-molding-flow__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .mold-molding-flow__inner {
    width: min(540px, 100%);
  }
}

.mold-molding-flow__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .mold-molding-flow__list {
    flex-direction: column;
    gap: 10px;
  }
}

.mold-molding-flow__arrow {
  border-style: solid;
  border-width: min(14px, 1.2280701754vw) 0 min(14px, 1.2280701754vw) min(17px, 1.4912280702vw);
  border-color: transparent transparent transparent #0539a0;
}

@media screen and (max-width: 767px) {
  .mold-molding-flow__arrow {
    transform: rotate(90deg);
    border-width: 8px 0 8px 12px;
  }
}

@media screen and (max-width: 767px) {
  .mold-molding-qa__inner {
    padding: 0;
  }
}

.cutting-scene {
  position: relative;
}

.cutting-scene::before {
  content: "";
  display: inline-block;
  border-style: solid;
  border-width: 39px 45.5px 0 45.5px;
  border-color: #c7084c transparent transparent transparent;
  position: absolute;
  top: calc(100% - 20px);
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .cutting-scene::before {
    border-width: 25px 30px 0 30px;
    top: calc(100% - 14px);
  }
}

.cutting-scene__inner {
  width: min(1190px, 100%);
}

@media screen and (max-width: 767px) {
  .cutting-scene__inner {
    width: min(540px, 100%);
  }
}

.cutting-scene__wrap {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .cutting-scene__wrap {
    margin-top: 20px;
  }
}

.cutting-scene__list {
  margin: 0 auto;
  width: min(750px, 100%);
  display: grid;
  gap: 1.5em;
}

.cutting-service__lead {
  margin-top: 36px;
  font-weight: 600;
  text-align: center;
  color: #000104;
}

@media screen and (max-width: 767px) {
  .cutting-service__lead {
    margin-top: 18px;
  }
}

.cutting-service__list {
  margin-top: 26px;
}

@media screen and (max-width: 767px) {
  .cutting-service__list {
    margin-top: 16px;
  }
}

.cutting-feature__list {
  display: grid;
  gap: 92px;
}

@media screen and (max-width: 767px) {
  .cutting-feature__list {
    gap: 45px;
  }
}

.cutting-tech__subTitle {
  color: #0539a0;
  text-align: center;
}

.cutting-tech__lead {
  margin-top: 20px;
  text-align: center;
  font-weight: 600;
}

.cutting-tech__cols {
  margin-top: 28px;
}

.cutting-qa {
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  .cutting-qa__inner {
    padding: 0;
  }
}

.qa-list {
  display: grid;
  gap: 15px;
}

.qa-list__dl {
  display: grid;
  gap: 18px;
}

@media screen and (max-width: 767px) {
  .qa-list__dl {
    margin-top: 0;
  }
}

.qa-list__term {
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 1em;
  position: relative;
  font-weight: 600;
  padding: 0.7115em 32px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .qa-list__term {
    padding: 1em;
    gap: 0.5em;
  }
}

.qa-list__icon {
  margin-left: auto;
  min-width: 1.15em;
}

.qa-list__icon span {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  top: -10px;
}

.qa-list__description {
  display: none;
  padding: 38px 32px 55px;
  font-weight: 600;
  background-color: #dfe7f8;
}

@media screen and (max-width: 767px) {
  .qa-list__description {
    padding: 1em;
  }
}

.qa-list__wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

.qa-list__icon span:before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 0;
  border-bottom: 2px solid #0539a0;
  border-right: 2px solid #0539a0;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform 0.3s;
  transform-origin: center;
}

.qa-list__icon span.open:before {
  transform: translate(-50%, 0) rotate(225deg);
}

.qa-list__childList {
  display: grid;
  gap: 36px;
}

@media screen and (max-width: 767px) {
  .qa-list__childList {
    gap: 20px;
  }
}

.qa-list__childItem {
  display: grid;
  gap: 15px;
  padding-bottom: 30px;
  border-bottom: 1px solid #0539a0;
}

@media screen and (max-width: 767px) {
  .qa-list__childItem {
    gap: 8px;
    padding-bottom: 16px;
  }
}

.qa-list__question {
  display: flex;
  align-items: center;
  gap: 14px;
}

.qa-list__answer {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-left: 13px;
  line-height: 2.0625;
}

@media screen and (max-width: 767px) {
  .qa-list__answer {
    line-height: 1.75;
    padding-left: 10px;
  }
}

.qa-list__answer a {
  color: #c7084c;
}

.qa-list__question .label02 {
  flex-shrink: 0;
}

.qa-list__answer .label03 {
  flex-shrink: 0;
}

.qa-list02 {
  display: grid;
  gap: 18px;
}

.qa-list02__term {
  background-color: #fff;
  padding: 0.925em 32px;
  display: flex;
  align-items: center;
  gap: 1em;
  position: relative;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .qa-list02__term {
    padding: 1em;
    gap: 0.5em;
  }
}

.qa-list02__term .label02 {
  flex-shrink: 0;
}

.qa-list02__icon {
  margin-left: auto;
  min-width: 1.15em;
}

.qa-list02__icon span {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  top: -7px;
}

.qa-list02__description {
  display: none;
  padding: 18px 45px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .qa-list02__description {
    padding: 1em;
  }
}

.qa-list02__description a {
  color: #c7084c;
}

.qa-list02__wrapper {
  display: flex;
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .qa-list02__wrapper {
    gap: 8px;
  }
}

.qa-list02__icon span:before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 0;
  border-bottom: 2px solid #0539a0;
  border-right: 2px solid #0539a0;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform 0.3s;
  transform-origin: center;
}

.qa-list02__icon span.open:before {
  transform: translate(-50%, -50%) rotate(225deg);
}

.develop-philosophy__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .develop-philosophy__inner {
    width: min(540px, 100%);
  }
}

.develop-philosophy__sub.-bg-on {
  background-color: #ebf2fe;
  padding: 3em;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .develop-philosophy__sub.-bg-on {
    padding: 2em;
  }
}

.develop-philosophy__sub+.develop-philosophy__sub {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .develop-philosophy__sub+.develop-philosophy__sub {
    margin-top: 40px;
  }
}

.develop-philosophy__subTitle {
  color: #0539a0;
  text-align: center;
}

.develop-philosophy__img {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .develop-philosophy__img {
    margin-top: 1.5em;
  }
}

.develop-philosophy__textArea {
  margin-top: 1.5em;
  display: grid;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .develop-philosophy__textArea {
    margin-top: 1em;
  }
}

@media screen and (max-width: 767px) {
  .develop-section {
    margin-top: 150px;
  }
}

@media screen and (max-width: 767px) {
  .develop-section.-spMtNarrow {
    margin-top: 60px;
  }
}

.develop-section__cols+.develop-section__cols {
  margin-top: 60px;
}

.quality-about__box {
  background-color: #ebf2fe;
  text-align: center;
  padding: 48px 1em;
}

@media screen and (max-width: 767px) {
  .quality-about__box {
    padding: 2em 1em;
  }
}

.quality-about__lead {
  margin: 2em auto 0;
  width: min(990px, 100%);
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .quality-about__lead {
    margin: 1.5em auto 0;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .quality-about__cols {
    margin-top: 50px;
  }
}

.quality-about__cols+.quality-about__cols {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .quality-facility {
    margin-top: 120px;
  }
}

.quality-facility__inner {
  width: min(900px, 100%);
}

@media screen and (max-width: 767px) {
  .quality-facility__inner {
    width: min(540px, 100%);
  }
}

.quality-facility__imgs {
  display: flex;
  justify-content: center;
  gap: 5em;
}

@media screen and (max-width: 767px) {
  .quality-facility__imgs {
    flex-direction: column;
    gap: 25px;
  }
}

.quality-facility__img {
  width: 40%;
}

@media screen and (max-width: 767px) {
  .quality-facility__img {
    margin: 0 auto;
    width: 82%;
  }
}

.quality-facility__table {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .quality-facility__table {
    margin-top: 40px;
  }
}

.data-list01__block {
  padding: 1.25em 0;
  border-bottom: 1px solid #0539a0;
}

.data-list01__block:first-of-type {
  padding: 0 0 1.25em 0;
}

@media screen and (max-width: 767px) {
  .data-list01__term {
    font-size: 16px;
  }
}

.data-list01__description {
  margin-top: 0.5em;
}

.data-list01__block:first-of-type .data-list01__description {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .composite__inner {
    padding: 0;
  }
}

.composite__lead {
  margin-top: 2em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .composite__lead {
    margin-top: 1.5em;
    text-align: left;
  }
}

.composite__lead span {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .composite__lead span {
    display: inline;
  }
}

.composite__cols .data-list01__block:last-of-type {
  padding-bottom: 0;
  border-bottom: initial;
}

.managementpolicy__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .managementpolicy__inner {
    width: min(540px, 100%);
  }
}

.managementpolicy__sub+.managementpolicy__sub {
  margin-top: 60px;
}

.managementpolicy__text,
.managementpolicy__list {
  margin-top: 1.5em;
}

.managementpolicy__credit {
  margin-top: 2em;
  text-align: right;
}

.managementpolicy-iso__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .managementpolicy-iso__inner {
    width: min(540px, 100%);
  }
}

.managementpolicy-iso__lead {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .managementpolicy-iso__lead {
    margin-top: 1.5em;
  }
}

.managementpolicy-iso__imgs {
  display: flex;
  justify-content: center;
  gap: 5em;
}

@media screen and (max-width: 767px) {
  .managementpolicy-iso__imgs {
    flex-direction: column;
    gap: 25px;
  }
}

.managementpolicy-iso__img {
  width: 40%;
}

@media screen and (max-width: 767px) {
  .managementpolicy-iso__img {
    margin: 0 auto;
    width: 82%;
  }
}

.facility__inner {
  width: min(900px, 100%);
}

@media screen and (max-width: 767px) {
  .facility__inner {
    width: min(540px, 100%);
  }
}

.facility__lead {
  margin-top: 2em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .facility__lead {
    margin-top: 1.5em;
  }
}

.contact__inner {
  width: min(900px, 100%);
}

@media screen and (max-width: 767px) {
  .contact__inner {
    width: min(540px, 100%);
  }
}

.contact__text a {
  text-decoration: underline;
}

.contact__title {
  margin-top: 60px;
  font-weight: 600;
}

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

.contact .tel02 {
  margin-top: 0.5em;
  color: #0539a0;
}

@media screen and (max-width: 767px) {
  .contact .tel02 {
    justify-content: initial;
  }
}

.privacy__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .privacy__inner {
    width: min(540px, 100%);
  }
}

.privacy__title {
  color: #0539a0;
  text-align: center;
}

.privacy__lead {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .privacy__lead {
    margin-top: 1.5em;
  }
}

.privacy__sub+.privacy__sub {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .privacy__sub+.privacy__sub {
    margin-top: 30px;
  }
}

.privacy__text,
.privacy__list {
  margin-top: 1.5em;
}

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

  .privacy__text,
  .privacy__list {
    margin-top: 1em;
  }
}

.download__inner {
  width: min(1190px, 100%);
}
.download__inner__bg{
  background-color: #fff;
  padding: 30px 45px;
}
.archive-ebook__list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 65px 35px;
}
.archive-ebook__img{
    width: 100%;
    position: relative;
    overflow: hidden;
}
.archive-ebook__img::before{
    padding-top: 75.38%;
    display: block;
    content: "";
}
.archive-ebook__img img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
  transition: transform 0.3s;
}

@media screen and (max-width: 767px) {
  .download__inner {
    width: min(540px, 100%);
  }
}

.download__lead {
  margin: 0 auto;
  width: min(700px, 100%);
}

.download__title {
  color: #0539a0;
  text-align: center;
}

.download__text {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .download__text {
    margin-top: 1em;
  }
}

.magnet-rubber-service {
  background-image: url(images/magnet-rubber/magnet-rubber-service-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.magnet-rubber-service__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .magnet-rubber-service__inner {
    width: min(540px, 100%);
    padding: 0;
  }
}

.magnet-rubber-service__title {
  color: #fff;
}

.magnet-rubber-service__lead {
  margin-top: 2em;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .magnet-rubber-service__lead {
    margin-top: 1.5em;
  }
}

.magnet-rubber-service__box {
  margin: 54px auto 0;
  width: min(800px, 100%);
  border: 1px solid #aaa;
  background-color: #f7f7f7;
  padding: 2em;
}

@media screen and (max-width: 767px) {
  .magnet-rubber-service__box {
    margin: 30px auto 0;
  }
}

.magnet-rubber-service__subTitle {
  text-align: center;
  color: #fff;
}

.magnet-rubber-service__subTitle.-bk {
  color: #000104;
}

.magnet-rubber-service__list {
  margin-top: 1.5em;
}

.magnet-rubber-service__item .red {
  color: red;
}

.magnet-rubber-contact__text {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .magnet-rubber-contact__text {
    margin-top: 1.5em;
  }
}

@media screen and (max-width: 767px) {
  .magnet-rubber-feature__inner {
    padding: 0;
  }
}

.magnet-rubber-feature__sub+.magnet-rubber-feature__sub {
  margin-top: 120px;
}

@media screen and (max-width: 767px) {
  .magnet-rubber-feature__sub+.magnet-rubber-feature__sub {
    margin-top: 70px;
  }
}

.magnet-rubber-feature__subTitle {
  text-align: center;
}

.magnet-rubber-feature__cols .data-list01__block {
  padding: 0;
  border: none;
}

@media screen and (max-width: 767px) {
  .medeus-qa__inner {
    padding: 0;
  }
}

.medeus-qa__title {
  text-align: center;
  color: #0539a0;
}

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

.medeus-processing__lead {
  margin-top: 2em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .medeus-processing__lead {
    text-align: left;
  }
}

.medeus-processing__item .card05__text {
  margin-top: 0.75em;
  color: #000104;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .medeus-processing__item .card05__text {
    font-size: 14px;
  }
}

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

.medeus-case__lead {
  margin-top: 2em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .medeus-case__lead {
    margin-top: 1em;
  }
}

.medeus-case__lead span {
  display: inline-block;
}

.medeus-case__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(24px, 2.1052631579vw);
}

@media screen and (max-width: 767px) {
  .medeus-case__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 32px;
  }
}

.medeus-case__item {
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
}

.medeus-case__ListText {
  margin-top: 0.75em;
  font-family: "forma-djr-text", sans-serif;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.023em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .medeus-case__ListText {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .medeus-case__img {
    margin: 0 auto;
    max-width: 300px;
  }
}

.medeus-case__text {
  margin-top: 50px;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .medeus-case__text {
    margin-top: 30px;
    text-align: left;
  }
}

.medeus-feature__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .medeus-feature__inner {
    width: min(540px, 100%);
  }
}

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

.medeus-feature__item+.medeus-feature__item {
  margin-top: 2.5em;
}

@media screen and (max-width: 767px) {
  .medeus-feature__item+.medeus-feature__item {
    margin-top: 2em;
  }
}

.medeus-feature__text {
  margin-top: 0.75em;
  padding-left: 2.75em;
}

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

.medeus-feature__textArea {
  margin-top: 2em;
}

.medeus-feature__movie {
  margin: 2em auto 0;
  width: 80%;
  aspect-ratio: 4/3;
}

@media screen and (max-width: 767px) {
  .medeus-feature__movie {
    margin: 1em auto 0;
    width: min(350px, 100%);
  }
}

.medeus-feature__movie video {
  width: 100%;
  height: 100%;
}

.single__inner {
  width: min(900px, 100%);
}

.single__title {
  text-align: left;
  color: #000104;
}

.single__content {
  margin-top: 45px;
}

@media screen and (max-width: 767px) {
  .single__content {
    margin-top: 25px;
  }
}

.pager {
  margin-top: 3em;
}

@media screen and (max-width: 767px) {
  .pager {
    margin-top: 2em;
  }
}

.pager__list {
  display: flex;
  justify-content: space-between;
  gap: 4vw;
}

.pager__item {
  min-width: 88px;
}

@media screen and (max-width: 767px) {
  .pager__item {
    min-width: 77px;
  }
}

.pager__item a {
  padding: 0.75em;
  position: relative;
}

.pager__item a::before {
  content: "";
  width: 0.75em;
  height: 0.75em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.pager__item.prev a::before {
  left: -0.25em;
  border-bottom: 2px solid #000104;
  border-left: 2px solid #000104;
}

.pager__item.next a::before {
  right: -0.25em;
  border-top: 2px solid #000104;
  border-right: 2px solid #000104;
}

.archive__inner {
  width: min(900px, 100%);
}

.pagination {
  margin-top: 5em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 2em;
  }
}

.pagination .nav-links>.page-numbers {
  display: flex;
  justify-content: center;
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .pagination .nav-links>.page-numbers {
    gap: 10px;
  }
}

.pagination .nav-links>.page-numbers li>a,
.pagination .nav-links>.page-numbers li>span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em;
  border: 1px solid #0043b5;
  transition: all 0.3s;
  min-width: 34px;
  color: #0539a0;
}

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

  .pagination .nav-links>.page-numbers li>a,
  .pagination .nav-links>.page-numbers li>span {
    min-width: 30px;
  }
}

.pagination .nav-links>.page-numbers li>span {
  background-color: #0043b5;
  color: #fff;
}

.pagination .nav-links>.page-numbers li>span.dots {
  background-color: #fff;
  color: #000104;
}

@media (hover: hover) {
  .pagination .nav-links>.page-numbers li>a:hover {
    color: #fff;
    background-color: #0043b5;
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .quality-section {
    margin-top: 150px;
  }
}

.sitemap__inner {
  width: min(840px, 100%);
}

@media screen and (max-width: 767px) {
  .sitemap__inner {
    width: min(540px, 100%);
  }
}

.sitemap__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .sitemap__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}

.sitemap__item a {
  display: inline-block;
  padding: 0.25em;
  text-decoration: underline;
}

.medeus-banners__inner {
  width: min(940px, 100%);
}

@media screen and (max-width: 767px) {
  .medeus-banners__inner {
    width: min(540px, 100%);
  }
}

.medeus-banners__text {
  margin-top: 2em;
}

.medeus-banners__banner {
  margin-top: 2em;
}

.medeus-sample__inner {
  width: min(940px, 100%);
}

@media screen and (max-width: 767px) {
  .medeus-sample__inner {
    width: min(540px, 100%);
  }
}

.medeus-sample__banner {
  margin-top: 2em;
}

.medeus-sample__download {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .medeus-sample__download {
    margin-top: 1em;
  }
}

.medeus-product__inner {
  width: min(940px, 100%);
}

@media screen and (max-width: 767px) {
  .medeus-product__inner {
    width: min(540px, 100%);
    padding: 0;
  }
}

.medeus-product__item+.medeus-product__item {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .medeus-product__item+.medeus-product__item {
    margin-top: 42px;
  }
}

.medeus-product__tableWrap {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .medeus-product__tableWrap {
    overflow-x: scroll;
    margin-top: 1em;
  }
}

@media screen and (max-width: 767px) {
  .medeus-product__table {
    width: max(100%, 550px);
  }
}

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

.medeus-product__tableList {
  margin-top: 1.5em;
}

.medeus-product__tableItem+.medeus-product__tableItem {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .medeus-product__tableItem+.medeus-product__tableItem {
    margin-top: 1em;
  }
}

.info-policy__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .info-policy__inner {
    width: min(540px, 100%);
    padding: 0;
  }
}

.info-policy__text {
  margin-top: 1em;
  text-align: center;
  color: #fff;
  background-color: #0043b5;
  line-height: 2;
  font-weight: 900;
  padding: 1.3em;
}

@media screen and (max-width: 767px) {
  .info-policy__text {
    padding: 1em;
    line-height: 1.75;
  }
}

.info-message__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .info-message__inner {
    width: min(540px, 100%);
  }
}

.info-message__lead {
  line-height: 1.5;
  text-align: center;
  font-weight: 900;
  color: #000104;
}

.info-message__text {
  margin-top: 2em;
  line-height: 2.3125;
}

@media screen and (max-width: 767px) {
  .info-message__text {
    margin-top: 1.5em;
    line-height: 1.75;
  }
}

.info-message__credit {
  margin-top: 1.5em;
  line-height: 1.5;
  text-align: right;
  color: #000104;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .info-message__credit {
    margin-top: 1em;
  }
}

.info-outline__inner {
  width: min(775px, 100%);
}

@media screen and (max-width: 767px) {
  .info-outline__inner {
    width: min(540px, 100%);
  }
}

.info-access__inner {
  width: min(990px, 100%);
}

@media screen and (max-width: 767px) {
  .info-access__inner {
    width: min(540px, 100%);
  }
}

.info-access__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .info-access__list {
    grid-template-columns: repeat(1, 1fr);
  }
}

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

.info-access__map {
  margin-top: 1.5em;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 65%;
}

@media screen and (max-width: 767px) {
  .info-access__map {
    margin-top: 1em;
  }
}

.info-access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.info-history__inner {
  width: min(775px, 100%);
}

@media screen and (max-width: 767px) {
  .info-history__inner {
    width: min(540px, 100%);
  }
}

.archive-product__inner {
  width: min(1150px, 100%);
}

@media screen and (max-width: 767px) {
  .archive-product__inner {
    width: min(540px, 100%);
    padding: 0;
  }
}

.archive-product__cats {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: flex-end;
  gap: min(10px, 0.8771929825vw);
}

@media screen and (max-width: 767px) {
  .archive-product__cat {
    height: 100%;
  }
}

.archive-product__cat a {
  width: 100%;
  display: inline-block;
  background-color: #0043b5;
  color: #fff;
  border-radius: 5px 5px 0 0;
  font-size: min(16px, 1.4035087719vw);
  font-weight: 600;
  text-align: center;
  padding: 0.6111em 0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .archive-product__cat a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: inherit;
    padding: 5px 2px;
    font-size: 11px;
  }
}

.archive-product__cat a.is-active {
  background-color: #fff;
  border-top: 3px solid #0043b5;
  border-radius: initial;
  color: #0539a0;
  padding: 1.11em 0;
}

.archive-product__main {
  background-color: #fff;
  padding: 110px 45px;
}

@media screen and (max-width: 767px) {
  .archive-product__main {
    padding: 2em 1.5em;
  }
}

.archive-product__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 65px 22px;
}

@media screen and (max-width: 767px) {
  .archive-product__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 50px 20px;
  }
}

.archive-product__label {
  color: #fff;
  background-color: #0043b5;
  line-height: 1.5;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 14px;
  padding: 3px 1em;
}

.archive-product__img {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.archive-product__img::before {
  padding-top: 75.38%;
  display: block;
  content: "";
}

.archive-product__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform 0.3s;
}

@media (hover: hover) {
  .archive-product__link:hover .archive-product__img img {
    transform: translate(-50%, -50%) scale(1.1);
  }
}

.archive-product__body {
  margin-top: 20px;
  padding: 0 1em;
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .archive-product__body {
    margin-top: 12px;
  }
}

.archive-product__header {
  font-size: min(22px, 1.9298245614vw);
  text-align: center;
  border-bottom: 1px solid #0539a0;
  padding-bottom: 0.5em;
  font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
  .archive-product__header {
    font-size: 16px;
    padding-bottom: 10px;
  }
}

.archive-product__dl {
  margin-top: 20px;
  display: grid;
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .archive-product__dl {
    margin-top: 12px;
  }
}

.archive-product__block {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .archive-product__block {
    gap: 0.5em;
    align-items: center;
  }
}

.archive-product__description {
  font-size: 14px;
  color: #0539a0;
  line-height: 1.5;
  font-weight: 600;
  word-break: break-all;
  font-feature-settings: "palt";
}

.recruit-fv {
  margin: 20px 0 32px;
}

.recruit-message {
  background-color: #fff;
  padding: 80px 2em;
}

@media screen and (max-width: 767px) {
  .recruit-message {
    padding: 60px 20px 30px;
  }
}

.recruit-message__box {
  margin: 0 auto;
  width: min(868px, 100%);
}

.recruit-message__title {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

.recruit-message__title::before {
  content: "";
  width: min(376px, 32.9824561404vw);
  height: min(249px, 21.8421052632vw);
  background-image: url(./images/recruit/recruit-message-text.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -2em;
  left: calc(-100% + 4.5em);
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .recruit-message__title::before {
    left: calc(-100% + 5.5em);
  }
}

@media screen and (max-width: 767px) {
  .recruit-message__title::before {
    width: min(160px, 42.6666666667vw);
    height: min(110px, 29.3333333333vw);
    top: -3.25em;
    left: calc(-100% + 10em);
  }
}

.recruit-stage__title {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

.recruit-stage__title::before {
  content: "";
  width: min(415px, 36.4035087719vw);
  height: min(260px, 22.8070175439vw);
  background-image: url(./images/recruit/recruit-stage-text.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -2.2em;
  left: calc(-100% - 3em);
}

@media screen and (max-width: 767px) {
  .recruit-stage__title::before {
    width: min(160px, 42.6666666667vw);
    height: min(125px, 33.3333333333vw);
    top: -1.75em;
    left: -100%;
  }
}

.recruit-stage__lead {
  margin-top: 55px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .recruit-stage__lead {
    margin-top: 24px;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .recruit-statue {
    margin-top: 120px;
  }
}

.recruit-statue__title {
  color: #fff;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

.recruit-statue__title::before {
  content: "";
  width: min(336px, 29.4736842105vw);
  height: min(227px, 19.9122807018vw);
  background-image: url(./images/recruit/recruit-statue-text.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -2.25em;
  left: calc(-100% - 2.5em);
}

@media screen and (max-width: 767px) {
  .recruit-statue__title::before {
    width: min(160px, 42.6666666667vw);
    height: min(110px, 29.3333333333vw);
    top: -2.25em;
    left: -100%;
  }
}

.recruit-statue__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

@media screen and (max-width: 767px) {
  .recruit-statue__list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.recruit-statue__item {
  background-color: #fff;
  padding: 50px 36px 74px;
}

@media screen and (max-width: 767px) {
  .recruit-statue__item {
    padding: 2em 20px 3em;
  }
}

.recruit-statue__subTitle {
  text-align: center;
  border-bottom: 1px solid #0043b5;
  padding-bottom: 0.5em;
}

.recruit-statue__text {
  margin-top: 1em;
  line-height: 2.75;
}

@media screen and (max-width: 767px) {
  .recruit-statue__text {
    line-height: 1.75;
  }
}

.recruit-offer__title {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

.recruit-offer__title::before {
  content: "";
  width: min(390px, 34.2105263158vw);
  height: min(245px, 21.4912280702vw);
  background-image: url(./images/recruit/recruit-recruiting-text.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -2em;
  left: calc(-100% - 5.5em);
}

@media screen and (max-width: 767px) {
  .recruit-offer__title::before {
    width: min(180px, 48vw);
    height: min(130px, 34.6666666667vw);
    top: -2.5em;
    left: calc(-100% - 2.5em);
  }
}

.recruit-offer__table {
  margin: 0 auto;
  width: min(556px, 100%);
}

.recruit-voice__item {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

@media screen and (max-width: 767px) {
  .recruit-voice__item {
    flex-direction: column-reverse;
  }
}

.recruit-voice__item+.recruit-voice__item {
  margin-top: 144px;
}

@media screen and (max-width: 767px) {
  .recruit-voice__item+.recruit-voice__item {
    margin-top: 62px;
  }
}

.recruit-voice__left {
  margin-top: min(58px, 5.0877192982vw);
  width: 48.9%;
}

@media screen and (max-width: 767px) {
  .recruit-voice__left {
    margin-top: 0;
    width: 100%;
  }
}

.recruit-voice__subTitle {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .recruit-voice__subTitle {
    position: initial;
    width: auto;
    font-weight: 700;
  }
}

@media screen and (max-width: 767px) {
  .recruit-voice__subTitle.u-mobile {
    display: grid;
  }
}

.recruit-voice__subTitle>span {
  font-size: min(28px, 2.4561403509vw);
  color: #fff;
  line-height: 1.5;
  background-color: rgba(3, 67, 181, 0.9);
  padding: 10px 1em;
}

@media screen and (max-width: 767px) {
  .recruit-voice__subTitle>span {
    font-size: 20px;
    background-color: rgb(3, 67, 181);
  }
}

.recruit-voice__subTitle>span:nth-of-type(2) {
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .recruit-voice__subTitle>span:nth-of-type(2) {
    margin-top: -16px;
  }
}

.recruit-voice__subTitle>.narrow {
  font-feature-settings: "palt";
}

.recruit-voice__text {
  margin-top: 30px;
  line-height: 2.25;
}

@media screen and (max-width: 767px) {
  .recruit-voice__text {
    margin-top: 1em;
    line-height: 1.75;
  }
}

.recruit-voice__right {
  width: 47.3%;
}

@media screen and (max-width: 767px) {
  .recruit-voice__right {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .recruit-voice__img {
    margin: 0 auto;
    width: 85%;
  }
}

.recruit-voice__box {
  margin: 24px auto 0;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #d6e5fd;
  color: #0539a0;
  display: flex;
  align-items: center;
  font-weight: 600;
  padding: 1.125em min(39px, 3.4210526316vw);
}

@media screen and (max-width: 767px) {
  .recruit-voice__box {
    margin: 12px auto 0;
    padding: 0.75em 1.5em;
  }
}

.recruit-voice__name {
  padding-right: min(28px, 2.4561403509vw);
  font-size: min(20px, 1.7543859649vw);
}

@media screen and (max-width: 767px) {
  .recruit-voice__name {
    padding-right: 16px;
    font-size: 16px;
  }
}

.recruit-voice__info {
  padding-left: min(38px, 3.3333333333vw);
  line-height: 1.875;
  position: relative;
  font-size: min(16px, 1.4035087719vw);
}

@media screen and (max-width: 767px) {
  .recruit-voice__info {
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.5;
  }
}

.recruit-voice__info::before {
  content: "";
  width: 2px;
  height: 40px;
  background-color: #0539a0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.single-product__inner {
  width: min(1150px, 100%);
}

.single-product__title {
  text-align: center;
  color: #0539a0;
}

@media screen and (max-width: 767px) {
  .single-product__pager .pager__list {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em;
  }
}

@media screen and (max-width: 767px) {
  .single-product__pager .pager__item.next {
    margin-left: auto;
  }
}

.u-mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-mobile {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}

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


.cta_download{
  text-align: center;
  margin-top: 5em;
  padding:1.5em;
}

.cta_download img{
  display:inline;
}

.center_p
{
  padding:0 5em;
}

@media screen and (max-width: 767.98px) {
  .center_p
  {
    padding:0 1em;
  }
}

/****************************************
12.ゴム加工ページ/knowledge/
*****************************************/

/*目次*/

.mokuji_outer{
  margin: 2em 5em;
  width: 50%;
}
.mokuji {
  margin-bottom: 30px;
  border: 2px solid #0539a0;
  border-radius: 3px;
}

.mokuji div {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 10px 0;
  background-color: #0539a0;
  color: #fff;
  font-weight: 600;
  font-size: 1.1em;
}

.mokuji div::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4H21V6H8V4ZM3 3.5H6V6.5H3V3.5ZM3 10.5H6V13.5H3V10.5ZM3 17.5H6V20.5H3V17.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  content: '';
}

.mokuji ol {
  list-style-type: decimal;
  margin: 0;
  overflow: hidden;
}

.mokuji > ol {
  padding: 1em 1em 1em 3em;
}

.mokuji ol ol {
  margin-top: 5px;
  padding-left: 1.1em;
}

.mokuji li {
  padding: 5px 0;
  font-weight: 600;
}

.mokuji ol ol li {
  font-weight: 500;
  font-size: .9em;
}

.mokuji a {
  color: #333;
  text-decoration: none;
}

.anker{
  margin-top:-60px;
  padding-top:60px;
  
}

/*〇×画像入りテーブル*/
.decotable{
  margin: 1em 0
}

.decotable th{
  background-color: #d6e5fd;
  font-size: 20px;
  font-weight: 600;
  color: #0539a0;
  padding: 0.5375em;
  line-height: 1.5;
  border: 1px solid #b9b9b9;
}

.decotable td:first-child{
  background-color: #eff1f5;
  line-height: 1.5;
  color: #0539a0;
  font-weight: 600;
  padding: 1em 0.5em;
  text-align: center;
}

.decotable td{
  border: 1px solid #b9b9b9;
}

@media screen and (max-width: 767.98px) {
  .decotable td{
    text-align: center;
  }
}

.decotable span{
  display:flex;
  align-items: center;
}



@media screen and (max-width: 767.98px) {
  .decotable span{
    display:block;
  }
}

.decotable td img{
  display: block;
  margin:0 1em;
 }

 @media screen and (max-width: 767.98px) {
  .decotable td img{
    display: block;
    margin:1em auto;
   }
 }


/*テキストのみテーブル(2列)*/
.txtable{
  margin: 1em 0
}

.txtable th{
  background-color: #d6e5fd;
  font-size: 20px;
  font-weight: 600;
  color: #0539a0;
  padding: 0.5375em;
  line-height: 1.5;
  border: 1px solid #b9b9b9;
}

.txtable th:first-child{
  background-color: #d6e5fd;
  font-size: 20px;
  font-weight: 600;
  color: #0539a0;
  padding: 0.5375em;
  line-height: 1.5;
  border: 1px solid #b9b9b9;
  width:25%;
}

.txtable td:first-child{
  background-color: #eff1f5;
  line-height: 1.5;
  color: #0539a0;
  font-weight: 600;
  padding: 1em 0.5em;
  text-align: center;
  width:25%;
}

.txtable td{
  border: 1px solid #b9b9b9;
  padding: 1em 0.5em;
}

@media screen and (max-width: 767.98px) {
  .txtable td{
    text-align: center;
  }
}

.txtable span{
  display:flex;
  align-items: center;
}



@media screen and (max-width: 767.98px) {
  .txtable span{
    display:block;
  }
}

.txtable td img{
  display: block;
  margin:0 1em;
 }

 @media screen and (max-width: 767.98px) {
  .txtable td img{
    display: block;
    margin:1em auto;
   }
 }
/*↑↑テキストのみテーブル(2列)ここまで↑↑*/



/*〇×△画像のみテーブル(複数列)*/
.imgtable{
  margin: 1em 0
}

.imgtable th{
  background-color: #d6e5fd;
  font-size: 20px;
  font-weight: 600;
  color: #0539a0;
  padding: 0.5375em;
  line-height: 1.5;
  border: 1px solid #b9b9b9;
}

.imgtable td:first-child{
  background-color: #eff1f5;
  line-height: 1.5;
  color: #0539a0;
  font-weight: 600;
  padding: 1em 0.5em;
  text-align: center;
}

.imgtable td{
  border: 1px solid #b9b9b9;
  padding: 1em 0.5em;
}

.imgtable img{
  margin:0 auto;
}
/*〇×△画像のみテーブル(複数列)ここまで↑↑*/

.leftimg{
width: 40%;
display: inline;
padding: 0.5em;
border: 1px solid #c5c5c5;}


/*画像回り込み左*/
.imgfloat_l{
  width: 50%;
  float: left;
  margin-right:1em;
  display:inline;
}
@media screen and (max-width: 767.98px) {
  .imgfloat_l{
    width: 98%;
    display:block;
  }
}

/*見出し用*/
.lb_border_h{
  margin: 2em 0;
  border-left: 10px solid #0539A0;
  padding: 1em 0 1em 1em;
  border-bottom: 2px solid #0539A0;
  color: #0539A0;
}
/*見出し用*/
.l_border_h{
  margin: 1em 0.5em;
  border-left: 10px solid #0539A0;
  padding: 0.5em 0 0.5em 1em;
  color: #0539A0;
}


/*ボタンリンク*/
.txtbtn{/*pにこのクラスつける*/
  text-align: center;
  margin: 4em auto;
}

.txtbtn a{/*pの中にa入れる*/
  background-color: #bf1967;
  color: #FFF;
  padding: 1em 4em;
  font-size: 1.5em;
  font-weight: bold;
}

.txtbtn a:hover{
  opacity:0.7;
}



/*青い太い文字*/
.bluetex_b{
  font-weight: bold;
  color: #0539A0;
}

/*青い文字*/
.bluetex{
  color: #0539A0;
}

/*幅の設定*/
.wid40{
  width:40%;
}

.wid60{
  width:60%;
}

.wid70{
  width:70%;
}

@media screen and (max-width: 767.98px) {
.wid40, .wid60, .wid70{
  width:98%
}

}

/*ulリストにディスク*/
.ul_disc li{
  list-style: disc;
  margin:0 0 0 1.5em;
}