@charset "UTF-8";
/* --------------------------------------------------
  Resetting default margin and padding
-------------------------------------------------- */
/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article {
  display: block;
}

/* !Resetin
---------------------------------------------------------- */
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, input, a, textarea, select, span, nav, section, header, figure, button {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  outline: 0;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

fieldset, img {
  border: 0;
}

img {
  vertical-align: top;
  max-width: 100%;
}

address, caption, cite, code, dfn, em, th, var {
  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;
}

q:after, q:before {
  content: "";
}

abbr, acronym {
  border: 0;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

input, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

/* !Layout
---------------------------------------------------------- */
html.scroll-lock, html.scroll-lock body {
  overflow: hidden;
}

body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  color: #000;
}

@media (min-width: 769px) {
  body {
    min-width: 1050px;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 1.3020833333vw;
  }
}
/* link
------------------------------------------------ */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
  -webkit-transition: all 0.3s !important;
  /* Chrome&Safari */
  /* Firefox */
  transition: all 0.3s !important;
}

/* !fs
------------------------------------------------ */
.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/* !fc
------------------------------------------------ */
@font-face {
  font-family: "Frutiger";
  src: url("../fonts/FrutigerLTStd-Roman.ttf");
  font-weight: 400;
}
.ff-frut {
  font-family: "Frutiger";
  font-weight: 400;
}

/* wrapper
----------------------------------------------- */
/* header
----------------------------------------------- */
#header {
  padding: 20px 0 0;
  border-bottom: 1px solid #B9B9B9;
}

.headerlogo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 25px;
  width: 100%;
  height: 52px;
  background-color: #009A6E;
}

.headerlogo .logopic img {
  display: block;
  height: 36px;
}

.headermenu {
  margin: 20px 0 0;
  padding: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  font-weight: 700;
  color: #231815;
}

.headermenu .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 25px;
     -moz-column-gap: 25px;
          column-gap: 25px;
}

.headermenu .links .btnlink {
  width: 125px;
  line-height: 28px;
  color: #009A6E;
  text-align: center;
  border: 1px solid #00956E;
  border-radius: 3px;
}

@media screen and (min-width: 1025px) {
  .headerlogo a:hover,
  .headermenu a:hover {
    opacity: 0.6;
  }
  .headermenu .btnlink:hover {
    color: #fff;
    background-color: #00956E;
  }
}
@media (max-width: 768px) {
  #header {
    padding-top: 2rem;
    border-bottom: none;
  }
  .headerlogo {
    padding-right: 2.5rem;
    height: 5.2rem;
  }
  .headerlogo .logopic img {
    height: 3.6rem;
  }
  .headermenu {
    display: none;
  }
}
/* header add
----------------------------------------------- */
.l-header {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
  line-height: 2;
}

/* footer
----------------------------------------------- */
#footer {
  position: relative;
}

.l-footer {
  border-top: 1px solid #B9B9B9;
}

.footermenu {
  padding: 35px 0;
  border-top: 1px solid #B9B9B9;
}

.footermenu .menulist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 4.5em;
     -moz-column-gap: 4.5em;
          column-gap: 4.5em;
  font-size: 12px;
  font-weight: 400;
  line-height: 2;
}

.footercon {
  padding: 20px 0;
  border-top: 4px solid #009A6E;
}

.footercon .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footerlogo img {
  display: block;
  height: 16px;
}

.copyright {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.back-top {
  position: absolute;
  right: max(50% - 575px, 18px);
  top: -25px;
  display: block;
  width: 50px;
  height: 50px;
  font-size: 0;
  color: #fff;
  background-color: #fff;
  border: 1px solid #009A6E;
  border-radius: 50%;
}

.back-top::after {
  content: "";
  position: absolute;
  left: calc(50% - 7px);
  top: calc(50% - 7px);
  display: block;
  width: 13px;
  height: 13px;
  border-left: 1px solid #009A6E;
  border-top: 1px solid #009A6E;
  -webkit-transform: translateY(30%) rotate(45deg);
          transform: translateY(30%) rotate(45deg);
}

.back-top.fixed {
  position: fixed;
  bottom: 20px;
  top: auto;
}

@media screen and (min-width: 1025px) {
  .footermenu .menulist a:hover,
  .footerlogo:hover,
  .back-top:hover {
    opacity: 0.6;
  }
}
@media (max-width: 768px) {
  .footermenu {
    padding: 3.5rem 0;
    border-top: none;
  }
  .footermenu .menulist {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: min(3.4722222222vw, 20px);
    line-height: 3.5;
  }
  .footermenu .menulist li {
    width: 100%;
  }
  .footermenu .menulist li a {
    display: block;
  }
  .footercon {
    padding: 4rem 0;
    border-top-width: 2px;
  }
  .footercon .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 2rem;
  }
  .footerlogo img {
    height: 3rem;
  }
  .copyright {
    font-size: min(3.4722222222vw, 20px);
  }
  .back-top {
    position: fixed;
    right: 1.5rem;
    top: auto;
    bottom: 20px;
    width: 10rem;
    height: 10rem;
  }
  .back-top::after {
    left: calc(50% - 1.4rem);
    top: calc(50% - 1.4rem);
    width: 2.8rem;
    height: 2.8rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
/* aside
----------------------------------------------- */
.asidebox {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  padding: 120px 0 50px;
  width: 100%;
  height: 100%;
  background-color: #009A6E;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.asidebox.show {
  opacity: 1;
  visibility: visible;
}

.asidebox .btn-close {
  position: absolute;
  right: max(50% - 480px, 45px);
  top: 35px;
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  background: url(../img/common/ico_close.svg) center no-repeat;
  background-size: contain;
  cursor: pointer;
}

.asidebox-cover {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 98;
  width: 100%;
  height: 100%;
}

.asideinner {
  margin: 0 auto;
  width: min(80%, 760px);
}

.asidenav a {
  display: block;
  font-size: 24px;
  font-weight: 400;
  line-height: 2.36208333;
  color: #fff;
}

.asidelinks {
  margin: 20px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 30px;
}

.asidelinks .linkpic {
  width: 385px;
  height: 82px;
  text-align: center;
  background-color: #fff;
}

.asidelinks .linkpic img {
  height: 100%;
}

.asidelinks .linktxt {
  width: 385px;
  height: 82px;
  text-align: center;
  background-color: #fff;
}

@media screen and (min-width: 1025px) {
  .asidenav a:hover,
  .asidelinks a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 768px) {
  .asidebox {
    left: 0;
    width: 100%;
    padding: 12rem 0 5rem;
  }
  .asidebox .btn-close {
    right: 4.5rem;
    top: 3.5rem;
  }
  .asideinner {
    padding: 0 10rem;
    width: 100%;
  }
  .asidenav a {
    font-size: min(4.1666666667vw, 24px);
  }
  .asidelinks {
    margin: 3rem 0 0;
    row-gap: 3rem;
  }
  .asidelinks .linkpic {
    width: 38.5rem;
    height: 8.2rem;
  }
  .asidelinks .linktxt {
    width: 38.5rem;
    height: 8.2rem;
    font-size: 2.4rem;
    line-height: 8.2rem;
  }
}
/* public
----------------------------------------------- */
.inner {
  margin: 0 auto;
  padding: 0 25px;
  max-width: 1170px;
}

.inner.plus {
  padding: 0 50px;
}

.breadcrumb .wrap {
  padding: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.breadcrumb .wrap li {
  font-size: 12px;
  font-weight: 400;
  color: #231815;
  white-space: nowrap;
}

.breadcrumb .wrap li:last-child {
  text-overflow: ellipsis;
  overflow: hidden;
}

.breadcrumb .wrap li::after {
  content: "＞";
  margin: 0 0.3em;
}

.breadcrumb .wrap li:last-child::after {
  content: none;
}

@media screen and (min-width: 1025px) {
  .breadcrumb .wrap li a:hover {
    color: #009a63;
    text-decoration: underline;
  }
}
@media (max-width: 768px) {
  .inner {
    padding: 0 1.5rem;
    width: 100%;
  }
  .inner.plus {
    padding: 0 3.5rem;
  }
  .breadcrumb .inner {
    padding-right: 0;
  }
  .breadcrumb .wrap {
    padding: 4rem 50px 3rem 0;
  }
}
.res-header .wrap {
  padding: 0 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tit-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.res-header .tit img {
  display: block;
  height: 40px;
}

.tit-txt {
  color: #333;
  font-size: 12px;
  line-height: 1.3;
  margin: 10px 0 0 10px;
}

.res-header .cons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 25px;
     -moz-column-gap: 25px;
          column-gap: 25px;
}

.res-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  font-size: 14px;
  font-weight: 700;
  color: #231815;
}

.res-menu a {
  font-weight: 500;
}

.res-menu_btn {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  padding: 0;
  border: none;
  background-color: #009A6E;
  cursor: pointer;
}

.res-menu_btn span {
  position: absolute;
  left: 9px;
  width: 32px;
  height: 1px;
  background-color: #fff;
}

.res-menu_btn span:nth-child(1) {
  top: calc(50% - 12px);
}

.res-menu_btn span:nth-child(2) {
  top: 50%;
}

.res-menu_btn span:nth-child(3) {
  top: calc(50% + 12px);
}

@media screen and (min-width: 1025px) {
  .res-menu a:hover {
    color: #009a63;
    text-decoration: underline;
  }
}
@media (max-width: 768px) {
  .res-header {
    padding: 0 2.66667vw;
  }
  .res-header .inner {
    padding: 0;
  }
  .res-header .wrap {
    padding: 0;
  }
  .res-header .tit-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .res-header .tit img {
    height: 4.1rem;
  }
  .res-header .tit-txt {
    color: #333;
    font-size: 7px;
    line-height: 1.4;
    margin: 6px 0 0 6px;
  }
  .res-menu {
    display: none;
  }
  .res-menu_btn {
    position: relative;
    top: -6rem;
    width: 40px;
    height: 40px;
  }
  .res-menu_btn span {
    left: 7px;
    width: 26px;
  }
  .res-menu_btn span:nth-child(1) {
    top: calc(50% - 10px);
  }
  .res-menu_btn span:nth-child(3) {
    top: calc(50% + 10px);
  }
}
.res-part01 .wrap {
  padding: 45px 0 90px;
}

.res-part01 .link {
  margin: 30px 0 0;
  text-align: center;
}

.res-part01 .link img {
  width: 500px;
}

.res-part01 .mvcon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.res-part01 .mvcon .tit {
  position: absolute;
  top: 8.9%;
  left: 38.63%;
  width: 56%;
}

.res-part01 .mvcon .product {
  width: 38.63%;
}

.res-part01 .mvcon .description {
  padding-top: 16.5%;
  width: 56.5%;
}

@media screen and (min-width: 1025px) {
  .res-part01 .link a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 768px) {
  .res-part01 .inner {
    padding: 0;
  }
  .res-part01 .wrap {
    padding: 3rem 0 12.5rem;
  }
  .res-part01 .link {
    margin: 10rem 0 0;
  }
  .res-part01 .link img {
    width: 60rem;
  }
  .res-part01 .mvcon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .res-part01 .mvcon .tit {
    top: 14.0625vw;
    left: 47.91666667vw;
    width: 43.48958333vw;
  }
  .res-part01 .mvcon .product {
    width: 53.38541667%;
  }
  .res-part01 .mvcon .description {
    -ms-flex-item-align: center;
        align-self: center;
    padding-top: 0;
    width: 95.57291667%;
  }
}
.res-part02 {
  background: url(../img/top/img_bg01.jpg) center top no-repeat;
  background-size: 100% auto;
}

.res-part02 .wrap {
  max-width: 1000px;
  padding: 40px 25px 70px;
  margin: 0 auto;
}

.res-part02 .tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 26px;
  font-weight: 700;
  color: #fff;
}

.res-part02 .tit span {
  padding: 5px 20px;
  background-color: #33B5E7;
}

.res-part02 .con {
  margin: 40px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 40px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}

.res-part02 .con .ttl {
  width: 100%;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #1a1a1a;
  text-align: center;
}

.res-part02 .con .ttl span {
  color: #00A3E2;
}

.res-part02 .con .des {
  width: 650px;
  -ms-flex-item-align: center;
      align-self: center;
}

.res-part02 .con .des .txt {
  margin-bottom: 1em;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.89;
}

.res-part02 .con .des sup {
  font-size: 14px;
}

.res-part02 .con .des .tip {
  font-size: 18px;
  font-weight: 400;
}

.res-part02 .con .pic {
  width: 234px;
}

.res-part02 .link {
  margin: 90px 0 0;
  text-align: center;
}

.res-part02 .link img {
  width: 950px;
}

@media screen and (min-width: 1025px) {
  .res-part02 .link a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 768px) {
  .res-part02 .wrap {
    padding: 3rem 2rem 7rem;
  }
  .res-part02 .tit {
    font-size: min(4.1666666667vw, 24px);
  }
  .res-part02 .tit span {
    padding: 0.6rem 1.5rem;
  }
  .res-part02 .con {
    margin: 3.5rem 0 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    row-gap: 3rem;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
  }
  .res-part02 .con .ttl {
    -ms-flex-item-align: center;
        align-self: center;
    width: auto;
    font-size: 4.4rem;
    line-height: 1.41727273;
    text-align: left;
  }
  .res-part02 .con .des {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
  }
  .res-part02 .con .des .txt {
    font-size: min(3.8194444444vw, 22px);
    line-height: 1.54636364;
  }
  .res-part02 .con .des sup {
    font-size: 10px;
  }
  .res-part02 .con .des .tip {
    font-size: min(3.125vw, 18px);
  }
  .res-part02 .con .pic {
    width: 20rem;
  }
  .res-part02 .link {
    margin: 6rem 0 0;
  }
  .res-part02 .link img {
    width: 70rem;
  }
}
.res-th2 {
  font-size: 36px;
  font-weight: 700;
  color: #00A3E2;
  line-height: 1.25;
  text-align: center;
}

.res-part03 .wrap {
  padding: 40px 25px 70px;
}

.res-part03 .list {
  margin: 35px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}

.res-part03 .card {
  padding: 15px 30px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  background-color: #F7FCFE;
  border: 2px solid #33B5E7;
  border-radius: 12px;
}

.res-part03 .card.w-half {
  width: calc(50% - 10px);
}

.res-part03 .des {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.res-part03 .des .hd {
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
}

.res-part03 .des .hd .num {
  position: absolute;
  left: 0;
  top: -8px;
  font-size: 66px;
  line-height: 1;
  color: #73CCEF;
}

.res-part03 .des .hd .ttl {
  padding: 0 0.5em;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #00A3E2;
  border-bottom: 2px dotted #73CCEF;
}

.res-part03 .des .txt {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.575;
}

.res-part03 .pic01 {
  width: 410px;
  margin-right: 20px;
}

@media (max-width: 768px) {
  .res-th2 {
    font-size: 4.2rem;
  }
  .res-part03 .wrap {
    padding: 7rem 2rem 12rem;
  }
  .res-part03 .list {
    margin: 5rem 0 0;
    row-gap: 3rem;
  }
  .res-part03 .card {
    padding: 3rem 5rem;
    display: block;
    border-width: 1px;
    border-radius: 1.6rem;
  }
  .res-part03 .card.w-half {
    width: 100%;
  }
  .res-part03 .des {
    width: 100%;
  }
  .res-part03 .des .hd {
    padding-left: 5rem;
    margin-bottom: 2.5rem;
  }
  .res-part03 .des .hd .num {
    top: -1.38rem;
    font-size: 7.8rem;
  }
  .res-part03 .des .hd .ttl {
    padding: 0;
    font-size: 3.6rem;
    line-height: 1.4;
    border-bottom-width: 1px;
  }
  .res-part03 .des .txt {
    font-size: min(3.8194444444vw, 22px);
    line-height: 1.54636364;
  }
  .res-part03 .pic01 {
    margin: 4rem auto 0;
    width: 47.8rem;
  }
}
.res-part04 {
  background-color: #F2FAFE;
}

.res-part04 .wrap {
  padding: 40px 25px 50px;
}

.res-part04 .exp {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}

.res-part04 .flow {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
}

.res-part04 .flow .item {
  width: 302px;
}

.res-part04 .flow .item .pic {
  border: 1px solid #231815;
}

.res-part04 .flow .item .txt {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4175;
}

.res-part04 .flow .item.arrow {
  position: relative;
  margin-right: 50px;
}

.res-part04 .flow .item.arrow::after {
  content: "";
  position: absolute;
  right: -76px;
  top: 78px;
  display: block;
  width: 57px;
  height: 57px;
  background: url(../img/top/ico_arrow.svg) center no-repeat;
  background-size: contain;
}

@media (max-width: 768px) {
  .res-part04 .wrap {
    padding: 40px 2rem 50px;
  }
  .res-part04 .exp {
    margin-top: 2rem;
    font-size: min(3.125vw, 18px);
  }
  .res-part04 .flow {
    margin-top: 3.5rem;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
  .res-part04 .flow .item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .res-part04 .flow .item .txt {
    margin-top: 1rem;
    font-size: min(3.125vw, 18px);
    line-height: 1.26;
  }
  .res-part04 .flow .item.arrow {
    margin-right: 4rem;
  }
  .res-part04 .flow .item.arrow::after {
    right: -5.3rem;
    top: 5.3rem;
    width: 3.6rem;
    height: 3.6rem;
  }
}
.res-part05 .wrap {
  padding: 70px 25px 90px;
}

.res-part05 .list {
  margin: 45px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 35px;
     -moz-column-gap: 35px;
          column-gap: 35px;
}

.res-part05 .list .item {
  width: 513px;
}

.res-part05 .list iframe {
  display: block;
  width: 100%;
  height: 289px;
  border: 1px solid #1a1a1a;
}

.res-part05 .list .txt {
  margin-top: 12px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .res-part05 .wrap {
    padding: 12rem 2rem 9rem;
  }
  .res-part05 .list {
    margin: 5rem 0 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 8rem;
  }
  .res-part05 .list .item {
    width: 100%;
  }
  .res-part05 .list iframe {
    height: 39.5rem;
  }
  .res-part05 .list .txt {
    margin-top: 2rem;
    font-size: min(3.8194444444vw, 22px);
    line-height: 1.5;
  }
}
.res-part06 {
  background-color: #F2FAFE;
}

.res-part06 .wrap {
  padding: 50px 25px 60px;
}

.res-part06 .res-th2 {
  font-size: 24px;
}

.res-part06 .res-th2 .lit {
  font-size: 0.6em;
}

.res-part06 .con {
  margin: 30px 0 0;
}

.res-part06 .data {
  table-layout: fixed;
  width: 100%;
  max-width: 1070px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.24;
  background-color: #fff;
}

.res-part06 .data th,
.res-part06 .data td {
  padding: 0.5rem 0;
  height: 30px;
  text-align: center;
  border: 2px solid #33B5E7;
  vertical-align: middle;
}

.res-part06 .data th {
  height: 64px;
  font-weight: 700;
  color: #fff;
  background-color: #33B5E7;
  border-right-color: #fff;
}

.res-part06 .data th:last-child {
  border-right-color: #33B5E7;
}

.res-part06 .caption {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 400;
  text-align: right;
}

.res-part06 .txt {
  margin: 10px 0 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.62;
}

@media (max-width: 768px) {
  .res-part06 .wrap {
    padding: 5rem 2rem;
  }
  .res-part06 .res-th2 {
    font-size: min(4.1666666667vw, 24px);
  }
  .res-part06 .con {
    margin: 3rem 0 0;
  }
  .res-part06 .data {
    table-layout: auto;
    font-size: min(2.7777777778vw, 16px);
  }
  .res-part06 .data th,
  .res-part06 .data td {
    height: auto;
    border-width: 1px;
  }
  .res-part06 .data th:nth-child(1),
  .res-part06 .data td:nth-child(1),
  .res-part06 .data th:nth-child(4),
  .res-part06 .data td:nth-child(4) {
    padding: 0 4px;
  }
  .res-part06 .data th {
    padding: 0.8rem 0;
    height: 6.4rem;
  }
  .res-part06 .caption {
    margin-top: 2rem;
    font-size: min(2.4305555556vw, 14px);
  }
  .res-part06 .txt {
    margin: 2rem 0 0;
    font-size: min(3.125vw, 18px);
    font-weight: 400;
    line-height: 1.73222222;
  }
}
.res-part07 .wrap {
  padding: 40px 25px 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}

.res-part07 .wrap .linkpic {
  width: 400px;
  height: 100px;
  text-align: center;
  border: 1px solid #B9B9B9;
}

.res-part07 .wrap .linkpic img {
  height: 100%;
}

.res-part07 .wrap .linktxt {
  width: 400px;
  height: 100px;
  text-align: center;
}

.res-part07 .wrap.plus {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 65px;
}

.res-part07 .wrap .linkline {
  width: 100%;
  text-align: center;
}

.res-part07 .wrap .linkline img {
  width: 500px;
}

@media screen and (min-width: 1025px) {
  .res-part07 .wrap a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 768px) {
  .res-part07 .wrap {
    padding: 9.5rem 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 5rem;
  }
  .res-part07 .wrap .linkpic {
    width: 40rem;
    height: 10rem;
  }
  .res-part07 .wrap .linktxt {
    width: 40rem;
    height: 10rem;
  }
  .res-part07 .wrap.plus {
    padding-top: 9rem;
    row-gap: 5rem;
  }
  .res-part07 .wrap .linkline {
    margin-bottom: 4.5rem;
  }
  .res-part07 .wrap .linkline img {
    width: 60rem;
  }
}
/* barrier
----------------------------------------------- */
.res-barrier .th2 {
  margin: 100px 0 60px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #00A3E2;
  text-align: center;
}

.res-barrier .th3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

.res-barrier .th3 span {
  min-width: 300px;
  padding: 5px 20px;
  background-color: #33B5E7;
}

.res-barrier .th4 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #505050;
  text-align: center;
}

.res-barrier .th4 .str {
  color: #00A3E2;
}

.res-barrier .bar-bg {
  background: url(../img/top/img_bg01.jpg) center top no-repeat;
  background-size: 100% auto;
}

.barrier-sec01 .wrap {
  padding: 40px 0 140px;
}

.barrier-sec01 .th4 {
  margin: 45px 0 50px;
}

.barrier-sec01 .bar-func .pic {
  margin: 0 auto;
  width: 712px;
}

.barrier-sec01 .bar-func .tip {
  margin-left: 50%;
  margin-top: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.215;
}

.barrier-sec01 .bar-card {
  margin: 70px 0 0;
  padding: 30px;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.54636364;
  color: #000;
  text-align: center;
  background-color: #F7FCFE;
  border: 2px solid #33B5E7;
  border-radius: 10px;
}

.barrier-sec01 .bar-card .str {
  font-weight: 700;
  color: #00A3E2;
}

.barrier-sec01 .bar-diff {
  margin: 50px 0 0;
}

.barrier-sec01 .bar-diff .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}

.barrier-sec01 .bar-diff .flexbox .item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.barrier-sec01 .bar-diff .flexbox .caption {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.88888889;
  color: #00A3E2;
}

.barrier-sec01 .bar-diff .flexbox .pic img {
  width: 100%;
}

.barrier-sec01 .bar-diff .txt {
  margin: 50px 0 0;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.80409091;
  text-align: center;
}

.barrier-sec01 .bar-diff .txt .str {
  font-weight: 700;
  color: #00A3E2;
}

.barrier-sec02 .wrap {
  padding: 40px 0 110px;
}

.barrier-sec02 .th4 {
  margin: 45px 0 40px;
}

.barrier-sec02 .ttp {
  font-size: 22px;
  font-weight: 400;
  line-height: 1.54636364;
  text-align: center;
}

.barrier-sec02 .bar-cause {
  margin: 45px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 30px;
}

.barrier-sec02 .bar-cause .card {
  padding: 15px 30px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  background-color: #F7FCFE;
  border: 2px solid #33B5E7;
  border-radius: 12px;
}

.barrier-sec02 .bar-cause .des {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.barrier-sec02 .bar-cause .des .hd {
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
}

.barrier-sec02 .bar-cause .des .hd .num {
  position: absolute;
  left: 0;
  top: -8px;
  font-size: 66px;
  line-height: 1;
  color: #73CCEF;
}

.barrier-sec02 .bar-cause .des .hd .ttl {
  padding: 0 0.5em;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #00A3E2;
  border-bottom: 2px dotted #73CCEF;
}

.barrier-sec02 .bar-cause .des .txt {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.575;
}

.barrier-sec02 .bar-cause .figures {
  padding: 10px 0;
  width: 46.27539503%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}

.barrier-sec02 .bar-cause .figures .item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.barrier-sec02 .bar-cause .figures .caption {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.41714286;
}

.barrier-sec03 .wrap {
  padding: 40px 0;
}

.barrier-sec03 .th4 {
  margin: 45px 0 30px;
}

.barrier-sec03 .bar-prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.barrier-sec03 .bar-prev .pic {
  margin: 0 40px;
  width: 159px;
}

.barrier-sec03 .bar-prev .list {
  margin-top: 15px;
}

.barrier-sec03 .bar-prev .list li {
  font-size: 22px;
  font-weight: 400;
  line-height: 2.31909091;
}

.barrier-sec03 .bar-prev .list li::before {
  content: "●";
  color: #00A3E2;
  margin-right: 0.18em;
}

.barrier-sec03 .bar-impor {
  margin: 140px 0 0;
}

.barrier-sec03 .bar-impor .th5 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #00A3E2;
  text-align: center;
}

.barrier-sec03 .bar-impor iframe {
  margin: 30px auto 0;
  display: block;
  width: 432px;
  height: 244px;
  border: 1px solid #cacaca;
}

.barrier-sec03 .bar-link01 {
  margin: 90px 0 0;
  text-align: center;
}

.barrier-sec03 .bar-link01 img {
  width: 700px;
}

.barrier-sec03 .bar-link02 {
  margin: 80px 0 0;
  text-align: center;
}

.barrier-sec03 .bar-link02 img {
  width: 500px;
}

@media screen and (min-width: 1025px) {
  .barrier-sec03 .bar-link01 a:hover,
  .barrier-sec03 .bar-link02 a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 768px) {
  .res-barrier .th2 {
    margin: 7rem 0 8rem;
    font-size: 4.2rem;
    line-height: 1.4847619;
  }
  .res-barrier .th3 {
    font-size: min(4.1666666667vw, 24px);
  }
  .res-barrier .th3 span {
    min-width: 26.5rem;
    padding: 0.6rem 1.5rem;
  }
  .res-barrier .th4 {
    font-size: 3.8rem;
    line-height: 1.49184211;
  }
  .barrier-sec01 .wrap {
    padding: 3rem 0 12rem;
  }
  .barrier-sec01 .th4 {
    margin: 5rem 0;
  }
  .barrier-sec01 .bar-func .pic {
    width: 100%;
  }
  .barrier-sec01 .bar-func .tip {
    margin-left: auto;
    margin-top: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    font-size: min(2.4305555556vw, 14px);
  }
  .barrier-sec01 .bar-card {
    margin: 5rem 0 0;
    padding: 2.8rem;
    font-size: min(4.1666666667vw, 24px);
    line-height: 1.65375;
    border-width: 1px;
    border-radius: 1rem;
  }
  .barrier-sec01 .bar-diff {
    margin: 7.5rem 0 0;
  }
  .barrier-sec01 .bar-diff .flexbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 4.5rem;
  }
  .barrier-sec01 .bar-diff .flexbox .item {
    width: 46rem;
  }
  .barrier-sec01 .bar-diff .flexbox .caption {
    font-size: min(3.125vw, 18px);
    line-height: 1.44444444;
  }
  .barrier-sec01 .bar-diff .txt {
    margin: 7.5rem 0 0;
    font-size: min(4.1666666667vw, 24px);
    line-height: 1.65375;
  }
  .barrier-sec02 .wrap {
    padding: 3rem 0 10rem;
  }
  .barrier-sec02 .th4 {
    margin: 5rem 0 4rem;
  }
  .barrier-sec02 .ttp {
    font-size: min(3.8194444444vw, 22px);
  }
  .barrier-sec02 .bar-cause {
    margin: 6.5rem 0 0;
    row-gap: 3rem;
  }
  .barrier-sec02 .bar-cause .card {
    padding: 3rem 5rem 3.5rem;
    display: block;
    border-width: 1px;
    border-radius: 3.2rem;
  }
  .barrier-sec02 .bar-cause .des {
    width: 100%;
  }
  .barrier-sec02 .bar-cause .des .hd {
    padding-left: 5rem;
    margin-bottom: 2.5rem;
  }
  .barrier-sec02 .bar-cause .des .hd .num {
    top: -1.38rem;
    font-size: 7.8rem;
  }
  .barrier-sec02 .bar-cause .des .hd .ttl {
    padding: 0;
    font-size: 3.6rem;
    line-height: 1.4;
    border-bottom-width: 1px;
  }
  .barrier-sec02 .bar-cause .des .txt {
    font-size: min(3.8194444444vw, 22px);
    line-height: 1.50318182;
  }
  .barrier-sec02 .bar-cause .figures {
    padding: 0;
    margin: 3rem 0;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2rem;
  }
  .barrier-sec02 .bar-cause .figures .item {
    width: 100%;
  }
  .barrier-sec02 .bar-cause .figures .pic {
    text-align: center;
  }
  .barrier-sec02 .bar-cause .figures .pic img {
    width: 40rem;
  }
  .barrier-sec02 .bar-cause .figures .caption {
    margin: 2rem auto 0;
    width: 55.2rem;
    font-size: min(3.125vw, 18px);
    line-height: 1.47;
  }
  .barrier-sec03 .wrap {
    padding: 3rem 0 0;
  }
  .barrier-sec03 .th4 {
    margin: 5rem 0 4.5rem;
  }
  .barrier-sec03 .bar-prev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .barrier-sec03 .bar-prev .pic {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 4rem 0 0;
    width: 22.5rem;
  }
  .barrier-sec03 .bar-prev .list {
    margin-top: 0;
  }
  .barrier-sec03 .bar-prev .list li {
    position: relative;
    padding-left: 1.5em;
    font-size: min(4.8611111111vw, 28px);
    line-height: 1.82214286;
  }
  .barrier-sec03 .bar-prev .list li::before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0.2em;
    margin: 0;
    font-size: 1.2em;
    line-height: 1;
    color: #00A3E2;
  }
  .barrier-sec03 .bar-impor {
    margin: 19rem 0 0;
  }
  .barrier-sec03 .bar-impor .th5 {
    font-size: 4.2rem;
    line-height: 1.30952381;
  }
  .barrier-sec03 .bar-impor iframe {
    margin: 5rem auto 0;
    width: 70rem;
    height: 39.5rem;
  }
  .barrier-sec03 .bar-link01 {
    margin: 14rem 0 0;
  }
  .barrier-sec03 .bar-link01 img {
    width: 70rem;
  }
  .barrier-sec03 .bar-link02 {
    margin: 9rem 0 0;
  }
  .barrier-sec03 .bar-link02 img {
    width: 60rem;
  }
}
/* faq
----------------------------------------------- */
.res-faq .th2 {
  margin: 100px 0 40px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #00A3E2;
  text-align: center;
}

.res-faq .inner {
  padding: 0 50px;
}

.faq-list {
  margin: 0 0 50px;
}

.faq-item {
  margin-bottom: 25px;
}

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

.faq-que {
  padding: 15px 35px;
  width: 100%;
  background-color: #E5F6FC;
}

.faq-que .con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}

.faq-que .con .ico-q {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
  color: #00A3E2;
}

.faq-que .con .tth {
  -ms-flex-item-align: center;
      align-self: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.025em;
}

.faq-ans {
  padding: 24px 35px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #D0D0D0;
  border-top: 0;
}

.faq-ans .con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}

.faq-ans .con .ico-a {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
  color: #00A3E2;
}

.faq-ans .con .txt {
  -ms-flex-item-align: center;
      align-self: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.625;
}

@media (max-width: 768px) {
  .res-faq .th2 {
    margin: 7rem 0;
    font-size: 4.2rem;
    line-height: 1.4847619;
  }
  .res-faq .inner {
    padding: 0 1.5rem;
  }
  .faq-list {
    margin: 0 0 4.5rem;
  }
  .faq-item {
    margin-bottom: 3rem;
  }
  .faq-que {
    padding: 2.5rem 3.5rem 1.5rem;
  }
  .faq-que .con {
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
  }
  .faq-que .con .ico-q {
    font-size: 3.4rem;
  }
  .faq-que .con .tth {
    font-size: min(3.8194444444vw, 22px);
  }
  .faq-ans {
    padding: 2.8rem 3.5rem;
  }
  .faq-ans .con {
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
  }
  .faq-ans .con .ico-a {
    font-size: 3.4rem;
  }
  .faq-ans .con .txt {
    font-size: min(3.4722222222vw, 20px);
    line-height: 1.701;
  }
}
/* shop
----------------------------------------------- */
.res-shop .th2 {
  margin: 100px 0 20px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #00A3E2;
  text-align: center;
}

.res-shop .sub {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.025em;
}

.res-shop .th3 {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  color: #00A3E2;
  text-align: center;
  letter-spacing: 0.025em;
}

.shop-online {
  margin: 30px 0 0;
  padding: 40px 0 50px;
  background-color: #F2FAFE;
}

.shop-online .flexbox {
  margin: 30px auto 0;
  max-width: 790px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 60px;
}

.shop-online .link {
  display: block;
  width: 385px;
  text-align: center;
}

.shop-online .link .txt {
  margin-top: 15px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3125;
}

.shop-online .link .tel {
  margin-top: 15px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3125;
}

.shop-online .link .tel .number {
  font-size: 1.5em;
  line-height: 1;
}

.shop-online .link .tts {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.31785714;
}

.shop-info {
  margin: 65px 0 100px;
  padding: 40px 0 45px;
  text-align: center;
  background-color: #F2FAFE;
}

.shop-info .txt {
  margin: 15px 0 30px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.025em;
}

.shop-info .tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}

.shop-info .tel img {
  width: 64px;
}

.shop-info .tel .number {
  font-size: 45px;
  font-weight: 400;
  line-height: 1.2;
}

.shop-info .tip {
  margin: 15px 0 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}

@media screen and (min-width: 1025px) {
  .shop-online a.link:hover,
  .shop-online div.link a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 768px) {
  .res-shop .th2 {
    margin: 7rem 0 3rem;
    font-size: 4.2rem;
    line-height: 1.4847619;
  }
  .res-shop .sub {
    font-size: min(3.125vw, 18px);
  }
  .res-shop .th3 {
    font-size: min(4.1666666667vw, 24px);
  }
  .shop-online {
    margin: 5rem 0 0;
    padding: 4rem 0 8rem;
  }
  .shop-online .flexbox {
    margin-top: 3rem;
    max-width: none;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 10rem;
  }
  .shop-online .link {
    width: 100%;
  }
  .shop-online .link img {
    width: 50rem;
  }
  .shop-online .link .txt {
    margin-top: 2rem;
    font-size: min(4.1666666667vw, 24px);
  }
  .shop-online .link .tel {
    margin-top: 2rem;
    font-size: min(4.1666666667vw, 24px);
  }
  .shop-online .link .tts {
    margin-top: 2rem;
    font-size: min(3.125vw, 18px);
  }
  .shop-info {
    margin: 5rem 0 3rem;
    padding: 4rem 0;
  }
  .shop-info .txt {
    margin: 1.5rem 0 2rem;
    font-size: min(3.125vw, 18px);
  }
  .shop-info .tel {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
  }
  .shop-info .tel img {
    width: 8.4rem;
  }
  .shop-info .tel .number {
    font-size: 5.8rem;
  }
  .shop-info .tip {
    margin: 2rem 0 0;
    font-size: min(3.125vw, 18px);
  }
}
/* sample
----------------------------------------------- */
.res-sample {
  /* checkbox装飾 */
  /* radio */
}
.res-sample .th2 {
  margin: 100px 0 20px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #00A3E2;
  text-align: center;
}
@media (max-width: 768px) {
  .res-sample .th2 {
    margin: 7rem 0 3rem;
    font-size: 4.2rem;
    line-height: 1.4847619;
  }
}
.res-sample .inner {
  width: auto;
  max-width: 950px;
}
@media (max-width: 768px) {
  .res-sample .wrap {
    font-size: 10px;
    padding: 2rem;
  }
}
.res-sample .sub {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.025em;
  margin-bottom: 55px;
}
@media (max-width: 768px) {
  .res-sample .sub {
    margin-bottom: 8rem;
    font-size: min(3.125vw, 18px);
  }
}
.res-sample .sub p {
  margin-bottom: 1em;
}
.res-sample .sub a {
  color: #00a3e2;
}
.res-sample .sub.--error {
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .res-sample .sub.--error {
    margin-bottom: 3.5rem;
  }
}
.res-sample .linkbtn {
  display: block;
  max-width: 550px;
  margin: 0 auto 58px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .res-sample .linkbtn {
    width: 85.7%;
    margin-bottom: 6rem;
  }
}
.res-sample .linkbtn:hover {
  opacity: 0.6;
}
.res-sample .linkbtn img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.res-sample .required {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
  color: #fff;
  background-color: #00A3E2;
  padding: 2px 5px;
}
@media (max-width: 768px) {
  .res-sample .required {
    margin-left: 1.2rem;
    font-size: min(2.7777777778vw, 16px);
  }
}
.res-sample .addition {
  font-weight: 400;
}
.res-sample .formTable {
  border: 1px solid #cacaca;
  font-size: 16px;
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .res-sample .formTable {
    font-size: min(3.125vw, 18px);
    border-right-width: 0;
    border-bottom: 0;
    border-left-width: 0;
    margin-bottom: 4rem;
  }
}
@media (max-width: 768px) {
  .res-sample .formTable table, .res-sample .formTable tbody, .res-sample .formTable tr, .res-sample .formTable th, .res-sample .formTable td {
    display: block;
  }
}
.res-sample .formTable table {
  width: 100%;
}
.res-sample .formTable tr {
  border-top: 1px solid #cacaca;
}
.res-sample .formTable tr:first-child {
  border-top-width: 0px;
}
.res-sample .formTable th {
  font-weight: 700;
  background-color: #f4f4f4;
  padding: 25px 15px 25px 25px;
  vertical-align: top;
}
@media (max-width: 768px) {
  .res-sample .formTable th {
    padding: 2rem 3rem;
  }
}
.res-sample .formTable td {
  background-color: #fff;
  padding: 25px 30px 25px 40px;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .res-sample .formTable td {
    padding: 2rem 3rem 5rem;
  }
}
.res-sample .th-head {
  position: relative;
}
@media (min-width: 769px) {
  .res-sample .th-head.--required {
    padding-left: 58px;
  }
}
@media (max-width: 768px) {
  .res-sample .th-head.--note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.res-sample .th-ttl {
  font-weight: 700;
}
@media (min-width: 769px) {
  .res-sample .th-icon {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.res-sample .th-note {
  line-height: 1.4;
  display: block;
}
@media (max-width: 768px) {
  .res-sample .th-note {
    font-size: min(2.7777777778vw, 16px);
  }
}
.res-sample .th-note.--long {
  font-size: 15px;
  margin-top: 5px;
}
@media (max-width: 768px) {
  .res-sample .th-note.--long {
    margin-top: 0.8rem;
    font-size: min(2.7777777778vw, 16px);
  }
}
@media (min-width: 769px) {
  .res-sample .note-br {
    display: none;
  }
}
.res-sample input[type=text],
.res-sample input[type=tel],
.res-sample textarea {
  font-size: 16px;
  border: 1px solid #cacaca;
  padding: 10px;
}
@media (max-width: 768px) {
  .res-sample input[type=text],
  .res-sample input[type=tel],
  .res-sample textarea {
    padding: 1rem;
  }
}
.res-sample input[type=text],
.res-sample textarea {
  width: 100%;
}
.res-sample input[type=text]::-webkit-input-placeholder, .res-sample input[type=tel]::-webkit-input-placeholder, .res-sample textarea::-webkit-input-placeholder {
  color: #dbdbdb;
}
.res-sample input[type=text]::-moz-placeholder, .res-sample input[type=tel]::-moz-placeholder, .res-sample textarea::-moz-placeholder {
  color: #dbdbdb;
}
.res-sample input[type=text]:-ms-input-placeholder, .res-sample input[type=tel]:-ms-input-placeholder, .res-sample textarea:-ms-input-placeholder {
  color: #dbdbdb;
}
.res-sample input[type=text]::-ms-input-placeholder, .res-sample input[type=tel]::-ms-input-placeholder, .res-sample textarea::-ms-input-placeholder {
  color: #dbdbdb;
}
.res-sample input[type=text]::placeholder,
.res-sample input[type=tel]::placeholder,
.res-sample textarea::placeholder {
  color: #dbdbdb;
}
.res-sample textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 170px;
}
@media (max-width: 768px) {
  .res-sample textarea {
    height: 17rem;
  }
}
.res-sample select {
  font-size: 16px;
  padding: 10px;
  border: 1px solid #ccc;
  min-width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0;
}
@media (max-width: 768px) {
  .res-sample select {
    padding: 1rem;
    min-width: 60%;
  }
}
.res-sample .custom-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 40px;
  background-color: #fff;
  background-image: url('data:image/svg+xml;utf8,<svg fill="%2300a3e2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 16L6 8h12z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 28px 28px;
  cursor: pointer;
}
.res-sample select::-ms-expand {
  display: none;
}
.res-sample label {
  position: relative;
  padding-left: 23px;
}
.res-sample .wrap-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.res-sample input.name {
  width: 47%;
}
.res-sample .zip {
  width: 40%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.res-sample .source {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 30px;
}
@media (max-width: 768px) {
  .res-sample .source {
    gap: 1.8rem 2.8rem;
  }
}
.res-sample .contact-select {
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .res-sample .contact-select {
    margin-bottom: 1.6rem;
  }
}
.res-sample .btn-search-address {
  line-height: 1.2;
  color: #fff;
  background-color: #00a3e2;
  padding: 11px 10px 10px;
  vertical-align: top;
  margin-left: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .res-sample .btn-search-address {
    padding: calc(5px + 0.45rem) 1.5rem;
  }
}
.res-sample .btn-search-address:hover {
  opacity: 0.6;
}
.res-sample .errorTxt {
  color: #ff0000;
}
.res-sample input[type=checkbox] {
  cursor: pointer;
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}
.res-sample input[type=checkbox]::before {
  background: #fff;
  border: 1px solid #231815;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  width: 16px;
}
.res-sample input[type=checkbox]::after {
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  content: "";
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 6px;
}
.res-sample input[type=checkbox]:checked::after {
  opacity: 1;
}
.res-sample input[type=radio] {
  cursor: pointer;
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}
.res-sample input[type=radio]::before {
  background: #fff;
  border: 1px solid #231815;
  border-radius: 50%;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  width: 16px;
}
.res-sample input[type=radio]::after {
  background: #000;
  border-radius: 50%;
  content: "";
  display: block;
  height: 10px;
  left: 8px;
  margin-top: -6px;
  opacity: 0;
  position: absolute;
  top: 50%;
  width: 10px;
}
.res-sample input[type=radio]:checked::after {
  opacity: 1;
}
.res-sample .formTerm {
  font-size: 16px;
  margin-bottom: 45px;
}
@media (max-width: 768px) {
  .res-sample .formTerm {
    font-size: min(3.125vw, 18px);
    margin-bottom: 8rem;
  }
}
.res-sample .formTerm-lead p {
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .res-sample .formTerm-lead p {
    margin-bottom: 1.8rem;
  }
}
.res-sample .formTerm-lead a {
  color: #00a3e2;
}
.res-sample .formTerm-inner {
  height: 220px;
  padding: 30px 45px;
  background-color: #f2fafe;
  overflow-y: scroll;
}
@media (max-width: 768px) {
  .res-sample .formTerm-inner {
    height: 28.2rem;
    padding: 2.5rem 4rem;
  }
}
.res-sample .formTerm pre {
  white-space: normal;
}
.res-sample .formBtnArea {
  text-align: center;
  margin-bottom: 100px;
  position: relative;
}
@media (max-width: 768px) {
  .res-sample .formBtnArea {
    margin-bottom: 10.5rem;
  }
}
.res-sample .accept-err {
  font-size: 16px;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .res-sample .accept-err {
    font-size: min(2.7777777778vw, 16px);
    margin-bottom: 1.8rem;
  }
}
.res-sample .accept-txt {
  font-size: 18px;
  margin-bottom: 25px;
}
@media (max-width: 768px) {
  .res-sample .accept-txt {
    font-size: min(3.125vw, 18px);
    margin-bottom: 3rem;
  }
}
.res-sample .btn-confirm {
  display: inline-block;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
  background-color: #00a3e2;
  border-radius: 11px;
  padding: 20px 48px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .res-sample .btn-confirm {
    padding: 2.2rem 5rem;
    font-size: min(3.8194444444vw, 22px);
  }
}
.res-sample .btn-confirm:hover {
  opacity: 0.6;
}
.res-sample .btn-confirm.js-disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: default;
}
.res-sample .btn-modify {
  margin-top: 3.5rem;
}
@media (min-width: 769px) {
  .res-sample .btn-modify {
    margin-top: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.res-sample .btn-modify-link {
  display: inline-block;
  font-size: 16px;
  line-height: 1.2;
  color: #000;
  background-color: #fff;
  border: 1px solid #cacaca;
  border-radius: 8px;
  padding: 20px 30px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .res-sample .btn-modify-link {
    padding: 2.2rem 4.5rem;
    font-size: min(3.125vw, 18px);
  }
}
.res-sample .btn-modify-link:hover {
  opacity: 0.6;
}
.res-sample .formAttention {
  background-color: #f2fafe;
  margin-bottom: 45px;
  padding: 40px 0;
}
@media (max-width: 768px) {
  .res-sample .formAttention {
    margin-bottom: 1rem;
    padding: 4rem 2rem;
  }
}
.res-sample .formAttention-seal {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .res-sample .formAttention-seal {
    padding-left: calc(100px + 1.8rem);
    margin-bottom: 2.5rem;
  }
}
.res-sample .formAttention-ttl {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  color: #00A3E2;
  text-align: center;
  letter-spacing: 0.025em;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .res-sample .formAttention-ttl {
    font-size: min(4.1666666667vw, 24px);
    line-height: 1.4847619;
    text-align: left;
    margin-bottom: 1.8rem;
  }
}
.res-sample .formAttention-figure {
  width: 100px;
  float: left;
  margin-right: 15px;
}
@media (max-width: 768px) {
  .res-sample .formAttention-figure {
    position: absolute;
    top: 0;
    left: 0;
    float: none;
    margin-right: 0;
  }
}
.res-sample .formAttention-txt {
  font-size: 16px;
}
@media (max-width: 768px) {
  .res-sample .formAttention-txt {
    font-size: min(3.125vw, 18px);
  }
}
.res-sample .formAttention-list {
  font-size: 14px;
}
.res-sample .formAttention-list li {
  padding-left: 12px;
  position: relative;
}
@media (max-width: 768px) {
  .res-sample .formAttention-list li {
    padding-left: 1rem;
  }
}
.res-sample .formAttention-list li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 20px;
  background-color: #00a3e2;
  position: absolute;
  top: 6px;
  left: 0;
}
@media (max-width: 768px) {
  .res-sample .formAttention-list li::before {
    width: 1rem;
    height: 1rem;
  }
}
@media (max-width: 768px) {
  .res-sample .formAttention-list {
    font-size: min(2.7777777778vw, 16px);
  }
}
.res-sample .complete-ttl {
  margin: 100px 0 20px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .res-sample .complete-ttl {
    margin: 7rem 0 3rem;
    font-size: 3.6rem;
    line-height: 1.4847619;
    margin-bottom: 4rem;
  }
}
@media (min-width: 769px) {
  .res-sample .complete-txtarea {
    margin-bottom: 100px;
  }
}
.res-sample .complete-txtarea p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 1.5em;
}
@media (max-width: 768px) {
  .res-sample .complete-txtarea p {
    font-size: min(3.125vw, 18px);
  }
}