@charset "UTF-8";
/*------------------------------------------------------------------------
// Base
  ├ reset
  └ base
------------------------------------------------------------------------*/
/*----------------------------------------
	reset
----------------------------------------*/
:root {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  border-style: solid;
  border-width: 0;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header, hgroup, main, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
}

header, footer, article, section, aside, hgroup, main, nav, menu, figure, figcaption {
  display: block;
}

span, small, strong, em, b, i {
  color: inherit;
}

html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

li {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  border: 0;
  vertical-align: top;
}

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

caption, th {
  text-align: left;
}

hr {
  margin: 1em 0;
  padding: 0;
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid var(--gray);
}

input, select {
  vertical-align: middle;
}

input, textarea {
  margin: 0;
  padding: 0;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

address {
  font-style: normal;
}

q::before,
q::after {
  display: none;
}

:root {
  --mainColor: #B59F03;
  --subColor: #79BB87;
  --textColor: #000000;
  --accentColor: #EF724C;
  --gray: #CCCCCC;
  --white: #FFFFFF;
  --black: #000000;
  --font_sans: "Zen Kaku Gothic New", sans-serif;
  --font_e: "rig-solid-bold-outline", sans-serif;
  --width: 980px;
  --width_lg: 1200px;
  --sp-gutter: 20px;
}

/* html,Body
----------------------------------------*/
html {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
  color: var(--textColor);
  font-size: 15px;
  font-size: 3.6231884058vw;
  font-weight: 500;
  font-family: var(--font_sans);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.58;
  word-wrap: break-word;
  word-break: normal;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body * {
  word-wrap: break-word;
  word-break: normal;
}
@media (min-width: 768px) {
  body {
    background: var(--mainColor);
    font-size: 15px;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}

/*Font
----------------------------------------*/
.sans {
  font-family: var(--font_sans);
}

[lang=en],
.font_e {
  font-family: var(--font_e);
}

/* Links
----------------------------------------*/
a {
  text-decoration: underline;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  opacity: 0.8;
}

.js-tel-link body:not(.mobile) a:hover {
  color: inherit;
  text-decoration: none;
}

/*------------------------------------------------------------------------
// Layout
------------------------------------------------------------------------*/
/* Wrapper
----------------------------------*/
@media (min-width: 768px) {
  .wrapper {
    display: grid;
    grid-template-columns: 1fr 400px 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: "bg1 main bg2";
    width: 100%;
    height: 100%;
    background: var(--mainColor);
  }
}

/* bg1
----------------------------------*/
.bg1 {
  display: none;
}
@media (min-width: 768px) {
  .bg1 {
    display: block;
    grid-area: bg1;
    background: url(../images/bg_top01.png) right center/auto 100%;
  }
}

/* bg2
----------------------------------*/
.bg2 {
  display: none;
}
@media (min-width: 768px) {
  .bg2 {
    display: block;
    grid-area: bg2;
    background: url(../images/bg_top02.jpg) left center/cover;
  }
}

/* fixBanner
----------------------------------*/
.fixBanner {
  display: block;
  position: fixed;
  left: 50%;
  bottom: 0;
  translate: -50%;
  width: 100%;
}
@media (min-width: 768px) {
  .fixBanner {
    max-width: 390px;
  }
}

/* Main
----------------------------------*/
.main {
  position: relative;
}
.main__inner {
  padding-bottom: 18.2291666667vw;
}
@media (min-width: 768px) {
  .main {
    grid-area: main;
    width: 400px;
    height: 100%;
    background: var(--white);
  }
  .main__inner {
    height: 100vh;
    padding: 0 5px 88px;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
  }
}

/* Media
----------------------------------*/
.media {
  padding: 20px;
}
.media iframe.youtube {
  width: 100%;
  height: auto;
  aspect-ratio: 674/380;
  margin: 0;
  padding: 0;
  vertical-align: top;
}

/* Footer
----------------------------------*/
.footer {
  display: grid;
  gap: 20px;
  padding: 20px 40px;
  background: #4d4d4d;
}

/* Voice
----------------------------------*/
.voice {
  position: relative;
  padding: 20px;
  background: #c82f19;
}
.voice::before {
  content: "";
  display: block;
  padding-top: 39.2%;
}
.voice::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 31.3333333333%;
  aspect-ratio: 235/305;
  background: url(../images/illust02.png) 0 0/contain no-repeat;
}

.voice__illust {
  position: absolute;
  left: 50%;
  top: 20px;
  z-index: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 49.3333333333%;
  height: auto;
}

.voiceList {
  margin-right: -20px;
}

.voiceList__item {
  width: 67.4666666667vw;
  margin-right: 20px;
  padding: 2.6666666667vw;
  background: var(--white);
  border-radius: 2.6666666667vw;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .voiceList__item {
    width: 320px;
    margin-right: 20px;
    padding: 20px;
    border-radius: 20px;
    font-size: 16px;
  }
}

.voiceList__footer {
  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;
  margin-top: 2.6666666667vw;
}
@media (min-width: 768px) {
  .voiceList__footer {
    margin-top: 20px;
  }
}

.rating {
  position: relative;
  display: inline-block;
}
.rating::before {
  content: "★★★★★";
  color: #cccccc;
}

.rating-star {
  position: absolute;
  left: 0;
  top: 0;
  color: #c82f19;
}

.voiceList {
  position: relative;
}
.voiceList .slick-arrow {
  overflow: hidden;
  position: absolute;
  width: 10.9333333333vw;
  padding-top: 10.9333333333vw;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 50%;
  line-height: 1;
  font-size: 0;
}
@media (min-width: 768px) {
  .voiceList .slick-arrow {
    width: 42px;
    padding-top: 42px;
  }
}
.voiceList .slick-prev {
  background-image: url(../images/btn_prev.png);
  top: -24vw;
  right: 13.3333333333vw;
}
@media (min-width: 768px) {
  .voiceList .slick-prev {
    top: -90px;
    right: 50px;
  }
}
.voiceList .slick-next {
  background-image: url(../images/btn_next.png);
  top: -16vw;
  right: 2.6666666667vw;
}
@media (min-width: 768px) {
  .voiceList .slick-next {
    top: -50px;
    right: 20px;
  }
}
.voiceList .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.6666666667vw;
  margin-top: 5.3333333333vw;
}
.voiceList .slick-dots > li button {
  overflow: hidden;
  width: 3.2vw;
  padding-top: 3.2vw;
  background: var(--white);
  border-radius: 50%;
  line-height: 1;
  font-size: 0;
}
.voiceList .slick-dots > li.slick-active button {
  background: #ffd700;
}
@media (min-width: 768px) {
  .voiceList .slick-dots {
    gap: 10px;
    margin-top: 20px;
  }
  .voiceList .slick-dots > li button {
    width: 12px;
    padding-top: 12px;
  }
}

/*------------------------------------------------------------------------
// Utilitiy
------------------------------------------------------------------------*/
/*----------------------------------------
	Utilities
----------------------------------------*/
/*margin*/
.u-mt0 {
  margin-top: 0 !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-ml0 {
  margin-left: 0 !important;
}

.u-mr0 {
  margin-right: 0 !important;
}

/*padding*/
.u-pt0 {
  padding-top: 0 !important;
}

.u-pb0 {
  padding-bottom: 0 !important;
}

.u-pl0 {
  padding-left: 0 !important;
}

.u-pr0 {
  padding-right: 0 !important;
}

/*width*/
.u-w10per {
  width: 10% !important;
}

.u-w20per {
  width: 20% !important;
}

.u-w30per {
  width: 30% !important;
}

.u-w40per {
  width: 40% !important;
}

.u-w50per {
  width: 50% !important;
}

.u-w60per {
  width: 60% !important;
}

.u-w70per {
  width: 70% !important;
}

.u-w80per {
  width: 80% !important;
}

.u-w90per {
  width: 90% !important;
}

.u-w100per {
  width: 100% !important;
}

/*responsive margin*/
.u-mt-xs {
  margin-top: 3.6231884058vw;
}

.u-mt-sm {
  margin-top: 7.2463768116vw;
}

.u-mt-md {
  margin-top: 10.8695652174vw;
}

.u-mt-lg {
  margin-top: 14.4927536232vw;
}

.u-mt-xl {
  margin-top: 19.3236714976vw;
}

@media (min-width: 768px) {
  .u-mt-xs {
    margin-top: 15px;
  }
  .u-mt-sm {
    margin-top: 30px;
  }
  .u-mt-md {
    margin-top: 45px;
  }
  .u-mt-lg {
    margin-top: 60px;
  }
  .u-mt-xl {
    margin-top: 80px;
  }
}
/*image*/
.u-img-full {
  max-width: none;
  width: 100%;
}

/*float*/
.u-fl {
  float: left;
}

.u-fr {
  float: right;
}

.u-clear {
  clear: both;
}

/*align-text*/
.u-ta__l {
  text-align: left !important;
}

.u-ta__c {
  text-align: center !important;
}

.u-ta__r {
  text-align: right !important;
}

/*align-block*/
.u-block__l {
  float: none;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.u-block__c {
  float: none;
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-block__r {
  float: none;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/*display*/
.u-sp {
  display: block;
}

.u-pc {
  display: none;
}

@media (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-pc {
    display: block;
  }
}
.u-hidden {
  visibility: hidden;
}

/* for screen reader
ーーーーーーーーーーーーーーーーーーーーーーーー*/
.u-visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  margin: -1px;
}

/* for keybord
ーーーーーーーーーーーーーーーーーーーーーーーー*/
.skipLink {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.skipLink:active, .skipLink:focus {
  position: static;
  opacity: 1;
  overflow: visible;
  height: auto;
  font-size: inherit;
}

/*----------------------------------------
	Animation
----------------------------------------*/
/*FadeInUp
------------------------------*/
.js-effect {
  opacity: 0;
}
.js-effect.aniOn {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.js-effect.a-fadeInLtoR.aniOn {
  -webkit-animation-name: fadeInLtoR;
          animation-name: fadeInLtoR;
}
.js-effect.a-fadeInRtoL.aniOn {
  -webkit-animation-name: fadeInRtoL;
          animation-name: fadeInRtoL;
}
.js-effect.a-showLtoR.aniOn {
  -webkit-animation-name: showLtoR;
          animation-name: showLtoR;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInRtoL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInRtoL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLtoR {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInLtoR {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes showLtoR {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}
@keyframes showLtoR {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}
/*------------------------------------------------------------------------
// Print Style
------------------------------------------------------------------------*/
@media print {
  .js-effect {
    opacity: 1 !important;
  }
}/*# sourceMappingURL=styles.css.map */