@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;}
.tieup20221223{ 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-style{ 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 .en{ letter-spacing: 0.2em;}
#sec02 .img01{ position: relative;}
#sec02 .img01 div{ position: absolute;}
#sec02 .inner > p:last-of-type{ margin-bottom: 0;}
#sec03{ background: url(../img/sec03-bg.jpg) left top repeat; position: relative;}
#sec03::before{ content: ""; background: #efefef; width: 100%; position: absolute; left: 0; top: 0;}
#sec03 h2{ position: relative; z-index: 1;}
#sec03 nav{ position: relative; z-index: 1;}
#sec03 .box .detail .notes{ text-align: center;}
#sec04{ background: #efefef;}
#sec04 ul li .notes{ text-align: center;}
#sec05{ background: #222;}
#sec05 .tit{ color: #ffe401;}
#sec05 .box01 p{ color: #fff;}
#sec05 .box01 p strong{ font-weight: 700; text-decoration: underline;}
#sec05 .box02{ background: #fff; border-radius: 20px;}
#sec05 .box02 h3{ background: #ffe401; font-weight: 700; text-align: center; line-height: 1.3; border-radius: 20px 20px 0 0;}
#sec05 .box02 .detail ul li:first-of-type a{ background: #78c800;}
#sec05 table th{ background: #efefef;}
#sec05 table td{ background: #fff;}
#sec05 table td a{ color: #0071BE; text-decoration: none;}

/* ==== 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: 100px 0 80px;}
#sec01::after{ height: 310px;}
#sec01 .box01{ display: flex; align-items: center; flex-flow: row-reverse; margin-bottom: 100px;}
#sec01 .box01 .text{ margin-left: auto;}
#sec01 .box01 .text p{ font-size: 18px; line-height: 2.0; margin-bottom: 15px;}
#sec01 .box02{ padding: 40px;}
#sec01 .box02 .h2-style{ font-size: 36px; margin-bottom: 30px;}
#sec01 .box02 .h2-style 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: 55px;}
h2.tit .min{ font-size: 48px; margin-bottom: 15px;}
h2.tit .gothic{ font-size: 48px; margin-bottom: 15px;}
h2.tit .en{ font-size: 20px;}
#sec02{ padding: 90px 0 100px;}
#sec02 .inner > div{ margin-bottom: 40px;}
#sec02 .img01 .nav790{ left: 127px; top: 91px;}
#sec02 .img01 .nav770{ left: 316px; top: 171px;}
#sec02 .img01 .nav7mc{ left: 652px; top: 218px;}
#sec02 .img01 .nav7mb{ left: 848px; top: 223px;}
#sec02 .inner > p{ font-size: 18px; line-height: 2.0; margin-bottom: 50px;}
#sec03{ padding: 90px 0 100px;}
#sec03::before{ height: 375px;}
#sec03 nav ul{ display: flex; margin: 0 -9px 100px;}
#sec03 nav ul li{ margin-right: auto;}
#sec03 nav ul li:last-of-type{ margin-right: 0;}
#sec03 .box .stit{ height: 400px; padding-top: 81px; margin-bottom: 100px;}
#sec03 #p790.box .stit{ background: #000 url(../img/sec03-box01-tit-bg_pc.jpg) right center no-repeat; padding-top: 114px;}
#sec03 #p770.box .stit{ background: #000 url(../img/sec03-box02-tit-bg_pc.jpg) right center no-repeat;}
#sec03 #p7mc.box .stit{ background: #000 url(../img/sec03-box03-tit-bg_pc.jpg) right center no-repeat;}
#sec03 #p7mb.box .stit{ background: #000 url(../img/sec03-box04-tit-bg_pc.jpg) right center no-repeat;}
#sec03 .box .detail{ padding-bottom: 100px;}
#sec03 .box .detail .sbox{ display: flex; align-items: center; margin-bottom: 60px;}
#sec03 .box .detail .sbox:nth-of-type(1) .img{ margin-right: 60px;}
#sec03 .box .detail .sbox:nth-of-type(2){ flex-flow: row-reverse;}
#sec03 .box .detail .sbox:nth-of-type(2) .img{ margin-left: auto;}
#sec03 .box .detail .sbox p{ font-size: 18px; line-height: 2.0;}
#sec03 .box .detail .notes{ font-size: 12px; margin-top: 20px;}
#sec04{ padding: 90px 0 100px;}
#sec04 ul{ display: flex; margin: 0 -9px;}
#sec04 ul li{ margin-right: auto;}
#sec04 ul li:last-of-type{ margin-right: 0;}
#sec04 ul li .notes{ font-size: 12px; margin-top: 5px;}
#sec05{ padding: 90px 0 100px;}
#sec05 .tit{ margin-bottom: 0;}
#sec05 .box01{ display: flex; align-items: center; flex-flow: row-reverse; margin-bottom: 40px;}
#sec05 .box01 .img01{ margin-left: auto; margin-right: 40px;}
#sec05 .box01 p{ font-size: 18px; line-height: 2.0;}
#sec05 .box01 p strong{ font-size: 26px;}
#sec05 .box02{ margin-bottom: 40px;}
#sec05 .box02 h3{ font-size: 34px; padding: 15px 0;}
#sec05 .box02 .detail{ padding: 40px 40px 50px;}
#sec05 .box02 .detail .img01{ margin-bottom: 40px;}
#sec05 .box02 .detail ul{ display: flex; justify-content: center;}
#sec05 .box02 .detail ul li{ width: 420px; margin: 0;}
#sec05 .box02 .detail ul li:first-of-type{ margin-right: 40px;}
#sec05 table{ width: 100%;}
#sec05 table th,
#sec05 table td{ border: 1px solid #ddd; padding: 30px;}
#sec05 table th{ font-size: 18px; font-weight: 700; text-align: left; line-height: 2.0; width: 230px;}
#sec05 table td{ font-size: 18px; line-height: 2.0; vertical-align: middle;}
#sec05 table td ul li{ text-indent: -18px; padding-left: 18px;}

/* ==== 終了対応(PC) ==== */
#sec05 .canpain-fin{
  position: relative;
}
#sec05 .canpain-fin::before{
  content: "";
  position: absolute;
  width: calc(100% + 200px);
  height: 100%;
  background-color: #fff;
  opacity: 0.7;
  left: -100px;
  z-index: 1;
}
#sec05 .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 22px; 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 20px;}
#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-style { font-size: 22px; margin-bottom: 10px;}
#sec01 .box02 .h2-style 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; margin-bottom: 10px;}
h2.tit .gothic{ font-size: 28px; margin-bottom: 10px;}
h2.tit .en{ font-size: 14px;}
#sec02{ padding: 45px 0 50px;}
#sec02 .inner > div{ margin: 0 10px 20px;}
#sec02 .img01 > div{ width: 20%;}
#sec02 .img01 .nav790{ left: 7%; top: 10%;}
#sec02 .img01 .nav770{ left: 26%; top: 27%;}
#sec02 .img01 .nav7mc{ left: 53%; top: 31%;}
#sec02 .img01 .nav7mb{ left: 76%; top: 32%;}
#sec02 .inner > p{ font-size: 18px; line-height: 1.8; margin: 0 20px 20px;}
#sec03{ padding: 45px 0 50px;}
#sec03::before{ height: 440px;}
#sec03 nav ul{ display: flex; flex-wrap: wrap; margin: 0 8px 50px;}
#sec03 nav ul li{ width: 50%;}
#sec03 .box .stit{ margin-bottom: 30px;}
#sec03 .box .detail{ padding-bottom: 50px;}
#sec03 .box .detail .sbox{ margin: 0 10px 30px;}
#sec03 .box .detail .sbox .img{ margin-bottom: 20px;}
#sec03 .box .detail .sbox p{ font-size: 18px; line-height: 1.8; margin: 0 10px;}
#sec03 .box .detail .notes{ font-size: 12px; margin-top: 20px;}
#sec03 .box05{ margin: 0 10px;}
#sec04{ padding: 45px 0 50px;}
#sec04 ul{ display: flex; flex-wrap: wrap; margin: 0 8px;}
#sec04 ul li{ width: 50%;}
#sec04 ul li .notes{ font-size: 12px; line-height: 1.3;}
#sec05{ padding: 45px 0 50px;}
#sec05 .tit{ margin-bottom: 15px;}
#sec05 .box01 .img01{ width: 70%; margin: 0 auto 20px;}
#sec05 .box01 p{ font-size: 18px; line-height: 1.8; margin: 0 20px 30px;}
#sec05 .box01 p strong{ font-size: 22px;}
#sec05 .box02{ margin: 0 10px 30px;}
#sec05 .box02 h3{ font-size: 24px; padding: 10px 0 15px;}
#sec05 .box02 .detail{ padding: 20px 20px 30px;}
#sec05 .box02 .detail .img01{ margin-bottom: 20px;}
#sec05 .box02 .detail ul li{ padding: 0;}
#sec05 .box02 .detail ul li:first-of-type{ margin-bottom: 20px;}
#sec05 table{ margin: 0 10px;}
#sec05 table,
#sec05 table tbody,
#sec05 table tr,
#sec05 table th,
#sec05 table td{ display: block;}
#sec05 table th,
#sec05 table td{ padding: 10px;}
#sec05 table th{ font-size: 18px; font-weight: 700; text-align: center; line-height: 1.8; border: 1px solid #ddd;}
#sec05 table td{ font-size: 16px; line-height: 2.0; vertical-align: middle; border-left: 1px solid #ddd; border-right: 1px solid #ddd;}
#sec05 table td ul li{ text-indent: -18px; padding-left: 18px;}

/* ==== 終了対応(SP) ==== */
#sec05 .canpain-fin{
  position: relative;
}
#sec05 .canpain-fin::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.7;
  z-index: 1;
}
#sec05 .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;
}
}





