@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;}
.tieup20231020{ background: #fff;}

/* 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: #000; border-radius: 20px; position: relative; z-index: 1;}
#sec01 .box02 h2{ 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: 40px;}
#main .main-img{ position: relative;}
#main .main-img .anchor{ position: absolute; bottom: 115px; right: 30px;}
#sec01{ padding: 60px 0 80px;}
#sec01::after{ height: 310px;}
#sec01 .box01{ margin-bottom: 60px;}
#sec01 .box01 .text p{ font-size: 18px; text-align: center; line-height: 2.0; margin-bottom: 15px;}
#sec01 .box02{ padding: 40px;}
#sec01 .box02 h2{ font-size: 36px; margin-bottom: 30px;}
#sec01 .box02 h2 span{ font-size: 24px;}
#sec01 .box02 p{ font-size: 16px; line-height: 2.0;}
#sec01 .box02 .img01{ right: 20px; bottom: 0;}
h2.tit{ margin-bottom: 75px;}
h2.tit .min{ font-size: 48px;}
h2.tit .gothic{ font-size: 48px; margin-bottom: 15px;}
.comment-area{ padding: 90px 0 100px;}
.comment-area .sbox{ display: flex; align-items: center; margin-bottom: 60px;}
.comment-area .sbox:nth-of-type(1) .img{ margin-right: 60px;}
.comment-area .sbox:nth-of-type(2){ flex-flow: row-reverse;}
.comment-area .sbox:nth-of-type(2) .img{ margin-left: auto;}
.comment-area .sbox p{ font-size: 18px; line-height: 2.0; 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 50px;}
#sec01::after{ height: 270px;}
#sec01 .box01{ margin-bottom: 40px;}
#sec01 .box01 .text{ margin: 0 20px 0;}
#sec01 .box01 .text p{ font-size: 18px; line-height: 1.8; margin-bottom: 15px;}
#sec01 .box01 .img01{ padding: 10px;}
#sec01 .box02{ padding: 55px 20px 20px; margin: 0 10px;}
#sec01 .box02 h2{ font-size: 22px; margin-bottom: 10px;}
#sec01 .box02 h2 span{ font-size: 14px;}
#sec01 .box02 p{ font-size: 14px; line-height: 2.0;}
#sec01 .box02 .img01{ top: -20px; left: 0; z-index: -1; padding: 0 10px 0 20px;}
h2.tit{ margin-bottom: 25px;}
h2.tit .min{ font-size: 28px;}
h2.tit .gothic{ font-size: 28px; margin-bottom: 10px;}
.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: 18px; 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: 50%;}
#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;
}
}





