@charset "UTF-8";
/****************************************************
 * Stylesheet
 *
 * 1.リセット
 * 2.共通設定
 * 3.レイアウト設定
 * 4.テンプレートスタイル
 * 5.コンテンツスタイル
 * 6.装飾
 * 7.印刷用調整
 * 
 ****************************************************/
/****************************************************
 * 1.リセット
 ****************************************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #FFF;
  line-height: 1.5;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

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

fieldset, img, svg {
  border: 0;
}

address, caption, cite, dfn, em, strong, th {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

input[type=submit], input[type=button], input[type=reset] {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

article, aside, footer, header, nav, section {
  display: block;
}

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a, a:focus, a:hover {
  text-decoration: none;
  color: inherit;
  outline: none;
}

/****************************************************
 * 2.共通
 ****************************************************/
html {
  background-color: transparent;
  background-image: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 400;
  font-style: normal;
  color: #28334B;
  scroll-behavior: smooth;
  scroll-padding-top: 14rem;
}
@media only screen and (max-width: 1279px) {
  html {
    font-size: 9px;
  }
}
@media only screen and (max-width: 1099px) {
  html {
    scroll-padding-top: 9rem;
  }
}
@media only screen and (max-width: 780px) {
  html {
    height: 100%;
    font-size: 10px;
  }
}

body {
  font-size: 1.6rem;
}
@media only screen and (max-width: 780px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: #28334B;
}
a[href^="tel:"] {
  cursor: default;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}

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

@media only screen and (max-width: 1279px) {
  .pc2 {
    display: none !important;
  }
}

@media only screen and (max-width: 780px) {
  .pc_tb {
    display: none !important;
  }
}

@media only screen and (min-width: 901px) {
  .tb_sp {
    display: none !important;
  }
}

@media only screen and (min-width: 781px) {
  .sp {
    display: none !important;
  }
}

.inner {
  width: 90%;
  max-width: 1232px;
  margin: 0 auto;
}

@media only screen and (max-width: 780px) {
  .sp_scroll {
    width: 100%;
    padding-bottom: 1em;
    overflow-x: auto;
  }
}

/*見出し*/
.midashi01 {
  margin-bottom: 0.425em;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 1099px) {
  .midashi01 {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 780px) {
  .midashi01 {
    margin-bottom: 0.65em;
    font-size: 1.9rem;
  }
}
.midashi01 span {
  font-family: "Poppins", sans-serif;
  font-size: 7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #001489;
  display: block;
}
@media only screen and (max-width: 1099px) {
  .midashi01 span {
    font-size: 5.5rem;
  }
}
@media only screen and (max-width: 780px) {
  .midashi01 span {
    font-size: 3.6rem;
  }
}
.midashi01.white {
  color: #ffffff;
}
.midashi01.white span {
  color: #ffffff;
}
.midashi01.center {
  text-align: center;
}
.midashi02 {
  margin-bottom: 0.65em;
  font-size: 4.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .midashi02 {
    font-size: 2.4rem;
  }
}
.midashi02 span {
  font-family: "Poppins", sans-serif;
  font-size: 0.53em;
  font-weight: 600;
  color: #001489;
  display: block;
}
.midashi02.white {
  color: #ffffff;
}
.midashi02.white span {
  color: #ffffff;
}
.midashi02.center {
  text-align: center;
}
.midashi03 {
  margin-bottom: 1.8em;
  padding-left: 0.85em;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.28;
  border-left: solid 0.4rem #001489;
}
@media only screen and (max-width: 780px) {
  .midashi03 {
    font-size: 2rem;
  }
}
.midashi04 {
  margin-bottom: 1em;
  font-size: 4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .midashi04 {
    font-size: 1.9rem;
  }
}
.midashi04:after {
  width: 5em;
  height: 0.2rem;
  margin-top: 0.6em;
  content: "";
  background-color: #001489;
  display: block;
}
.midashi04.center {
  text-align: center;
}
.midashi04.center:after {
  margin-left: auto;
  margin-right: auto;
}
.midashi05 {
  margin-bottom: 1.2em;
  padding-bottom: 0.75em;
  font-size: 3.3rem;
  font-weight: 700;
  border-bottom: solid 0.2rem #D8D8D8;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .midashi05 {
    font-size: 1.8rem;
  }
}
.midashi05:after {
  width: 8em;
  height: 0.2rem;
  content: "";
  background-color: #001489;
  position: absolute;
  top: 100%;
  left: 0;
}

/*ボタン*/
.btn01 {
  width: 40rem;
  padding: 1.25em 0.5em;
  font-size: 1.9rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff !important;
  background-color: #001489;
  border-radius: 99px;
  display: inline-block;
}
.btn01:after {
  width: 1.26em;
  height: 1.26em;
  margin-left: 0.5em;
  content: "";
  display: inline-block;
  vertical-align: -0.3em;
}
@media only screen and (min-width: 901px) {
  .btn01:after {
    background-image: url("../img/icon_arrow06.webp"), url("../img/icon_arrow06.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -1.26em center;
    background-repeat: no-repeat;
  }
  .btn01:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
@media only screen and (max-width: 900px) {
  .btn01 {
    width: 27.8rem;
    padding: 1.06em 0;
    font-size: 1.5rem;
  }
  .btn01:after {
    background-image: url("../img/icon_arrow06.webp");
    background-size: cover;
  }
}
.btn02 {
  width: 40rem;
  padding: 1.25em 0.5em;
  font-size: 1.9rem;
  font-weight: 700;
  text-align: center;
  color: #28334B !important;
  border: solid 1px #D8D8D8;
  border-radius: 0.8rem;
  display: inline-block;
}
.btn02:after {
  width: 1.26em;
  height: 1.26em;
  margin-left: 0.5em;
  content: "";
  display: inline-block;
  vertical-align: -0.3em;
}
@media only screen and (min-width: 901px) {
  .btn02:after {
    background-image: url("../img/icon_arrow04.webp"), url("../img/icon_arrow04.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -1.26em center;
    background-repeat: no-repeat;
  }
  .btn02:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
@media only screen and (max-width: 900px) {
  .btn02 {
    width: 27.8rem;
    padding: 1.06em 0;
    font-size: 1.5rem;
  }
  .btn02:after {
    background-image: url("../img/icon_arrow04.webp");
    background-size: cover;
  }
}
.btn02.white {
  color: #ffffff !important;
  border-color: #ffffff;
}
@media only screen and (min-width: 901px) {
  .btn02.white:after {
    background-image: url("../img/icon_arrow06.webp"), url("../img/icon_arrow06.webp");
  }
}
@media only screen and (max-width: 900px) {
  .btn02.white:after {
    background-image: url("../img/icon_arrow06.webp");
  }
}
.btn02.blue {
  color: #001489 !important;
  border-color: #001489;
}
@media only screen and (min-width: 901px) {
  .btn02.blue:after {
    background-image: url("../img/icon_arrow05.webp"), url("../img/icon_arrow05.webp");
  }
}
@media only screen and (max-width: 900px) {
  .btn02.blue:after {
    background-image: url("../img/icon_arrow05.webp");
  }
}
.btn02.noborder {
  width: auto !important;
  padding: 0 !important;
  border: none !important;
}
.btn_line {
  width: 90%;
  max-width: 60.8rem;
  padding: 1em;
  font-size: 2.3rem;
  font-weight: 500;
  color: #ffffff !important;
  background-color: #02B902;
  border-radius: 0.8rem;
  box-shadow: 0 0.5rem 0.6rem rgba(0, 0, 0, 0.16);
  display: inline-block;
}
.btn_line:before {
  width: 1.74em;
  height: 1.74em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_line02.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.4em;
}
@media only screen and (min-width: 781px) {
  .btn_line {
    transition: filter 0.3s;
  }
  .btn_line:hover {
    filter: brightness(1.15) saturate(1.3);
  }
}
@media only screen and (max-width: 780px) {
  .btn_line {
    font-size: 1.8rem;
  }
}

/*アニメーション*/
.fadeIn {
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.35s ease-out, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.fadeIn.from-bottom {
  transform: translateY(2rem);
}
.fadeIn.from-right {
  transform: translateX(2rem);
}
.fadeIn.from-left {
  transform: translateX(-2rem);
}
.fadeIn.view {
  opacity: 1;
  transform: translate(0, 0);
}
@media only screen and (min-width: 781px) {
  .fadeIn.delay1 {
    transition-delay: 0.12s;
  }
  .fadeIn.delay2 {
    transition-delay: 0.24s;
  }
  .fadeIn.delay3 {
    transition-delay: 0.36s;
  }
  .fadeIn.delay4 {
    transition-delay: 0.48s;
  }
  .fadeIn.delay5 {
    transition-delay: 0.6s;
  }
  .fadeIn.delay6 {
    transition-delay: 0.72s;
  }
  .fadeIn.delay7 {
    transition-delay: 0.84s;
  }
  .fadeIn.delay8 {
    transition-delay: 0.96s;
  }
  .fadeIn.delay9 {
    transition-delay: 1.08s;
  }
  .fadeIn.delay10 {
    transition-delay: 1.2s;
  }
}

.img_view img {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.img_view.view img {
  clip-path: inset(0 0 0 0);
}

/*検索*/
.c-searchbox form {
  width: 100%;
  position: relative;
}
.c-searchbox form input[type=search] {
  width: 100%;
  height: 5rem;
  padding: 0 5rem 0 2.4rem;
  font-size: 1.3rem;
  line-height: 5rem;
  color: #28334B;
  background-color: #ffffff;
  border-radius: 99px;
}
.c-searchbox form input[type=search]::-moz-placeholder {
  color: #BABABA;
}
.c-searchbox form input[type=search]::placeholder {
  color: #BABABA;
}
.c-searchbox form button[type=submit] {
  width: 5rem;
  height: 5rem;
  background-image: url("../img/icon_search02.webp");
  background-size: 2.3rem auto;
  background-repeat: no-repeat;
  background-position: center center;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
}

.c-searchbox2 {
  padding: 0.5em;
  background-color: #F4F6F8;
  border-radius: 0.8rem;
}
.c-searchbox2 form {
  width: 100%;
  display: flex;
}
@media only screen and (max-width: 780px) {
  .c-searchbox2 form {
    flex-wrap: wrap;
  }
}
.c-searchbox2 form label {
  width: 24%;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: center;
  align-self: center;
}
@media only screen and (max-width: 780px) {
  .c-searchbox2 form label {
    width: 100%;
    margin-bottom: 0.5em;
    font-size: 1.6rem;
  }
}
.c-searchbox2 form input[type=search] {
  width: calc(76% - 16rem - 0.5em);
  margin-right: 0.5em;
  padding: 1em 1em 1em 2.5em;
  font-weight: 500;
  background-color: #ffffff;
  background-image: url("../img/icon_search03.webp");
  background-repeat: no-repeat;
  background-size: 1em auto;
  background-position: 1em center;
  border: solid 1px #E8EAEB;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .c-searchbox2 form input[type=search] {
    width: calc(100% - 10rem - 0.5em);
    padding: 0.5em 0.5em 0.5em 2.5em;
  }
}
.c-searchbox2 form input[type=search]::-moz-placeholder {
  color: #DFE0E3;
}
.c-searchbox2 form input[type=search]::placeholder {
  color: #DFE0E3;
}
.c-searchbox2 form button {
  font-weight: 500;
  color: #ffffff;
  background-color: #001489;
  border-radius: 0.8rem;
}
@media only screen and (min-width: 781px) {
  .c-searchbox2 form button {
    width: 16rem;
    font-size: 1.9rem;
  }
  .c-searchbox2 form button:hover {
    background-color: #5A96E3;
  }
}
@media only screen and (max-width: 780px) {
  .c-searchbox2 form button {
    width: 10rem;
    font-size: 1.6rem;
  }
}

/*タブ切り替え　ベース*/
.tab_content .tab_body > * {
  animation: tabDisp 1s;
}
.tab_content .tab_body > *:not(.current) {
  display: none;
  opacity: 0;
}
@keyframes tabDisp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*アコーディオン　ベース*/
.acc .acc_head {
  position: relative;
}
.acc .acc_head i {
  position: absolute;
  top: 0;
  right: 0;
}
.acc .acc_body {
  display: none;
}
.acc.open .acc_body {
  display: block;
}

/*CTA1 ブランド*/
@media only screen and (min-width: 781px) {
  .cta1 {
    margin-bottom: 12rem;
  }
}
.cta1 .headding {
  padding: 4rem 0 4.8rem 0;
  color: #ffffff;
  background-color: #001489;
}
@media only screen and (max-width: 780px) {
  .cta1 .headding {
    padding: 3.6rem 0 4.5rem 0;
  }
}
@media only screen and (max-width: 900px) {
  .cta1 .headding .inner {
    width: 83.5%;
  }
}
@media only screen and (min-width: 781px) {
  .cta1 .headding .midashi01 {
    margin-bottom: 1em;
    font-size: 2.3rem;
  }
}
@media only screen and (min-width: 901px) {
  .cta1 .headding p {
    text-align: center;
  }
}
@media only screen and (max-width: 900px) {
  .cta1 .headding p {
    font-size: 1.07em;
  }
}
@media only screen and (min-width: 901px) {
  .cta1 .link {
    display: flex;
  }
}
@media only screen and (min-width: 901px) {
  .cta1 .link > div {
    width: 50%;
  }
}
.cta1 .link > div a {
  width: 100%;
  height: 12em;
  font-size: 2.3rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-size: cover;
  background-position: center center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media only screen and (max-width: 1599px) {
  .cta1 .link > div a {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 1099px) {
  .cta1 .link > div a {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 900px) {
  .cta1 .link > div a {
    height: 9.25em;
    padding-left: 1em;
    text-align: left;
  }
}
@media only screen and (max-width: 900px) {
  .cta1 .link > div a > span {
    position: relative;
  }
}
@media only screen and (min-width: 901px) {
  .cta1 .link > div a > span:after {
    width: 1.4em;
    height: 1.4em;
    margin-left: 0.5em;
    content: "";
    background-image: url("../img/icon_arrow06.webp"), url("../img/icon_arrow06.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -1.4em center;
    background-repeat: no-repeat;
    display: inline-block;
    vertical-align: -0.35em;
  }
}
@media only screen and (max-width: 900px) {
  .cta1 .link > div a > span:after {
    width: 1.5em;
    height: 1.5em;
    margin-top: -0.75em;
    content: "";
    background-image: url("../img/icon_arrow07.webp");
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 1.7em;
  }
}
.cta1 .link > div a > span span {
  margin-right: 0.8em;
  font-family: "Poppins", sans-serif;
  font-size: 2em;
  font-weight: 600;
  display: inline-block;
  vertical-align: -0.15em;
}
@media only screen and (max-width: 900px) {
  .cta1 .link > div a > span span {
    display: block;
  }
}
@media only screen and (min-width: 901px) {
  .cta1 .link > div a:hover > span:after {
    background-position: 1.4em center, 0 center;
    transition: background-position 0.3s;
  }
}
@media only screen and (min-width: 901px) {
  .cta1 .link > div.about a {
    background-image: url("../img/brand_link_img01.webp");
  }
}
@media only screen and (max-width: 900px) {
  .cta1 .link > div.about a {
    background-image: url("../img/brand_link_img01_sp.webp");
  }
}
@media only screen and (min-width: 901px) {
  .cta1 .link > div.lab a {
    background-image: url("../img/brand_link_img02.webp");
  }
}
@media only screen and (max-width: 900px) {
  .cta1 .link > div.lab a {
    background-image: url("../img/brand_link_img02_sp.webp");
  }
}

/*CTA2 電話*/
.cta2 {
  padding: 9.6rem 0 16rem 0;
}
@media only screen and (max-width: 780px) {
  .cta2 {
    padding: 4.8rem 0 8rem 0;
  }
}
.cta2 .box {
  max-width: 1024px;
  margin: 0 auto;
  padding: 5.6rem 0;
  border: solid 0.2rem #001489;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .cta2 .box {
    padding: 2.8rem 0;
  }
}
.cta2 .box .in {
  width: 78.6%;
  margin: 0 auto;
}
@media only screen and (max-width: 780px) {
  .cta2 .box .in {
    width: 90%;
  }
}
.cta2 h2 {
  margin-bottom: 1.17em;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  color: #001489;
}
@media only screen and (max-width: 780px) {
  .cta2 h2 {
    font-size: 2rem;
  }
}
.cta2 .tel {
  margin-bottom: 1.5em;
  text-align: center;
}
.cta2 .tel a {
  font-family: "Poppins", sans-serif;
  font-size: 4.8rem;
  font-weight: 600;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .cta2 .tel a {
    font-size: 3.2rem;
  }
}
.cta2 .tel a:before {
  width: 0.83em;
  height: 0.83em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_tel01.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}
.cta2 .tel .time {
  font-size: 1.3rem;
  letter-spacing: 0.03em;
}
.cta2 .annotation {
  margin-bottom: 3em;
  padding: 1.23em;
  font-size: 1.3rem;
  text-align: center;
  border: solid 1px #D8D8D8;
}
.cta2 ul li {
  padding-left: 1.5em;
  font-size: 1.3rem;
}
.cta2 ul li + li {
  margin-top: 0.7em;
}
.cta2 ul li:before {
  width: 0.8em;
  height: 0.8em;
  margin-right: 0.7em;
  margin-left: -1.5em;
  content: "";
  background-color: #28334B;
  border-radius: 1.6rem;
  display: inline-block;
  vertical-align: 0;
}

/*CTA3 メールフォーム導線*/
.cta3 {
  color: #ffffff;
  background-color: #001489;
}
@media only screen and (min-width: 901px) {
  .cta3 .inner {
    display: flex;
  }
  .cta3 .inner > div {
    width: 50%;
  }
}
@media only screen and (min-width: 901px) {
  .cta3 .text {
    padding: 4.8rem 0 6.4rem 0;
  }
}
@media only screen and (max-width: 900px) {
  .cta3 .text {
    padding: 4rem 0;
    text-align: center;
  }
}
@media only screen and (min-width: 901px) {
  .cta3 .text .midashi01 {
    margin-bottom: 1.4em;
    font-size: 2.3rem;
  }
}
@media only screen and (min-width: 901px) {
  .cta3 .contact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    z-index: 1;
  }
  .cta3 .contact:after {
    width: 50vw;
    height: 100%;
    content: "";
    background-image: url("../img/cta_img01.webp");
    background-size: cover;
    background-position: right center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
@media only screen and (max-width: 900px) {
  .cta3 .contact {
    width: 111%;
    margin: 0 -5.5%;
    padding: 4rem 0;
    text-align: center;
    background-image: url("../img/cta_img01.webp");
    background-size: cover;
    background-position: right center;
  }
}
.cta3 .contact a {
  width: 90%;
  max-width: 50.4rem;
  padding: 2.2em 1em;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: center;
  color: #28334B;
  background-color: #ffffff;
}
@media only screen and (max-width: 900px) {
  .cta3 .contact a {
    padding: 0.5em;
    display: inline-block;
  }
}
.cta3 .contact a:before {
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_mail01.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.55em;
}
@media only screen and (max-width: 900px) {
  .cta3 .contact a:before {
    margin: 0 auto;
    display: block;
  }
}
@media only screen and (min-width: 901px) {
  .cta3 .contact a:after {
    width: 2em;
    height: 2em;
    margin-left: 0.5em;
    content: "";
    background-image: url("../img/icon_arrow01.webp"), url("../img/icon_arrow01.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -2em center;
    background-repeat: no-repeat;
    display: inline-block;
    vertical-align: -0.55em;
  }
  .cta3 .contact a:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}

/*追従バナー*/
.fix_bnr {
  position: fixed;
  z-index: 90;
}
@media only screen and (min-width: 781px) {
  .fix_bnr {
    right: 1.5em;
    bottom: 1.5em;
  }
}
@media only screen and (max-width: 780px) {
  .fix_bnr {
    width: 100%;
    left: 0;
    bottom: 0;
    display: block !important;
  }
}
@media only screen and (min-width: 781px) {
  .fix_bnr ul {
    width: 27.9rem;
  }
}
@media only screen and (max-width: 780px) {
  .fix_bnr ul {
    display: flex;
  }
}
@media only screen and (min-width: 781px) {
  .fix_bnr ul li + li {
    margin-top: 0.6rem;
  }
}
@media only screen and (max-width: 780px) {
  .fix_bnr ul li {
    width: 50%;
    height: 8.2rem;
  }
}
@media only screen and (min-width: 781px) {
  .fix_bnr ul li a {
    transition: filter 0.3s;
  }
  .fix_bnr ul li a:hover {
    filter: brightness(1.15) saturate(1.3);
  }
}
@media only screen and (max-width: 780px) {
  .fix_bnr ul li a {
    width: 100%;
    height: 100%;
    background-size: auto 100%;
    background-position: center top;
    display: block;
  }
}
@media only screen and (max-width: 780px) {
  .fix_bnr ul li:nth-child(1) a {
    background-image: url("../img/fix_bnr01_sp.webp");
  }
}
@media only screen and (max-width: 780px) {
  .fix_bnr ul li:nth-child(2) a {
    background-image: url("../img/fix_bnr02_sp.webp");
  }
}

/*ページネーション*/
.pagination {
  text-align: center;
  letter-spacing: -0.4em;
}
.pagination > * {
  display: inline-block;
  letter-spacing: normal;
}
.pagination > * {
  width: 4rem;
  height: 4rem;
  margin: 0 0.4rem;
  font-family: "Poppins", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: calc(4rem - 2px);
  text-align: center;
  background-color: #ffffff;
  border: solid 1px #D8D8D8;
  border-radius: 50%;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .pagination > * {
    width: 3rem;
    height: 3rem;
    margin: 0.4rem !important;
    line-height: calc(3rem - 2px);
  }
}
.pagination .current {
  color: #ffffff;
  background-color: #28334B;
  border-color: #28334B;
}
.pagination .dots {
  line-height: 1.5;
}
@media only screen and (max-width: 780px) {
  .pagination .dots {
    line-height: 1;
  }
}
.pagination .prev, .pagination .next {
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  background-image: url("../img/icon_arrow04.webp");
  background-size: cover;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: -0.7em;
}
@media only screen and (min-width: 781px) {
  .pagination .prev:hover, .pagination .next:hover {
    background-image: url("../img/icon_arrow05.webp");
  }
}
@media only screen and (max-width: 780px) {
  .pagination .prev, .pagination .next {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.pagination .prev {
  margin-right: 0.88em;
  transform: scaleX(-1);
}
.pagination .next {
  margin-left: 0.88em;
}
@media only screen and (min-width: 781px) {
  .pagination a:hover {
    background-color: #D8D8D8;
  }
}

/*ページャー*/
.post-navigation {
  display: flex;
}
@media only screen and (min-width: 781px) {
  .post-navigation {
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-list {
    width: 100%;
    padding-top: 2rem;
    text-align: center;
    order: 3;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous, .post-navigation .nav-next {
    width: 50%;
  }
}
.post-navigation .nav-previous a, .post-navigation .nav-next a {
  font-weight: 700;
}
.post-navigation .nav-previous a:before, .post-navigation .nav-previous a:after, .post-navigation .nav-next a:before, .post-navigation .nav-next a:after {
  width: 1.5em;
  height: 1.5em;
  background-image: url("../img/icon_arrow04.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.3em;
}
@media only screen and (min-width: 781px) {
  .post-navigation .nav-previous a:hover:before, .post-navigation .nav-previous a:hover:after, .post-navigation .nav-next a:hover:before, .post-navigation .nav-next a:hover:after {
    background-image: url("../img/icon_arrow05.webp");
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous {
    order: 1;
  }
}
.post-navigation .nav-previous a:before {
  margin-right: 1rem;
  content: "";
  transform: scale(-1, 1);
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-next {
    text-align: right;
    order: 2;
  }
}
.post-navigation .nav-next a:after {
  margin-left: 1rem;
  content: "";
}

#toc_container {
  width: 100% !important;
  max-width: 81.6rem !important;
  margin: 0 auto 5.6rem auto !important;
  padding: 0 !important;
  font-size: inherit !important;
  background-color: #ffffff !important;
  border-color: #D8D8D8 !important;
}
@media only screen and (max-width: 780px) {
  #toc_container {
    margin-bottom: 3rem !important;
  }
}
#toc_container a {
  color: #28334B;
  text-decoration: none !important;
}
#toc_container .toc_title {
  margin-bottom: 0;
  padding: 0.8em 1em !important;
  font-size: 2.3rem;
  font-weight: 700;
  text-align: left !important;
  border-bottom: solid 1px #D8D8D8;
  position: relative;
}
#toc_container .toc_title .toc_toggle {
  position: absolute;
  top: 0;
  right: 0;
}
#toc_container .toc_title .toc_toggle .toc_brackets {
  display: none;
}
#toc_container .toc_title .toc_toggle a {
  font-family: "Poppins", sans-serif;
  white-space: nowrap;
  font-size: 0.7em;
  position: absolute;
  top: 1.5em;
  right: 2em;
}
#toc_container .toc_title .toc_toggle a:before {
  width: 2.5em;
  height: 2.5em;
  content: "";
  background-image: url("../img/icon_plus02.webp");
  background-size: cover;
  transform: rotate(45deg);
  display: inline-block;
  vertical-align: -0.8em;
  transition: transform 0.3s;
}
#toc_container.contracted .toc_title .toc_toggle a:before {
  transform: rotate(360deg);
}
#toc_container ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#toc_container ul li:last-child {
  margin-bottom: 0 !important;
}
#toc_container .toc_list {
  margin: 0;
  padding: 1em 1.5em 1.5em 1.5em !important;
  counter-reset: index-num-1;
}
#toc_container .toc_list > li {
  margin-bottom: 1rem;
  padding-left: 2em;
  font-size: 1.5rem;
  font-weight: 500;
  counter-increment: index-num-1;
}
#toc_container .toc_list > li:before {
  width: 1.5em;
  height: 1.5em;
  margin: 0 0.5em 0 -2em;
  content: counter(index-num-1);
  font-family: "Poppins", sans-serif;
  text-align: center;
  line-height: 1.5;
  color: #ffffff;
  background-color: #28334B;
  display: inline-block;
  vertical-align: 0.1em;
}
#toc_container .toc_list > li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
#toc_container .toc_list > li ul {
  margin-top: 0.5em;
  margin-left: 0.25em;
}
#toc_container .toc_list > li ul li {
  margin-bottom: 1rem;
  padding-left: 1.1em;
  font-size: 1.4rem;
  font-weight: 500;
}
#toc_container .toc_list > li ul li:before {
  width: 0.6em;
  height: 0.6em;
  margin: 0 0.5em 0 -1.1em;
  content: "";
  background-image: url("../img/news/mokuji_check.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}

/* ブロックエディタ用基本CSS */
.editor-area:after {
  content: "";
  display: block;
  clear: both;
}
.editor-area > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area p {
  margin-bottom: 3.5em;
  line-height: 2.25;
}
@media only screen and (max-width: 780px) {
  .editor-area p {
    margin-bottom: 2em;
    line-height: 2;
  }
}
.editor-area h2 {
  margin-bottom: 0.85em;
  padding: 0.28em 0.5em 0.28em 0.5em;
  font-size: 1.75em;
  font-weight: 500;
  background-color: #F7F7F7;
  border-left: solid 0.4rem #001489;
}
.editor-area h3 {
  margin-bottom: 1em;
  padding-left: 1.13em;
  font-size: 1.43em;
  font-weight: 500;
  position: relative;
}
.editor-area h3:before {
  width: 0.43em;
  height: 0.43em;
  margin-top: -0.215em;
  content: "";
  background-color: #5A96E3;
  position: absolute;
  top: 50%;
  left: 0;
}
.editor-area h4 {
  margin-bottom: 1.3em;
  font-size: 1.1875em;
  font-weight: 700;
}
.editor-area ul.wp-block-list {
  margin-bottom: 3.5em;
}
@media only screen and (max-width: 780px) {
  .editor-area ul.wp-block-list {
    margin-bottom: 2em;
  }
}
.editor-area ul.wp-block-list > li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
}
.editor-area ul.wp-block-list > li:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1.4rem 0 -3rem;
  content: "";
  background-image: url("../img/news/check.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.15em;
}
.editor-area ul.wp-block-list > li:before:last-child {
  margin-bottom: 0;
}
.editor-area ol.wp-block-list {
  margin-bottom: 3.5em;
  counter-reset: num;
}
@media only screen and (max-width: 780px) {
  .editor-area ol.wp-block-list {
    margin-bottom: 2em;
  }
}
.editor-area ol.wp-block-list > li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
  counter-increment: num;
}
.editor-area ol.wp-block-list > li:last-child {
  margin-bottom: 0;
}
.editor-area ol.wp-block-list > li:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1rem 0 -3rem;
  content: counter(num);
  font-family: "Poppins", sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.6rem;
  color: #ffffff;
  background-color: #001489;
  font-weight: 700;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.15em;
}
.editor-area .wp-block-image {
  margin-bottom: 3.5em;
}
@media only screen and (max-width: 780px) {
  .editor-area .wp-block-image {
    margin-bottom: 2em;
  }
}
.editor-area .alignleft {
  max-width: 50%;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 2em;
}
.editor-area .alignright {
  max-width: 50%;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 2em;
}
.editor-area .aligncenter {
  margin-bottom: 3.5em;
}
@media only screen and (max-width: 780px) {
  .editor-area .aligncenter {
    margin-bottom: 2em;
  }
}
.editor-area .aligncenter img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.editor-area .has-text-align-center {
  text-align: center;
}
.editor-area .has-text-align-right {
  text-align: right;
}
.editor-area blockquote {
  margin-bottom: 3.5em;
  margin-left: 0;
  padding: 1.5em 1.5em 1.5em 5.5em;
  background-color: #F4F4F4;
  border: 1px solid #CCCCCC;
  position: relative;
  display: block;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote {
    margin-bottom: 2em;
    padding-left: 4rem;
  }
}
.editor-area blockquote:before {
  width: 3em;
  height: 3em;
  margin-top: -1.5em;
  content: "";
  background-image: url("../img/news/innyou.webp");
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 1.5em;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote:before {
    width: 3rem;
    height: 3rem;
    background-size: 2rem;
  }
}
.editor-area blockquote p {
  line-height: 1.75;
}
.editor-area blockquote > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area table {
  width: 100%;
  margin-bottom: 3.5em;
  border-collapse: collapse;
  table-layout: fixed;
}
@media only screen and (max-width: 780px) {
  .editor-area table {
    margin-bottom: 2em;
  }
}
.editor-area table thead {
  border-bottom: none;
}
.editor-area table thead tr th {
  padding: 1em;
  font-size: 1.1875em;
  font-weight: 500;
  text-align: center;
  background-color: #F8F8F8;
  border: solid 1px #D8D8D8;
}
@media only screen and (max-width: 780px) {
  .editor-area table thead tr th {
    font-size: 1em;
  }
}
.editor-area table tbody tr td {
  padding: 1em;
  line-height: 2;
  vertical-align: top;
  border: solid 1px #D8D8D8;
}
.editor-area .wp-block-columns {
  display: flex;
  margin-bottom: 3.5em;
}
@media only screen and (max-width: 780px) {
  .editor-area .wp-block-columns {
    margin-bottom: 2em;
  }
}
.editor-area wp-block-column {
  flex-grow: 1;
  margin-left: 0.625em;
  margin-right: 0.625em;
}
.editor-area wp-block-column > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area .wp-block-media-text {
  width: 100%;
  max-width: 81.6rem;
  margin: 0 auto 3.5em auto;
  border: solid 1px #D8D8D8;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .editor-area .wp-block-media-text {
    margin-bottom: 2em;
  }
}
.editor-area .wp-block-media-text .wp-block-media-text__content {
  padding: 1.5em 1em;
}
.editor-area .wp-block-media-text .wp-block-media-text__content p {
  margin-bottom: 0.3em;
  font-size: 1.3rem;
}
.editor-area .wp-block-media-text .wp-block-media-text__content p strong {
  font-size: 1.6rem;
  font-weight: 700;
}
.editor-area .wp-block-media-text .wp-block-media-text__content > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area a {
  color: blue;
  text-decoration: underline;
  word-break: break-all;
}
.editor-area strong, .editor-area b {
  font-weight: bold;
}
.editor-area em, .editor-area i {
  font-style: italic;
}
.editor-area .wp-block-spacer {
  clear: both;
}
.editor-area .wp-block-buttons {
  margin-bottom: 3.5em;
}
@media only screen and (max-width: 780px) {
  .editor-area .wp-block-buttons {
    margin-bottom: 2em;
  }
}
.editor-area .wp-block-buttons > .wp-block-button .wp-block-button__link {
  min-width: 38.4rem !important;
  padding: 0.84em 2.5em !important;
  font-size: 1.9rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  text-decoration: none !important;
  color: #ffffff !important;
  background: linear-gradient(to right, #001489, #1F76DB);
  border-radius: 99px !important;
  display: inline-block;
  position: relative;
}
.editor-area .wp-block-buttons > .wp-block-button .wp-block-button__link:after {
  width: 1.26em;
  height: 1.26em;
  margin-top: -0.63em;
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
}
@media only screen and (min-width: 781px) {
  .editor-area .wp-block-buttons > .wp-block-button .wp-block-button__link:after {
    background-image: url("../img/icon_arrow06.webp"), url("../img/icon_arrow06.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -1.26em center;
    background-repeat: no-repeat;
  }
  .editor-area .wp-block-buttons > .wp-block-button .wp-block-button__link:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
@media only screen and (max-width: 780px) {
  .editor-area .wp-block-buttons > .wp-block-button .wp-block-button__link {
    min-width: 30rem !important;
    font-size: 1.5rem !important;
  }
  .editor-area .wp-block-buttons > .wp-block-button .wp-block-button__link:after {
    background-image: url("../img/icon_arrow06.webp");
    background-size: cover;
  }
}

.iziModal-overlay {
  background-color: rgba(40, 51, 75, 0.2) !important;
}

.iziModal-overlay.fadeIn, .iziModal-navigate.fadeIn {
  opacity: 1;
  transform: none !important;
  transition: none !important;
}

.iziModal-navigate {
  z-index: 10000 !important;
}
.iziModal-navigate button {
  width: 6.4rem !important;
  height: 6.4rem !important;
  margin-top: -3.2rem !important;
  background-image: url("../img/icon_arrow01.webp") !important;
  background-size: cover !important;
  top: 50% !important;
  opacity: 0.5 !important;
}
.iziModal-navigate button:hover {
  opacity: 1 !important;
}
.iziModal-navigate .iziModal-navigate-prev {
  transform: scaleX(-1);
  left: 1em !important;
}
.iziModal-navigate .iziModal-navigate-next {
  right: 1em !important;
}
@media only screen and (max-width: 780px) {
  .iziModal-navigate button {
    width: 4rem !important;
    height: 4rem !important;
    margin-top: -2rem !important;
    opacity: 1 !important;
  }
}

.product_img_modal {
  width: 600px !important;
  max-width: 90vw !important;
}

/*フォームベース*/
.wpcf7-text, .input-text {
  width: 100%;
  padding: 1em;
  background-color: #ffffff;
  border: solid 1px #D8D8D8;
  border-radius: 0.4rem;
}
.wpcf7-text::-moz-placeholder, .input-text::-moz-placeholder {
  color: #8E8E8E;
}
.wpcf7-text::placeholder, .input-text::placeholder {
  color: #8E8E8E;
}

.wpcf7-textarea, .input-textarea {
  width: 100%;
  height: 15em;
  padding: 1em;
  background-color: #ffffff;
  border: solid 1px #D8D8D8;
  border-radius: 0.4rem;
}
@media only screen and (max-width: 780px) {
  .wpcf7-textarea, .input-textarea {
    height: 7em;
  }
}
.wpcf7-textarea::-moz-placeholder, .input-textarea::-moz-placeholder {
  color: #8E8E8E;
}
.wpcf7-textarea::placeholder, .input-textarea::placeholder {
  color: #8E8E8E;
}

.wpcf7-select, .input-select {
  width: 100%;
  padding: 1em;
  background-color: #ffffff;
  background-image: url("../img/form_select_icon.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  background-size: 2rem auto;
  border: solid 1px #D8D8D8;
  border-radius: 0.4rem;
}

.wpcf7-radio, .radio_group {
  display: block;
}
.wpcf7-radio .wpcf7-list-item, .radio_group .wpcf7-list-item {
  margin-bottom: 1em;
  display: block;
}
.wpcf7-radio .wpcf7-list-item:last-child, .radio_group .wpcf7-list-item:last-child {
  margin-bottom: 0;
}
.wpcf7-radio label input, .radio_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-radio label input:checked + span:after, .radio_group label input:checked + span:after {
  content: "";
}
.wpcf7-radio label input + span, .radio_group label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.wpcf7-radio label input + span:before, .radio_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #D8D8D8;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-radio label input + span:after, .radio_group label input + span:after {
  width: 1.4rem;
  height: 1.4rem;
  content: none;
  background-color: #001489;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}

.wpcf7-checkbox, .wpcf7-acceptance, .check_group {
  display: block;
}
.wpcf7-checkbox .wpcf7-list-item, .wpcf7-acceptance .wpcf7-list-item, .check_group .wpcf7-list-item {
  margin-bottom: 1em;
  display: block;
}
.wpcf7-checkbox .wpcf7-list-item:last-child, .wpcf7-acceptance .wpcf7-list-item:last-child, .check_group .wpcf7-list-item:last-child {
  margin-bottom: 0;
}
.wpcf7-checkbox label input, .wpcf7-acceptance label input, .check_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-checkbox label input:checked + span:after, .wpcf7-acceptance label input:checked + span:after, .check_group label input:checked + span:after {
  content: "";
}
.wpcf7-checkbox label input + span, .wpcf7-acceptance label input + span, .check_group label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.wpcf7-checkbox label input + span:before, .wpcf7-acceptance label input + span:before, .check_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #D8D8D8;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-checkbox label input + span:after, .wpcf7-acceptance label input + span:after, .check_group label input + span:after {
  width: 1.6rem;
  height: 1rem;
  content: none;
  border-left: solid 0.2rem #001489;
  border-bottom: solid 0.2rem #001489;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  transform: rotate(-45deg);
}

.wpcf7-file::file-selector-button {
  margin-right: 1em;
}

/****************************************************
 * 3.レイアウト設定
 ****************************************************/
.container {
  width: 100%;
  padding-top: 12.8rem;
  overflow: hidden;
}
@media only screen and (max-width: 1099px) {
  .container {
    padding-top: 8rem;
  }
}

/****************************************************
 * 4.テンプレートスタイル
 ****************************************************/
/*ヘッダーブロック*/
#header {
  width: 100%;
  height: 12.8rem;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 1099px) {
  #header {
    height: 8rem;
  }
}
#header .logo {
  width: 25.6rem;
  margin-left: 2em;
}
@media only screen and (max-width: 1599px) {
  #header .logo {
    margin-left: 1em;
  }
}
@media only screen and (max-width: 1279px) {
  #header .logo {
    width: 17.2rem;
  }
}
@media only screen and (min-width: 1100px) {
  #header .pc_menu {
    margin-right: 2em;
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width: 1100px) and (max-width: 1599px) {
  #header .pc_menu {
    margin-right: 1em;
  }
}
@media only screen and (min-width: 1100px) {
  #header .pc_menu .menu_left .menu_left_top {
    margin-bottom: 1em;
    text-align: right;
    letter-spacing: -0.4em;
  }
  #header .pc_menu .menu_left .menu_left_top > * {
    display: inline-block;
    letter-spacing: normal;
  }
  #header .pc_menu .menu_left .menu_left_top .english_site {
    margin-right: 1.5em;
  }
  #header .pc_menu .menu_left .menu_left_top .english_site a {
    padding: 0.1em 1em;
    font-family: "Poppins", sans-serif;
    font-size: 1.3rem;
    font-weight: 500;
    background-color: #F4F4F4;
    border-radius: 99px;
    display: block;
    transition: background-color 0.3s;
  }
  #header .pc_menu .menu_left .menu_left_top .english_site a:hover {
    background-color: #D8D8D8;
  }
  #header .pc_menu .menu_left .menu_left_top .english_site a:before {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    content: "";
    background-image: url("../img/icon_lang01.webp");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.15em;
  }
  #header .pc_menu .menu_left .menu_left_top .biz {
    margin-right: 1em;
  }
  #header .pc_menu .menu_left .menu_left_top .biz a {
    font-size: 1.3rem;
    font-weight: 500;
  }
  #header .pc_menu .menu_left .menu_left_top .biz a:hover {
    color: #001489;
  }
  #header .pc_menu .menu_left .menu_left_top .c-searchbox {
    width: 29.6rem;
  }
  #header .pc_menu .menu_left .menu_left_top .c-searchbox form input[type=search] {
    height: 4rem;
    padding-left: 1.6rem;
    font-size: 1.6rem;
    line-height: 4rem;
    background-color: #F4F6F8;
  }
  #header .pc_menu .menu_left .menu_left_top .c-searchbox form button[type=submit] {
    height: 4rem;
    background-image: url("../img/icon_search01.webp");
    background-size: 1.5rem;
  }
  #header .pc_menu .menu_left .menu_left_bottom nav ul {
    letter-spacing: -0.4em;
  }
  #header .pc_menu .menu_left .menu_left_bottom nav ul > * {
    display: inline-block;
    letter-spacing: normal;
  }
  #header .pc_menu .menu_left .menu_left_bottom nav ul li + li {
    margin-left: 3em;
  }
}
@media only screen and (min-width: 1100px) and (max-width: 1599px) {
  #header .pc_menu .menu_left .menu_left_bottom nav ul li + li {
    margin-left: 1.5em;
  }
}
@media only screen and (min-width: 1100px) {
  #header .pc_menu .menu_left .menu_left_bottom nav ul li a {
    font-weight: 500;
  }
  #header .pc_menu .menu_left .menu_left_bottom nav ul li a:hover {
    color: #001489;
  }
  #header .pc_menu .menu_right {
    margin-left: 2em;
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width: 1100px) and (max-width: 1599px) {
  #header .pc_menu .menu_right {
    margin-left: 1em;
  }
}
@media only screen and (min-width: 1100px) {
  #header .pc_menu .menu_right .shop {
    margin-right: 2em;
  }
}
@media only screen and (min-width: 1100px) and (max-width: 1599px) {
  #header .pc_menu .menu_right .shop {
    margin-right: 1em;
  }
}
@media only screen and (min-width: 1100px) {
  #header .pc_menu .menu_right .shop a {
    font-family: "Poppins", sans-serif;
    font-size: 1.9rem;
    font-weight: 500;
  }
}
@media only screen and (min-width: 1100px) and (max-width: 1599px) {
  #header .pc_menu .menu_right .shop a {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 1100px) {
  #header .pc_menu .menu_right .shop a:hover {
    color: #001489;
  }
  #header .pc_menu .menu_right .shop a:before {
    width: 2.9em;
    height: 2.9em;
    margin: 0 auto;
    content: "";
    background-image: url("../img/icon_shop01.webp");
    background-size: cover;
    display: block;
  }
  #header .pc_menu .menu_right .contact a {
    width: 28rem;
    padding: 1em;
    font-weight: 500;
    text-align: center;
    color: #ffffff;
    background-color: #001489;
    display: block;
  }
}
@media only screen and (min-width: 1100px) and (max-width: 1599px) {
  #header .pc_menu .menu_right .contact a {
    width: auto;
  }
}
@media only screen and (min-width: 1100px) {
  #header .pc_menu .menu_right .contact a:before {
    width: 2em;
    height: 2em;
    margin-right: 0.5em;
    content: "";
    background-image: url("../img/icon_mail02.webp");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.55em;
  }
  #header .pc_menu .menu_right .contact a:after {
    width: 2em;
    height: 2em;
    margin-left: 0.5em;
    content: "";
    background-image: url("../img/icon_arrow02.webp"), url("../img/icon_arrow02.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -2em center;
    background-repeat: no-repeat;
    display: inline-block;
    vertical-align: -0.55em;
  }
  #header .pc_menu .menu_right .contact a:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
@media only screen and (max-width: 1099px) {
  #header .pc_menu {
    display: none !important;
  }
}
@media only screen and (min-width: 1100px) {
  #header .sp_menu {
    display: none !important;
  }
}
@media only screen and (max-width: 1099px) {
  #header .sp_menu .sp_menu_btn {
    width: 8rem;
    height: 8rem;
    background-image: url("../img/sp_menu_open.webp");
    background-size: 50% auto;
    background-repeat: no-repeat;
    background-position: center center;
  }
  #header .sp_menu .menu_area {
    width: 100%;
    height: calc(100vh - 8rem);
    padding: 4rem 0;
    color: #ffffff;
    background-color: rgba(40, 51, 75, 0.95);
    overflow-y: auto;
    position: absolute;
    top: 8rem;
    left: 100%;
    transition: left 0.5s;
  }
  #header .sp_menu .menu_area .c-searchbox {
    width: 87%;
    margin: 0 auto 4rem auto;
  }
  #header .sp_menu .menu_area nav {
    margin-bottom: 3.6rem;
  }
  #header .sp_menu .menu_area nav dl dt {
    padding: 1em 4em 1em 2em;
    font-size: 1.06em;
    font-weight: 500;
    background-color: rgba(255, 255, 255, 0.08);
    border-bottom: solid 0.2rem #666F81;
  }
  #header .sp_menu .menu_area nav dl dt i {
    width: 1.47em;
    height: 1.47em;
    background-image: url("../img/icon_plus01.webp");
    background-size: cover;
    right: 2em;
    top: 1em;
  }
  #header .sp_menu .menu_area nav dl dd ul {
    padding: 1.6em 2.4em;
  }
  #header .sp_menu .menu_area nav dl dd ul li a {
    line-height: 2.7;
    color: #ffffff;
  }
  #header .sp_menu .menu_area nav dl.open dt i {
    background-image: url("../img/icon_minus01.webp");
  }
  #header .sp_menu .menu_area .english_site {
    width: 87%;
    margin: 0 auto 4rem auto;
    text-align: right;
  }
  #header .sp_menu .menu_area .english_site a {
    padding: 0.1em 1em;
    font-family: "Poppins", sans-serif;
    font-size: 1.3rem;
    font-weight: 500;
    color: #ffffff;
    border: solid 1px #ffffff;
    border-radius: 99px;
    display: inline-block;
    transition: background-color 0.3s;
  }
  #header .sp_menu .menu_area .english_site a:before {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    content: "";
    background-image: url("../img/icon_lang02.webp");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.15em;
  }
  #header .sp_menu .menu_area .btn_area {
    width: 91.2%;
    max-width: 71.2rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #header .sp_menu .menu_area .btn_area li {
    width: 48.3%;
  }
  #header .sp_menu .menu_area .btn_area li:last-child {
    width: 100%;
    margin-top: 3.4%;
  }
  #header .sp_menu.open .sp_menu_btn {
    background-image: url("../img/sp_menu_close.webp");
  }
  #header .sp_menu.open .menu_area {
    left: 0;
  }
}

/*フッターブロック*/
#footer {
  color: #ffffff;
  background-color: #101010;
}
#footer .pagetop {
  padding: 1.5em 0;
  text-align: center;
  border-bottom: solid 1px #4B4B4B;
}
#footer .pagetop img {
  width: 15.3rem;
}
#footer .inner {
  padding: 5.7rem 0 6.4rem 0;
}
@media only screen and (min-width: 901px) {
  #footer .inner {
    display: flex;
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 780px) {
  #footer .inner {
    padding: 3.2rem 0 11.5rem 0;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_right {
    width: 50%;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_right {
    margin-bottom: 4.5rem;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav {
    margin-bottom: 1rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_right nav {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav dl {
    width: 31.5%;
    margin-bottom: 6rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_right nav dl + dl {
    margin-top: 2.4em;
  }
}
#footer .footer_right nav dl dt {
  padding: 0 4em 1em 0;
  font-weight: 500;
  border-bottom: solid 1px #4B4B4B;
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav dl dt {
    padding-right: 0;
  }
}
#footer .footer_right nav dl dt i {
  width: 1.47em;
  height: 1.47em;
  background-image: url("../img/icon_plus01.webp");
  background-size: cover;
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav dl dt i {
    display: none;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav dl dd {
    display: block !important;
  }
}
#footer .footer_right nav dl dd ul {
  padding-top: 1.5em;
}
#footer .footer_right nav dl dd ul li a {
  line-height: 2.7;
  color: #ffffff;
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav dl dd ul li a {
    font-size: 1.3rem;
  }
  #footer .footer_right nav dl dd ul li a:hover {
    text-decoration: underline;
  }
}
#footer .footer_right nav dl.open dt i {
  background-image: url("../img/icon_minus01.webp");
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav .sublink {
    width: 50%;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_right nav .sublink {
    margin-top: 5rem;
    text-align: center;
  }
}
#footer .footer_right nav .sublink .link_top {
  margin-bottom: 2.4rem;
  letter-spacing: -0.4em;
}
#footer .footer_right nav .sublink .link_top > * {
  display: inline-block;
  letter-spacing: normal;
}
#footer .footer_right nav .sublink .link_top .english_site {
  margin-right: 1.5em;
}
#footer .footer_right nav .sublink .link_top .english_site a {
  padding: 0.1em 1em;
  font-family: "Poppins", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #ffffff;
  border: solid 1px #ffffff;
  border-radius: 99px;
  display: block;
  transition: background-color 0.3s;
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav .sublink .link_top .english_site a:hover {
    background-color: #4B4B4B;
  }
}
#footer .footer_right nav .sublink .link_top .english_site a:before {
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_lang02.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.15em;
}
#footer .footer_right nav .sublink .link_top .lab_site {
  margin-right: 1em;
}
#footer .footer_right nav .sublink .link_top .lab_site a {
  font-size: 1.3rem;
  font-weight: 500;
  color: #ffffff;
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav .sublink .link_top .lab_site a:hover {
    text-decoration: underline;
  }
}
#footer .footer_right nav .sublink .link_bottom li {
  margin-bottom: 0.5em;
}
#footer .footer_right nav .sublink .link_bottom li a {
  font-size: 1.3rem;
  color: #ffffff;
}
@media only screen and (min-width: 901px) {
  #footer .footer_right nav .sublink .link_bottom li a:hover {
    text-decoration: underline;
  }
}
#footer .footer_right .btn_area {
  display: flex;
  justify-content: space-between;
}
#footer .footer_right .btn_area .shop {
  width: 48.6%;
}
#footer .footer_right .btn_area .shop a {
  width: 100%;
  padding: 1em 0.5em;
  font-weight: 500;
  text-align: center;
  color: #28334B !important;
  background-color: #ffffff;
  display: block;
}
@media only screen and (max-width: 1099px) and (min-width: 901px) {
  #footer .footer_right .btn_area .shop a {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_right .btn_area .shop a {
    padding: 0.5em 0;
  }
}
#footer .footer_right .btn_area .shop a:before {
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_shop01.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.55em;
}
@media only screen and (max-width: 900px) {
  #footer .footer_right .btn_area .shop a:before {
    margin: 0 auto;
    display: block;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_right .btn_area .shop a:after {
    width: 2em;
    height: 2em;
    margin-left: 0.5em;
    content: "";
    background-image: url("../img/icon_arrow01.webp"), url("../img/icon_arrow01.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -2em center;
    background-repeat: no-repeat;
    display: inline-block;
    vertical-align: -0.55em;
  }
  #footer .footer_right .btn_area .shop a:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
#footer .footer_right .btn_area .contact {
  width: 48.6%;
}
#footer .footer_right .btn_area .contact a {
  width: 100%;
  padding: 1em 0.5em;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #001489;
  display: block;
}
@media only screen and (max-width: 1099px) and (min-width: 901px) {
  #footer .footer_right .btn_area .contact a {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_right .btn_area .contact a {
    padding: 0.5em 0;
  }
}
#footer .footer_right .btn_area .contact a:before {
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_mail02.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.55em;
}
@media only screen and (max-width: 900px) {
  #footer .footer_right .btn_area .contact a:before {
    margin: 0 auto;
    display: block;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_right .btn_area .contact a:after {
    width: 2em;
    height: 2em;
    margin-left: 0.5em;
    content: "";
    background-image: url("../img/icon_arrow02.webp"), url("../img/icon_arrow02.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -2em center;
    background-repeat: no-repeat;
    display: inline-block;
    vertical-align: -0.55em;
  }
  #footer .footer_right .btn_area .contact a:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_left {
    width: 50%;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_left {
    text-align: center;
  }
}
#footer .footer_left .logo {
  width: 16.8rem;
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 900px) {
  #footer .footer_left .logo {
    width: 17.2rem;
    margin-left: auto;
    margin-right: auto;
  }
}
#footer .footer_left .company_name {
  margin-bottom: 1.5em;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#footer .footer_left .company_name span {
  font-size: 0.8125em;
}
#footer .footer_left address {
  font-size: 1.3rem;
  letter-spacing: 0.1em;
}
#footer .footer_left address + address {
  margin-top: 1.23em;
}
#footer .footer_left address span {
  font-weight: 700;
  display: block;
}
#footer .footer_left .c-searchbox {
  width: 100%;
  max-width: 40rem;
  margin-top: 8.5rem;
}
@media only screen and (max-width: 900px) {
  #footer .footer_left .c-searchbox {
    width: 83.7%;
    margin: 3.2rem auto 0 auto;
  }
}
#footer .footer_left .copyright {
  margin-top: 4em;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #5D5D5D;
}
@media only screen and (max-width: 900px) {
  #footer .footer_left .copyright {
    width: 90%;
    margin: 1.8em auto 0 auto;
    font-size: 1.3rem;
  }
}

/****************************************************
 * 5.コンテンツスタイル
 ****************************************************/
/*TOPページ*/
.p-top__mv {
  background-color: #001489;
  position: relative;
  z-index: 1;
}
.p-top__mv .inner {
  height: 86.7rem;
  position: relative;
  z-index: 1;
  pointer-events: none;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .inner {
    height: 49.8rem;
  }
}
.p-top__mv .movie {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-top__mv .movie > img,
.p-top__mv .movie > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__mv .movie {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-top__mv .catch {
  width: 52.8rem;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-60%);
}
@media only screen and (max-width: 780px) {
  .p-top__mv .catch {
    width: 26.4rem;
    left: 50%;
    transform: translate(-50%, -70%);
  }
}
.p-top__product_search {
  padding: 5.7rem 0 8.8rem 0;
  background-color: #F4F6F8;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 780px) {
  .p-top__product_search {
    padding: 0 0 3.2rem 0;
  }
}
.p-top__product_search:before {
  width: 100%;
  content: "";
  background-repeat: no-repeat;
  background-position: center top;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
@media only screen and (min-width: 781px) {
  .p-top__product_search:before {
    height: 86.2rem;
    background-image: url("../img/top/mv_obi01.webp");
    background-size: 257.6rem auto;
    transform: translateY(-58rem);
  }
}
@media only screen and (min-width: 781px) and (min-width: 2577px) {
  .p-top__product_search:before {
    background-size: 100% 100%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__product_search:before {
    height: 60.25vw;
    background-image: url("../img/top/mv_obi01_sp.webp");
    background-size: cover;
    transform: translateY(-60%);
  }
}
.p-top__product_search .inner {
  max-width: 1440px;
  padding: 5.6rem 0 6.4rem 0;
  background-color: #ffffff;
  border-radius: 2.4rem;
  -webkit-text-shadow: 0 0 2rem rgba(0, 0, 0, 0.05);
  -moz-text-shadow: 0 0 2rem rgba(0, 0, 0, 0.05);
  text-shadow: 0 0 2rem rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-top__product_search .inner {
    width: 91.3%;
    padding: 2.5rem 0;
    border-radius: 0.8rem;
  }
}
.p-top__product_search .inner .in {
  width: 90%;
  max-width: 1232px;
  margin: 0 auto;
}
@media only screen and (max-width: 780px) {
  .p-top__product_search .inner .in {
    width: 86.5%;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__product_search .headding {
    margin-bottom: 1.5em;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__product_search .headding {
    margin-bottom: 1.3em;
  }
}
.p-top__product_search .headding h2 {
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .p-top__product_search .headding h2 {
    font-size: 4rem;
    margin-right: 1em;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__product_search .headding h2 {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__product_search .headding p {
    width: 75%;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__product_search ul {
    display: flex;
    justify-content: space-between;
  }
}
.p-top__product_search ul li {
  height: auto;
  aspect-ratio: 400/300;
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (min-width: 901px) {
  .p-top__product_search ul li {
    width: 32.5%;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__product_search ul li {
    aspect-ratio: 616/300;
  }
  .p-top__product_search ul li + li {
    margin-top: 0.5em;
  }
}
.p-top__product_search ul li a {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  display: block;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__product_search ul li a {
    transition: filter 0.3s;
  }
  .p-top__product_search ul li a:hover {
    filter: brightness(1.15) saturate(1.3);
  }
}
.p-top__product_search ul li span {
  width: 86%;
  color: #ffffff;
  font-size: 2.3rem;
  font-weight: 700;
  background-image: url("../img/icon_arrow06.webp");
  background-size: 1.4em auto;
  background-position: right center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 1em;
  left: 7%;
}
@media only screen and (max-width: 1099px) {
  .p-top__product_search ul li span {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__product_search ul li span {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__product_search ul li:nth-child(1) a {
    background-image: url("../img/top/product_search_img01.webp");
  }
}
@media only screen and (max-width: 900px) {
  .p-top__product_search ul li:nth-child(1) a {
    background-image: url("../img/top/product_search_img01_sp.webp");
  }
}
@media only screen and (min-width: 901px) {
  .p-top__product_search ul li:nth-child(2) a {
    background-image: url("../img/top/product_search_img02.webp");
  }
}
@media only screen and (max-width: 900px) {
  .p-top__product_search ul li:nth-child(2) a {
    background-image: url("../img/top/product_search_img02_sp.webp");
  }
}
@media only screen and (min-width: 901px) {
  .p-top__product_search ul li:nth-child(3) a {
    background-image: url("../img/top/product_search_img03.webp");
  }
}
@media only screen and (max-width: 900px) {
  .p-top__product_search ul li:nth-child(3) a {
    background-image: url("../img/top/product_search_img03_sp.webp");
  }
}
.p-top__guide {
  margin-bottom: 8.8rem;
  padding-bottom: 8.8rem;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-top__guide {
    margin-bottom: 4.4rem;
    padding-bottom: 4.4rem;
  }
}
.p-top__guide h2 {
  margin-bottom: 0.425em;
  font-size: 4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-top__guide h2 {
    font-size: 2.4rem;
  }
}
.p-top__guide h2 + p {
  margin-bottom: 3em;
}
@media only screen and (max-width: 780px) {
  .p-top__guide h2 + p {
    margin-bottom: 1.3em;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__guide ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-top__guide ul li {
  margin-bottom: 1em;
}
@media only screen and (min-width: 781px) {
  .p-top__guide ul li {
    width: 49.3%;
  }
}
.p-top__guide ul li a {
  padding: 0.5em;
  background-color: #ffffff;
  border: solid 0.5em #ffffff;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 901px) {
  .p-top__guide ul li a {
    transition: border-color 0.3s;
  }
  .p-top__guide ul li a:hover {
    border-color: #5A96E3;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__guide ul li a .img {
    width: 30%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__guide ul li a .img {
    width: 37%;
  }
}
.p-top__guide ul li a p {
  padding-left: 1.4em;
  font-weight: 700;
  background-image: url("../img/icon_arrow04.webp");
  background-size: 1.4em auto;
  background-repeat: no-repeat;
  background-position: right center;
}
@media only screen and (min-width: 781px) {
  .p-top__guide ul li a p {
    width: 70%;
    padding-right: 2em;
    font-size: 2.3rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__guide ul li a p {
    width: 63%;
    padding-right: 4em;
    font-size: 1.7rem;
  }
}
.p-top__qa {
  margin-bottom: 8.8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__qa {
    margin-bottom: 4.4rem;
  }
}
.p-top__qa .inner {
  max-width: 1024px;
}
@media only screen and (min-width: 781px) {
  .p-top__qa .inner {
    display: flex;
    align-items: center;
  }
}
.p-top__qa .img {
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-top__qa .img > img,
.p-top__qa .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-top__qa .img {
    width: 39%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__qa .img {
    margin-bottom: 2em;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__qa .text {
    width: 61%;
    padding-left: 3.5em;
  }
}
.p-top__qa .text p {
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 780px) {
  .p-top__qa .text .btn {
    text-align: right;
  }
}
.p-top__sns {
  margin-bottom: 8.8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__sns {
    margin-bottom: 4.4rem;
  }
}
.p-top__sns .inner {
  max-width: 1024px;
  border-radius: 0.8rem;
  overflow: hidden;
  position: relative;
}
.p-top__sns .img {
  overflow: hidden;
}
.p-top__sns .img > img,
.p-top__sns .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-top__sns .img {
    width: 39.7%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.p-top__sns .text {
  color: #ffffff;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-top__sns .text {
    width: 60%;
    padding: 2em 2em 2em 3.75em;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__sns .text {
    padding: 0 1em 2em 1em;
  }
}
.p-top__sns .text:after {
  height: auto;
  content: "";
  background-color: #001489;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-top__sns .text:after {
    width: 124%;
    aspect-ratio: 773/544;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width: 780px) {
  .p-top__sns .text:after {
    width: 164%;
    aspect-ratio: 1068/545;
    top: 0;
    left: 50%;
    transform: translate(-50%, -15%);
  }
}
.p-top__sns .text h2 {
  margin-bottom: 0.26em;
  font-size: 3.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-top__sns .text h2 {
    margin-bottom: 0.625em;
    font-size: 2rem;
    text-align: center;
  }
}
.p-top__sns .text p {
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 780px) {
  .p-top__sns .text .btn {
    text-align: right;
  }
}
.p-top__news {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-top__news {
    margin-bottom: 6rem;
  }
}
.p-top__news .midashi01 + p {
  margin-bottom: 2.5em;
}
.p-top__news ul {
  display: flex;
}
.p-top__news ul li:nth-child(3) {
  margin-right: 0 !important;
}
@media only screen and (min-width: 781px) {
  .p-top__news ul li {
    width: 32.5%;
    margin-right: 1.1%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news ul li {
    flex: 0 0 31.6rem;
    margin-right: 1.8rem;
  }
}
.p-top__news ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-top__news ul li a .img img {
    transition: transform 0.3s;
  }
  .p-top__news ul li a:hover .img img {
    transform: scale(1.1);
  }
}
.p-top__news ul li .img {
  width: 100%;
  height: auto;
  margin-bottom: 1.5em;
  aspect-ratio: 400/225;
  border-radius: 1rem;
  overflow: hidden;
}
.p-top__news ul li .img > img,
.p-top__news ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__news ul li .img {
  position: relative;
}
.p-top__news ul li .img .cate {
  padding: 0.1em 1em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  background-color: #001489;
  border-radius: 99px;
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1em;
}
.p-top__news ul li .text h3 {
  margin-bottom: 0.5em;
  font-size: 1.9rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-top__news ul li .text h3 {
    font-size: 1.8rem;
  }
}
.p-top__news ul li .text p {
  margin-bottom: 1.5em;
}
.p-top__news ul li .text .date {
  font-size: 1.3rem;
}
.p-top__news ul li .text .date:before {
  width: 1.23em;
  height: 1.23em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_date01.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.15em;
}
.p-top__news .btn {
  margin-top: 5.6rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-top__news .btn {
    margin-top: 3rem;
  }
}

/*下層ページ*/
.pagetitle {
  width: 100%;
  height: 41.5rem;
  margin-bottom: 4rem;
  padding-top: 16rem;
  background-image: url("../img/pagetitle_bg.webp");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 1099px) {
  .pagetitle {
    height: 31.2rem;
    padding-top: 12rem;
  }
}
@media only screen and (max-width: 780px) {
  .pagetitle {
    height: 20rem;
    margin-bottom: 2rem;
    padding-top: 8.5rem;
  }
}
.pagetitle .midashi01 {
  margin-bottom: 0 !important;
}
@media only screen and (min-width: 781px) {
  .pagetitle .midashi01 {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .pagetitle .midashi01 {
    font-size: 1.6rem;
  }
}
.pagetitle .midashi01 span {
  margin-bottom: 0.15em;
  white-space: nowrap;
}
@media only screen and (max-width: 780px) {
  .pagetitle .midashi01 span {
    font-size: 3rem;
    line-height: 1.1;
  }
}

.pankuzu {
  margin-bottom: 8.8rem;
}
@media only screen and (max-width: 780px) {
  .pankuzu {
    margin-bottom: 4.4rem;
  }
}
.pankuzu .inner {
  letter-spacing: -0.4em;
}
.pankuzu .inner > * {
  display: inline-block;
  letter-spacing: normal;
}
.pankuzu .inner > span {
  font-size: 1.3rem;
  color: #ACACAC;
}
.pankuzu .inner > span:after {
  margin: 0 1em;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.25em 0 0.25em 0.4em;
  border-color: transparent transparent transparent #001489;
  display: inline-block;
  vertical-align: 0.15em;
}
.pankuzu .inner > span a {
  color: #28334B;
}
.pankuzu .inner > span:last-child:after {
  content: none;
}

.p-product__list {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-product__list {
    margin-bottom: 8rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-product__list .inner:after {
    content: "";
    display: block;
    clear: both;
  }
}
@media only screen and (min-width: 901px) {
  .p-product__list .side_menu {
    width: 26.4rem;
    float: left;
  }
}
@media only screen and (max-width: 900px) {
  .p-product__list .side_menu ul {
    margin-bottom: 3em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-product__list .side_menu ul li {
  width: 100%;
}
@media only screen and (min-width: 901px) {
  .p-product__list .side_menu ul li + li {
    margin-top: 0.4rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-product__list .side_menu ul li {
    width: 49%;
    margin-bottom: 2%;
  }
}
.p-product__list .side_menu ul li a {
  width: 100%;
  font-weight: 500;
  background-color: #F4F6F8;
  display: flex;
  align-items: center;
  background-image: url("../img/icon_arrow05.webp");
  background-repeat: no-repeat;
  background-size: 1em auto;
}
@media only screen and (min-width: 781px) {
  .p-product__list .side_menu ul li a {
    padding: 1em 3em 1em 1.25em;
    background-position: calc(100% - 1.5em) center;
  }
  .p-product__list .side_menu ul li a:hover {
    color: #ffffff;
    background-color: #001489;
    background-image: url("../img/icon_arrow06.webp");
  }
}
@media only screen and (max-width: 780px) {
  .p-product__list .side_menu ul li a {
    padding: 0.5em 2em 0.5em 1em;
    font-size: 1.2rem;
    background-position: calc(100% - 0.5em) center;
  }
}
.p-product__list .side_menu ul li.current a {
  color: #ffffff;
  background-color: #001489;
  pointer-events: none;
  background-image: url("../img/icon_arrow06.webp");
}
@media only screen and (min-width: 901px) {
  .p-product__list .product_list {
    width: calc(100% - 26.4rem);
    padding-left: 3em;
    float: right;
  }
}
.p-product__list .product_list ul {
  margin-bottom: 3rem;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 1100px) {
  .p-product__list .product_list ul li {
    width: 32%;
    margin: 0 2% 3.5em 0;
  }
  .p-product__list .product_list ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 1099px) {
  .p-product__list .product_list ul li {
    width: 48%;
    margin: 0 4% 2em 0;
  }
  .p-product__list .product_list ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-product__list .product_list ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-product__list .product_list ul li a:hover .img:before {
    border: solid 0.2rem #001489;
  }
}
.p-product__list .product_list ul li .img {
  margin-bottom: 1.5em;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  position: relative;
}
.p-product__list .product_list ul li .img img, .p-product__list .product_list ul li .img video {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-product__list .product_list ul li .img {
  text-align: center;
  border-radius: 0.8rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-product__list .product_list ul li .img {
    margin-bottom: 1em;
  }
}
.p-product__list .product_list ul li .img:before {
  width: 100%;
  height: 100%;
  content: "";
  border: solid 1px #D8D8D8;
  border-radius: 0.8rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.p-product__list .product_list ul li p {
  font-size: 1.9rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-product__list .product_list ul li p {
    font-size: 1.6rem;
  }
}
.p-product__detail {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail {
    margin-bottom: 8rem;
  }
}
.p-product__detail .inner {
  max-width: 1024px;
}
.p-product__detail .c-product_img_area .current_img {
  margin-bottom: 1em;
  text-align: center;
  border-radius: 0.8rem;
  position: relative;
}
.p-product__detail .c-product_img_area .current_img:before {
  width: 100%;
  height: 100%;
  content: "";
  border: solid 1px #D8D8D8;
  border-radius: 0.8rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.p-product__detail .c-product_img_area .thunbnail {
  display: flex;
  width: 100%;
  padding-bottom: 0.5em;
  overflow-x: auto;
}
.p-product__detail .c-product_img_area .thunbnail li {
  margin-right: 3.125%;
  overflow: hidden;
}
.p-product__detail .c-product_img_area .thunbnail li > img,
.p-product__detail .c-product_img_area .thunbnail li > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-product__detail .c-product_img_area .thunbnail li {
  flex: 0 0 17.5%;
  border-radius: 0.8rem;
  position: relative;
}
.p-product__detail .c-product_img_area .thunbnail li:last-child {
  margin-right: 0;
}
.p-product__detail .c-product_img_area .thunbnail li:before {
  width: 100%;
  height: 100%;
  content: "";
  border: solid 1px #D8D8D8;
  border-radius: 0.8rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .c-product_img_area .thunbnail li:hover:before {
    border: solid 0.2rem #001489;
  }
}
.p-product__detail .c-product_img_area .thunbnail li.current:before {
  border: solid 0.2rem #001489;
}
.p-product__detail .headding {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .headding {
    margin-bottom: 5rem;
  }
}
.p-product__detail .headding .c-product_img_area .current_img {
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  position: relative;
}
.p-product__detail .headding .c-product_img_area .current_img img, .p-product__detail .headding .c-product_img_area .current_img video {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-product__detail .headding .text_area p {
  margin-bottom: 1.5em;
  line-height: 1.75;
}
.p-product__detail .headding .text_area ul {
  margin-bottom: 2em;
  letter-spacing: -0.4em;
}
.p-product__detail .headding .text_area ul > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-product__detail .headding .text_area ul li {
  margin: 0 0.5em 0.5em 0;
  padding: 0.2em 1em;
  font-size: 1.3rem;
  font-weight: 500;
  color: #001489;
  border: solid 1px #001489;
  border-radius: 99px;
}
.p-product__detail .headding .text_area .movie {
  width: 100%;
  height: auto;
  margin-bottom: 2.5em;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.p-product__detail .headding .text_area .movie > img,
.p-product__detail .headding .text_area .movie > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .headding:not(.no-image) .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 781px) {
  .p-product__detail .headding:not(.no-image) .c-product_img_area {
    width: 49.2%;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .headding:not(.no-image) .c-product_img_area {
    margin-bottom: 3em;
  }
}
@media only screen and (min-width: 781px) {
  .p-product__detail .headding:not(.no-image) .text_area {
    width: 45.3%;
  }
}
.p-product__detail .anchor_link {
  margin-bottom: 3.5em;
}
.p-product__detail .anchor_link ul {
  display: flex;
}
.p-product__detail .anchor_link ul li {
  width: 18.75%;
  margin-right: 1.5625%;
  font-weight: 500;
  text-align: center;
}
.p-product__detail .anchor_link ul li:last-child {
  margin-right: 0;
}
.p-product__detail .anchor_link ul li a {
  padding-bottom: 1em;
  color: #A0A0A0;
  border-bottom: solid 1px #D8D8D8;
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .anchor_link ul li a:hover {
    color: #001489;
    border-bottom-color: #001489;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .anchor_link ul li a {
    font-size: 1.2rem;
  }
}
.p-product__detail .features {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .features {
    margin-bottom: 4.8rem;
  }
}
.p-product__detail .features h2 {
  margin-bottom: 1.2em;
  font-size: 3.3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .features h2 {
    font-size: 2rem;
  }
}
.p-product__detail .features .content_area + .content_area {
  margin-top: 4rem;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .features .content_area:not(.no-image) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 781px) {
  .p-product__detail .features .content_area:not(.no-image) .text {
    width: 59.5%;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .features .content_area:not(.no-image) .text {
    margin-bottom: 2em;
  }
}
.p-product__detail .features .content_area:not(.no-image) .img {
  height: auto;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.p-product__detail .features .content_area:not(.no-image) .img > img,
.p-product__detail .features .content_area:not(.no-image) .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .features .content_area:not(.no-image) .img {
    width: 35.4%;
  }
}
.p-product__detail .features .content_area .text .midashi03 {
  margin-bottom: 0.7em;
  font-size: 2.3rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .features .content_area .text .midashi03 {
    font-size: 1.8rem;
  }
}
.p-product__detail .features .content_area .text p {
  line-height: 2.18;
}
.p-product__detail .use {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use {
    margin-bottom: 4.8rem;
  }
}
.p-product__detail .use h2 {
  width: 100%;
  margin-bottom: 1.2em;
  font-size: 3.3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use h2 {
    font-size: 2rem;
  }
}
.p-product__detail .use .c-product_img_area .current_img {
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
  position: relative;
}
.p-product__detail .use .c-product_img_area .current_img img, .p-product__detail .use .c-product_img_area .current_img video {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-product__detail .use .step ol li {
  padding: 2em;
  background-color: #F4F6F8;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use .step ol li {
    padding: 1.5em;
  }
}
.p-product__detail .use .step ol li + li {
  margin-top: 1.5em;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use .step ol li + li {
    margin-top: 1em;
  }
}
.p-product__detail .use .step ol li .num {
  margin-bottom: 0.75em;
  font-family: "Poppins", sans-serif;
  font-size: 2.1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #001489;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use .step ol li .num {
    font-size: 1.8rem;
  }
}
.p-product__detail .use .step ol li .midashi03 {
  margin-bottom: 0.7em;
  font-size: 2.3rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use .step ol li .midashi03 {
    font-size: 1.8rem;
  }
}
.p-product__detail .use .step ol li p {
  line-height: 2.18;
}
.p-product__detail .use .step .link {
  margin-top: 1.5em;
  text-align: right;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .use dl {
    width: 100%;
    margin-top: 9rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use dl {
    margin-top: 4em;
  }
}
.p-product__detail .use dl + dl {
  margin-top: 3.5em;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use dl + dl {
    margin-top: 2em;
  }
}
.p-product__detail .use dl dt {
  padding: 0.7em 2.5em 0.7em 1.4em;
  font-size: 2.3rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #001489;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use dl dt {
    font-size: 1.8rem;
  }
}
.p-product__detail .use dl dt i {
  width: 1.4em;
  height: 1.4em;
  margin-top: -0.7em;
  background-image: url("../img/icon_plus02.webp");
  background-size: cover;
  top: 50%;
  right: 0.7em;
}
.p-product__detail .use dl dd {
  margin-top: 1.5em;
}
.p-product__detail .use dl dd ul li {
  padding-left: 1.5em;
}
.p-product__detail .use dl dd ul li:before {
  width: 1em;
  margin: 0 0.5em 0 -1.5em;
  content: "●";
  display: inline-block;
  vertical-align: 0;
}
.p-product__detail .use dl dd ul li + li {
  margin-top: 0.5em;
}
.p-product__detail .use dl.open dt i {
  background-image: url("../img/icon_minus02.webp");
}
@media only screen and (min-width: 781px) {
  .p-product__detail .use:not(.no-image) .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 781px) {
  .p-product__detail .use:not(.no-image) .c-product_img_area {
    width: 49.2%;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .use:not(.no-image) .c-product_img_area {
    margin-bottom: 3em;
  }
}
@media only screen and (min-width: 781px) {
  .p-product__detail .use:not(.no-image) .step {
    width: 46%;
  }
}
.p-product__detail .qa {
  margin-bottom: 9.6rem;
  padding: 9rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .qa {
    margin-bottom: 4.8rem;
    padding: 4.5rem 0;
  }
}
.p-product__detail .qa h2 {
  margin-bottom: 1.2em;
  font-size: 3.3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .qa h2 {
    font-size: 2rem;
  }
}
.p-product__detail .qa ul {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .qa ul {
    margin-bottom: 2rem;
  }
}
.p-product__detail .qa ul li {
  padding: 1.5em 2em;
  background-color: #ffffff;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .qa ul li {
    padding: 1em 1.5em;
  }
}
.p-product__detail .qa ul li + li {
  margin-top: 1em;
}
.p-product__detail .qa ul li .faq_q {
  padding: 0.75em 2em 1em 4.2em;
  font-size: 1.9rem;
  font-weight: 700;
  background-image: url("../img/faq_q.webp");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 2.94em auto;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .qa ul li .faq_q {
    padding-top: 0;
    padding-left: 2em;
    padding-bottom: 0;
    font-size: 1.6rem;
    background-size: 1.5em auto;
  }
}
.p-product__detail .qa ul li .faq_q i {
  width: 1.4em;
  height: 1.4em;
  margin-top: -0.7em;
  background-image: url("../img/icon_plus03.webp");
  background-size: cover;
  top: 1.5em;
  right: 0;
}
.p-product__detail .qa ul li .faq_a {
  margin-top: 2em;
  padding-top: 1.5em;
  border-top: solid 1px #D8D8D8;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .qa ul li .faq_a {
    margin-top: 1em;
    padding-top: 1em;
  }
}
.p-product__detail .qa ul li .faq_a p {
  line-height: 1.875;
}
.p-product__detail .qa ul li.open .faq_q i {
  background-image: url("../img/icon_minus03.webp");
}
.p-product__detail .qa .btn {
  text-align: center;
}
.p-product__detail .related {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .related {
    margin-bottom: 4.8rem;
  }
}
.p-product__detail .related .inner {
  max-width: 1232px;
}
.p-product__detail .related .ttl {
  margin-bottom: 1.5em;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .related .ttl {
    display: flex;
    justify-content: space-between;
  }
}
.p-product__detail .related .ttl h2 {
  font-size: 3.3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .related .ttl h2 {
    font-size: 2rem;
  }
}
.p-product__detail .related ul {
  display: flex;
}
.p-product__detail .related ul li:nth-child(3) {
  margin-right: 0 !important;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .related ul li {
    width: 32.5%;
    margin-right: 1.1%;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .related ul li {
    flex: 0 0 31.6rem;
    margin-right: 1.8rem;
  }
}
.p-product__detail .related ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .related ul li a .img img {
    transition: transform 0.3s;
  }
  .p-product__detail .related ul li a:hover .img img {
    transform: scale(1.1);
  }
}
.p-product__detail .related ul li .img {
  width: 100%;
  height: auto;
  margin-bottom: 1.5em;
  aspect-ratio: 400/225;
  border-radius: 1rem;
  overflow: hidden;
}
.p-product__detail .related ul li .img > img,
.p-product__detail .related ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-product__detail .related ul li .img {
  position: relative;
}
.p-product__detail .related ul li .img .cate {
  padding: 0.1em 1em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  background-color: #001489;
  border-radius: 99px;
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1em;
}
.p-product__detail .related ul li .text h3 {
  margin-bottom: 0.5em;
  font-size: 1.9rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .related ul li .text h3 {
    font-size: 1.8rem;
  }
}
.p-product__detail .related ul li .text p {
  margin-bottom: 1.5em;
}
.p-product__detail .related ul li .text .date {
  font-size: 1.3rem;
}
.p-product__detail .related ul li .text .date:before {
  width: 1.23em;
  height: 1.23em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_date01.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.15em;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .related .link {
    margin-top: 2em;
    text-align: right;
  }
}
.p-product__detail .spec .inner {
  max-width: 1232px;
}
@media only screen and (min-width: 781px) {
  .p-product__detail .spec .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
.p-product__detail .spec h2 {
  width: 100%;
  margin-bottom: 1.2em;
  font-size: 3.3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .spec h2 {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-product__detail .spec .table {
    width: 57.8%;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .spec .table {
    margin-bottom: 2em;
  }
}
.p-product__detail .spec .table table {
  width: 100%;
}
.p-product__detail .spec .table table tbody tr th {
  width: 27%;
  padding: 0.8em 1em;
  font-size: 1.9rem;
  font-weight: 500;
  background-color: #F8F8F8;
  border: solid 1px #D8D8D8;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .spec .table table tbody tr th {
    width: 30%;
    padding: 1em;
    font-size: 1.5rem;
  }
}
.p-product__detail .spec .table table tbody tr td {
  padding: 1.125em 1.5em;
  border: solid 1px #D8D8D8;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .p-product__detail .spec .table table tbody tr td {
    padding: 1em;
  }
}
@media only screen and (min-width: 781px) {
  .p-product__detail .spec .btn_area {
    width: 37.7%;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__detail .spec .btn_area .btn {
    text-align: center;
  }
}
.p-product__detail .spec .btn_area .btn + .btn {
  margin-top: 1em;
}
.p-product__search {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-product__search {
    margin-bottom: 8rem;
  }
}
.p-product__search .search01 {
  margin-bottom: 8.8rem;
}
@media only screen and (max-width: 780px) {
  .p-product__search .search01 {
    margin-bottom: 4.4rem;
  }
}
.p-product__search .search01 ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 781px) {
  .p-product__search .search01 ul li {
    width: 32.4%;
    margin: 0 1.4% 1em 0;
  }
  .p-product__search .search01 ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__search .search01 ul li {
    width: 49%;
    margin: 0 2% 1em 0;
  }
  .p-product__search .search01 ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-product__search .search01 ul li a {
  width: 100%;
  height: 100%;
  padding: 1em;
  font-weight: 500;
  border: solid 1px #E2E2E2;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 781px) {
  .p-product__search .search01 ul li a {
    font-size: 1.9rem;
  }
  .p-product__search .search01 ul li a:hover {
    background-color: #F4F6F8;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__search .search01 ul li a {
    font-size: 1.4rem;
  }
}
.p-product__search .search01 ul li a .icon {
  width: 2.74em;
  margin-right: 1.26em;
}
.p-product__search .search01 ul li a .text {
  width: calc(100% - 4em);
}
.p-product__search .search01 ul li.current a {
  color: #ffffff;
  background-color: #001489;
  pointer-events: none;
  background-image: url("../img/icon_arrow06.webp");
}
.p-product__search .search02 {
  margin-bottom: 8rem;
  padding: 8rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-product__search .search02 {
    margin-bottom: 4rem;
    padding: 4rem 0;
  }
}
.p-product__search .search02 h2 {
  margin-bottom: 1.2em;
  font-size: 2.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-product__search .search02 h2 {
    font-size: 2rem;
  }
}
.p-product__search .search02 ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 781px) {
  .p-product__search .search02 ul li {
    width: 32.4%;
    margin: 0 1.4% 1em 0;
  }
  .p-product__search .search02 ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__search .search02 ul li {
    width: 49%;
    margin: 0 2% 1em 0;
  }
  .p-product__search .search02 ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-product__search .search02 ul li a {
  width: 100%;
  height: 100%;
  font-weight: 500;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  background-image: url("../img/icon_arrow05.webp");
  background-repeat: no-repeat;
  background-size: 1em auto;
}
@media only screen and (min-width: 781px) {
  .p-product__search .search02 ul li a {
    padding: 1.68em 3.5em 1.68em 1.68em;
    font-size: 1.9rem;
    background-position: calc(100% - 1.5em) center;
    border-left: solid 0.2rem #001489;
  }
  .p-product__search .search02 ul li a:hover {
    color: #ffffff;
    background-color: #001489;
    background-image: url("../img/icon_arrow06.webp");
  }
}
@media only screen and (max-width: 780px) {
  .p-product__search .search02 ul li a {
    padding: 1.2em 2em 1.2em 1.2em;
    font-size: 1.4rem;
    background-position: calc(100% - 0.5em) center;
  }
}
.p-product__search .search02 ul li.current a {
  color: #ffffff;
  background-color: #001489;
  pointer-events: none;
  background-image: url("../img/icon_arrow06.webp");
}
.p-product__search .search03 ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 781px) {
  .p-product__search .search03 ul li {
    width: 32.4%;
    margin: 0 1.4% 1em 0;
  }
  .p-product__search .search03 ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-product__search .search03 ul li {
    width: 49%;
    margin: 0 2% 1em 0;
  }
  .p-product__search .search03 ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-product__search .search03 ul li a {
  width: 100%;
  height: 100%;
  font-weight: 500;
  background-color: #F4F6F8;
  display: flex;
  align-items: center;
  background-image: url("../img/icon_arrow05.webp");
  background-repeat: no-repeat;
  background-size: 1em auto;
}
@media only screen and (min-width: 781px) {
  .p-product__search .search03 ul li a {
    padding: 1.68em 3.5em 1.68em 1.68em;
    background-position: calc(100% - 1.5em) center;
  }
  .p-product__search .search03 ul li a:hover {
    color: #ffffff;
    background-color: #001489;
    background-image: url("../img/icon_arrow06.webp");
  }
}
@media only screen and (max-width: 780px) {
  .p-product__search .search03 ul li a {
    padding: 1.2em 2em 1.2em 1.2em;
    font-size: 1.2rem;
    background-position: calc(100% - 0.5em) center;
  }
}
.p-product__search .search03 ul li.current a {
  color: #ffffff;
  background-color: #001489;
  pointer-events: none;
  background-image: url("../img/icon_arrow06.webp");
}

.p-colmun__tarm_link {
  margin-bottom: 4rem;
}
.p-colmun__tarm_link ul {
  letter-spacing: -0.4em;
}
.p-colmun__tarm_link ul > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-colmun__tarm_link ul li {
  min-width: 19rem;
  margin: 0 1em 1em 0;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  background-color: #ffffff;
  border: solid 1px #001489;
  border-radius: 99px;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .p-colmun__tarm_link ul li {
    min-width: 6rem;
    margin: 0 0.5em 0.5em 0;
    font-size: 1.2rem;
  }
}
.p-colmun__tarm_link ul li a {
  padding: 0.8em 1em;
  color: #001489;
  display: block;
}
.p-colmun__tarm_link ul li a:hover {
  background-color: #F4F6F8;
}
.p-colmun__tarm_link ul li.current a {
  color: #ffffff;
  background-color: #001489 !important;
  pointer-events: none;
}
.p-colmun__list {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-colmun__list {
    margin-bottom: 8rem;
  }
}
.p-colmun__list ul {
  margin-bottom: 7rem;
}
.p-colmun__list ul li {
  margin-bottom: 1em;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-colmun__list ul li a {
  padding: 2em 5em 2em 2em;
  background-color: #F8F8F8;
  display: flex;
  align-items: flex-start;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-colmun__list ul li a {
    padding: 1em 4em 1em 1em;
    flex-wrap: wrap;
  }
}
.p-colmun__list ul li a:after {
  width: 1.26em;
  height: 1.26em;
  margin-top: -0.63em;
  content: "";
  vertical-align: -0.3em;
  position: absolute;
  top: 50%;
  right: 2em;
}
@media only screen and (max-width: 780px) {
  .p-colmun__list ul li a:after {
    right: 1em;
  }
}
@media only screen and (min-width: 901px) {
  .p-colmun__list ul li a:after {
    background-image: url("../img/icon_arrow04.webp"), url("../img/icon_arrow04.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -1.26em center;
    background-repeat: no-repeat;
  }
  .p-colmun__list ul li a:hover:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
@media only screen and (max-width: 900px) {
  .p-colmun__list ul li a:after {
    background-image: url("../img/icon_arrow04.webp");
    background-size: cover;
  }
}
.p-colmun__list ul li a .date {
  font-family: "Poppins", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.714;
  flex: 0 0 10rem;
}
.p-colmun__list ul li a .cate {
  margin-right: 2em;
  padding: 0.1em 1em;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  white-space: nowrap;
  color: #ffffff;
  background-color: #001489;
  border-radius: 99px;
}
.p-colmun__list ul li a p {
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-colmun__list ul li a p {
    width: 100%;
    padding-top: 0.5em;
  }
}
.p-colmun__icatch-list {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-colmun__icatch-list {
    margin-bottom: 8rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-colmun__icatch-list ul {
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .p-colmun__icatch-list ul {
    margin-bottom: 10rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-colmun__icatch-list ul li {
    width: 32.5%;
    margin-right: 1.1%;
    margin-bottom: 8rem;
  }
  .p-colmun__icatch-list ul li:nth-child(3n) {
    margin-right: 0 !important;
  }
}
@media only screen and (max-width: 780px) {
  .p-colmun__icatch-list ul li {
    margin-bottom: 3em;
  }
}
.p-colmun__icatch-list ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-colmun__icatch-list ul li a .img img {
    transition: transform 0.3s;
  }
  .p-colmun__icatch-list ul li a:hover .img img {
    transform: scale(1.1);
  }
}
.p-colmun__icatch-list ul li .img {
  width: 100%;
  height: auto;
  margin-bottom: 1.5em;
  aspect-ratio: 400/225;
  border-radius: 1rem;
  overflow: hidden;
}
.p-colmun__icatch-list ul li .img > img,
.p-colmun__icatch-list ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-colmun__icatch-list ul li .img {
  position: relative;
}
.p-colmun__icatch-list ul li .img .cate {
  padding: 0.1em 1em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  background-color: #001489;
  border-radius: 99px;
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1em;
}
.p-colmun__icatch-list ul li .text h3 {
  margin-bottom: 0.5em;
  font-size: 1.9rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-colmun__icatch-list ul li .text h3 {
    font-size: 1.8rem;
  }
}
.p-colmun__icatch-list ul li .text p {
  margin-bottom: 1.5em;
}
.p-colmun__icatch-list ul li .text .date {
  font-size: 1.3rem;
}
.p-colmun__icatch-list ul li .text .date:before {
  width: 1.23em;
  height: 1.23em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_date01.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.15em;
}
.p-colmun__post {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-colmun__post {
    margin-bottom: 8rem;
  }
}
.p-colmun__post .inner {
  max-width: 1024px;
}
.p-colmun__post .headding {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 780px) {
  .p-colmun__post .headding {
    margin-bottom: 2.4rem;
  }
}
.p-colmun__post .headding .meta {
  margin-bottom: 2em;
}
.p-colmun__post .headding .meta:after {
  content: "";
  display: block;
  clear: both;
}
@media only screen and (max-width: 780px) {
  .p-colmun__post .headding .meta {
    margin-bottom: 1em;
  }
}
.p-colmun__post .headding .meta .left {
  float: left;
  letter-spacing: -0.4em;
}
.p-colmun__post .headding .meta .left > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-colmun__post .headding .meta .left .post_date {
  margin-right: 1.5em;
  font-family: "Poppins", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}
.p-colmun__post .headding .meta .left .cate span {
  margin-right: 0.5em;
  padding: 0.1em 1em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  background-color: #001489;
  border-radius: 99px;
  display: inline-block;
}
.p-colmun__post .headding .meta .right {
  float: right;
}
.p-colmun__post .headding .meta .right .update_post {
  font-size: 1.4rem;
}
.p-colmun__post .headding .meta .right .update_post:before {
  width: 1.23em;
  height: 1.23em;
  margin-right: 0.5em;
  content: "";
  background-image: url("../img/icon_date01.webp");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.25em;
}
.p-colmun__post .headding h1 {
  padding-bottom: 1em;
  font-size: 3.3rem;
  font-weight: 500;
  line-height: 1.27;
  border-bottom: solid 1px #C1C1C1;
}
@media only screen and (max-width: 780px) {
  .p-colmun__post .headding h1 {
    font-size: 2.4rem;
  }
}
.p-colmun__post .headding .icatch {
  margin-top: 4.8rem;
  padding-bottom: 1.6rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-colmun__post .headding .icatch {
    margin-top: 3rem;
  }
}
.p-colmun__post .headding .icatch img {
  border-radius: 1.6rem;
}
.p-colmun__post .post-navigation {
  margin-top: 7.2rem;
  padding-top: 6.4rem;
  border-top: solid 1px #D8D8D8;
}
@media only screen and (max-width: 780px) {
  .p-colmun__post .post-navigation {
    margin-top: 4rem;
    padding-top: 3rem;
  }
}

.p-qa__top {
  margin-bottom: 11rem;
}
@media only screen and (max-width: 780px) {
  .p-qa__top {
    margin-bottom: 5.5rem;
  }
}
.p-qa__top .search_area {
  margin-bottom: 7.3rem;
}
@media only screen and (max-width: 780px) {
  .p-qa__top .search_area {
    margin-bottom: 3rem;
  }
}
.p-qa__top .search_area .inner {
  max-width: 1024px;
}
.p-qa__top .search_area h2 {
  margin-bottom: 1.3em;
  font-size: 1.9rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-qa__top .search_area h2 {
    font-size: 1.6rem;
  }
}
.p-qa__top .tarm_list {
  padding: 8.8rem 0;
  background-color: #FCFCFC;
}
@media only screen and (max-width: 780px) {
  .p-qa__top .tarm_list {
    padding: 4.4rem 0;
  }
}
.p-qa__top .tarm_list h2 {
  margin-bottom: 0.8em;
  font-size: 2.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-qa__top .tarm_list h2 {
    font-size: 2rem;
  }
}
.p-qa__top .tarm_list ul {
  padding: 2.5em 1.5em;
  background-color: #ffffff;
  border-radius: 0.8rem;
}
@media only screen and (min-width: 781px) {
  .p-qa__top .tarm_list ul {
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .p-qa__top .tarm_list ul {
    padding: 1em;
  }
}
.p-qa__top .tarm_list ul li {
  padding: 0.5em 1em 0.5em 1.5em;
  font-weight: 500;
  border-left: solid 1px #D8D8D8;
}
@media only screen and (min-width: 781px) {
  .p-qa__top .tarm_list ul li {
    width: 33.333%;
    font-size: 1.9rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1099px) {
  .p-qa__top .tarm_list ul li {
    width: 48%;
  }
}
@media only screen and (max-width: 780px) {
  .p-qa__top .tarm_list ul li {
    font-size: 1.6rem;
  }
}
.p-qa__top .tarm_list ul li a {
  padding-left: 2.5em;
  display: block;
  background-image: url("../img/icon_arrow04.webp");
  background-repeat: no-repeat;
  background-size: 1.25em auto;
  background-position: 0 0.15em;
}
@media only screen and (min-width: 781px) {
  .p-qa__top .tarm_list ul li a:hover {
    background-image: url("../img/icon_arrow05.webp");
  }
}
.p-qa__taxonomy {
  margin-bottom: 11rem;
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy {
    margin-bottom: 5.5rem;
  }
}
.p-qa__taxonomy .search_area {
  margin-bottom: 8.6rem;
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy .search_area {
    margin-bottom: 4.3rem;
  }
}
.p-qa__taxonomy .search_area .inner {
  max-width: 1024px;
}
.p-qa__taxonomy .search_area h2 {
  margin-bottom: 1.3em;
  font-size: 1.9rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy .search_area h2 {
    font-size: 1.6rem;
  }
}
.p-qa__taxonomy .product_list h2 {
  margin-bottom: 0.6em;
  font-size: 2.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy .product_list h2 {
    font-size: 2rem;
  }
}
.p-qa__taxonomy .product_list h2 + p {
  margin-bottom: 1.73em;
  font-size: 1.9rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy .product_list h2 + p {
    font-size: 1.6rem;
  }
}
.p-qa__taxonomy .product_list ul {
  margin-bottom: 3rem;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 1100px) {
  .p-qa__taxonomy .product_list ul li {
    width: 24%;
    margin: 0 1.33% 3.5em 0;
  }
  .p-qa__taxonomy .product_list ul li:nth-child(4n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 1099px) and (min-width: 781px) {
  .p-qa__taxonomy .product_list ul li {
    width: 32%;
    margin: 0 2% 2em 0;
  }
  .p-qa__taxonomy .product_list ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy .product_list ul li {
    width: 48%;
    margin: 0 4% 2em 0;
  }
  .p-qa__taxonomy .product_list ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-qa__taxonomy .product_list ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-qa__taxonomy .product_list ul li a:hover .img:before {
    border: solid 0.2rem #001489;
  }
}
.p-qa__taxonomy .product_list ul li .img {
  margin-bottom: 1.5em;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  position: relative;
}
.p-qa__taxonomy .product_list ul li .img img, .p-qa__taxonomy .product_list ul li .img video {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-qa__taxonomy .product_list ul li .img {
  text-align: center;
  border-radius: 0.8rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy .product_list ul li .img {
    margin-bottom: 1em;
  }
}
.p-qa__taxonomy .product_list ul li .img:before {
  width: 100%;
  height: 100%;
  content: "";
  border: solid 1px #D8D8D8;
  border-radius: 0.8rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.p-qa__taxonomy .product_list ul li p {
  font-size: 1.9rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-qa__taxonomy .product_list ul li p {
    font-size: 1.6rem;
  }
}
.p-qa__post {
  margin-bottom: 11rem;
  padding: 9rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-qa__post {
    margin-bottom: 5.5rem;
    padding: 4.5rem 0;
  }
}
.p-qa__post .inner {
  max-width: 1024px;
}
.p-qa__post ul li {
  padding: 1.5em 2em;
  background-color: #ffffff;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .p-qa__post ul li {
    padding: 1em 1.5em;
  }
}
.p-qa__post ul li + li {
  margin-top: 1em;
}
.p-qa__post ul li .faq_q {
  padding: 0.75em 2em 1em 4.2em;
  font-size: 1.9rem;
  font-weight: 700;
  background-image: url("../img/faq_q.webp");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 2.94em auto;
}
@media only screen and (max-width: 780px) {
  .p-qa__post ul li .faq_q {
    padding-top: 0;
    padding-left: 2em;
    padding-bottom: 0;
    font-size: 1.6rem;
    background-size: 1.5em auto;
  }
}
.p-qa__post ul li .faq_q i {
  width: 1.4em;
  height: 1.4em;
  margin-top: -0.7em;
  background-image: url("../img/icon_plus03.webp");
  background-size: cover;
  top: 1.5em;
  right: 0;
}
.p-qa__post ul li .faq_a {
  margin-top: 2em;
  padding-top: 1.5em;
  border-top: solid 1px #D8D8D8;
}
@media only screen and (max-width: 780px) {
  .p-qa__post ul li .faq_a {
    margin-top: 1em;
    padding-top: 1em;
  }
}
.p-qa__post ul li .faq_a p {
  line-height: 1.875;
}
.p-qa__post ul li.open .faq_q i {
  background-image: url("../img/icon_minus03.webp");
}

.p-sns__pagetitle .midashi01 > span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 5.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-sns__pagetitle .midashi01 > span {
    font-size: 3rem;
  }
}
.p-sns__pagetitle .midashi01 > span span {
  font-family: "Poppins", sans-serif;
  font-size: 7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  display: inline-block;
  vertical-align: -0.03em;
}
@media only screen and (max-width: 780px) {
  .p-sns__pagetitle .midashi01 > span span {
    font-size: 3.6rem;
  }
}
.p-sns__contents {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-sns__contents {
    margin-bottom: 8rem;
  }
}
.p-sns__contents .tab_content .tab_head {
  margin-bottom: 4em;
  letter-spacing: -0.4em;
}
.p-sns__contents .tab_content .tab_head > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_head {
    margin-bottom: 2em;
  }
}
.p-sns__contents .tab_content .tab_head li {
  min-width: 19rem;
  margin: 0 1em 1em 0;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  background-color: #ffffff;
  border: solid 1px #001489;
  border-radius: 99px;
  overflow: hidden;
  padding: 0.8em 1em;
  color: #001489;
}
@media only screen and (min-width: 781px) {
  .p-sns__contents .tab_content .tab_head li:hover {
    background-color: #F4F6F8;
  }
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_head li {
    min-width: 6rem;
    margin: 0 0.5em 0.5em 0;
    font-size: 1.2rem;
  }
}
.p-sns__contents .tab_content .tab_head li.current {
  color: #ffffff;
  background-color: #001489 !important;
  pointer-events: none;
}
.p-sns__contents .tab_content .tab_body .sns_links ul {
  margin-bottom: 1.5em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_body .sns_links ul {
    margin-bottom: 0.5em;
  }
}
.p-sns__contents .tab_content .tab_body .sns_links ul li {
  width: 49%;
  margin-bottom: 1.5em;
}
.p-sns__contents .tab_content .tab_body .sns_links ul li a {
  font-weight: 500;
  border: solid 1px #EDEDED;
  border-radius: 0.8rem;
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-sns__contents .tab_content .tab_body .sns_links ul li a {
    padding: 1.6em 2.5em;
    font-size: 1.9rem;
    background-image: url("../img/icon_arrow03.webp");
    background-repeat: no-repeat;
    background-size: 1.68em auto;
    background-position: calc(100% - 2.5em) center;
  }
  .p-sns__contents .tab_content .tab_body .sns_links ul li a:hover {
    background-color: #F4F6F8;
  }
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_body .sns_links ul li a {
    padding: 1em;
    font-size: 1.6rem;
  }
}
.p-sns__contents .tab_content .tab_body .sns_links ul li a .icon {
  width: 3.26em;
  margin-right: 0.8em;
  display: inline-block;
  vertical-align: -0.9em;
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_body .sns_links ul li a .icon {
    width: 2em;
    vertical-align: -0.3em;
  }
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_body .sns_links .link {
    text-align: right;
  }
}
.p-sns__contents .tab_content .tab_body .map .headding {
  margin-bottom: 2.5em;
}
@media only screen and (min-width: 1100px) {
  .p-sns__contents .tab_content .tab_body .map .headding {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_body .map .headding {
    margin-bottom: 1em;
  }
}
.p-sns__contents .tab_content .tab_body .map .headding p {
  line-height: 2.18;
}
@media only screen and (max-width: 1099px) {
  .p-sns__contents .tab_content .tab_body .map .headding p {
    margin-bottom: 1em;
  }
}
.p-sns__contents .tab_content .tab_body .map .map_img {
  padding: 3em 4em;
  border: solid 1rem #F4F6F8;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .p-sns__contents .tab_content .tab_body .map .map_img {
    padding: 1em;
    border-width: 0.5rem;
  }
}
.p-sns__contents .tab_content .tab_body .map .map_img a {
  display: block;
}

.p-about__bland_message {
  padding: 5.6rem 0;
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 781px) {
  .p-about__bland_message {
    background-image: url("../img/about/message_bg01.webp");
  }
}
@media only screen and (max-width: 780px) {
  .p-about__bland_message {
    padding: 2.8rem 0;
    background-image: url("../img/about/message_bg01_sp.webp");
  }
}
.p-about__bland_message .inner {
  max-width: 1024px;
  padding: 4em 2em;
  background-image: url("../img/about/message_img01.webp");
  background-size: 26.3rem auto;
  background-repeat: no-repeat;
  background-position: 2em calc(100% - 1.5em);
  background-color: #ffffff;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .p-about__bland_message .inner {
    padding: 2em 1em;
    background-size: 14rem auto;
    background-position: 1em calc(100% - 1em);
  }
}
.p-about__bland_message .midashi02 {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
.p-about__bland_message p {
  font-family: "Noto Serif JP", serif;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 2.7;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-about__bland_message p {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.p-about__why {
  padding: 8.8rem 0;
  background-color: #001489;
}
@media only screen and (max-width: 780px) {
  .p-about__why {
    padding: 4.4rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-about__why ol {
    display: flex;
    justify-content: space-between;
  }
}
.p-about__why ol li {
  padding: 1em;
  background-color: #ffffff;
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-about__why ol li {
    width: 32.4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-about__why ol li + li {
    margin-top: 2em;
  }
}
.p-about__why ol li .img {
  width: 100%;
  height: auto;
  aspect-ratio: 368/207;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-about__why ol li .img > img,
.p-about__why ol li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-about__why ol li .text {
  padding-top: 1.5em;
  position: relative;
}
.p-about__why ol li .text .num {
  width: 2.2em;
  height: 2.2em;
  margin-top: -1.1em;
  margin-left: -1.1em;
  font-family: "Poppins", sans-serif;
  font-size: 1.125em;
  font-weight: 600;
  line-height: 2.2;
  text-align: center;
  color: #ffffff;
  background-color: #001489;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
}
@media only screen and (max-width: 780px) {
  .p-about__why ol li .text .num {
    font-size: 1em;
  }
}
.p-about__why ol li .text h3 {
  margin-bottom: 0.3em;
  font-size: 2.3rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-about__why ol li .text h3 {
    font-size: 1.8rem;
  }
}
.p-about__why ol li .text p {
  font-size: 0.9375em;
}
.p-about__history {
  margin-bottom: 14.4rem;
  padding: 8.8rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-about__history {
    margin-bottom: 7rem;
    padding: 4.4rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-about__history .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-about__history .text {
    width: 49%;
  }
}
@media only screen and (max-width: 780px) {
  .p-about__history .text {
    margin-bottom: 1.5em;
  }
}
.p-about__history .text p {
  line-height: 2.25;
}
@media only screen and (max-width: 780px) {
  .p-about__history .text p {
    line-height: 1.8;
  }
}
.p-about__history .img {
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-about__history .img > img,
.p-about__history .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-about__history .img {
    width: 49.3%;
  }
}
.p-about__lab {
  margin-bottom: 15.5rem;
}
@media only screen and (max-width: 780px) {
  .p-about__lab {
    margin-bottom: 8rem;
  }
}
.p-about__lab .midashi02 i {
  font-style: normal;
}
.p-about__lab ul li {
  border: solid 1px #D8D8D8;
}
@media only screen and (min-width: 781px) {
  .p-about__lab ul li {
    padding: 4em;
    border-radius: 2.4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-about__lab ul li:nth-child(2n) {
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 780px) {
  .p-about__lab ul li {
    padding: 2em;
    border-radius: 1.6rem;
  }
}
.p-about__lab ul li + li {
  margin-top: 2em;
}
@media only screen and (min-width: 781px) {
  .p-about__lab ul li .text {
    width: 64%;
  }
}
@media only screen and (max-width: 780px) {
  .p-about__lab ul li .text {
    margin-bottom: 1.5em;
  }
}
.p-about__lab ul li .text .midashi04 {
  margin-bottom: 0.6em;
}
.p-about__lab ul li .text h4 {
  margin-bottom: 0.5em;
  font-size: 3.3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-about__lab ul li .text h4 {
    font-size: 2.2rem;
  }
}
.p-about__lab ul li .text p {
  margin-bottom: 2em;
  line-height: 2.25;
}
@media only screen and (max-width: 780px) {
  .p-about__lab ul li .text p {
    line-height: 1.8;
  }
}
.p-about__lab ul li .img {
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-about__lab ul li .img {
    width: 30.8%;
  }
}
.p-about__company {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-about__company {
    margin-bottom: 8rem;
  }
}
.p-about__company .inner {
  max-width: 816px;
}
.p-about__company .table table {
  width: 100%;
  border: none !important;
}
.p-about__company .table table tbody {
  border: none !important;
}
.p-about__company .table table tbody tr {
  border: none !important;
}
.p-about__company .table table tbody tr td {
  padding: 1.5em 0;
  border: none !important;
  border-bottom: solid 1px #D8D8D8 !important;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .p-about__company .table table tbody tr td {
    padding: 1em 0;
  }
}
.p-about__company .table table tbody tr td:first-child {
  width: 36%;
  padding: 1.5em 2.25em;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-about__company .table table tbody tr td:first-child {
    padding: 1em 0;
  }
}

.p-biz__intro {
  margin-bottom: 8.9rem;
}
@media only screen and (max-width: 780px) {
  .p-biz__intro {
    margin-bottom: 4.5rem;
  }
}
.p-biz__intro h2 {
  margin-bottom: 1.25em;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-biz__intro h2 {
    font-size: 2rem;
  }
}
.p-biz__intro .biz_logo {
  max-width: 81.6rem;
  margin: 0 auto 7.2rem auto;
}
@media only screen and (max-width: 780px) {
  .p-biz__intro .biz_logo {
    margin-bottom: 3.6rem;
  }
}
.p-biz__intro p {
  font-size: 1.9rem;
  line-height: 1.9;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-biz__intro p {
    font-size: 1.6rem;
  }
}
.p-biz__service {
  margin-bottom: 10rem;
  padding: 8rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-biz__service {
    margin-bottom: 5rem;
    padding: 4rem 0;
  }
}
.p-biz__service .midashi02 + p {
  margin-bottom: 5em;
  text-align: center;
}
@media only screen and (min-width: 781px) {
  .p-biz__service ul {
    display: flex;
    justify-content: space-between;
  }
}
.p-biz__service ul li {
  padding: 0 1.5em 1.5em 1.5em;
  background-color: #ffffff;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.05);
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-biz__service ul li {
    width: 48%;
  }
}
@media only screen and (max-width: 780px) {
  .p-biz__service ul li + li {
    margin-top: 4em;
  }
}
.p-biz__service ul li .img {
  width: 100%;
  height: auto;
  aspect-ratio: 544/306;
  margin-bottom: -1em;
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-biz__service ul li .img > img,
.p-biz__service ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-biz__service ul li .img {
  transform: translateY(-2.5em);
}
.p-biz__service ul li .text h3 {
  margin-bottom: 0.6em;
  font-size: 2.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-biz__service ul li .text h3 {
    font-size: 2rem;
  }
}
.p-biz__service ul li .text h3 span {
  font-size: 0.678em;
}
.p-biz__merit {
  margin-bottom: 14.4rem;
}
@media only screen and (max-width: 780px) {
  .p-biz__merit {
    margin-bottom: 7.2rem;
  }
}
.p-biz__merit .inner {
  max-width: 1024px;
}
.p-biz__merit .midashi02 {
  margin-bottom: 1.18em;
}
@media only screen and (min-width: 781px) {
  .p-biz__merit ol li {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-biz__merit ol li:nth-child(2n+1) {
    flex-direction: row-reverse;
  }
}
.p-biz__merit ol li + li {
  margin-top: 4em;
}
@media only screen and (max-width: 780px) {
  .p-biz__merit ol li + li {
    margin-top: 2em;
  }
}
@media only screen and (min-width: 781px) {
  .p-biz__merit ol li .img {
    width: 59.375%;
  }
}
@media only screen and (max-width: 780px) {
  .p-biz__merit ol li .img {
    margin-bottom: 1.5em;
  }
}
@media only screen and (min-width: 781px) {
  .p-biz__merit ol li .text {
    width: 36%;
  }
}
.p-biz__merit ol li .text .num {
  margin-bottom: 0.84em;
  font-family: "Poppins", sans-serif;
  font-size: 1.9rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #001489;
}
.p-biz__merit ol li .text .num span {
  width: 2.2em;
  height: 2.2em;
  margin-left: 0.5em;
  font-size: 0.84em;
  line-height: 2.2;
  text-align: center;
  color: #ffffff;
  background-color: #001489;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.1em;
}
.p-biz__merit ol li .text h3 {
  margin-bottom: 0.7em;
  padding-bottom: 0.7em;
  font-size: 3.3rem;
  font-weight: 700;
  border-bottom: solid 1px #D8D8D8;
}
@media only screen and (max-width: 780px) {
  .p-biz__merit ol li .text h3 {
    font-size: 2.2rem;
  }
}
.p-biz__merit ol li .text p {
  line-height: 2.25;
}
@media only screen and (max-width: 780px) {
  .p-biz__merit ol li .text p {
    line-height: 1.8;
  }
}
.p-biz__why {
  margin-bottom: 12rem;
  padding: 8.8rem 0;
  background-color: #001489;
}
@media only screen and (max-width: 780px) {
  .p-biz__why {
    margin-bottom: 6rem;
    padding: 4.4rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-biz__why ol {
    display: flex;
    justify-content: space-between;
  }
}
.p-biz__why ol li {
  padding: 1em;
  background-color: #ffffff;
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-biz__why ol li {
    width: 32.4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-biz__why ol li + li {
    margin-top: 2em;
  }
}
.p-biz__why ol li .img {
  width: 100%;
  height: auto;
  aspect-ratio: 368/207;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-biz__why ol li .img > img,
.p-biz__why ol li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-biz__why ol li .text {
  padding-top: 1.5em;
  position: relative;
}
.p-biz__why ol li .text .num {
  width: 2.2em;
  height: 2.2em;
  margin-top: -1.1em;
  margin-left: -1.1em;
  font-family: "Poppins", sans-serif;
  font-size: 1.125em;
  font-weight: 600;
  line-height: 2.2;
  text-align: center;
  color: #ffffff;
  background-color: #001489;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
}
@media only screen and (max-width: 780px) {
  .p-biz__why ol li .text .num {
    font-size: 1em;
  }
}
.p-biz__why ol li .text h3 {
  margin-bottom: 0.3em;
  font-size: 2.3rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-biz__why ol li .text h3 {
    font-size: 1.8rem;
  }
}
.p-biz__use {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-biz__use {
    margin-bottom: 5.6rem;
  }
}
.p-biz__use .inner {
  max-width: 1024px;
}
.p-biz__use dl {
  border: solid 1px #EDEDED;
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-biz__use dl dt {
  margin-bottom: 1.6em;
  padding: 0.4em;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #001489;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-biz__use dl dt {
    font-size: 2.2rem;
  }
}
.p-biz__use dl dt:after {
  margin-left: -0.4em;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8em 0.4625em 0 0.4625em;
  border-color: #001489 transparent transparent transparent;
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
}
.p-biz__use dl dd {
  padding-bottom: 3em;
}
.p-biz__use dl dd ul {
  width: 85%;
  margin: 0 auto 2em auto;
}
@media only screen and (min-width: 781px) {
  .p-biz__use dl dd ul {
    display: flex;
    flex-wrap: wrap;
  }
}
.p-biz__use dl dd ul li {
  margin-bottom: 1.043em;
  padding-left: 1.39em;
  font-weight: 500;
}
@media only screen and (min-width: 781px) {
  .p-biz__use dl dd ul li {
    width: 50%;
    font-size: 2.3rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-biz__use dl dd ul li {
    font-size: 1.8rem;
  }
}
.p-biz__use dl dd ul li:before {
  width: 1.04em;
  height: 1.04em;
  margin: 0 0.35em 0 -1.39em;
  content: "・";
  font-weight: 700;
  color: #001489;
  display: inline-block;
  vertical-align: 0;
}
.p-biz__use dl dd p {
  width: 85%;
  margin: 0 auto;
  font-size: 2.8rem;
  font-weight: 700;
  color: #001489;
}
@media only screen and (max-width: 780px) {
  .p-biz__use dl dd p {
    font-size: 2.2rem;
  }
}
.p-biz__flow {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow {
    margin-bottom: 6rem;
  }
}
.p-biz__flow .inner {
  max-width: 1024px;
}
.p-biz__flow .midashi02 + p {
  margin-bottom: 2.6em;
  font-size: 1.9rem;
  line-height: 1.89;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .midashi02 + p {
    font-size: 1.6rem;
  }
}
.p-biz__flow .flow {
  margin-bottom: 3em;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-biz__flow .flow {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-biz__flow .flow:after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 90%;
    height: 1px;
    border-bottom: dashed 0.2rem #969BB9;
    top: 9.6rem;
    left: 5%;
  }
}
@media only screen and (min-width: 781px) {
  .p-biz__flow .flow li {
    text-align: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .flow li + li {
    margin-top: 2em;
  }
}
.p-biz__flow .flow li .img {
  width: 19.2rem;
  max-width: 100%;
  margin: 0 auto 1.5em auto;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .flow li .img {
    width: 50%;
    max-width: 24rem;
  }
}
.p-biz__flow .flow li .text {
  text-align: center;
}
.p-biz__flow .flow li .text h3 {
  margin-bottom: 0.4em;
  font-size: 2.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .flow li .text h3 {
    font-size: 2.2rem;
  }
}
.p-biz__flow .souryou {
  max-width: 92rem;
  margin: 0 auto 8rem auto;
  display: flex;
}
.p-biz__flow .souryou .fig {
  background-color: #001489;
  border: solid 0.3rem #001489;
  border-right: none;
  display: flex;
  align-items: center;
  flex: 0 0 20.8%;
}
.p-biz__flow .souryou .fig img {
  width: 100%;
}
.p-biz__flow .souryou .text {
  flex-grow: 1;
  border: solid 0.3rem #EDEDED;
  border-left: none;
}
@media only screen and (min-width: 781px) {
  .p-biz__flow .souryou .text {
    padding: 1em 2em;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .souryou .text {
    padding: 1em;
  }
}
.p-biz__flow .souryou .text h3 {
  padding-right: 1em;
  font-size: 4rem;
  font-weight: 700;
  white-space: nowrap;
  color: #001489;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .souryou .text h3 {
    margin-bottom: 0.5em;
    padding: 0;
    font-size: 2.2rem;
  }
}
.p-biz__flow .pay {
  margin-bottom: 2em;
  padding: 3em 4.5em;
  background-color: #FCFCFC;
}
@media only screen and (max-width: 1099px) {
  .p-biz__flow .pay {
    padding: 3em;
  }
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .pay {
    padding: 1.5em 2em;
  }
}
.p-biz__flow .pay h3 {
  margin-bottom: 1em;
  padding-bottom: 0.7em;
  padding-left: 0.87em;
  font-size: 2.3rem;
  font-weight: 700;
  position: relative;
  border-bottom: solid 1px #D8D8D8;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .pay h3 {
    font-size: 1.8rem;
  }
}
.p-biz__flow .pay h3::before {
  width: 0.17em;
  height: 1.2em;
  content: "";
  background-color: #001489;
  position: absolute;
  top: 0.15em;
  left: 0;
}
.p-biz__flow .pay p {
  margin-bottom: 1em;
}
.p-biz__flow .pay .link {
  margin-bottom: 2.5em;
}
.p-biz__flow .pay dl {
  margin-bottom: 2em;
  font-size: 1.9rem;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .pay dl {
    font-size: 1.6rem;
  }
}
.p-biz__flow .pay dl dt {
  margin-bottom: 0.84em;
  padding-left: 1.26em;
  font-weight: 700;
  position: relative;
}
.p-biz__flow .pay dl dt:before {
  content: "■";
  font-size: 0.6em;
  color: #001489;
  position: absolute;
  top: 0.4em;
  left: 0;
}
.p-biz__flow .pay dl dd {
  font-weight: 500;
}
.p-biz__flow .pay dl dd + dt {
  margin-top: 1.7em;
}
.p-biz__flow .pay dl dd .annotation {
  margin-top: 0.5em;
  font-size: 0.84em;
  font-weight: 400;
  color: #676F80;
}
.p-biz__flow .pay .btn {
  text-align: center;
}
.p-biz__flow .attention h4 {
  margin-bottom: 0.8em;
  font-size: 1.9rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-biz__flow .attention h4 {
    font-size: 1.6rem;
  }
}
.p-biz__flow .attention ul {
  color: #676F80;
}
.p-biz__flow .attention ul li {
  padding-left: 1.25em;
}
.p-biz__flow .attention ul li + li {
  margin-top: 0.5em;
}
.p-biz__flow .attention ul li:before {
  width: 1em;
  height: 1em;
  margin-right: 0.25em;
  margin-left: -1.25em;
  content: "・";
  display: inline-block;
  vertical-align: 0;
}
.p-biz__qa {
  margin-bottom: 9.6rem;
  padding: 8.8rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-biz__qa {
    margin-bottom: 4.8rem;
    padding: 4.4rem 0;
  }
}
.p-biz__qa .inner {
  max-width: 1024px;
}
.p-biz__qa .midashi02 {
  margin-bottom: 1em;
}
.p-biz__qa ul {
  margin-bottom: 3em;
}
.p-biz__qa ul li {
  padding: 1.5em 2em;
  background-color: #ffffff;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .p-biz__qa ul li {
    padding: 1em 1.5em;
  }
}
.p-biz__qa ul li + li {
  margin-top: 1em;
}
.p-biz__qa ul li .faq_q {
  padding: 0.75em 2em 1em 4.2em;
  font-size: 1.9rem;
  font-weight: 700;
  background-image: url("../img/faq_q.webp");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 2.94em auto;
}
@media only screen and (max-width: 780px) {
  .p-biz__qa ul li .faq_q {
    padding-top: 0;
    padding-left: 2em;
    padding-bottom: 0;
    font-size: 1.6rem;
    background-size: 1.5em auto;
  }
}
.p-biz__qa ul li .faq_q i {
  width: 1.4em;
  height: 1.4em;
  margin-top: -0.7em;
  background-image: url("../img/icon_plus03.webp");
  background-size: cover;
  top: 1.5em;
  right: 0;
}
.p-biz__qa ul li .faq_a {
  margin-top: 2em;
  padding-top: 1.5em;
  border-top: solid 1px #D8D8D8;
}
@media only screen and (max-width: 780px) {
  .p-biz__qa ul li .faq_a {
    margin-top: 1em;
    padding-top: 1em;
  }
}
.p-biz__qa ul li .faq_a p {
  line-height: 1.875;
}
.p-biz__qa ul li.open .faq_q i {
  background-image: url("../img/icon_minus03.webp");
}
.p-biz__qa .btn {
  text-align: center;
}
.p-biz__contact {
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 1.25em;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-biz__contact {
    font-size: 2em;
  }
}

.p-contact__infomation {
  margin-bottom: 6.4em;
}
@media only screen and (max-width: 780px) {
  .p-contact__infomation {
    margin-bottom: 3.2rem;
  }
}
.p-contact__infomation .inner {
  padding: 2em;
  line-height: 2;
  background-color: #F4F6F8;
  border-left: solid 0.4rem #001489;
}
@media only screen and (max-width: 780px) {
  .p-contact__infomation .inner {
    padding: 1em;
  }
}
.p-contact__headding {
  margin-bottom: 6.4em;
}
@media only screen and (max-width: 780px) {
  .p-contact__headding {
    margin-bottom: 3.2rem;
  }
}
.p-contact__headding p {
  margin-bottom: 2.5em;
  text-align: center;
  line-height: 1.75;
}
.p-contact__headding .btn {
  text-align: center;
}
.p-contact__links {
  margin-bottom: 9.6rem;
  padding: 6.4rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-contact__links {
    margin-bottom: 4.8rem;
    padding: 3.2rem 0;
  }
}
.p-contact__links .inner {
  max-width: 1024px;
}
.p-contact__links h2 {
  margin-bottom: 1em;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-contact__links h2 {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-contact__links ul {
    display: flex;
    justify-content: space-between;
  }
}
.p-contact__links ul li {
  background-color: #ffffff;
  box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.05);
  border-radius: 0.8rem;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-contact__links ul li {
    width: 48.4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-contact__links ul li + li {
    margin-top: 2.5em;
  }
}
.p-contact__links ul li a {
  width: 100%;
  height: 100%;
  display: block;
}
.p-contact__links ul li a .img {
  width: 100%;
  height: auto;
  aspect-ratio: 496/279;
  overflow: hidden;
}
.p-contact__links ul li a .img > img,
.p-contact__links ul li a .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 901px) {
  .p-contact__links ul li a:hover p:after {
    background-position: 2em center, 0 center;
    transition: background-position 0.3s;
  }
}
.p-contact__links ul li a p {
  padding: 1em;
  font-weight: 700;
  text-align: center;
}
.p-contact__links ul li a p:after {
  width: 1.26em;
  height: 1.26em;
  margin-left: 0.5em;
  content: "";
  display: inline-block;
  vertical-align: -0.3em;
}
@media only screen and (min-width: 901px) {
  .p-contact__links ul li a p {
    font-size: 2.2rem;
  }
  .p-contact__links ul li a p:after {
    background-image: url("../img/icon_arrow04.webp"), url("../img/icon_arrow04.webp");
    background-size: 100% auto, 100% auto;
    background-position: 0 center, -1.26em center;
    background-repeat: no-repeat;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1099px) {
  .p-contact__links ul li a p {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-contact__links ul li a p:after {
    background-image: url("../img/icon_arrow04.webp");
    background-size: cover;
  }
}
@media only screen and (max-width: 780px) {
  .p-contact__links ul li a p {
    font-size: 1.4rem;
  }
}

.p-contact-corporate__form {
  padding: 8rem 0 8.8rem 0;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-contact-corporate__form {
    padding: 4rem 0 4.4rem 0;
  }
}
.p-contact-corporate__form p {
  font-weight: 500;
}
.p-contact-corporate__form .link {
  margin-top: 0.5em;
}
.p-contact-corporate__form .link .btn02 {
  font-size: 1.3rem;
}

.p-contact-personal__headding {
  margin-bottom: 0 !important;
  padding-bottom: 9.6rem;
  padding-top: 8rem;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__headding {
    padding-top: 4rem;
    padding-bottom: 4.8rem;
  }
}
.p-contact-personal__headding ul {
  display: flex;
  justify-content: center;
  gap: 2.6%;
}
.p-contact-personal__headding ul li {
  width: 48%;
  max-width: 49.6rem;
}
.p-contact-personal__headding ul li a {
  width: 100%;
  height: 100%;
  padding: 1.7em 0;
  font-size: 2.3rem;
  font-weight: 700;
  text-align: center;
  color: #001489;
  background-color: #ffffff;
  border: solid 0.2rem #001489;
  border-radius: 0.8rem;
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-contact-personal__headding ul li a:hover {
    color: #5A96E3;
    border-color: #5A96E3;
  }
  .p-contact-personal__headding ul li a:hover:after {
    background-image: url("../img/icon_arrow04.webp");
  }
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__headding ul li a {
    padding: 1em 0;
    font-size: 1.6rem;
  }
}
.p-contact-personal__headding ul li a:after {
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  content: "";
  background-image: url("../img/icon_arrow05.webp");
  background-size: cover;
  transform: rotate(90deg);
  display: inline-block;
  vertical-align: -0.15em;
}
.p-contact-personal__line {
  margin-bottom: 0 !important;
  padding-bottom: 9.6rem;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__line {
    padding-bottom: 4.8rem;
  }
}
.p-contact-personal__line p {
  font-weight: 500;
}
.p-contact-personal__line dl {
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #001489;
  border: solid 1px #001489;
}
@media only screen and (min-width: 781px) {
  .p-contact-personal__line dl {
    margin: 1.875em 0 4em 0;
    padding: 2em;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__line dl {
    margin: 1em 0 2.5em 0;
    padding: 1em;
  }
}
@media only screen and (min-width: 781px) {
  .p-contact-personal__line dl dt {
    font-size: 1.9rem;
    flex: 0 0 28rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__line dl dt {
    margin-bottom: 1em;
    text-align: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-contact-personal__line dl dd {
    flex-grow: 1;
  }
}
.p-contact-personal__line ol {
  margin-bottom: 3em;
}
@media only screen and (min-width: 781px) {
  .p-contact-personal__line ol {
    display: flex;
    justify-content: space-between;
  }
}
.p-contact-personal__line ol li {
  background-color: #ffffff;
  box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.05);
  border-radius: 0.8rem;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-contact-personal__line ol li {
    width: 32.4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__line ol li + li {
    margin-top: 2.5em;
  }
}
.p-contact-personal__line ol li .num {
  width: 4.8rem;
  height: 4.8rem;
  margin-top: -2.4rem;
  margin-left: -2.4rem;
  font-family: "Poppins", sans-serif;
  font-size: 2.3rem;
  font-weight: 600;
  line-height: 4.8rem;
  text-align: center;
  color: #ffffff;
  background-color: #001489;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
}
.p-contact-personal__line ol li .img {
  width: 100%;
  height: auto;
  aspect-ratio: 400/225;
  overflow: hidden;
}
.p-contact-personal__line ol li .img > img,
.p-contact-personal__line ol li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-contact-personal__line ol li .img {
  border-radius: 0.8rem 0.8rem 0 0;
}
.p-contact-personal__line ol li p {
  padding: 1em;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__line ol li p {
    font-size: 1.6rem;
  }
}
.p-contact-personal__line .btn {
  text-align: center;
}
.p-contact-personal__form {
  padding-bottom: 8.8rem;
  background-color: #F4F6F8;
}
@media only screen and (max-width: 780px) {
  .p-contact-personal__form {
    padding-bottom: 4.4rem;
  }
}
.p-contact-personal__form p {
  font-weight: 500;
}
.p-contact-personal__form .link {
  margin-top: 0.5em;
}
.p-contact-personal__form .link .btn02 {
  font-size: 1.3rem;
}
.p-contact-personal__form .link + p {
  margin-top: 1em;
}

.p-contact-corporate__form .form_area, .p-contact-personal__form .form_area {
  margin-top: 3em;
}
.p-contact-corporate__form .form_area .input_field_area, .p-contact-personal__form .form_area .input_field_area {
  margin-bottom: 3em;
  padding: 4.5em 2.5em;
  background-color: #ffffff;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .p-contact-corporate__form .form_area .input_field_area, .p-contact-personal__form .form_area .input_field_area {
    margin-bottom: 2em;
    padding: 2em 1.5em;
  }
}
@media only screen and (min-width: 781px) {
  .p-contact-corporate__form .form_area .input_field_area.table .input_field, .p-contact-personal__form .form_area .input_field_area.table .input_field {
    width: 100%;
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    display: table;
  }
  .p-contact-corporate__form .form_area .input_field_area.table .input_field > *, .p-contact-personal__form .form_area .input_field_area.table .input_field > * {
    display: table-cell;
  }
  .p-contact-corporate__form .form_area .input_field_area.table .input_field .input_label, .p-contact-personal__form .form_area .input_field_area.table .input_field .input_label {
    width: 30%;
    margin-bottom: 0;
    padding: 1em 0;
    vertical-align: middle;
  }
  .p-contact-corporate__form .form_area .input_field_area.table .input_field .input_area, .p-contact-personal__form .form_area .input_field_area.table .input_field .input_area {
    padding: 1em 0;
    vertical-align: middle;
  }
}
.p-contact-corporate__form .form_area .input_field_area.table .input_field.mt0, .p-contact-personal__form .form_area .input_field_area.table .input_field.mt0 {
  margin-top: -1em;
}
.p-contact-corporate__form .form_area .input_field_area .input_field, .p-contact-personal__form .form_area .input_field_area .input_field {
  margin-bottom: 2em;
}
.p-contact-corporate__form .form_area .input_field_area .input_field:last-child, .p-contact-personal__form .form_area .input_field_area .input_field:last-child {
  margin-bottom: 0;
}
.p-contact-corporate__form .form_area .input_field_area .input_field .input_label, .p-contact-personal__form .form_area .input_field_area .input_field .input_label {
  margin-bottom: 0.75em;
  font-weight: 700;
}
.p-contact-corporate__form .form_area .input_field_area .input_field .input_label span, .p-contact-personal__form .form_area .input_field_area .input_field .input_label span {
  margin-left: 1em;
  font-size: 0.8125em;
  font-weight: 400;
  color: #001489;
  display: inline-block;
  vertical-align: 0;
}
.p-contact-corporate__form .form_area .input_field_area .input_field .input_area.list_block .wpcf7-list-item, .p-contact-personal__form .form_area .input_field_area .input_field .input_area.list_block .wpcf7-list-item {
  display: block !important;
}
.p-contact-corporate__form .form_area .input_field_area .input_field .input_area.row, .p-contact-personal__form .form_area .input_field_area .input_field .input_area.row {
  display: flex;
  justify-content: space-between;
}
.p-contact-corporate__form .form_area .input_field_area .input_field .input_area.row .col, .p-contact-personal__form .form_area .input_field_area .input_field .input_area.row .col {
  width: 48%;
  display: flex;
  align-items: center;
}
.p-contact-corporate__form .form_area .input_field_area .input_field .input_area.row .col .label, .p-contact-personal__form .form_area .input_field_area .input_field .input_area.row .col .label {
  margin-right: 0.5em;
}
.p-contact-corporate__form .form_area .input_field_area .input_field .input_area .annotation, .p-contact-personal__form .form_area .input_field_area .input_field .input_area .annotation {
  margin-top: 1em;
  font-size: 0.875em;
}
.p-contact-corporate__form .form_area .privacy, .p-contact-personal__form .form_area .privacy {
  margin-bottom: 2.5em;
}
@media only screen and (max-width: 780px) {
  .p-contact-corporate__form .form_area .privacy, .p-contact-personal__form .form_area .privacy {
    margin-bottom: 1.5em;
  }
}
.p-contact-corporate__form .form_area .privacy p, .p-contact-personal__form .form_area .privacy p {
  margin-bottom: 1.5em;
  font-weight: 500;
  text-align: center;
}
.p-contact-corporate__form .form_area .privacy p a, .p-contact-personal__form .form_area .privacy p a {
  color: #001489;
}
.p-contact-corporate__form .form_area .privacy .check, .p-contact-personal__form .form_area .privacy .check {
  text-align: center;
}
.p-contact-corporate__form .form_area .submit, .p-contact-personal__form .form_area .submit {
  text-align: center;
}
.p-contact-corporate__form .form_area .submit .btn01, .p-contact-personal__form .form_area .submit .btn01 {
  position: relative;
}
.p-contact-corporate__form .form_area .submit .btn01 input[type=submit], .p-contact-personal__form .form_area .submit .btn01 input[type=submit] {
  width: 100%;
  height: 100%;
  opacity: 0 !important;
  position: absolute;
  top: 0;
  left: 0;
}

.p-privacy-policy__contents {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-privacy-policy__contents {
    margin-bottom: 8rem;
  }
}
.p-privacy-policy__contents .headding {
  margin-bottom: 3em;
  text-align: center;
}
.p-privacy-policy__contents .headding h2 {
  margin-bottom: 0.4em;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.p-privacy-policy__contents .headding p {
  letter-spacing: 0.05em;
}
.p-privacy-policy__contents .headding + p {
  margin-bottom: 3.25em;
  font-size: 0.9375em;
  letter-spacing: 0.05em;
}
.p-privacy-policy__contents dl {
  margin-bottom: 3em;
}
.p-privacy-policy__contents dl:last-of-type {
  margin-bottom: 0;
}
.p-privacy-policy__contents dl dt {
  margin-bottom: 1.26em;
  padding-bottom: 0.9em;
  font-size: 1.1875em;
  font-weight: 700;
  border-bottom: solid 1px #CCCCCC;
}
.p-privacy-policy__contents dl dd > *:last-child {
  margin-bottom: 0;
}
.p-privacy-policy__contents dl dd h3 {
  font-weight: 500;
  letter-spacing: 0.06em;
}
.p-privacy-policy__contents dl dd p {
  margin-bottom: 1.5em;
  letter-spacing: 0.06em;
}
.p-privacy-policy__contents dl dd ul {
  margin-bottom: 1.5em;
}
.p-privacy-policy__contents dl dd ul li {
  margin-bottom: 1em;
  padding-left: 1.5em;
  counter-increment: num;
  position: relative;
}
.p-privacy-policy__contents dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.p-privacy-policy__contents dl dd ul li:last-child {
  margin-bottom: 0;
}
.p-privacy-policy__contents dl dd ul li > *:last-child {
  margin-bottom: 0;
}
.p-privacy-policy__contents dl dd ol {
  margin-bottom: 1.5em;
  counter-reset: num;
}
.p-privacy-policy__contents dl dd ol li {
  margin-bottom: 1em;
  padding-left: 1.875em;
  counter-increment: num;
  position: relative;
}
.p-privacy-policy__contents dl dd ol li:before {
  content: "(" counter(num) ")";
  position: absolute;
  top: 0;
  left: 0;
}
.p-privacy-policy__contents dl dd ol li:last-child {
  margin-bottom: 0;
}
.p-privacy-policy__contents dl dd ol li > *:last-child {
  margin-bottom: 0;
}

.p-legal-notice__contents {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-legal-notice__contents {
    margin-bottom: 8rem;
  }
}
.p-legal-notice__contents dl {
  margin-bottom: 3em;
}
.p-legal-notice__contents dl:last-of-type {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dt {
  margin-bottom: 1.68em;
  padding-bottom: 0.9em;
  font-size: 1.1875em;
  font-weight: 700;
  border-bottom: solid 1px #CCCCCC;
}
.p-legal-notice__contents dl dd {
  margin-bottom: 2em;
}
.p-legal-notice__contents dl dd:last-of-type {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dd > *:last-child {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dd h3 {
  margin-bottom: 0.84em;
  padding-left: 0.42em;
  font-size: 1.1875em;
  font-weight: 700;
  line-height: 1.36;
  border-left: solid 0.25em #28334B;
}
.p-legal-notice__contents dl dd h4 {
  margin-bottom: 0.5em;
  padding-left: 1.625em;
  font-weight: 700;
  letter-spacing: 0.06em;
  position: relative;
}
.p-legal-notice__contents dl dd h4:before {
  width: 1em;
  content: "◼︎";
  position: absolute;
  top: 0;
  left: 0;
}
.p-legal-notice__contents dl dd p {
  margin-bottom: 1.5em;
  letter-spacing: 0.06em;
}
.p-legal-notice__contents dl dd ul {
  margin-bottom: 1.5em;
}
.p-legal-notice__contents dl dd ul.card {
  margin-top: -0.75em !important;
  margin-bottom: 1em;
}
.p-legal-notice__contents dl dd ul.card li {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dd ul li {
  margin-bottom: 0.5em;
  padding-left: 1.5em;
  counter-increment: num;
  position: relative;
}
.p-legal-notice__contents dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.p-legal-notice__contents dl dd ul li:last-child {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dd ul li > *:last-child {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dd ol {
  margin-bottom: 1.5em;
  counter-reset: num;
}
.p-legal-notice__contents dl dd ol li {
  margin-bottom: 0.5em;
  padding-left: 1.5em;
  counter-increment: num;
  position: relative;
}
.p-legal-notice__contents dl dd ol li:before {
  content: counter(num) ".";
  position: absolute;
  top: 0;
  left: 0;
}
.p-legal-notice__contents dl dd ol li:last-child {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dd ol li > *:last-child {
  margin-bottom: 0;
}
.p-legal-notice__contents dl dd table {
  width: 100%;
}
.p-legal-notice__contents dl dd table tbody tr th {
  width: 24%;
  padding: 1.5em 2em;
  font-weight: 500;
  background-color: #F8F8F8;
  border: solid 1px #D8D8D8;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .p-legal-notice__contents dl dd table tbody tr th {
    width: 40%;
    padding: 1em;
  }
}
.p-legal-notice__contents dl dd table tbody tr td {
  padding: 1.5em 2em;
  border: solid 1px #D8D8D8;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .p-legal-notice__contents dl dd table tbody tr td {
    padding: 1em;
  }
}
.p-legal-notice__contents dl dd table tbody tr td a:hover {
  text-decoration: underline;
}

/****************************************************
 * 6.装飾
 ****************************************************/
.underline {
  text-decoration: underline;
}

.bold {
  font-weight: 700;
}

.colorRed {
  color: #9C0000;
}

/****************************************************
 * 7.印刷用調整
 ****************************************************/
@media print {
  @page {
    /* A4縦サイズ */
    size: 210mm 297mm;
  }
  html {
    font-size: 10pt !important;
  }
  body {
    margin: 0 !important;
    padding: 0 !important;
  }
  * {
    -webkit-print-color-adjust: exact;
  }
  .container {
    padding: 0 !important;
  }
  #header {
    position: static !important;
  }
  img {
    display: block !important;
  }
}