@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  /* border: 1px solid #ff1414; */
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
  }

:root {
  --semi-fontsize: 0.68rem;
  --normal-fontsize: 0.8rem;
  --middle-fontsize: 0.9rem;
  --big-fontsize: 1.2rem;
  --line-height: 1.4;
}
@media screen and (min-width: 600px) {
  :root {
    --semi-fontsize: 0.72rem;
    --normal-fontsize: 0.86rem;
    --middle-fontsize: 1.1rem;
    --big-fontsize: 1.4rem;
    --line-height: 1.5;
  }
}
@media screen and (min-width: 1024px) {
  :root {
    --semi-fontsize: 0.8rem;
    --normal-fontsize: 0.95rem;
    --middle-fontsize: 1.4rem;
    --large-fontsize: 1.6rem;
    --big-fontsize: 1.8rem;
    --line-height: 1.6;
  }
}
@media screen and (min-width: 1536px) {
  :root {
    --semi-fontsize: 0.97rem;
    --normal-fontsize: 1.1rem;
    --middle-fontsize: 1.5rem;
    --large-fontsize: 1.8rem;
    --big-fontsize: 2.0rem;
    --line-height: 1.7;
  }
}

body {
  font-family: 'Noto Sans JP';
  font-size: var(--normal-fontsize);
  font-weight: normal;
  font-style: normal;
  color: #231815;
  line-height: var(--line-height);
  letter-spacing: 0.01em;
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

@media screen and (min-width: 1680px) {
body {
  font-weight: 500;
}
}
p {
  word-break: break-word;
  font-size: var(--normal-fontsize);
  line-height: var(--line-height);
}
a {
    text-decoration: none;
    color: #000;
    font-size: var(--normal-fontsize);
    line-height: var(--line-height);
}
img {
    max-width: 100%;
    height: auto;
    border: 0;
    line-height: 0;
}
table {
  border-collapse: collapse;
}
ol, ul {
    list-style: none;
}
button{
  outline: none;
  border: 0;
}
a:link, a:visited, a:active, a:hover {
    overflow: hidden;
    outline: none;
}

.sp-only {
  display: block;
}
.tb-only{
  display: none;
}
.pc-only {
  display: none;
}

@media screen and (min-width: 599px) {
  .sp-only {
    display: none;
  }
  .tb-only {
    display: block;
  }
}

@media screen and (min-width: 1024px) {
  .pc-only {
    display: block;
  }
}

/*-- ここからHEADER --*/
.logo_group{
  display: flex;
  align-items: center;
}
header {
  z-index: 99;
  width: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 1em;
}
.header {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.logo_group{
  display: flex;
  align-items: center;
}
.h_logo{
  width: 120px;
}
.h_logo img{
  padding: 2px 0;
}
.header {
  margin: 0;
  padding: 10px;
}
.header nav {
  margin: 0 0 0 auto;
}
.header ul {
  list-style: none;
  margin: 0;
  display: flex;
}
.pc-nav li {
  margin: 0 0 0.2em 2em;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  color:#d9d9d9;
  position: relative;
}
.pc-nav a{
  text-decoration: none;
  font-size: 0.8rem;
}
.pc-nav a::after {
  position: absolute;
  top: 20px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #ff0;
  bottom: 20px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  }
  
.pc-nav a:hover::after {
  visibility: visible;
  bottom: 12px;
  opacity: 1;
  }

@media screen and (max-width: 1024px) {
.h_logo img{
  padding: 7px 0 0;
}
}
@media screen and (max-width: 768px) {
.pc-nav {
    display: none;
}
}
@media (max-width: 430px) {
header{
  padding: 0;
}
.header {
  padding: 0 0.5em;
}
.h_logo {
width: 100px;
}
.h_logo img {
  padding: 7px 0;
}
}
/*-- ここまでHEADER --*/

/* ここから 共通 */
.l-inner{
  padding: 6% 10%;
}

@media screen and (min-width: 1024px) {
  .l-inner{
    padding: 4rem 0;
    width: 780px;
    margin: auto;
  }
}

@media screen and (min-width: 1680px) {
  .l-inner{
    padding: 6rem 0;
    width: 880px;
  }
}

/* ここまで 共通 */

/* ここからMAIN VISUAL */
.mv{
  position: relative;
  overflow: hidden;
  margin: 14px 0 0;
  background: #FFF;
  width: 100%;
  /* height: calc(100vh - 220px); */
  height: 62vh;
  z-index: 1;
}
 .mv_title{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  overflow: hidden;
}
.mv_maintitle{
  width: 320px;
}
.mv_text{
  background: rgba(255, 255, 255, 0.9);
  padding: 1rem 1.5rem;
  margin: 1rem 0.2rem;
  width: 320px;
  font-weight: 600;
  color: #232323;
  letter-spacing: 0.05rem;
  text-align: center;
}

@media screen and (min-width: 640px) {
  .mv {
    height: calc(100vh - 280px);
  }
  .mv_maintitle{
    width: 630px;
  }
  .mv_text{
    width: 610px;
    margin: 2rem 0 0 0.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .mv {
    padding: 48px 0;
    height: calc(100vh - 130px);
  }
  .mv_maintitle{
    width: 700px;
    margin: auto;
  }
  .mv_text{
    width: 660px;
    padding: 1.5rem;
    margin: 1rem auto 0 1rem;
    letter-spacing: 0.08rem;
  }
}

@media screen and (min-width: 1280px) {
  .mv {
    border-bottom: 2.4rem solid #E50000;
    height: calc(100vh - 80px);
  }
  .mv_text{
    padding: 1.5rem 2rem;
    margin: 1.5rem 1rem 0 1rem;
  }
}

@media screen and (min-width: 1366px) {
  .mv {
    height: calc(100vh - 50px);
  }
  .mv_maintitle{
    width: 900px;
    margin: auto;
  }
  .mv_text{
    width: 810px;
    padding: 1.5rem 0;
    margin: 1.5rem auto 0;
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 1366px) {
  .mv {
    height: calc(100vh - 120px);
  }
}

@media screen and (min-width: 1536px) {
  .mv_maintitle{
    width: 980px;
    margin: auto;
  }
  .mv_text{
    width: 880px;
    padding: 2rem 0;
    margin: 2rem auto 0;
  }
}

@media screen and (min-width: 1900px) {
  .mv {
    padding: 60px 0;
    height: calc(100vh - 180px);
  }
  .mv_maintitle{
    width: 1080px;
    margin: auto;
  }
  .mv_text{
    margin: 1.5rem auto 0;
  }
}

/* information */
.mv_information {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  background: #E50000;
  overflow: hidden;
  z-index: 10;
}
.mv_information .swiper-slide {
  padding: 1.5rem 2rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.mv_information .swiper-slide p{
  font-size: var(--semi-fontsize);
  line-height: 1.5;
  color: #FFF;
  display: block;
}
.mv_information i{
  padding-left: 10px;
}

@media screen and (min-width: 600px) {
  .mv_information .swiper-slide {
    padding: 1.5rem 4rem;
  }
}

@media screen and (min-width: 1280px) {
.mv_information {
  width: 100%;
  max-width: 600px;
  clip-path: polygon(100px 0%, 100% 0%, 100% 100%, 0% 100%);
}
.mv_information .swiper-slide {
  margin: 1rem 2rem 0 2rem;
  padding: 1rem 4rem 0 0;
}
.mv_information .swiper-slide p{
  font-size: var(--normal-fontsize);
  font-weight: 500;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  width: 100%;
  max-width: 90%;
}
}
/* information */

/* swiper */
.mv__image .swiper-wrapper {
  transition-timing-function: linear;
}
.mv__image .swiper-slide img {
  aspect-ratio: 1 / 1;
  clip-path: polygon(0% 10%, 100% 0%, 100% 100%, 0% 100%);
  position: relative;
}

@media screen and (min-width: 1024px) {
  .mv__image .swiper-slide img {
    width: 620px;
}
}

@media screen and (min-width: 1366px) {
  .mv__image .swiper-slide img {
    width: 700px;
}
}

@media screen and (min-width: 1536px) {
  .mv__image .swiper-slide img {
    width: 900px;
}
}
/* swiper */
/* ここまでMAIN VISUAL */

/* button */
.btn__wrap{
  text-align: center;
  position: relative;
  /* 完売時 */
  /* pointer-events:none; */
  /* 完売時 */
}
.btn__wrap p{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #F00;
  font-weight: bold;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
  -1px 1px 0 #FFF, 1px -1px 0 #FFF,
  0px 1px 0 #FFF,  0-1px 0 #FFF,
  -1px 0 0 #FFF, 1px 0 0 #FFF;
  min-width: 260px;
}
.btn-request {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  user-select: none;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
}
.btn-request {
  position: relative;
  font-size: 1.1rem;
  padding: 0.5rem 1rem 0.5rem 3.5rem;
  background: #FE0000;
  box-shadow: 0 5px 0 #e81111;
  color: #FFF;
/* 完売時 */
  /* background: #929292;
  color: #ccc;
  filter: grayscale(1.0); */
  /* 完売時 */
}
.btn-request span {
  font-size: 0.8rem;
  letter-spacing: 0.01rem;
  display: inline-block;
  width: 100%;
  margin-bottom: 0.5em;
  padding: 0.2rem 0.5rem;
  color: #FE0000;
  border-radius: 4px;
  background: #FFF;
  /* 完売時 */
  /* background: #929292; */
  /* 完売時 */
}
.btn-request:before {
  font-family: "Font Awesome 5 Free";
  font-size: 1.4rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.7rem);
  left: 1.2rem;
  margin: 0;
  padding: 0;
  content: "\f30b";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btn-request:hover {
  transform: translate(0, 3px);
  color: #fff;
  background: #FE0000;
  box-shadow: 0 2px 0 #FE0000;
}
.btn-request:hover:before {
  left: 2rem;
}

@media screen and (min-width: 599px) {
  .btn__wrap p{
    font-size: 0.9rem;
  }
}

@media screen and (min-width: 1024px) {
  .btn__wrap p{
    font-size: 1rem;
  }
  .btn-request span {
    font-size: 0.9rem;
  }
  .btn-request {
    padding: 0.8rem 2rem 0.6rem 4rem;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 1537px) {
  a.btn-request {
    font-size: 1.6rem;
    padding: 1rem 2rem 1rem 5rem;
  }
  a.btn-request span {
    font-size: 1.1rem;
  }
  a.btn-request:before {
    font-size: 1.8rem;
    left: 1.5rem;
  }
}

@media screen and (min-width: 1900px) {
  .btn-request span {
    font-size: 1rem;
  }
  .btn-request {
    padding: 1rem 2.5rem 1rem 4.5rem;
    font-size: 1.6rem;
  }
  .btn__wrap p{
    font-size: 1.1rem;
  }
}
/* button */

/* ここから INTRODUCTION */
.intro__section{
  padding: 1em 0 0;
  background-color: #fff;
  z-index: -1;
}
.paper{
  background: #fafbeb;
    background-image:
    repeating-linear-gradient(to bottom,
      transparent 25px,
      rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
      transparent 27px,  transparent 51px, 
      rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
      transparent 53px,  transparent 77px, 
      rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
      transparent 79px,  transparent 103px, 
      rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
      transparent 105px,  transparent 129px, 
      rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px),
  
    repeating-linear-gradient(to right,
      transparent 25px,
      rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
      transparent 27px,  transparent 51px, 
      rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
      transparent 53px,  transparent 77px, 
      rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
      transparent 79px,  transparent 103px, 
      rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
      transparent 105px,  transparent 129px, 
      rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px);
}
.intro__section h2{
  text-align: center;
  font-size: var(--big-fontsize);
}
.intro__text{
  padding: 4vw 0;
}
.intro__recommend{
  position: relative;
  margin: auto;
  text-align: center;
  padding: 10px 2rem;
  color: #ffffff;
  background: #E50000;
  font-weight: 500;
  line-height: 1.6;
}
.intro__recommend::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: -1;
  width: 20px;
  height: 12px;
  transform: translateX(-50%);
  box-sizing: border-box;
  background: #E50000;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.intro__recommend__wrap{
  position: relative;
  border: 1px solid #E50000;
  margin: 0 2rem 0.5rem;
}
.intro__recommend__wrap ol{
  padding: 1.2rem 1rem 1rem;
  background: #FFF;
}
.intro__recommend__wrap li{
  position: relative;
  line-height: 1.4;
  padding: 0.2em 0.4em 0.2em 1.7em;
}
.intro__recommend__wrap li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  font-weight: 900;
  position: absolute;
  left : 0.5em;
  color: #E50000;
}
.intro__photo{
  max-width: 220px;
  margin: auto;
}

@media screen and (min-width: 600px) {
  .intro__text{
    padding: 1.3em 0 2em;
  }
  .intro__photo{
    max-width: 480px;
  }
}

@media screen and (min-width: 1024px) {
  .intro__section{
    padding: 2em 0 0;
  }
  .intro__text{
    padding: 2rem 8% 3rem;
    font-size: var(--middle-fontsize);
    font-weight: 600;
    text-align: center;
  }
  .intro__photo{
    max-width: 640px;
  }
  .intro__recommend__wrap li {
    font-weight: 600;
    font-size: var(--normal-fontsize);
    padding: 0.2em 0.4em 0.8em 2em;
    margin: 0 0 0 1rem;
  }
}

@media screen and (min-width: 1440px) {
  .intro__text{
    padding: 2rem 0 3rem;
    text-align: center;
  }
  .intro__recommend__wrap {
    margin: 0 2rem 2rem;
  }
  .intro__recommend__wrap ol {
    padding: 1.2rem 3rem 1rem;
  }
  .intro__recommend__wrap li {
    line-height: 1.8;
    padding: 0.8em 1em 0.5em 2em;
  }
}
/* ここまで INTRODUCTION */

/* ここから tokuten */
.tokuten__contents{
  background: #FDE53D;
  background-image: url(../images/bg_yellowline.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 0 1rem;
}
.tokuten__kanban{
  text-align: center;
  padding: 1rem 0;
  margin-left: -25px;
}
.tokuten__title{
  padding: 1rem 0;
}
.tokuten__presentttl{
  margin-left: -15px;
  padding: 0 0 0.7rem;
}
.suirei__wrapper p{
  padding: 0 6%;
  font-weight: bold;
}
.suirei__image{
  padding: 1.5rem 1rem 0;
}
.hosho__wrapper{
  padding: 2rem 0 0;
}
.guarantee__free{
  padding: 0.5rem 0;
}
.guarantee__detail{
  padding: 0 0 0.5rem;
}
.hosho__wrapper p{
  padding: 0 6%;
  font-weight: bold;
}

@media screen and (min-width: 600px) {
  .tokuten__title {
    padding: 2rem 0;
  }
  .hosho__wrapper {
    padding: 4rem 0 0;
  }
  .guarantee__free {
    padding: 1rem 0;
  }
  .guarantee__detail {
    padding: 0 0 1rem;
}
}

@media screen and (min-width: 1024px) {
  .suirei__wrapper p{
    padding: 0 2rem;
    font-weight: 600;
    font-size: var(--middle-fontsize);
  }
  .hosho__wrapper p{
    padding: 2rem;
    font-weight: 600;
    font-size: var(--middle-fontsize);
  }
  .tokuten__kanban {
    padding: 1rem 0 2rem;
  }
  .tokuten__title{
    padding: 2rem 0 3rem;
  }
  .tokuten__presentttl{
    margin-left: -40px;
  }
  .suirei__wrapper p{
    padding: 1rem 3rem;
  }
  .suirei__image{
    padding: 2rem 2rem 0;
  }
  .hosho__wrapper{
    padding: 6rem 0 0;
  }
  .hosho__wrapper p{
    padding: 1rem 3rem;
  }
  .guarantee__free{
    padding: 2rem 0;
  }
}

@media screen and (min-width: 1680px) {
  .tokuten__kanban {
    padding: 2rem 0 3rem;
  }
  .hosho__wrapper {
    padding: 8rem 0 0;
  }
}
/* ここまで tokuten */


/* osusume model */
.osusume__contents{
  background: #FFF;
  background-image: url(../images/bg_dotwave.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.osusume__title{
  padding: 6vw 0 0;
}
.osusume__comment{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 4% 0;
}
.osusume__commentimage{
  width: 90px;
  padding-right: 0.7em;
}
.osusume__commenttext {
  position: relative;
  display: inline-block;
  margin: 0 0 0 20px;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 210px;
  text-align: left;
  background: #FFF;
  border: solid 2px #555;
  box-sizing: border-box;
  border-radius: 0.5rem;
}
.osusume__commenttext:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -25px;
  margin-top: -14px;
  border: 12px solid transparent;
  border-right: 13px solid #FFF;
  z-index: 2;
}
.osusume__commenttext:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -16px;
  border: 14px solid transparent;
  border-right: 14px solid #555;
  z-index: 1;
}
.osusume__commenttext {
  margin: 0;
  padding: 1rem;
  font-size: var(--semi-fontsize);
  font-weight: 500;
  line-height: 1.4;
}
.osusume__pc:first-child{
  padding: 1.5rem 0 0;
}
.osusume__pc{
  padding: 2rem 0;
}
.osusume__pc figure{
  padding: 0 0 1rem;
}

@media screen and (min-width: 600px) {
  .osusume__commenttext {
    max-width: 440px;
    padding: 20px 30px;
  }
}

@media screen and (min-width: 1024px) {
.osusume__pc{
  padding: 0.5rem 0 8rem;
}
.osusume__pc:last-child{
  padding: 0.5rem 0 4rem;
}
.osusume__title {
  padding: 4rem 0 2rem;
  margin-left: -40px;
}
.osusume__comment {
  padding: 0 0 4rem;
}
.osusume__commentimage {
  width: 150px;
  padding-right: 2rem;
}
.osusume__commenttext {
  max-width: 480px;
  font-size: var(--normal-fontsize);
}
.osusume__pc figure{
  width: 800px;
  margin: auto;
  padding: 0 0 2.5rem;
}
}
/* osusume model */

/* ここから barebone kit */
.kit__section{
  background: #f5f2ea;
}
.kit__about__wrapper h2{
  text-align: center;
  font-size: var(--middle-fontsize);
  position: relative;
  display: block;
  margin: 0 auto 0.7em;
}
.kit__about__wrapper h2:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 30px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #E50000;
  border-radius: 2px;
}
.kit__about__wrap{
  padding: 4vw 0;
}
.kit__about__wrap figure{
  max-width: 180px;
  margin: auto;
}
.kit__about__text{
  padding: 2vw 0;
}
.kit__merit__wrapper h3{
  text-align: center;
  font-size: var(--middle-fontsize);
  position: relative;
  display: block;
  margin: 0 auto 0.7em;
}
.kit__merit__wrapper h3:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 30px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #E50000;
  border-radius: 2px;
}
.kit__merit__maintext{
  padding: 4vw 0;
}
.kit__merit{
  background: #FFF;
  margin: 0 6% 2em;
  padding: 1.5em 2em 2em;
}
.kit__merit__asirai{
  padding: 0.2rem 1rem;
  width: fit-content;
  -webkit-transform: skew(-15deg);
  transform: skew(-15deg);
  color: #fff;
  background: #E50000;
  font-size: var(--semi-fontsize);
  margin: auto;
}
.kit__merit__ttl{
  padding: 1em 0;
  font-weight: bold;
  text-align: center;
}
.kit__item__wrapper h3{
  text-align: center;
  font-size: var(--middle-fontsize);
  position: relative;
  display: block;
  margin: 0 auto 0.7em;
}
.kit__item__wrapper h3:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 30px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #E50000;
  border-radius: 2px;
}
.kit__name{
  padding: 4vw 0 2vw;
  max-width: 180px;
  margin: auto;
}
.kit__explain{
  padding: 0 5vw;
}
.kit__detail__wrapper{
  padding: 6vw 0 0;
}
.kit__detail__wrapper h4{
  text-align: center;
  font-size: var(--middle-fontsize);
  position: relative;
  display: block;
  margin: 0 auto 0.7em;
}
.kit__detail__wrapper h4:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 30px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #E50000;
  border-radius: 2px;
}
.kit__detail__ttl{
  padding: 4vw 4vw 0;
  text-align: center;
}
.kit__detail__wrap{
  text-align: center;
}
.kit__detail__name{
  font-size: var(--middle-fontsize);
  padding: 4vw 0 0;
}
.kit__detail__image{
  padding: 2vw 0 1vw;
}
.kit__item{
  margin: 2vw 0 4vw;
  background: #FFF;
  padding: 4vw 6vw;
  border: 1px solid #ccc;
}
.kit__item:last-child{
  margin: 2vw 0;
}
.kit__item__ttl{
  padding: 8vw 0 1.5vw;
  text-align: center;
  font-size: var(--middle-fontsize);
  font-weight: bold;
}
.kit__item__sttl{
  text-align: center;
  font-size: var(--semi-fontsize);
  color: #E50000;
  letter-spacing: 0.1rem;
}
.kit__item__wrapper{
  padding: 3vw 0 0;
}
.kit__item figure{
  padding: 0 0 2vw;
  max-width: 120px;
  margin: auto;
}
.kit__itemtext{
  text-align: center;
}
.kit__item__name{
  font-weight: bold;
  padding: 0.5em 0;
}
.kit__item__name .intel{
  background: #3f6db3;
  color: #FFF;
  padding: 0 0.5em;
  margin-left: 0.8em;
  font-weight: normal;
  font-size: var(--semi-fontsize);
}
.kit__item__name .amd{
  background: #eb7e3e;
  color: #FFF;
  padding: 0 0.5em;
  margin-left: 0.3em;
  font-weight: normal;
  font-size: var(--semi-fontsize);
}
.kit__item__name .amd:first-child{
  margin-left: 0.8em;
}
.kit__item__sub{
  font-size: var(--semi-fontsize);
}
.kit__item__explain{
  padding: 4vw 0 2vw;
  font-size: var(--semi-fontsize);
}

@media screen and (min-width: 600px) {
  .kit__about__wrap figure {
    max-width: 280px;
  }
  .kit__about__text{
    padding: 1.3em 0 2em;
  }
  .kit__merit__maintext{
    text-align: center;
    padding: 2em 0;
  }
  .kit__item__wrapper {
    padding: 1em 0 0;
  }
  .kit__name {
    max-width: 260px;
    padding: 1em 0;
  }
  .kit__item__explain {
    padding: 2vw 0;
  }
  .kit__explain {
    padding: 0 4em;
  }
  .kit__detail__wrapper {
    padding: 4em 0 0;
  }
  .kit__detail__ttl {
    padding: 1em 2em 0;
  }
  .kit__item{
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 0 3rem;
    align-items: center;
  }
  .kit__item__ttl {
    padding: 6vw 0 1vw;
  }
  .kit__item figure {
    padding: 0;
    max-width: 160px;
  }
  .kit__itemtext{
    text-align: left;
  }
}

@media screen and (min-width: 1024px) {
  .kit__about__wrap {
    padding: 2em 0 4em;
  }
  .kit__about__wrap figure {
    max-width: 420px;
  }
  .kit__about__text{
    padding: 2em 2em 0;
  }
  .kit__item {
    margin: 1.5em 0 3em;
    padding: 2rem 3rem;
  }
  .kit__item__name {
    line-height: var(--line-height);
    padding: 0 0 0.5rem;
  }
  .kit__item__explain {
    padding: 1.3rem 0 0;
  }
  .kit__detail__ttl {
    padding: 2em 2em 0;
  }
  .kit__detail__image {
    padding: 1.5rem 0 3rem;
    width: 760px;
    margin: auto;
  }
  .kit__detail__image:last-child {
    padding: 1.5rem 0 2rem;
  }
  .kit__merit {
    margin: 0;
    padding: 1.5em;
  }
  .kit__merit__wrap {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 0 2em;
    margin: 0 0 4em;
  }
  .kit__merit__maintext {
    padding: 2em 0 3em;
  }
  .kit__merit__asirai {
    padding: 0.2rem 1.2rem;
    font-weight: bold;
  }
  .kit__merit__ttl {
    line-height: 1.4;
  }
  .kit__merit__text{
    font-size: var(--semi-fontsize);
  }
}

@media screen and (min-width: 1680px) {
  .kit__name {
    max-width: 380px;
    padding: 2em 0;
  }
  .kit__explain {
    padding: 0 3em;
    text-align: center;
  }
  .kit__merit__wrapper{
    padding: 1em 0 0; 
  }
  .kit__about__text {
    padding: 2em 4em;
  }
  .kit__detail__wrapper {
    padding: 5em 0 0;
  }
  .kit__detail__name {
    padding: 2em 0 0;
    font-weight: 500;
  }
  .kit__detail__ttl {
    padding: 2em 3em 0;
    text-align: center;
  }
  .kit__detail__image{
    padding: 1.3em 0 1em;
  }
  .kit__item {
    padding: 2.5rem 3rem;
  }
  .kit__item:last-child {
    margin: 1.5em 0 0;
  }
  .kit__item__ttl {
    padding: 4em 0 0.3em;
  }
  .kit__item__wrapper {
    padding: 1.5em 0 0;
  }
}
/* ここまで barebone kit */

/* ここから セル */
.kit__table__wrapper{
  padding: 4em 0 0;
}
.kit__table__wrapper h3{
  text-align: center;
  font-size: var(--middle-fontsize);
  position: relative;
  display: block;
  margin: 0 auto 0.7em;
}
.kit__table__wrapper h3:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 30px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #E50000;
  border-radius: 2px;
}
.kit__table__slide{
  font-size: var(--semi-fontsize);
  text-align: right;
  padding: 1em 0 0.3em;
}
.kit__table__recommend{
  font-size: var(--normal-fontsize);
  padding: 1em 0 0;
  text-align: center;
}
.table-container {
  overflow-x: auto;
  padding: 2em 0 0;
}
.table-container table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
  background: #FFF;
  font-size: var(--semi-fontsize);
  line-height: 1.4;
}
.table-container th, 
.table-container td {
  border: 1px solid #ccc;
  padding: 8px 12px;
  text-align: center;
  font-size: var(--semi-fontsize);
}
.table-container th {
  background-color: #e5e5e5;
}

@media (max-width: 600px) {
  .kit__table__wrapper {
    padding: 4vw 0;
  }
  .table-container {
    padding: 0;
  }
  .table-container table {
    font-size: 14px;
  }
  .kit__table__recommend{
    padding: 2vw 2vw 0;
    text-align: left;
  }
}

@media (max-width: 1536px) {
 .kit__table__recommend{
    padding: 2vw 6vw 0;
 }
}
/* ここまで セル */

/* ここから option parts */
.option__section{
  margin-top: -6%;
}
.option__section h2{
  position: relative;
  padding: 5px 26px 5px 42px;
  background: #232323;
  font-size: var(--middle-fontsize);
  text-align: center;
  color: #FFF;
  margin-left: -33px;
  line-height: 1.3;
  border-bottom: solid 3px #E50000;
  z-index:-2;
}

.option__section h2:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index: -1;
}
.option__section h2:after {
  position: absolute;
  content: '';
  right: -3px;
  top: -7px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px transparent;
  border-bottom: solid 79px white;
  z-index: -1;
}
.option__photo{
  padding: 6vw 4vw 4vw;
  text-align: center;
}
.option__ttl{
  text-align: center;
  padding: 2em 0 0;
  font-weight: bold;
  font-size: var(--middle-fontsize);
}
.option__item__wrapper{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.5rem 2rem;
  padding: 2vw 4vw;
}
.option__item{
  text-align: center;
}
.option__item__name{
  font-size: var(--semi-fontsize);
}
.option__caution{
  padding: 1em 0 0;
  font-size: var(--semi-fontsize);
  text-align: center;
}

@media screen and (min-width: 600px){
  .option__section{
    margin-top: -3%;
  }
  .option__section h2 {
    padding: 7px 26px 7px 42px;
  }
  .option__text{
    padding: 1em 4%;
  }
  .option__caution {
    padding: 1em 6% 0;
  }
  .option__item__wrapper{
    gap: 2rem 3rem;
  }
}

@media screen and (min-width: 1024px){
  .option__section{
    padding: 0 0 2rem;
  }
  .option__section h2 {
    padding: 9px 26px 9px 42px;
    border-bottom: solid 4px #E50000;
  }
  .option__photo {
    padding: 6em 0 2.5em;
  }
  .option__item__name {
    font-size: var(--normal-fontsize);
  }
  .option__item__wrapper{
    padding: 2em 0;
  }
  .option__item {
    width: 180px;
    margin: auto;
  }
}

@media screen and (min-width: 1680px){
  .option__item {
      width: 220px;
  }
  .option__item__wrapper{
    gap: 3rem 6rem;
  }
}

/* button */
.link__btn__s a {
  display: block;
  width: 210px;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  font-size: var(--semi-fontsize);
  font-weight: bold;
  position: relative;
  background: #FFF;
  border: 2px solid #E50000;
  margin: 2.7em auto 0;
  padding: 1rem 1rem;
}
.link__btn a {
  display: block;
  width: 210px;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-size: var(--semi-fontsize);
  font-weight: bold;
  position: relative;
  background: #E50000;
  border: 2px solid #E50000;
  margin: 1.5em auto 0.5em;
  padding: 1rem 1rem;
}
.link__btn__s a::before {
  border-right: 2px solid #000;
  border-top: 2px solid #000;
  bottom: 0;
  content: "";
  height: 5px;
  width: 5px;
  margin: auto;
  position: absolute;
  right: 20px;
  top: 1px;
  transform: rotate(45deg);
  transition: right .3s;
}
.link__btn a::before {
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  bottom: 0;
  content: "";
  height: 5px;
  width: 5px;
  margin: auto;
  position: absolute;
  right: 20px;
  top: 1px;
  transform: rotate(45deg);
  transition: right .3s;
}
.link__btn__s a:hover::before,
.link__btn a:hover::before {
  right: 25px;
}

@media screen and (min-width: 600px) {
  .option__btn__wrap{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1rem;
    justify-content: center;
    padding: 1rem 2rem;
  }
  .link__btn__s a {
    width: 270px;
    letter-spacing: 0.08em;
    font-size: var(--normal-fontsize);
    line-height: 1.8;
    padding: 1.2rem;
    margin: 0 auto;
  }
  .link__btn a {
    width: 270px;
    letter-spacing: 0.08em;
    font-size: var(--middle-fontsize);
    line-height: 1.8;
    padding: 0.98rem;
    margin: 0 auto;
  }
  .link__btn__s a::before,
  .link__btn a::before {
    right: 30px;
  }
  .link__btn__s a:hover::before,
  .link__btn a:hover::before {
    right: 20px;
  }
}

@media screen and (min-width: 1024px) {
  .option__btn__wrap{
    width: 700px;
    margin: 0 auto 2rem;
    padding: 0;
  }
  .link__btn__s a {
    width: 320px;
  }
  .link__btn a {
    width: 320px;
    padding: 0.92rem;
  }
}

@media screen and (min-width: 1680px) {
  .option__btn__wrap{
    width: 780px;
  }
  .link__btn__s a {
    width: 340px;
  }
  .link__btn a {
    width: 340px;
    padding: 0.9rem;
  }
}
/* button */
/* ここまで option parts */

/* ここから youtobetsu */
.youtobetsu__contents{
  background: #e8e8e8;
}
.youtobetsu__contents h2{
  text-align: center;
  font-size: var(--middle-fontsize);
  position: relative;
  display: block;
  margin: 0 auto 0.7em;
}
.youtobetsu__contents h2:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 30px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #E50000;
  border-radius: 2px;
}
.youto__intro{
  padding: 4vw 0 0;
}
.youto__wrapper{
  padding: 4vw 8%;
  margin: 6vw 0;
  background: #FFF;
}
.youto__wrapper h3{
  text-align: center;
  font-size: var(--middle-fontsize);
  font-weight: bold;
  padding: 0 0 1.5vw;
}
.youto__sttl {
  text-align: center;
  font-size: var(--semi-fontsize);
  color: #E50000;
  letter-spacing: 0.1rem;
}
.youto__text{
  padding: 4vw 0;
}

@media screen and (min-width: 600px) {
  .youto__wrapper{
    padding: 2rem 2rem 3rem;
  }
  .youto__text{
    text-align: center;
    padding: 1rem 0 2rem;
  }
}

@media screen and (min-width: 1024px) {
  .youtobetsu__contents{
    margin-top: -2rem;
  }
  .youtobetsu__contents h2 {
    font-size: var(--big-fontsize);
  }
  .youto__intro{
    padding: 2rem 2rem 0;
    text-align: center;
  }
  .youto__wrapper {
    padding: 3rem 3rem 4rem;
    margin: 4rem 0 6rem;
  }
  .youto__wrapper:last-child {
    margin: 4rem 0;
  }
  .youto__wrapper h3 {
    font-size: var(--large-fontsize);
    padding: 0;
  }
  .youto__text {
    padding: 1.5rem 0 3rem;
  }
}

/* table */
.spec-list {
  list-style: none;
  padding: 2vw 0 0;
  margin: 0 auto;
  max-width: 600px;
}
.spec-list li {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px dotted #ccc;
}
.spec-list li.last {
  border-bottom: none;
}
.spec-list .label {
  color: #666;
  font-weight: normal;
  min-width: 35%;
}
.spec-list .value {
  font-weight: bold;
  text-align: right;
  min-width: 58%;
}

@media screen and (min-width: 600px) {
  .spec-list{
    padding: 0;
  }
  .spec-list li {
    padding: 0.7rem 0;
  }
  .spec__wrap{
    display: flex;
    justify-content: space-between;
  }
  .spec__wrap img{
    width: 240px;
  }
  .spec__detail{
    width: calc(100% - 240px - 2rem);
  }
}

@media screen and (min-width: 1024px) {
  .spec-list li {
    padding: 0.9rem 0;
  }
  .spec__wrap img{
    width: 280px;
  }
  .spec__detail{
    width: calc(100% - 280px - 2.5rem);
  }
}

@media screen and (min-width: 1680px) {
  .spec__wrap img{
    width: 330px;
  }
  .spec__detail{
    width: calc(100% - 330px - 3rem);
  }
}
/* table */

/* price */
.price__wrap {
  background: #D10000;
  /* background: linear-gradient(145deg,rgba(209, 0, 0, 1) 0%, rgba(209, 0, 0, 1) 65%,rgba(149, 0, 1, 1) 100%); */
  color: white;
  text-align: center;
  padding: 1rem 1rem 0.7rem;
  margin: 4vw 11% 2vw;
}
.price__wrap .title {
  font-size: 0.6rem;
  background: #FFF;
  padding: 0.1rem 1rem;
  width: fit-content;
  margin: 0 auto 0.2rem;
  color: #000;
}
.price__wrap .price {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
.price__wrap .yen {
  font-size: 1.2rem;
  padding-left: 0.1rem;
}
.price__wrap .tax {
  font-size: 0.8rem;
}

@media screen and (min-width: 600px) {
  .price__wrap {
    padding: 1.5rem 1.5rem 1rem;
    margin: 1.5rem 0 0;
  }
  .price__wrap .title {
    font-size: 0.7rem;
    padding: 0.1rem 2rem;
  }
  .price__wrap .price {
    font-size: 4.8vw;
  }
  .price__wrap .yen {
    font-size: 1.4rem;
  }
  .price__wrap .tax {
    font-size: 0.9rem;
  }
}

@media screen and (min-width: 1024px) {
  .price__wrap {
    padding: 1.5rem 1rem 1rem;
    margin: 1.5rem 0 0;
  }
  .price__wrap .tb-only{
    display: none;
  }
  .price__wrap .title {
    font-size: 0.76rem;
    font-weight: 500;
    padding: 0.1rem 1rem;
  }
  .price__wrap .price {
    font-size: 3.2rem;
    line-height: 1.4;
  }
  .price__wrap .yen {
    font-size: 1.5rem;
  }
  .price__wrap .tax {
    font-size: 0.95rem;
  }
}
/* price */
/* ここまで youtobetsu */

/* ここから yousu */
.yousu__contents{
  background: #f9f7f0;
  text-align: center;
}
.yousu__title{
  font-size: var(--middle-fontsize);
  font-weight: bold;
}
.yousu__sttl{
  font-size: var(--semi-fontsize);
}
.yousu__wrap{
  padding: 4vw 8vw;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}

.keisai__contents{
  padding: 4vw 0 0;
}
.keisai__title{
  font-size: var(--middle-fontsize);
  font-weight: bold;
}
.keisai__wrap{
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1em 0.5em;
}
.keisai__group img {
  padding: 0 2vw;
}
.keisai__group{
  padding: 4vw 0;
}
.keisai__group img{
  padding: 0 6vw;
}
.keisai__group p{
  font-size: var(--semi-fontsize);
  padding: 2vw 0;
}
.keisai__button a {
  background: #E50000;
  color: #FFF;
  border-radius: 9999px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 120px;
  padding: 5px 10px;
  line-height: 1.6;
  text-decoration: none;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  font-size: var(--semi-fontsize);
}
.keisai__button a:hover {
  background: #0a9c47;
}
.keisai__button a:after {
  content: '';
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}
.keisai__button a:hover:after {
  border-color: #FFF;
}

@media screen and (min-width: 1024px){
.yousu__sttl{
  line-height: 2.2;
}
.yousu__wrap{
  padding: 2em 0;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}
.keisai__wrap{
  grid-template-columns: repeat(2,1fr);
  gap: 2em 2em;
}
.keisai__group img {
  padding: 0;
}
.keisai__group p {
  padding: 1em 0 1.5em;
}
.keisai__button a {
  max-width: 160px;
  padding: 7px 10px;
}
}

@media screen and (min-width: 1366px){
  .keisai__wrap {
    padding: 2em 0;
  }
  .keisai__group p {
    font-size: var(--normal-fontsize);
    padding: 1em 0;
  }
  .keisai__group img {
    padding: 0 2vw;
  }
  .keisai__group {
    padding: 2em 0;
  }
}

@media screen and (min-width: 1680px){
  .keisai__wrap {
    padding: 0.5em 6%;
    gap: 0 3em;
  }
  .keisai__group img {
    padding: 0;
  }
}
/* ここまで yousu*/

/* ここから support_annai */
.support_contents{
  text-align: center;
  background: #F2F4F2;
  padding: 4vw 0;
}
.support_image{
  max-width: 900px;
  margin: 0 auto 4vw;
  padding: 1vw;
  background: #FFF;
}
.support_image:last-child{
  margin: 0 auto;
}

@media screen and (min-width: 1024px){
  .support_contents{
    padding: 3em 0;
  }
}
/* ここまで support_annai */

/* ここから oneday schedule */
.schedule_contents{
  background: #FFF;
}
.oneday_title{
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  padding: 4vw 0 0;
}
.wrapper {
  max-width: 960px;
  margin: 2em auto 0;
}
.c-timeline__item {
  position: relative;
  display: flex;
  gap: 1rem;
}
.c-timeline__item:last-child .c-timeline__content:before {
  display: none;
}
.c-timeline__content {
  flex: 1;
  position: relative;
  order: 1;
  padding-left: 1.5rem;
  padding-bottom: 2rem;
  line-height: 1.4;
}
.c-timeline__content:before {
  content: "";
  position: absolute;
  right: 100%;
  top: 2px;
  height: 100%;
  width: 2px;
  background-color: lightgrey;
}
.c-timeline__content:after {
  content: "";
  position: absolute;
  left: calc(0px - 11px);
  top: 2px;
  width: 17px;
  height: 17px;
  background-color: #008080;
  z-index: 1;
  border: 2px solid #008080;
  border-radius: 50%;
}
.c-timeline__title {
  font-size: 0.95rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.c-timeline__image{
  padding: 4vw 8vw 0;
}
.c-timeline__desc {
  color: #555251;
  font-size: 0.8rem;
}

time {
  text-align: center;
  flex: 0 0 60px;
  min-width: 0;
  overflow-wrap: break-word;
  padding-bottom: 1rem;
  font-size: 0.9rem;
}
.after_information{
  background: #FF0;
  font-weight: 500;
  border-radius: 0.3rem;
  padding: 15px;
  max-width: 590px;
  margin: 0 auto;
  font-size: 0.8rem;
}

@media screen and (min-width: 600px) {
  .wrapper {
    margin: 4em auto 0;
  }
  .c-timeline__wrap{
    display: flex;
  }
  .c-timeline__title {
    font-size: 1.1rem;
  }
  .c-timeline__desc{
    width: calc(100% - 200px);
    font-size: 0.9rem;
  }
  .c-timeline__image{
    width: 200px;
    padding: 0 0 0 2vw;
  }
  .oneday_meritttl {
    padding-bottom: 0;
}
}

@media screen and (min-width: 1024px) {
  .oneday_title{
    font-size: 1.6rem;
    padding: 0;
  }
  time {
    text-align: end;
    flex: 0 0 140px;
  }
  .c-timeline__desc{
    width: calc(100% - 240px);
  }
  .c-timeline__image{
    width: 240px;
    padding: 0 0 0 2vw;
  }
}

@media screen and (min-width: 1366px) {
  .c-timeline__title {
    font-size: 1.2rem;
}
.c-timeline__desc{
  font-size: 1rem;
}
time{
  font-size: 1rem;
}
.oneday_image {
  padding: 0 4vw 2vw;
}
.after_information {
  padding: 2rem 3rem;
  max-width: 760px;
  text-align: center;
  margin-top: 2em;
}
}
/* ここまで oneday schedule */

/* ここから FAQ */
.faq_contents{
  background: #F2F2F2;
  padding: 4em 0 2em;
}
.faq_title{
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
}
.faq_wrap{
  max-width: 800px;
  margin: 0 auto;
  padding: 8vw;
  line-height: 1.4;
}
.faq_question{
  color: #E50000;
  padding: 4vw 0 1vw;
  font-size: 0.9rem;
  font-weight: bold;
}
.faq_answer{
  font-size: 0.8rem;
}
.faq_gaiyou{
  padding: 1vw 1vw 0;
  font-size: 0.8rem;
}
.faq_gaiyou span{
  font-weight: bold;
  font-size: 0.9rem;
}

@media screen and (min-width: 600px) {
  .faq_question{
    padding: 2vw 0 0.5vw;
  }
}

@media screen and (min-width: 1024px) {
  .faq_contents{
    padding: 6vw;
  }
  .faq_wrap{
    line-height: 1.5;
    padding: 1em 0 0;
  }
  .faq_question{
    font-size: 1.1rem;
  }
  .faq_gaiyou span{
    font-size: 1.1rem;
  }
  .faq_answer {
    font-size: 0.9rem;
  }
  .faq_gaiyou {
  font-size: 0.9rem;
  }
}

@media screen and (min-width: 1366px) {
  .faq_contents {
    padding: 6vw 4vw;
  }
  .faq_wrap{
    line-height: 1.6;
  }
  .faq_question{
    font-size: 1.2rem;
  }
  .faq_gaiyou span{
    font-size: 1.2rem;
  }
  .faq_answer {
    font-size: 1rem;
  }
  .faq_gaiyou {
  font-size: 1rem;
  }
}

@media screen and (min-width: 1536px) {
  .faq_title {
    font-size: 1.8rem;
  }
  .faq_contents {
    padding: 4vw 2vw 6vw;
  }
}
/* ここまで FAQ */

/* ここから howto order */
.howto_contents{
  background: #fcfaf5;
}
.howto_title{
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
}
.howto_order {
  padding: 6vw 0;
  text-align: center;
}
.howto_order_title{
  font-size: 1.1rem;
  font-weight: bold;
  color: #E50000;
}
.howto_order_text{
  font-size: 0.8rem;
  padding: 1vw 0 4vw;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
.howto_order {
  padding: 4vw 0;
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.howto_order_title {
  font-size: 1.3rem;
  padding: 1vw 0;
}
.howto_order_text {
  font-size: 0.9rem;
  padding: 1vw 0 2vw;
}
}

@media screen and (min-width: 1024px) {
.howto_title {
  padding: 1vw 0;
}
.howto_order {
  padding: 3vw 0;
}
.howto_order_text {
  padding: 1vw 0 3vw;
}
}

@media screen and (min-width: 1366px) {
  .howto_order {
    padding: 2vw 0 4vw;
  }
  .howto_order_text {
    font-size: 1rem;
    padding: 1vw 0 2vw;
  }
  .howto_title {
    padding: 0;
}
}

@media screen and (min-width: 1536px) {
  .howto_title{
    font-size: 1.6rem;
  }
  .howto_order_title {
    font-size: 1.8rem;
  }
  .howto_order {
    padding: 2vw 0;
    max-width: 800px;
}
.howto_order_text {
  font-size: 1.1rem;
  padding: 1vw 0 2vw;
}
}
/* ここまで howto order */

/* banner area */
.pr__banner{
  padding: 1em 0 0.5em;
}
.pr__banner h2{
  text-align: center;
  font-size: var(--middle-fontsize);
}
.pr__banner figure{
  padding: 2vw 0;
}

@media screen and (min-width: 600px) {
  .pr__banner figure {
    padding: 1.2rem 0;
  }
}

@media screen and (min-width: 1024px) {
  .pr__banner h2{
    padding: 0 0 0.5rem;
  }
  .pr__text{
    width: 670px;
    margin: auto;
    text-align: center;
  }
}

@media screen and (min-width: 1680px) {
  .pr__text{
    width: 800px;
    padding: 1.5rem 0 1rem;
    line-height: 1.9;
  }
}

/* button */
.pr__link__btn a {
  display: block;
  width: 240px;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  font-size: var(--normal-fontsize);
  font-weight: bold;
  position: relative;
  background-image: linear-gradient(to right, #e6eaff 0%, #e2f5fc 100%);
  margin: 1.5em auto 0.5em;
  padding: 1rem 1rem;
}

.pr__link__btn a::before {
  border-right: 2px solid #000;
  border-top: 2px solid #000;
  bottom: 0;
  content: "";
  height: 5px;
  width: 5px;
  margin: auto;
  position: absolute;
  right: 20px;
  top: 1px;
  transform: rotate(45deg);
  transition: right .3s;
}

.pr__link__btn a:hover::before {
  right: 25px;
}

@media screen and (min-width: 600px) {
  .pr__link__btn a {
    width: 340px;
    letter-spacing: 0.08em;
    font-size: var(--middle-fontsize);
    line-height: 1.8;
    padding: 1.2rem 0.9rem;
    margin: 2rem auto 1rem;
  }
  .pr__link__btn a::before {
    right: 30px;
  }
  .pr__link__btn a:hover::before {
    right: 20px;
  }
}

@media screen and (min-width: 1024px) {
  .pr__link__btn a {
    width: 400px;
  }
}

@media screen and (min-width: 1680px) {
  .pr__link__btn a {
    width: 420px;
  }
}
/* button */
/* banner area */

/* ここから SHOP INFO */
.shop_infowrap {
  margin: 0 auto;
}
.shop_list_title {
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  padding-bottom: 1vw;
}
.shop_list_title span{
  border-bottom: 2px dotted #232323;
}
.shop_open {
  text-align: center;
  padding: 3vw 0;
  font-size: 0.8rem;
}
.shop_adress_contents {
  padding: 4vw 0 0;
  text-align: left;
  max-width: 700px;
  margin: 0 auto;
  font-size: 0.7rem;
  line-height: 1.2;
}
.shop_adress_wrap{
  padding: 0 0 6vw;
}
.shop_adress_wrap h3{
  font-size: 0.9rem;
  padding: 0 0 1.5vw;
}
.shop_table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed;
}
.shop_table tr {
  background-color: #fff;
  border: 1px solid #bbb;
  padding: 0.35em;
}
.shop_table th, .shop_table td {
  padding: 0.3em 0.8em;
  border-right: 1px solid #bbb;
}
.shop_table .tenpo {
  width: 20%;
}
.shop_table .adress {
  text-align: left;
  width: 55%;
}
.shop_table .detail {
  text-align: left;
  min-width: 30%;
  font-size: var(--semi-fontsize);
  line-height: 1;
}
.shop_table .detail a{
  font-size: var(--semi-fontsize);
}
.shop_i {
  padding: 0.5em 0.5em 0.5em 0;
  color: #1341a8;
}

@media screen and (min-width: 768px) {
  .shop_list_title {
    font-size: 1.2rem;
    padding: 4vw 0 0;
  }
  .shop_open {
    padding: 2vw 0;
    font-size: 0.9rem;
  }
  .shop_adress_contents {
    padding: 2vw 0 0;
    max-width: 560px;
  }
  .shop_adress_wrap h3 {
    padding: 0 0 1vw;
    font-size: 0.9rem;
  }
  .shop_table {
    font-size: 0.75rem;
  }
}

@media screen and (min-width: 1024px) {
  .shop_list_title {
    padding: 0;
  }
}

@media screen and (min-width: 1366px) {
  .shop_list_title {
    font-size: 1.3rem;
  }
  .shop_open {
    padding: 1vw 0;
    font-size: 0.9rem;
  }
  .shop_adress_wrap h3 {
    padding: 0 0 0.5vw;
    font-size: 1rem;
  }
  .shop_adress_wrap {
      padding: 0 0 2vw;
  }
  .shop_table {
    font-size: 0.85rem;
  }
  .shop_table .detail {
    font-size: 0.75rem;
  }
  .shop_adress_contents {
    padding: 2em 0 0;
    max-width: 700px;
}
}
/* ここまで SHOP INFO */

/* ここから フッター */
.p-footer {
  padding: 20px 60px 10px;
  background-color: lightgray;
}
.p-footer__inner {
  display: block;
}
.p-footer__nav {
  font-size: 0.65rem;
}
.p-footer__navList {
  max-width: 200px;
  margin: 18px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.p-footer__navItem {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #75706f;
}
.p-footer__navItem:nth-child(3n) {
  border-right: transparent;
  margin-right: 0;
  padding-right: 0;
}
.p-footer__logo {
  width: 100%;
  height: auto;
  max-width: 160px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 24px;
}
.p-footer__navItem a {
  color: #333;
  font-size: 0.8rem;
}
.p-footer__copyLight {
  text-align: center;
  display: block;
  margin-top: 30px;
  font-size: 0.7rem;
}

@media screen and (min-width: 599px) {
  .p-footer__navList {
    max-width: 100%;
}
.p-footer__navItem:nth-child(3n) {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #75706f;
}
.p-footer__navItem:last-child {
  border-right: transparent;
  margin-right: 0;
  padding-right: 0;
}
}

@media screen and (min-width: 768px) {
  .p-footer__inner {
    max-width: 1000px;
    display: flex;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }
}
/* ここまで フッター */


/* go to TOP */
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#E50000;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  color: #FFF;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:0.6rem;
  transition:all 0.3s;
}

#page-top a:hover{
  background: #ff3c3c;
  color: #FFF;
}
#page-top {
  position: fixed;
  right: 10px;
  z-index: 2;
  opacity: 0;
  transform: translateY(100px);
}
@media screen and (max-width: 768px) {
  #page-top a{
    opacity: 0.5;
  }
}
#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}
.pagetop:hover {
  opacity: .8;
}
/* go to TOP */