@charset "utf-8";
/* CSS Document */
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  font-family: YuGothic, "游ゴシック", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif
}

html {
  font-size: 10px;
  height: 100%;
}

body {
  height: 100%;
  line-height: 1.1;
  line-break: strict;
  word-break: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-feature-settings: "palt";
  text-align: justify;
  text-align: left;
  color: #333;
  font-size: 10px;
  font-weight: 500;
  /*overflow-x: hidden モーダル時縦スクロールバー2つを回避*/
}

* {
  word-break: break-all;
  word-wrap: break-word;
}

ol, ul {
  list-style: none;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

* {
  box-sizing: border-box;
  word-break: break-all;
}

a {
  color: #333;
  text-decoration: none;
  transition: .2s ease-in-out;
}

.u-for-pc {
  display: inline-block;
}
.u-for-sp {
  display: none;
}

@media screen and (max-width:768px) {
.u-for-pc {
  display: none;
}
.u-for-sp {
  display: block;
}
}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
.scroll_up_sp {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up_sp.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}
.scroll_left.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}
.scroll_right.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}
.timing02 {transition-delay: .2s;}
.timing03 {transition-delay: .3s;}
.timing04 {transition-delay: .4s;}
.timing05 {transition-delay: .5s;}
.timing06 {transition-delay: .6s;}
.timing07 {transition-delay: .7s;}
.timing08 {transition-delay: .8s;}
.timing09 {transition-delay: .9s;}
.timing10 {transition-delay: .10s;}
.timing11 {transition-delay: .11s;}
.timing12 {transition-delay: .12s;}
.timing13 {transition-delay: .13s;}
.timing14 {transition-delay: .14s;}
.timing15 {transition-delay: .15s;}
.timing16 {transition-delay: .16s;}
.timing17 {transition-delay: .17s;}
.timing18 {transition-delay: .18s;}
.timing19 {transition-delay: .19s;}
.timing20 {transition-delay: .20s;}
.timing21 {transition-delay: .21s;}

.No3_camp_kiyaku_accordion {
  margin-top: 20px;
  margin-bottom: 2em;
  border: none;
}

.No3_camp_kiyaku{
  text-align: center;
  font-size: 1.8em;
  font-weight: 600;
  color: #fff;
  background-color: #000;
  padding: 0.8em;
  position: relative;
}
.No3_camp_kiyaku::before{
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  top: calc( 50% - 6px );
  right: 20px;
  transform: rotate(135deg);
}
.No3_camp_kiyaku.open::before {
  transform: rotate(315deg);
}
.No3_camp_kiyaku_honbun {
  padding: 2em;
  display: none;
}
.No3_camp_kiyaku_honbun ul{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  font-size: 1.5em;
  margin-bottom: 2em;
  line-height: 1.5;
  list-style: square;
}

.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0em 1.5em;
}
.animation {
  transition: 1.6s ease;
  margin-top: 200px;
  opacity: 0
}

.fade_up {
  transition: 1.6s ease;
  margin-top: 0;
  opacity: 1
}
.u-for-pc {
  display: inline-block;
}
.u-for-sp {
  display: none;
}
.squareback {
  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
          linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center center;

  /* 以下任意のスタイル */
  padding: 0px;
}
.slide_wide_box-top {
  max-width: 1100px;
  margin: 0 auto;
}
/*SNS*/
.sns_wrapper{
 padding: 2em;
}
.sns_message_img{
  max-width: 700px;
  margin: 1.5em auto;
}
.sns_box{
 display: flex;
 justify-content: center;
 margin: 0 auto;
}
.sns_box img{
  max-width: 650px;
  margin: 2em;
}
.sns_box3{
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 margin: 0 auto;
 width: 900px;
}
.sns_box3 img{
  max-width: 400px;
  margin: 1em;
}
/*2026Xキャンペーン*/
.fv{
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
}
.x2026campbox{
  border: 2px solid #fca302;
  max-width: 900px;
  margin: 3em auto;
  background: #fff;
}
.x2026campheader{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  background: #fca302;
  font-size: 3em;
  font-weight: 800;
  padding: 0.5em;
  text-align: center;
  position: relative;
}
.x2026campcara{
  position: absolute;
  bottom: 0;
  right: 3%;
  z-index: 10;
  max-width: 150px;
}
.x2026campbody{
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
.x2026stepimg{
  width: 300px;
  margin: 2em 2em 5em 2em;
}
.x2026camptext{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);  
  font-size: 3em;
  font-weight: 800;
  line-height: 1.5;
  min-width: 600px;
  height: 550px;
  margin-right: 2em;
  position: relative;
}
.x2026one {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  font-weight: 800;
  position: absolute;
  top: 7%;
  left: 3%;
}
.xfollowimg{
  max-width: 300px;
  position: absolute;
  top: 18%;
  left: 5%;
}
.x2026twe {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  font-weight: 800;
  position: absolute;
  top: 44%;
  left: 3%;
}
.x2026three {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  font-weight: 800;
  position: absolute;
  top: 74%;
  left: 3%;
}

.x2026campbox2{
  border: 2px solid #ff0000;
  max-width: 900px;
  margin: 6em auto;
  margin-top: 10em;
  background: #fff;
}
.x2026campheader2{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  background: #ff0000;
  font-size: 3em;
  color: #fff;
  font-weight: 800;
  padding: 0.5em;
  text-align: center;
}
.x2026campbody2{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  padding: 2em;
}
.x2026stepimg2{
  max-width: 350px;
  margin: 2em auto;
}
.x2026camptext2{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);  
  font-size: 3em;
  font-weight: 800;
  line-height: 1.5;
  margin: 1.5em auto;
  text-align: center;
}
.x2026camptext2 img{
  width: 250px;
}
.x2026one2 {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  font-weight: 800;
}
.x2026one2 span {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  font-weight: 800;
  font-size:0.8em;
}
.x2026campbox2_txt{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 2em;
  line-height: 1.5;
}

.x2026campbox3{
  border: 2px solid #ffd200;
  max-width: 900px;
  margin: 6em auto;
  margin-top: 10em;
  background: #fff;
}
.x2026campheader3{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  background: #ffd200;
  font-size: 3em;
  color: #000;
  font-weight: 800;
  padding: 0.5em;
  text-align: center;
}
.x2026campbody3{
  padding: 2em;
}
.x2026campbody3{
  font-size: 1.8em;
}
.x2026campbody3 img{
 width: 40px;
 margin-right: 0.5em;
}
.x2026campbody3 ul{
 list-style: none;
}
.x2026campbody3 li{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  color: #000;
  font-weight: 600;  
  line-height: 1.5;
  text-indent: -2em;
  padding-left: 2em;
  margin-bottom: 1em;
}
.x2026campbody3 li span{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  color: #e82a32;
  font-weight: 800;  
}
.x2026campbody3 li:first-child::before {
  content: "";
  display: inline-block;
  width: 45px;          /* 画像の横幅 */
  height: 45px;         /* 画像の縦幅 */
  background-image: url('../img/q.png'); /* 画像のパス */
  background-size: contain;   /* 画像を枠内に収める */
  background-repeat: no-repeat;
  vertical-align: middle;     /* 文字との上下位置を揃える */
  margin-right: 0.3em;      /* 文字との間の余白 */
}

.x2026campbody3 li:nth-child(2)::before  {
  content: "";
  display: inline-block;
  width: 40px;          /* 画像の横幅 */
  height: 40px;         /* 画像の縦幅 */
  background-image: url('../img/a.png'); /* 画像のパス */
  background-size: contain;   /* 画像を枠内に収める */
  background-repeat: no-repeat;
  vertical-align: middle;     /* 文字との上下位置を揃える */
  margin-right: 0.5em;      /* 文字との間の余白 */
}
.x2026campbody3 p{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  font-size: 0.78em;
  color: #000;
  font-weight: 600;
  line-height: 1.5;
  border-bottom: 1px solid #000;
  padding-bottom: 1.5em;
  margin-bottom: 2em;
}

.x2026campbox4{
  max-width: 900px;
  margin: 6em auto;
  margin-top: 10em;
  background: #fff;
}
.x2026campheader4{
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotateZ(0.03deg);
  background: #000;
  font-size: 2.5em;
  color: #fff;
  font-weight: 800;
  padding: 0.8em;
  text-align: center;
}
.widebox05{
  max-width: 1920px;
  margin: 0 auto;
}

/*PCでは無効（改行しない）*/
.sma {
  display: none;
}

/* pagetop */
#pagetop {
  position:fixed;
  right:10px;
  bottom:50px;
  cursor:pointer;
  z-index: 10;
}
#pagetop img {
  max-width: 60px;
}

.footer__copy {
  margin-top: 0px;
  text-align: center;
  color: #fff;
  font-size: 1.4em;
  line-height: 3;
  background-color: #000;
}

@media screen and (max-width:768px) {
.footer__copy {
  font-size: 1.2rem;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 5%;
  padding-bottom: 2em;
}
#pagetop {
  bottom: 65px !important;
}
}
@media screen and (max-width: 640px) {
.u-for-tb {
  display: none;
}
/*PCでは無効（改行しない）*/
.sma {
  display: block;
}
.sns_wrapper {
  margin: 1em auto;
  padding-bottom: 2em;
}
.sns_message_img{
  margin: 1.0em auto;
  width: 90%;
}
.sns_box{
 display: flex;
 flex-wrap: wrap;
 margin: 0 auto;
}
.sns_box img{
  min-width: 300px;
  margin: 1em auto;
}
.x2026campcara {
  max-width: 100px;
}
.x2026campheader {
  font-size: 2em;
}
.x2026stepimg{
  width: 90px;
  height: 250px;
  margin: 2em 0.5em 2em 1.0em;
}
.x2026camptext{
  font-size: 1.5em;
  min-width: 230px;
  height: 250px;
  margin-right: 0.5em;
}
.x2026one {
  top: 9%;
  left: 0.5%;
  bottom: auto;
  right: auto;
}
.xfollowimg{
  max-width: 200px;
  top: 29%;
  left: 0.5%;
  bottom: auto;
  right: auto;
}
.x2026twe {
  top: 49%;
  left: 0.5%;
  bottom: auto;
  right: auto;
}
.x2026three {
  top: 79%;
  left: 0.5%;
  bottom: auto;
  right: auto;
}
.x2026campheader2 {
  font-size: 2.3em;
}
.x2026campbox2{
  margin-top: 5em;
}
.x2026campbox3 {
  margin-top: 5em;
}
.x2026campbody3 {
  font-size: 1.1em;
  padding: 0em;
}

.x2026campheader3 {
  font-size: 2em;
}
.x2026campbody3 li {
}
.x2026campbody3 li:first-child::before {
  width: 25px;
  height: 25px;
}
.x2026campbody3 li:nth-child(2)::before {
  width: 25px;
  height: 25px;
}
.x2026campbody3 p {
  font-size: 0.75em;
}
.x2026campheader4{
  font-size: 2em;
}
.x2026campbox4 {
  margin-top: 5em;
}
}

@media screen and (min-width: 375px) and (max-width: 667px) and (orientation: landscape) {
  /* iPhone SE 横向き用のスタイルをここに記述 */
.sns_box img {
  margin: 0em;
}
.x2026camptext{
  height: 350px !important;
}
.x2026one {
  top: 9% !important;
  left: 2%;
  bottom: auto;
  right: auto;
}
.xfollowimg{
  max-width: 200px;
  top: 25% !important;
  left: 2%;
  bottom: auto;
  right: auto;
}
.x2026twe {
  top: 46% !important;
  left: 0.5%;
  bottom: auto;
  right: auto;
}
.x2026three {
  top: 75% !important;
  left: 0.5%;
  bottom: auto;
  right: auto;
}
}

/*ipad MINI タブレット対応*/
@media screen and (min-width: 640px) and (max-width: 1133px) {
.x2026stepimg{
  width: 150px;
  height: 250px;
  margin: 2em 0.5em 2em 1.0em;
}
.x2026camptext{
  font-size: 2.5em;
  min-width: 480px;
  height: 480px;
  margin-right: 0.5em;
}
.x2026one {
  top: 5%;
  left: 0;
}
.xfollowimg{
  max-width: 300px;
  top: 18%;
  left: 5%;
}
.x2026twe {
  top: 40%;
  left: 0;
}
.x2026three {
  top: 65%;
  left: 0;
}
}
/*ipad タブレット対応*/
@media screen and (min-width: 820px) and (max-width: 1210px) {
.x2026stepimg{
  width: 180px;
  height: 280px;
  margin: 2em 0.5em 2em 1.0em;
}
.x2026camptext{
  font-size: 2.5em;
  min-width: 500px;
  height: 550px;
  margin-right: 0.5em;
}
.x2026one {
  top: 7%;
  left: 0;
}
.xfollowimg{
  max-width: 300px;
  top: 18%;
  left: 5%;
}
.x2026twe {
  top: 42%;
  left: 0;
}
.x2026three {
  top: 70%;
  left: 0;
}
}