@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.0.0/dist/css/yakuhanjp.css');

:root {
  --font-family: YakuHanJP, "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font-family-en: "Roboto", sans-serif;
  --main-color: #333;
  --base-color: #242859;
  --accent-color: #eb6129;
  --point-color: #f8b92d;
  --section-bg: #f6f6f6;
  --section-bg-gold: #cba557;
  --section-bg-org: #eb6c29;
  --lettering-base: .03em;
  --lettering-en: .08em;
  --section-padding: 130px;
  --section-padding-sp: 10.416667vw;
  --section-end-padding: 110px;
  --section-end-padding-sp: 7.8125vw;
  --whole-padding: 40px;
  --whole-padding-sp: 5.208333vw;
}
body {
  position: relative;
  line-height: 1.85;
  letter-spacing: var(--lettering-base);
  font-size: 1.6rem;
  font-family: var(--font-family);
  font-weight: 500;
  color: var(--main-color);
}
.wrap {
  display: flex;
}
.fits {
  justify-content: space-between;
}
.vertical {
  align-items: center;
}
.return {
  flex-flow: row wrap;
}
.column {
  flex-direction: column;
}
.midst {
  justify-content: center;
}
.gridbox {
  display: grid;
}
section, .section {
  padding: var(--section-padding) 0;
}
.flat-section {
  padding-bottom: 0;
}
.end-section {
  padding-bottom: var(--section-end-padding);
}
.container {
  margin: 0 auto;
  padding: 0 13.69vw;
  width: 100%;
  max-width: 2000px;
}
.container {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 1300px;
}
@media screen and (max-width: 1679px) {
  .container {
    max-width: 1120px;
  }
}
.turn {
  background: var(--section-bg);
}
.product, .movie {
  color: #fff;
}
.product {
  background: var(--base-color);
}
.movie {
  background: var(--section-bg-gold);
}
.contact {
  background: var(--section-bg-org);
}
.en {
  letter-spacing: var(--lettering-en);
  font-family: var(--font-family-en);
}
.heading, .head-subtxt {
  text-align: center;
}
.heading {
  line-height: 1;
  font-weight: 500;
  font-size: 5.9rem;
  font-size: clamp(1.6rem, 0.086rem + 6.46vw, 5.9rem);
  color: var(--base-color);
}
.head-subtxt {
  margin: .55em 0 50px;
  line-height: 1.4;
  font-size: 2.3rem;
  font-size: clamp(1.2rem, 0.813rem + 1.65vw, 2.3rem);
  font-weight: 700;
  color: var(--accent-color);
}
.head-color .heading, .head-color .head-subtxt {
  color: #fff;
}
.newline {
  display: inline-block;
}
html, body {
  height: 100%;
}
header {
  position: absolute;
  top: 0;
  left: 0;
  padding: 55px;
  width: 100%;
}
.topvisual-wrap {
  width: 100%;
  height: 100%;
  background: url(assets/images/top_bg_new.jpg?v4) no-repeat center 68.5%;
  background-size: cover;
}
.topvisual {
  grid-template-columns: 35.391% 28% 35.391%;
  grid-template-rows: auto auto auto;
  grid-template-areas:
    "athlete1 catch athlete2"
    "athlete1 product athlete2"
    "athlete1 logo athlete2";
  place-content: center;
  place-items: center;
  overflow: hidden;
  padding-top: 20px;
  width: 100%;
  height: 100%;
}
.topvisual__txt {
  grid-area: catch;
  align-self: end;
  position: relative;
  z-index: 2;
  width: 50vh;
  width: 29vw;
}
.topvisual__txt img {
  width: 100%;
  filter: drop-shadow(3px 3px 3px rgba(216,78,9,.8));
}
.topvisual__product {
  position: relative;
  grid-area: product;
  justify-self: center;
  padding: 1.190476vh 0 3.928571vh;
  width: 35.47619vh;
  z-index: 3;
}
.topvisual__title {
  grid-area: logo;
  align-self: start;
  width: 59.642857vh;
}
.topvisual__title img {
  width: 100%;
}
.topvisual__athlete.-outsubo {
  grid-area: athlete1;
  position: relative;
  right: -2vw;
  z-index: 1;
}
.topvisual__athlete.-ouchi {
  grid-area: athlete2;
  position: relative;
  left: -2vw;
  z-index: 1;
}
.topvisual__athlete.-ouchi img {
  position: relative;
  left: -7.4vw;
  left: -8.8vw;
}
.topvisual__athlete img {
  width: 100%;
  height: auto;
}
.player-name {
  margin-top: 1em;
  padding: 0 1em;
  text-align: center;
  line-height: 1.55;
  font-size: 1.1rem;
  font-size: clamp(0.8rem, 0.714rem + 0.37vw, 1.3rem);
  font-weight: 400;
  color: #fff;
}
.marker {
  display: inline-block;
}
.marker::after {
  content: '';
  display: block;
  margin-top: .5em;
  width: 100%;
  height: 2px;
  background: var(--accent-color);
}
.movie-wrap {
  margin: 0 auto;
  max-width: 980px;   
}
.movie-box {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-box iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.product__section__head {
  margin-top: 5px;
  text-align: center;
}
.product__section__head .marker::after {
  margin-top: 2em;
  height: 4px;
}
.product__article__list {
  border-top: solid 1px #fff;
}
.product__article__list__item {
  margin-top: 105px;
}
.product__img {
  width: 38.462%;
  text-align: center;
}
.product__details {
  width: 53.078%;
  text-align: left;
}
.rinnai-logo {
  margin-top: 40px;
}
.product__name {
  margin: .6em 0 .85em;
  text-align: left;
  line-height: 1.4;
  font-size: 2.7rem;
  font-size: clamp(1.5rem, 1.003rem + 2.12vw, 2.7rem);
  font-weight: 700;
  color: var(--point-color);
}
.price-details {
  margin-bottom: 2em;
  font-size: 1.6rem;
  font-size: clamp(1.2rem, 1.034rem + 0.71vw, 1.6rem);
}
.annotation {
  margin-left: .5em;
  font-size: 1.2rem;
}
.product__sale {
  display: inline-block;
  margin-bottom: .8em;
  padding: .4em .85em;
  border: solid 1px var(--point-color);
  border-radius: 5px;
  text-align: center;
  line-height: 1.4;
  font-size: 1.8rem;
  font-size: clamp(1.4rem, 1.234rem + 0.71vw, 1.8rem);
  font-weight: 700;
  color: var(--point-color);
}
.sale__price {
  line-height: 1;
  font-size: 2.0rem;
  font-size: clamp(1.5rem, 1.293rem + 0.88vw, 2rem);
  font-weight: 700;
  color: var(--point-color);
}
.price {
  font-size: 2.5rem;
  font-size: clamp(1.7rem, 1.369rem + 1.41vw, 2.5rem);
}
.price-emphasis {
  font-size: 5.2rem;
  font-size: clamp(2.7rem, 1.664rem + 4.42vw, 5.2rem);
}
.noteslist {
  margin-top: 2.2em;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
  font-size: 1.3rem;
  font-size: clamp(1.2rem, 1.159rem + 0.18vw, 1.3rem);
}
.noteslist__item + .noteslist__item {
  margin-top: .25em;
}
.product__link a {
  position: relative;
  display: block;
  margin-top: 75px;
  padding: 1.79em 1em;
  border: solid 1px #fff;
  line-height: 1;
  text-align: center;
  font-size: 2.3rem;
  font-size: clamp(1.5rem, 1.169rem + 1.41vw, 2.3rem);
  color: #fff;
}
.product__link a::after {
  content: '';
  position: absolute;
  right: 50px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 10px;
  height: 16px;
  background: url(assets/images/arrow.svg) no-repeat;
}
.product__event {
  margin-top: 112px;
  background: var(--accent-color);
}
.product__event__img {
  position: relative;
  width: 61%;
  height: 100%;
  aspect-ratio: 249 / 191;
  background: url(assets/images/event_img.jpg) no-repeat right top;
  background-size: cover;
}
.product__event__img .caption {
  position: absolute;
  left: 16px;
  bottom: 15px;
  line-height: 1.5;
  font-size: 1.2rem;
  font-size: clamp(0.9rem, 0.776rem + 0.53vw, 1.2rem);
  color: var(--main-color);
  text-shadow: 1px 1px 2px rgba(255, 255, 255, .9);
}
.product__event__body {
  width: 39%;                    
  background-image: linear-gradient(-45deg, var(--point-color) 8.5%, transparent 0),
                    linear-gradient(135deg, var(--point-color) 8.5%, transparent 0);
}
.product__event__title {
  margin: .4em 0 1em;
  padding: .65em .25em;
  width: 315px;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
  text-align: center;
  line-height: 1.4;
  font-size: 2.7rem;
  font-size: clamp(1.6rem, 1.144rem + 1.94vw, 2.7rem);
  font-weight: 700;
}
.product__event__txt {
  width: 315px;
	line-height: 1.9;
  font-size: 1.8rem;
  font-weight: 500;
}
.product__event__link {
	margin-top: 24px;
	width: 315px;
}
.product__event__link a {
  position: relative;
  display: block;
  padding: 1.05em;
  width: 100%;
  border-radius: 9999px;
  background: #f8ab01;
  line-height: 1;
  text-align: center;
  font-size: 2.1rem;
  font-size: clamp(1.5rem, 1.251rem + 1.06vw, 2.1rem);
  font-weight: 700;
  color: #fff;
}
.movie__article {
  position: relative;
}
.movie__article__illust {
  position: absolute;
  top: -183px;
  right: 30px;
  z-index: 1;
}
.feature__article__list {
  border-top: solid 1px var(--base-color);
}
.feature__article__list__item {
  padding: 65px 0;
  border-bottom: solid 1px var(--base-color);
}
.feature__article__list__item__details {
  width: 450px;
}
.feature__item__details {
  padding-left: 75px;
  width: 46.875%;
}
.drying {
  background: url(assets/images/icon_clock.svg) no-repeat;
  background-size: 50px auto;
}
.finish {
  background: url(assets/images/icon_tenpi.svg) no-repeat;
  background-size: 50px auto;
}
.disinfection {
  background: url(assets/images/icon_kafun.svg) no-repeat;
  background-size: 50px auto;  
}
.feature__item {
  width: 100%;
}
.feature__item__img {
  width: 48.660714%;
}
.feature__item__details dd + dt {
  margin-top: 28px;
}
.feature-subhead {
  margin-bottom: .85em;
  line-height: 1.45;
  font-size: 2.4rem;
  font-size: clamp(1.6rem, 1.269rem + 1.41vw, 2.4rem);
  font-weight: 700;
  color: var(--base-color);
}
.feature-subhead .marker {
  width: 100%;
}
.noteslist.item-notes {
  margin-top: 1em;
}
.noteslist.item-notes + .item-notes {
  margin-top: .25em;
}
.cleanliness img {
  border-radius: 12px;
}
.decrease {
  margin-top: 50px;
}
.decrease p + p {
  margin-left: 30px;
}
.type {
  padding: 88px 0 85px;
  border-bottom: solid 1px var(--base-color);
}
.type__head__txt {
  text-align: center;
  font-weight: 700;
}
.type-heading span {
  position: relative;
  display: inline-block;
  padding: 0 1.75em;
  font-size: 3.3rem;
  font-size: clamp(1.4rem, 0.613rem + 3.36vw, 3.3rem);
  font-weight: 700;
  color: var(--base-color);
}
.type-heading span::before, .type-heading span::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 50px;
  height: 3px;
  background: var(--accent-color);
  transform: rotate(66deg);
}
.type-heading span::before {
  left: 0;
}
.type-heading span::after {
  right: 0;
  transform: rotate(-66deg);
}
.type-list {
  margin: 25px 0 -40px;
  font-size: 1.8rem;
  font-size: clamp(1.45rem, 1.305rem + 0.62vw, 1.8rem);
}
.deluxe, .standard {
  font-weight: 700;
}
.deluxe {
  color: var(--accent-color);  
}
.standard {
  color: #61879a;  
}
.type__body__title {
  margin: 75px 0 62px;
  padding: .5em;
  background: var(--section-bg-gold);
  text-align: center;
  font-size: 2.4rem;
  font-size: clamp(1.5rem, 1.127rem + 1.59vw, 2.4rem);
  font-weight: 700;
  color: #fff;
}
.type__body__list {
  gap: 66px 5.892857%;
  line-height: 1.75;
}
.type__item__title {
  margin-bottom: 18px;
  padding: 14px;
  border-radius: 5px;
  background: var(--base-color);  
  text-align: center;
  line-height: 1.5;
  font-size: 1.6rem;
  font-size: clamp(1.3rem, 1.176rem + 0.53vw, 1.6rem);
  font-weight: 700;
  color: #fff;
}
.course-name {
  display: block;
  font-size: 2.0rem;
  font-size: clamp(1.5rem, 1.293rem + 0.88vw, 2rem);
}
.typelist {
  margin-top: .9em;
  text-align: left;
  line-height: 1.6;
  font-size: 1.5rem;
}
.type__body__list__item {
  gap: 6.83112%;
  grid-template-columns: 1fr .814814814fr;
  align-self: start;
  width: 47.053571%;
}
.type__body__list__item figcaption {
  text-align: right;
}
.type__body__list__item__img {
  text-align: center;
}
.type__item, .type__body__list__item__img  {
  height: 100%;
}
.type__body__list__item__img img {
  border: solid 1px #c9caca;
}
.flow__summary__item {
  position: relative;
  margin-top: 12px;
  padding: 42px 40px 35px;
  border: solid 2px var(--base-color);
  border-radius: 12px;
  background: #fff;
  line-height: 1.7;
}
.step-number {
  position: absolute;
  top: -23px;
  left: -23px;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: var(--base-color);
  letter-spacing: 0;
  line-height: 1;
  font-size: 3.5rem;
  color: #fff;  
}
.flow__summary li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: -40px;
  margin: auto;
  width: 24px;
  height: 24px;
  border-top: 3px solid var(--accent-color);
  border-right: 3px solid var(--accent-color);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.flow__summary {
  grid-template-columns: repeat(3, 1fr);
  column-gap: 65px;
}
.flow__summary__item__icon {
  margin-bottom: 22px;
  height: 92px;
}
.flow__summary__item__txt {
  font-size: 1.7rem;
  font-size: clamp(1.4rem, 1.276rem + 0.53vw, 1.7rem);
}
.flow__notes {
  padding-top: 80px;
  width: 100%;
  letter-spacing: .02em;
  font-size: 1.4rem;
  font-size: clamp(1.2rem, 1.117rem + 0.35vw, 1.4rem);
}
.flow__notes__item {
  display: inline;
}
.contact {
  text-align: center;
}
.contact__section__subhead {
  font-size: 1.9rem;
  font-size: clamp(1.4rem, 1.193rem + 0.88vw, 1.9rem);
  color: #fff;
}
.business-hours {
  display: inline-block;
  margin: 0 .7em 0 .6em;
  padding: 0 .6em;
  border: solid 1px #fff;
  font-size: 1.6rem;
  font-size: clamp(1.3rem, 1.176rem + 0.53vw, 1.6rem);
}
.contact__list {
  grid-template-columns: repeat(auto-fit, minmax(380px,1fr)) ;
  gap: 22px 30px;
  margin-top: 42px;
}
.contact__list__item {
  padding: 35px;
  border-radius: 12px;
  background: var(--base-color);
  line-height: 1.65;
  font-weight: 700;
  color: #fff;
}
.contact__list__item__branch {
  margin-bottom: .1em;
  font-size: 2.6rem;
  font-size: clamp(1.7rem, 1.327rem + 1.59vw, 2.6rem);
}
.branch-name {
  display: block;
  font-size: 1.8rem;
  font-size: clamp(1.4rem, 1.317rem + 0.35vw, 1.6rem);
  font-weight: 500;
}
.contact__list__item__tel, .contact__list__item__tel a {
  letter-spacing: .05em;
  font-size: 3.4rem;
  font-size: clamp(2rem, 1.42rem + 2.48vw, 3.4rem);
  color: var(--section-bg-org);
}
.contact__list__item__tel::before {
  content: '';
  display: inline-block;
  margin-right: 10px;
  width: 20px;
  height: 24px;
  background: url(assets/images/icon_tel.svg) no-repeat;
  background-size: contain;
}
footer {
  padding: 35px 0 20px;
  text-align: center;
}
.copyright {
  margin-top: 1.4em;
  letter-spacing: .05em;
  font-size: clamp(1rem, 0.917rem + 0.35vw, 1.2rem);
  font-weight: 400;  
}
.for-sp  {
  display: none;
}
.collabo {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #fff;
  z-index: 999;
}
.collabo__logo {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 9999;
  width: 440px;
}
@media screen and (max-width: 767px) {
  .collabo__logo {
    width: 60vw;
  }
}
@media screen and (min-width: 1366px) {
  .linkbtn a {
    transition: opacity .5s ease;
  }
  .linkbtn a:hover {
    opacity: .6;
  }
  .product__event__link a:hover {
	  opacity: .8;
  }
  .product__link a, .product__link a::after {
    transition: all .5s ease;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
  }
  .product__link a:hover {
    opacity: 1;    
  }
  .product__link a:hover {
    border-color: var(--point-color);
    color: var(--point-color);
  }
  .product__link a:hover::after {
    background: url(assets/images/arrow_hover.svg) no-repeat;
  }
  h1 a:hover img {
    opacity: 1;
  }
}
    
/*-------------------------------------------------
 * mediaqueriess
-------------------------------------------------*/
@media screen and (max-width: 1279px) {
  section, .section {
    padding: var(--section-padding-sp) 0;
  }
  .end-section {
    padding-bottom: var(--section-end-padding-sp);
  }
  .container {
    padding: 0 var(--whole-padding-sp);
  }
  .head-subtxt {
    margin: .35em 0 5.208333vw;
  }
  header {
    padding: 40px;    
  }
  .topvisual-wrap {
    padding: 10.6vw 0 8vw;
    height: auto;
    background-position-x: 36%;
  }
  .topvisual {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "catch product"
      "logo logo"
      "athlete1 athlete2";
    gap: 0;
    width: 100%;
    height: 100%;
  }
  .topvisual__txt {
    justify-self: end;
    padding-bottom: 5vw;
    width: 78.5%;
  }
  .topvisual__txt img {
    filter: none;
  }
  .topvisual__product {
    justify-self: start;
    padding: 0 2.6vw;
    width: 78%;
  }
  .topvisual__athlete {
    position: static!important;
    width: 57vw;
  }
  .topvisual__athlete.-outsubo img {
    position: relative;
    left: -2.1vw;
  }
  .topvisual__athlete.-ouchi img {
    left: -11.8vw;
  }
  .topvisual__title {
    padding: 5.6vw 0 3.90625vw;
    width: 58%;
  }
  .product__section__head {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
  }
  .product__article__list__item {
    margin-top: 9.114583vw;
  }
  .product__img {
    width: 48.545%;
  }
  .product__details {
    width: 44.475%;
  }  
  .product__link a {
    margin-top: 6.510417vw;
    padding-top: 1.52em;
    padding-bottom: 1.52em;
  }
  .product__event {
    margin-top: var(--section-padding-sp);
  }
  .product__event__img {
	  width: 53%;
	  height: auto;
    aspect-ratio: auto;
  }
  .product__event__body {
    padding: 65px 0 55px;
    width: 47%;
  }
  .product__event__txt {
    line-height: 1.85;    
  }
  .product__event__txt br {
    display: none;
  }
  @media screen and (max-width: 1023px) {
    .product__summary {
      flex-direction: column;
    }
    .product__img {
      width: 68%;
    }
    .product__details {
      margin-top: 7.55vw;
      width: 100%;
    }
    .product__event {
      flex-direction: column;
    }
    .product__event__img, .product__event__body, .product__event__title, .product__event__txt, .product__event__link {
      width: 100%;
    }
    .product__event__body {
	    padding: 8.3vw 15.625vw 8.4635vw;
    }
    .product__event__img {
      height: 56vw;
      background-position-y: center;
    }
    .product__event__txt {
      font-size: 1.7rem;      
    }
  }
  .movie__article__illust {
    right: -10px;
  }
  .feature__item {
    flex-direction: column;
  }
  .feature__item__details {
    width: 100%;
  }
  .feature__item__img {
    margin-top: 5.859375vw;
    max-width: 540px;
    width: 100%;
  }
  .type__body__list__item {
    grid-template-columns: 1fr 240px;
    width: 100%;
  }
  @media screen and (max-width: 1079px) {
    .flow__summary {
      grid-template-columns: 1fr;
      row-gap: 40px;
    }
    .flow__summary li:not(:last-child)::after {
      top: auto;
      bottom: -33px;
      right: calc(50% - 12px);
      transform: rotate(135deg);
    }
    .step-number {
      top: -18px;
      left: -18px;
      width: 54px;
      height: 54px;
      font-size: 3.2rem;
    }
  }
  .for-sp  {
    display: inherit;
  }
}
@media screen and (max-width: 743px) {
  body {
    font-size: 1.5rem;
  }
  @media screen and (max-width: 599px) {
    header {
      padding: 9.33333vw;
    }
    h1, .f-logo {
      margin: 0 auto;
      width: 140px;
    }
    .topvisual-wrap {
      padding: 27vw 0 11vw;
    }
    .topvisual__title {
      width: 62%;
    }
  }
  .product__section__head .marker::after {
    margin-top: 1.1em;
    height: 2px;
  }
  .product__article__list__item {
    margin-top: 13.238024vw;
  }
  .product__img {
    width: 100%;
  }
  .product__details {
    margin-top: 9.6vw;
  }
  .product__manufacturer {
    width: 86px;
  }
  .product__name {
    margin-top: .4em;
  }
  .noteslist {
    margin-top: 1.8em;
  }
  .product__link a {
    padding: 1.1em;
  }
  .product__link a::after {
    right: 20px;
    width: 8px;
    height: 13px;
  }  
  .product__event__img {
    height: 69vw;
  }
  .product__event__img .caption {
    bottom: 13px;
  }
  .product__event__body {
    padding: 10.3vw 11.5vw;
  }
  .product__event__txt {
    font-size: 1.5rem;
  }
  .product__event__link {
	  margin-top: 18px;
  }
  .product__event__link a {
	  padding: .85em;
  }
  .movie__article__illust {
    width: 19.2vw;
    top: -18.666667vw;
    right: -2.666667vw;
  }
  .feature__article__list__item {
    padding: 8vw 0;
  }
  .feature__item__details {
    padding: 10.869565vw 0 0 0;
    background-size: 35px auto;
  }
  .feature__item__details dd + dt {
    margin-top: 5.31401vw;
  }
  .decrease {
    margin-top: 6.038647vw;
  }
  .type {
    padding: 9.178744vw 0 8.454106vw;
  }
  .type-heading span {
    padding: 0 2.1em;
  }
  .type-heading span::before, .type-heading span::after {
    width: 40px;
    height: 2px;
  }
  .type-list {
    margin: 3.623188vw 0 -4.347826vw;
  }
  .type__body__title {
    margin: 9.333333vw 0 5.333333vw;
    padding: .2em;
  }
  .type__body__list {
    gap: 6.038647vw;
  }
  .type__body__list__item {
    gap: 16px;
    grid-template-columns: 1.4fr 1fr;
  }
  .typelist {
    margin-top: .5em;
    font-size: 1.4rem;
  }
  .type__item__title {
    margin-bottom: 14px;
    padding: 10px;
    font-size: 1.4rem;
  }
  .flow__summary {
    row-gap: 32px;
  }
  .flow__summary__item {
    margin-top: 5px;
    padding: 6.038647vw 6.038647vw 4.830918vw;
  }
  .step-number {
    top: -16px;
    left: -10px;
    width: 42px;
    height: 42px;
    font-size: 2.2rem;
  }
  .flow__summary__item__icon {
    margin-bottom: 12px;
    height: 88px;
  }
  .flow__summary li:first-child img {
    width: auto;
    height: 70px;
  }
  .flow__summary li:nth-child(2) img {
    width: auto;
    height: 88px;
  }
  .flow__summary li:not(:last-child)::after {
    bottom: -26px;
  }
  .flow__notes {
    padding-top: 8.454106vw;
  }
  .business-hours {
    margin-top: .2em;
    margin-bottom: .2em;
  }
  .contact__list {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 22px;
  }
  .contact__list__item {
    padding: 18px;
  }
  .contact__list__item__tel::before {
    margin-right: 5px;
    width: 14px;
    height: 17px;
  }
  footer {
    padding: 20px 0 13px;
  }
  .copyright {
    margin-top: .9em;
  }
}