@charset "UTF-8";
/* =============================================
                    CONTENTS
============================================= */
.gothic{ font-weight: 900;}
.min{ font-family: 'Noto Serif JP', serif; font-weight: 600;}
.en{ font-family: 'Roboto Condensed', sans-serif; font-weight: 700;}
.tieup20240202{ background: #fff;}
.tieup20240202 img {
  max-width: 100%;
}
/* contents */
.btn-arrow a{ background: #0071BE; font-weight: 700; color: #fff; text-align: center; text-decoration: none; box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.4); display: block; position: relative;}
.btn-arrow a::after{ content: ""; border-top: 2px solid #fff; border-right: 2px solid #fff; width: 8px; height: 8px; transform: rotate(45deg); position: absolute; right: 30px; top: 50%; margin-top: -6px;}
#sec01{ position: relative;}
#sec01::after{ content: ""; background: #efefef; width: 100%; position: absolute; left: 0; bottom: 0;}
#sec01 .box01 .text p:last-of-type{ margin-bottom: 0;}
#sec01 .box02{ background: #092158; border-radius: 0px; position: relative; z-index: 1;}
#sec01 .box02 .writer-profile-name{ color: #fff;}
#sec01 .box02 p{ color: #fff;}
#sec01 .box02 .img01{ position: absolute;}
h2.tit span{ text-align: center; line-height: 1.3; display: block;}
h2.tit strong{ font-weight: 600; color: #a81d10;}
#sec03{ background: #efefef;}
#sec05{ background: #efefef;}
#sec05 ul li .notes{ text-align: center;}
#sec06{ background: #222;}
#sec06 .tit{ color: #ffe401;}
#sec06 .box01 p{ color: #fff;}
#sec06 .box01 p strong{ font-weight: 700; text-decoration: underline;}
#sec06 .box01 p .notes{ display: block; text-align: right;}
#sec06 .box02{ background: #fff; border-radius: 20px;}
#sec06 .box02 h3{ background: #ffe401; font-weight: 700; text-align: center; line-height: 1.3; border-radius: 20px 20px 0 0;}
#sec06 .box02 .detail ul li:first-of-type a{ background: #78c800;}
#sec06 table th{ background: #efefef;}
#sec06 table td{ background: #fff;}
#sec06 table td a{ color: #0071BE; text-decoration: none;}
#anchor{ position: fixed; z-index: 10;}

/* ==== PC ===== */
@media screen and (min-width: 768px){
/* contents */
.inner{ width: 1080px; margin: 0 auto;}
.btn-arrow{ width: 520px; margin: 0 auto;}
.btn-arrow a{ font-size: 26px; padding: 25px 0 29px; border-radius: 40px;}
.btn-arrow a:hover{ box-shadow: none;}
#main{ background: url(../img/main-bg_pc.jpg) left top repeat-x; padding-top: 30px; background-size: 10px 470px;}
#main .main-img{ position: relative;}
#main .main-img .anchor{ position: absolute; bottom: 115px; right: 30px;}
#sec01{ padding: 30px 0 60px;}
#sec01::after{ height: 230px;}
#sec01 .box01{ margin-bottom: 40px;}
#sec01 .box01 .text p{ font-size: 18px; text-align: left; line-height: 2.0; margin-bottom: 15px;}
#sec01 .box02{ padding: 40px;}
#sec01 .box02 .writer-profile-name{ font-size: 36px; margin-bottom: 30px;}
#sec01 .box02 .writer-profile-name span{ font-size: 24px;}
#sec01 .box02 p{ font-size: 17px; line-height: 2.0; width: 714px;}
#sec01 .box02 .img01{ right: 0px; bottom: 0; width: 270px;}
h2.tit { margin-bottom: 75px;}
h2.tit { font-size: 48px;}
h2.tit .gothic{ font-size: 48px; margin-bottom: 15px;}
  section .inner > h2,
  section .inner > h2 span {
    font-size: 48px;
  }
.comment-area{ padding: 90px 0 100px;}
.comment-area .sbox{ display: flex; align-items: center; margin-bottom: 60px;}
.comment-area .sbox:nth-of-type(2n+1) .img{ margin-right: 60px;}
.comment-area .sbox:nth-of-type(2n){ flex-flow: row-reverse;}
.comment-area .sbox:nth-of-type(2n) .img{ margin-left: auto;}
.comment-area .sbox p{ font-size: 17px; line-height: 1.9; width: 510px;}
  .comment-area .img {
    width: 510px;
  }
#sec05{ padding: 90px 0 100px;}
#sec05 ul{ display: flex; margin: 0 -9px;}
#sec05 ul li{ margin-right: auto;}
#sec05 ul li:last-of-type{ margin-right: 0;}
#sec05 ul li .notes{ font-size: 12px; margin-top: 5px;}
#sec06{ border-top: 10px solid #ffe401; padding: 90px 0 100px;}
#sec06 .tit{ margin-bottom: 0;}
#sec06 .box01{ display: flex; align-items: center; flex-flow: row-reverse; margin-bottom: 40px;}
#sec06 .box01 .img01{ margin-left: auto; margin-right: 40px;}
#sec06 .box01 p{ font-size: 18px; line-height: 2.0; padding-left: 20px;}
#sec06 .box01 p strong{ font-size: 26px;}
#sec06 .box01 p .notes{ font-size: 12px;}
#sec06 .box02{ margin-bottom: 40px;}
#sec06 .box02 h3{ font-size: 34px; padding: 15px 0;}
#sec06 .box02 .detail{ padding: 40px 40px 50px;}
#sec06 .box02 .detail .img01{ text-align: center; margin-bottom: 40px;}
#sec06 .box02 .detail ul{ display: flex; justify-content: center;}
#sec06 .box02 .detail ul li{ width: 420px; margin: 0;}
#sec06 .box02 .detail ul li:first-of-type{ margin-right: 40px;}
#sec06 table{ width: 100%;}
#sec06 table th,
#sec06 table td{ border: 1px solid #ddd; padding: 30px;}
#sec06 table th{ font-size: 18px; font-weight: 700; text-align: left; line-height: 2.0; width: 230px;}
#sec06 table td{ font-size: 18px; line-height: 2.0; vertical-align: middle;}
#sec06 table td ul li{ text-indent: -18px; padding-left: 18px;}
#anchor{ bottom: 120px; right: 20px;}

/* ==== 終了対応(PC) ==== */
#sec06 .canpain-fin{
  position: relative;
}
#sec06 .canpain-fin::before{
  content: "";
  position: absolute;
  width: calc(100% + 200px);
  height: 100%;
  background-color: #fff;
  opacity: 0.7;
  left: -100px;
  z-index: 1;
}
#sec06 .canpain-fin .canpain-fin__text{
  position: absolute;
  display: inline-block;
  color: #ff0000;
  font-size: 60px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  top: 370px;
  z-index: 2;
}

}

/* ==== SP ===== */
@media screen and (max-width: 767px){
/* contents */
.btn-arrow{ padding: 0 20px;}
.btn-arrow a{ font-size: 20px; padding: 16px 0 20px; border-radius: 35px;}
#main .main-img .anchor{ padding: 0 20px; margin-top: -30px;}
#sec01{ padding: 20px 0 40px;}
#sec01::after{ height: 200px;}
#sec01 .box01{ margin-bottom: 40px;}
#sec01 .box01 .text{ margin: 0 20px 0;}
#sec01 .box01 .text p{ font-size: 16px; line-height: 1.8; margin-bottom: 15px;}
#sec01 .box01 .img01{ padding: 10px;}
#sec01 .box02{ padding: 55px 20px 20px; margin: 0 10px;}
#sec01 .box02 .writer-profile-name{ font-size: 22px; margin-bottom: 10px;}
#sec01 .box02 .writer-profile-name span{ font-size: 14px;}
#sec01 .box02 p{ font-size: 14px; line-height: 2.0;}
#sec01 .box02 .img01{ top: -20px; left: inherit; right: 0; z-index: -1; padding: 0; width: 45%;}
h2.tit{ margin-bottom: 25px;}
h2.tit .min{ font-size: 28px;}
h2.tit .gothic{ font-size: 28px; margin-bottom: 10px;}
  section .inner > h2,
  section .inner > h2 span {
    font-size: 28px;
  }
.comment-area{ padding: 45px 0 50px;}
.comment-area .sbox{ margin: 0 10px 30px;}
.comment-area .sbox .img{ margin-bottom: 20px;}
.comment-area .sbox p{ font-size: 16px; line-height: 1.8; margin: 0 10px;}
#sec05{ padding: 45px 0 50px;}
#sec05 ul{ display: flex; flex-wrap: wrap; margin: 0 8px;}
#sec05 ul li{ width: 47%; margin-bottom: 3em;}
#sec05 ul li .notes{ font-size: 12px; line-height: 1.3;}
#sec06{ border-top: 5px solid #ffe401; padding: 45px 0 50px;}
#sec06 .tit{ margin-bottom: 15px;}
#sec06 .box01 .img01{ width: 70%; margin: 0 auto 20px;}
#sec06 .box01 p{ font-size: 18px; line-height: 1.8; margin: 0 20px 30px;}
#sec06 .box01 p strong{ font-size: 22px;}
#sec06 .box01 p .notes{ font-size: 12px;}
#sec06 .box02{ margin: 0 10px 30px;}
#sec06 .box02 h3{ font-size: 24px; padding: 10px 0 15px;}
#sec06 .box02 .detail{ padding: 20px 20px 30px;}
#sec06 .box02 .detail .img01{ margin-bottom: 20px;}
#sec06 .box02 .detail ul li{ padding: 0;}
#sec06 .box02 .detail ul li:first-of-type{ margin-bottom: 20px;}
#sec06 table{ margin: 0 10px;}
#sec06 table,
#sec06 table tbody,
#sec06 table tr,
#sec06 table th,
#sec06 table td{ display: block;}
#sec06 table th,
#sec06 table td{ padding: 10px;}
#sec06 table th{ font-size: 18px; font-weight: 700; text-align: center; line-height: 1.8; border: 1px solid #ddd;}
#sec06 table td{ font-size: 16px; line-height: 1.8; vertical-align: middle; border-left: 1px solid #ddd; border-right: 1px solid #ddd;}
#sec06 table td ul li{ text-indent: -18px; padding-left: 18px;}
#anchor{ bottom: 80px; right: 10px; width: 80px;}

/* ==== 終了対応(SP) ==== */
#sec06 .canpain-fin{
  position: relative;
}
#sec06 .canpain-fin::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.7;
  z-index: 1;
}
#sec06 .canpain-fin .canpain-fin__text{
  position: absolute;
  display: inline-block;
  color: #ff0000;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  top: 200px;
  z-index: 2;
}
}



.swiper-wrapper {
  padding-bottom: 40px;
}
.product-list {
  width: auto;
}
.product-list ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8rem;
}
.product-list li {
  width: 22%;
}
.product-list li a {
  color: #000;
  text-decoration: none;
}
.product-image img {
  max-width: 100%;
}
.product-name {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.product-btn {
  text-align: center;
  background-color: #0097DC;
  border-radius: 100vh;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  padding: 0.3em;
  transition: 0.2s;
  position: relative;
  box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.4);
}
a:hover .product-btn {
  box-shadow: none;
}
.product-btn::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(0,-50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 1em;
}
a:hover .product-btn {
  opacity: 0.8;
}
ul:before,
ul:after {
  display: none;
}
.swiper.slider02, .swiper.slider05 {
  padding-bottom: 0;
}