@charset "utf-8";

/* common
-------------------------------------------------------*/
body{
      background-color: #fff;
}
section{
  font-weight: 400;
  font-style: normal;
  margin: 0 auto;
  }
h1{
  position: relative;
    z-index: 1;
}
h2{
font-optical-sizing: auto;
font-weight: bold;
font-style: normal;
}
.mv-top{
  position: relative;
    z-index: 1;
}
.contents__body {
padding: 0;
}

section{
  background: none;
}

.pd-2p{
  padding: 2% 0;
}
.pd-5p{
  padding: 5% 0;
}
.pd-10p{
  padding: 10% 0;
}
.pd-15p{
  padding: 15% 0;
}
.pd-20p{
  padding: 20% 0;
}
.pdw-5p{
  padding-left: 5%;
  padding-right: 5%;
}
.pdw-8p{
  padding-left: 8%;
  padding-right: 8%;
}

/* ファーストビュー
----------------------------------------------- */
.lead{
  font-size: 0.95rem;
  font-weight: 550;
  line-height: 2rem;
  color: #000000;
  margin: 2%;
  background-color: #FFFFFF;
  font-family: "Tsukushi A Round Gothic","Noto Sans", "M PLUS Rounded 1c", "ヒラギノ丸ゴ ProN",
  "Hiragino Maru Gothic ProN", "Meiryo", "メイリオ";
}
.mv-read{
  margin-top: -8%;
  position: relative;
    z-index: 0;
}
/* ボディ
----------------------------------------------- */
.contents__body{
	line-height: 1.8;
  position: relative;
  z-index: 1;
  margin-top: 10%;
  padding-bottom: 12%;
}

.contents__box00{
 margin-top: 20%;
 padding: 26% 0;
  }
.contents__box{
 margin-top: 8%;
 padding: 0;
  }

.contents__box10{
  margin-top: 10%;
  }
  .contents__box20{
    margin: 25% 5% 0;
    }
.contents__box-10{
  margin-top: -10%;
  }
.contents__box-taidan{
  margin-top: 10%;
padding: 20% 5% 10%;
                }

.bottom-fixed-button {
   position: fixed;
    bottom: 4%;
    width: 90%;
    right: 50%;
    left: 50%;
    padding: 0 10px;
    max-width: 1000px;
    margin: 0 auto;
    transform: translate(-50%, -50%);
}

.p-home__section {
  padding: 0 ;
  margin: 0 ;
}

.p-home__section-inner3 {
  width: 100%;
  margin: 0 auto;
  padding:4% 4% 0;
  margin-top: -18%;
  position: relative;
    z-index: 0;
}
.p-home__section01-item {
  margin: 25px auto 10px;
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/index_img_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 17% 4% 5%;
}
.p-home__section02-item {
  margin: 10px 2% 10%;
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/index_img_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 10% 6% 5%;
}

.p-home__section03-item {
  margin: 15% 2% 15%;
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg03.png);
  background-repeat: repeat;
  background-size: contain;
  padding: 0 0 0; /* Ensure no bottom padding */
  position: relative;
  overflow: visible !important; /* 親要素からはみ出した部分を表示 */
}
.p-home__section03-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: -20vw; /* ここで外側に突き出す */
  width: 100%;
  height: 20vw; /* 画像の高さをビューポート基準で設定 */
  
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/index_img_02_top.png);
  background-size: contain; /* 画像全体を見せる */
  background-position: center bottom;
  background-repeat: no-repeat;
  pointer-events: none; /* クリック不可にする */
}
.p-home__section03-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7vw; /* ここで外側に突き出す */
  width: 100%;
  height: 20vw; /* 画像の高さをビューポート基準で設定 */
  
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/index_img_02_bottom.png);
  background-size: contain; /* 画像全体を見せる */
  background-position: center bottom;
  background-repeat: no-repeat;
  pointer-events: none; /* クリック不可にする */
}


.p-home__section04-item {
  margin: 15% 5% 10%;
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg04.png);
  background-repeat: repeat;
  background-size: contain;
  padding: 0 5% 5%; /* Ensure no bottom padding */
  position: relative;
  overflow: visible !important; /* 親要素からはみ出した部分を表示 */
}
.p-home__section04-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: -20vw; /* ここで外側に突き出す */
  width: 100%;
  height: 20vw; /* 画像の高さをビューポート基準で設定 */
  
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg04-4_top.png);
  background-size: contain; /* 画像全体を見せる */
  background-position: center bottom;
  background-repeat: no-repeat;
  pointer-events: none; /* クリック不可にする */
}
.p-home__section04-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5vw; /* ここで外側に突き出す */
  width: 100%;
  height: 20vw; /* 画像の高さをビューポート基準で設定 */
  
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg04-4_bottom.png);
  background-size: contain; /* 画像全体を見せる */
  background-position: center bottom;
  background-repeat: no-repeat;
  pointer-events: none; /* クリック不可にする */
}

.p-home__section04-item_top {
  margin: 10% 5% 10%;
}

.p-home__section01-item a {
  display: block;
  padding: 7% 4% 6%;
}

main img {
  width: 100%;
}

.contents__body{
  padding: 5% 0 0;
}

.contents__body_main01{
  padding: 0% 5% 2%;
}
.contents__body_main02{
  padding: 3% 5% 3%;
}
.contents__body_main03{
  padding: 3% 8% 5%;
}
.contents__body_main05{
  padding: 0 0 2%;
  margin-top: -48%;
}
.contents__body_main06{
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg06_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 4% 0 5%;
  margin: 2% 4% 8%;
}
.contents__body_osusume_text{
  font-size: 1.4em;
  line-height: 1.6em;
  font-weight: 600;
  font-family: "tbudrgothic-std", sans-serif;
font-style: normal;
color: #404040;

}
.contents__body_osusume_text a{
  border-bottom: #404040 1px solid;
  color: #404040;
}



.p-home__section01-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg01.png);
  background-repeat: repeat;
  background-size: contain;
  padding: 0% 0 30%;
}
.p-home__section02-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg02.png);
  background-repeat: repeat;
  background-size: cover;
  padding: 0 0 25%;
  margin-top:-20%;
}
.p-home__section03-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg03.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 0 10%;
  margin-top: -18%;
}
.p-home__section04-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg04.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 6% 0 25%;
  margin-top: -12%;
}
.p-home__section05-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg05.png);
  background-repeat: repeat;
  background-size: cover;
  padding: 23% 0 8%;
  margin-top: -15%;
}
.p-home__section06-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg03.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 25% 0 5%;
  margin-top: -8%;    
  position: relative;
  z-index: 1;
}
.p-home__section07-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg07.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2% 0 5%;
  margin-top: -23%;
}
.p-home__section08-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg08.png);
  background-repeat: repeat;
  background-size: cover;
  padding: 18% 0 15%;
  margin-top: -12%;
}
.p-home__section09-bg {
  background-image: url(https://cdn.pass.auone.jp/koto/special/images/article/20250701_01/bg09.png);
  background-repeat: repeat;
  background-size: cover;
  padding: 10% 0 10%;
  margin-top: -10%;
}

.btn00 {
  margin-top: 5%;
}
.btn01 {
  display: block;
  margin: 5% 2% 0;
}
.btn02 {
  display: block;
  margin: 3% 2% 0;
}
.btn50 {
  display: block;
  width: 50%;
  margin: -30% 0 0 38%;
}
.btn50_02 {
  display: block;
  width: 50%;
  margin: -26% 0 0 38%;
}
.btn50_03 {
  display: block;
  width: 50%;
  margin: -32% 0 0 38%;
}
.btn50_04 {
  display: block;
  width: 50%;
  margin: -28% 0 0 38%;
}
.btn70 {
  display: block;
  width: 70%;
  margin: 0 auto;
  margin-top: 5%;
  margin-bottom: 5%;
}
.btn80 {
  display: block;
  width: 80%;
  margin: 0 auto;
  margin-top: 5%;
}
.btn85 {
  display: block;
  width: 85%;
  margin: 0 auto;
  margin-top: 3%;
}
.btn85_02 {
  display: block;
  width: 85%;
  margin: 0 auto;
  margin-top: 5%;
}
.btn90 {
  display: block;
  width: 90%;
  margin: 0 auto;
  margin-top: 5%;
}
.btn95 {
  display: block;
  width: 95%;
  margin: 0 auto;
  margin-top: 5%;
}

.p-home__section05-item02 {
  margin-top: 25px;
    padding: 3% 0;
    background-color: #FFF;
}

.p-home__section05-txt {
  color: #000000;
    padding: 3% 0;
    font-size: 0.87rem;
}

.p-home__section05-txt p {
  margin-top: 16px;
}

.p-home__section05-txt p:first-child {
  margin-top: 6%;
}
.period_frame{
  padding: 4% 4% 0;

}

.wrap {
  position: relative;
  z-index: 1;
}

.bottom-fixed-button {
  z-index: 2;
}
.cp01{
}
.p-home__section05-item01{
  margin: 5% 0;
}
.contents__btn{
  background-color: #fff;
}

.contents__body_title{
  padding-top:5%;
  position: relative;
  z-index: 0;
}
.contents__body_title2{
  padding: 15% 4% 0; 
}
.contents__body_title3{
  padding: 25% 0 0; 
}
.contents__body_text{
  margin-top:5%;
  margin-bottom:10%;
  position: relative;
  z-index: 1;
}
.otoku_waku{
  margin:7% 5%;
}

.canpen_waku{
  margin: -15% 5% 5%;
}
.canpen_tyusyaku{
  padding: 3% 3% 9%;
    border-top: 2px dotted #000000;
    border-bottom: 2px dotted #000000;
    margin: 3%;
}
.canpen_tyusyaku_text{
    font-size: 2.7vw !important;
}
.waribiki_waku{
  border-radius: 20px;
  margin: 0% 4% 5%;
}
.waribiki_waku_title{
  background-color: #ff568b;
  padding: 6% 5%;
  border-top-left-radius: 27px;
  border-top-right-radius: 27px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.waribiki_waku_title2{
  background-color: #ff9123;
  padding: 6% 5%;
  border-top-left-radius: 27px;
  border-top-right-radius: 27px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.waribiki_waku_text{
  background-color: #ffffff;
  padding: 5% 0 8%;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 27px;
  border-bottom-left-radius: 27px;
}
.waribiki_waku_text_inner{
  padding: 0 4% 0;
}
.prof_waku{
  background-color: #FFF;
  margin:5%;
}
.line2{
  margin: 5% 0;
}

.prof_waku_title{
  padding: 5%;
}
.prof_waku_text{
  padding: 0 5% 5%;
}
.prof_waku_text p{
  font-size: 3.1vw;
  font-weight: 600;
  color:#404040;
}
.prof_waku_text a{
 border-bottom: #404040 solid 1px;
 color:#404040;
}

.inline-link {
  margin-top: -44px;
  position: absolute;
}
.ranking10-02{
  margin:8% auto;
  width:90%;
}
.ranking04{
  margin:8% auto 3%;
  width:90%;
}
.ranking03{
  margin:0% auto;
  width:90%;
}
.ranking02{
  margin:3% auto;
  width:90%;
}

.small{
  font-size: 1rem;
}
/* 2つのブロックで共通するスタイル */
.container {
  margin: 5%; /* 中央に配置 */
  border-radius: 20px;
  padding: 5% 3%;
  box-sizing: border-box;
  position: relative;
  color: #000000; /* テキスト基本色は黒 */
  text-align: center;
  font-family: "ta-kakugo-gf-01", sans-serif;
font-weight: 400;
font-style: normal;
}

/* iOS版用コンテナ */
.container-ios {
  background-color: #43B6E8; /* 青系 */
}

/* Android版用コンテナ */
.container-android {
  background-color: #F27970; /* サーモンピンク系 */
}
.button:hover {
  opacity: 0.8; /* ホバー時のエフェクトはお好みで */
}


  /* Lchiki_free */
  .Lchiki_free_box {
    background-color: #FF5015;
    margin: 4% 4%;
    border-radius: 20px; 
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 6% 4% 4%;
  }
  
  .Lchiki_free_title {
    text-align: center;
    width: 100%;
    margin-bottom: 10px;
    padding:0 2%;
  }
  .Lchiki_free_title2 {
    text-align: center;
    width: 100%;
    padding:0 2%;
  }
  .Lchiki_free_content {
    display: flex;
    width: 100%;
    position: relative;
    align-items: stretch; 
  }
  
  .Lchiki_free_left {
    text-align: center;
    width: 50%;
    box-sizing: border-box;
    z-index: 1;
    padding:0 3% 2% 2%;
  }
  
  .Lchiki_free_right {
    text-align: center;
    width: 55%;
    box-sizing: border-box;
    position: absolute;
    left: 45%;
    z-index: 2;
  }

.Lchiki_quiz{

  padding:10%;
  position: relative;
  margin: 5%;
}
.accordionImage {
  display: none;  /* 初期状態で非表示 */
  opacity: 0;     /* 透明にする */
  overflow: hidden;
}
.pickup_img{
  padding: 5% 2%;
}
.line2{
  width:99%;
}
.accordionImage p{
  font-size: 4vw;
    font-weight: 600;
    color: #404040;
    text-align: center;
}
.accordionImage p b{
  font-size: 4.5vw;
    font-weight: 600;
    color: #404040;
    text-align: center;
}
.accordionImage p span{
  font-size: 3.5vw;
    font-weight: 600;
    color: #404040;
    text-align: center;
}

.pontapass_waku{
  margin:0 6% 5%;
}


.accordionImage a {
  border-bottom: 1px solid #0076D6;
  color: #0076D6;
}

/*----------------------------------------------------------
link
----------------------------------------------------------*/
.linkBlock {
  position: relative;
}
.linkBlock__item {
  position: absolute;
}
.linkBlock__anchor {
  display: inline-block;
}
.linkBlock__img {
  width: 100%;
}


/* あんしんバナー変更20250211- */
.linkBlockType01__linkList__item-anshin {
  top: 0;
  right: 7.962962963%;
  bottom: 0;
  left: 7.962962963%;
}


.coment_box{
  font-size: var(--font-size-lll);
  background-color: #ffffff;
  color: #404040;
  font-weight: 600;
  font-family: "fot-udkakugo-large-pr6n", sans-serif;
  line-height:180%;
  letter-spacing: 0.12em;
  
}
.just{
  display: inline-block;
  text-align: justify;
}

.coment_box_ex{
  margin-top:2%;
  font-size: var(--font-size-m);
  background-color: #ffffff;
  font-weight: 900;
  font-family: "fot-udkakugo-large-pr6n", sans-serif;
  line-height: 150%;
  letter-spacing: 0.1em;
}
.waribiki_waku_text_inner_text{
  margin-top:2%;
  font-size: var(--font-size-l);
  color: #404040;
  font-weight: 900;
  font-family: "fot-udkakugo-large-pr6n", sans-serif;
  line-height: 180%;
  letter-spacing: 0.05em;

}
.waribiki_waku_text_inner_text_ex{
  margin-top:2%;
  font-size: var(--font-size-m);
  color: #404040;
  font-weight: 900;
  font-family: "fot-udkakugo-large-pr6n", sans-serif;
  line-height: 150%;
  letter-spacing: 0.05em;

}
.exbox{
  margin:0 4%;
}
.exbox_text{
  margin-top:2%;
  font-size: var(--font-size-l);
  color: #404040;
  font-weight: 900;
  font-family: "fot-udkakugo-large-pr6n", sans-serif;
  line-height: 150%;
  letter-spacing: 0.12em;
}
.exbox_tex_list{
  margin-left:1em;
}

:root {
  --font-size-lll: 3.5vw;       /* LL: vwで新たに指定（例: 4vw） */
  --font-size-ll: 3.2vw;       /* LL: vwで新たに指定（例: 4vw） */
  --font-size-l: 3vw;      /* L */
  --font-size-m: 2.6vw;      /* M */
  --font-size-s: 2.5vw;      /* S: rem → vw に変換 */
  --font-size-ss: 2vw;       /* SS: rem → vw に変換 */
}