@charset "UTF-8";

/********************************************************************
	追加
********************************************************************/
/*margin-bottom　外側の下方向にスペースを空けたい時に使用*/
.mb5{margin-bottom: 5px!important;}
.mb10{margin-bottom: 10px!important;}
.mb15{margin-bottom: 15px!important;}
.mb20{margin-bottom: 20px!important;}
.mb25{margin-bottom: 25px!important;}
.mb30{margin-bottom: 30px!important;}
.mb35{margin-bottom: 35px!important;}
.mb40{margin-bottom: 40px!important;}
.mb45{margin-bottom: 45px!important;}
.mb50{margin-bottom: 50px!important;}
.mb60{margin-bottom: 60px!important;}
.mb65{margin-bottom: 60px!important;}
.mb70{margin-bottom: 70px!important;}
.mb80{margin-bottom: 80px!important;}
.mb90{margin-bottom: 80px!important;}
.mb100{margin-bottom: 100px!important;}
.mb110{margin-bottom: 110px!important;}
.mb120{margin-bottom: 120px!important;}
.mb130{margin-bottom: 130px!important;}
.mb150{margin-bottom: 150px!important;}
.mb180{margin-bottom: 180px!important;}
.mb200{margin-bottom: 200px!important;}
.mb650{margin-bottom: 650px!important;}

/*margin-top 　外側の上方向にスペースを空けたい時に使用*/
.mt40{margin-top: 40px!important;}
.mt25{margin-top: 25px!important;}
.mt50{margin-top: 50px!important;}
.mt80{margin-top: 80px!important;}

/*margin-right 　外側の右方向にスペースを空けたい時に使用*/
.mr10{margin-right: 10px!important;}
.mr15{margin-right: 15px!important;}

/*margin-left 　外側の右方向にスペースを空けたい時に使用*/
.ml10{margin-left: 10px!important;}
.ml15{margin-left: 15px!important;}

/*padding-top　内側の上方向にスペースを空けたい時に使用*/
.pt10{padding-top: 10px!important;}
.pt20{padding-top: 20px!important;}
.pt30{padding-top: 30px!important;}
.pt40{padding-top: 40px!important;}

/*padding-bottom　内側の下方向にスペースを空けたい時に使用*/
.pb10{padding-bottom: 10px!important;}
.pb20{padding-bottom: 20px!important;}
.pb30{padding-bottom: 30px!important;}
.pb40{padding-bottom: 40px!important;}
.pb50{padding-bottom: 50px!important;}
.pb60{padding-bottom: 60px!important;}
.pb70{padding-bottom: 70px!important;}
.pb80{padding-bottom: 80px!important;}

/*margin マイナス*/
.mb-minus10{margin-bottom: -10px!important;}
.mb-minus15{margin-bottom: -15px!important;}
.mb-minus20{margin-bottom: -20px!important;}
.mb-minus25{margin-bottom: -25px!important;}
.mb-minus30{margin-bottom: -30px!important;}
.mb-minus35{margin-bottom: -35px!important;}
.mb-minus40{margin-bottom: -40px!important;}

/*padding マイナス*/
.pb-minus40{padding-bottom: -40px!important;}

/*横幅のサイズ指定*/
.width10{width: 10%!important;}
.width15{width: 15%!important;}
.width16{width: 16%!important;}
.width17{width: 17%!important;}
.width18{width: 18%!important;}
.width19{width: 19%!important;}
.width20{width: 20%!important;}
.width21{width: 21%!important;}
.width22{width: 22%!important;}
.width23{width: 23%!important;}
.width24{width: 24%!important;}
.width25{width: 25%!important;}
.width26{width: 26%!important;}
.width27{width: 27%!important;}
.width28{width: 28%!important;}
.width29{width: 29%!important;}
.width30{width: 30%!important;}
.width31{width: 31%!important;}
.width32{width: 32%!important;}
.width33{width: 33%!important;}
.width34{width: 34%!important;}
.width35{width: 35%!important;}
.width36{width: 36%!important;}
.width37{width: 37%!important;}
.width38{width: 38%!important;}
.width39{width: 39%!important;}
.width40{width: 40%!important;}
.width41{width: 41%!important;}
.width42{width: 42%!important;}
.width43{width: 43%!important;}
.width44{width: 44%!important;}
.width45{width: 45%!important;}
.width46{width: 46%!important;}
.width47{width: 47%!important;}
.width48{width: 48%!important;}
.width49{width: 49%!important;}
.width50{width: 50%!important;}
.width51{width: 51%!important;}
.width52{width: 52%!important;}
.width53{width: 53%!important;}
.width54{width: 54%!important;}
.width55{width: 55%!important;}
.width56{width: 56%!important;}
.width57{width: 57%!important;}
.width58{width: 58%!important;}
.width59{width: 59%!important;}
.width60{width: 60%!important;}

.width65{width: 65%!important;}
.width70{width: 70%!important;}
.width71{width: 71%!important;}
.width72{width: 72%!important;}
.width73{width: 73%!important;}
.width74{width: 74%!important;}
.width75{width: 75%!important;}

.width80{width: 80%!important;}
.width81{width: 81%!important;}
.width82{width: 82%!important;}
.width83{width: 83%!important;}
.width84{width: 84%!important;}
.width85{width: 85%!important;}
.width90{width: 90%!important;}
.width100{width: 100%!important;}

/*text　テキストの揃え方指定　親要素に入れること*/
.text-left{text-align: left!important;}/*左揃え*/
.text-right{text-align: right!important;}/*右揃え*/
.text-center{text-align: center!important;}/*中央ぞろえ*/
.text-justify{text-align: justify!important;}

/*img　画像の揃え方　クラス名のみ親要素に入れること(margin_○○ img　←imgは不要)*/
.margin-right img{margin: 0 0 0 auto!important;}
.margin-left img{margin: auto 0 0 0!important;}

/*possition　基準となる位置を決める　親要素に入れること*/
.position-relative{position: relative;}/*従来の位置*/
.position-absolute{position: absolute;}/*親の左上が基準*/

/*flex　横並びに使用　親要素に入れる 子要素はwidthで横幅を決めておくこと*/
.flex{display: flex;}

/*flex使用時のコンテンツの配置　flexと同じく親要素に入れること*/
.justify-sb{justify-content: space-between;}/*左右にわける*/
.justify-sa{justify-content: space-around;}/* 各アイテムを均等に配置し各アイテムの両側に半分の大きさの間隔を置く */
.justify-left{justify-content: left;}/*左配置*/
.justify-flex-end{justify-content: flex-end;}/*要素の終わり*/
.justify-se{justify-content: space-evenly;}/* 各アイテムを均等に配置し各アイテムの周りに同じ大きさの間隔を置く */
.justify-center{justify-content: center;}/*真ん中*/

.items-center{align-items: center;}/*子要素を上下中央で揃える*/
.flex-wrap{flex-wrap: wrap;}/*コンテンツを折り返す*/
.flex-end{align-items: flex-end;}/*下揃え*/
.row-reverse{flex-direction: row-reverse;}/*順番入れ替え*/

.flex-shrink{flex-shrink: 0;}/*要素を折り返しさせない*/
.flex-grow{flex-grow:1;}/*高さを揃える※親要素にflex-direction:columnを入れること*/
.flex-direction{flex-direction:column;}/*上から下に垂直方向に並べる*/
.margin-top-auto{margin-top: auto;}/*親要素にflexとflex-direction:column;で下揃え*/

/********************************************************************
	共通
********************************************************************/
html {
  scroll-behavior: smooth; /* スムーススクロール */
}

/*line-heightリセット*/
#yominotsugai p,
#yominotsugai a,
#yominotsugai ul li,
#yominotsugai h1,
#yominotsugai h2,
#yominotsugai h3,
#yominotsugai h4,
#yominotsugai h5,
#yominotsugai h6{
	line-height: 1;
}

/*マウスホバー時、画像の半透明リセット*/
#yominotsugai a img:hover{
	opacity: 1;
}

/*アンダーラインリセット*/
#yominotsugai a:hover{
	text-decoration: none;
}

/*ページ全体の指定*/
#yominotsugai{
	margin: 0 auto;/*中央揃え*/
	max-width: 770px;/*最大横幅*/
	width: 100%;
	background: #010101;/*背景色*/
	text-align: center;/*テキスト中央揃え*/
}

/* 画像サイズの調整 */
#yominotsugai .inner690{
	margin: 0 auto;
	max-width: 690px;
	width: 100%;
}

#yominotsugai .inner610{
	margin: 0 auto;
	max-width: 610px;
	width: 100%;
}

#yominotsugai .inner480{
	margin: 0 auto;
	max-width: 480px;
	width: 100%;
}

#yominotsugai .inner440{
	margin: 0 auto;
	max-width: 480px;
	width: 100%;
}

#yominotsugai .inner330{
	margin: 0 auto;
	max-width: 330px;
	width: 100%;
}

#yominotsugai .inner120{
	margin: 0 auto;
	max-width: 120px;
	width: 100%;
}

/*ページの内側共通*/
#yominotsugai section{
	padding: 40px 0 80px 0;/*要素の内側余白*/
}

#yominotsugai section:first-child{
	padding: 0;
}

#ikejacket .btn_keyword{
	padding: 20px 20px 10px 20px;
}

/*画像指定*/
#yominotsugai img{
	max-width: 770px;
	width: 100%;
	height: auto;
	margin: 0 auto;
    display: block;
}

/*フォント*/
#ikejacket p,#ikejacket a{font-family: "M PLUS Rounded 1c", serif;}
#ikejacket .fwb{font-weight: bold;}
#ikejacket .fc-orange{color: #fe7d5a;}
#ikejacket .fc-yellow{color: #F8DA8C;}
#ikejacket .fc-brown{color: #7f6a6e;}

/*ページの背景色*/
#yominotsugai .bgcsec1 {
	background: #010101;
	background: linear-gradient(0deg,rgba(1, 1, 1, 1) 25%, rgba(228, 228, 228, 1) 40%, rgba(228, 228, 228, 1) 80%, rgba(1, 1, 1, 1) 100%);
}

#yominotsugai .bgcsec2-1{
	background: #6D7D7D;
	background: linear-gradient(0deg,rgba(109, 125, 125, 1) 2%, rgba(1, 1, 1, 1) 5%);
}

#yominotsugai .bgcsec2-2{
	background: linear-gradient(0deg,rgba(1, 1, 1, 1) 12%,rgb(82, 7, 7) 35%,rgb(82, 7, 7) 70%, rgba(1, 1, 1, 1) 90%);
}

#yominotsugai .bgcsec2-3{
	background-image: url(https://www.cmoa.jp/auto/images/fix/title/250711_yominotsugai/bg_kasure1.png);
	background-position: bottom;
	background-repeat: no-repeat;
}

#yominotsugai .bgcsec2-4{
	background-image: url(https://www.cmoa.jp/auto/images/fix/title/250711_yominotsugai/bg_hibiware2.png);
	background-repeat: no-repeat;
}

#yominotsugai .bgcsec3,
#yominotsugai .bgcsec5 {
	background-color: #e4e4e4;
}

#yominotsugai .bgcsec5{
	background-image: url(https://www.cmoa.jp/auto/images/fix/title/250711_yominotsugai/bg_kasure2.png);
	background-repeat: repeat;
}

/********************************************************************
	スタイル（共通）
********************************************************************/

/* ページ内メインボタン */
#yominotsugai .main-btn-container,
#yominotsugai .overlay-image-container {
    position: relative;
    display: inline-block;
	max-width: 770px;
}

#yominotsugai .overlay-background-image {
    display: block;
    width: 100%;
    height: auto;
}

#yominotsugai .main-btn-container ul {
    position: absolute;
	max-width: 610px;
	width: 100%;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 20px;
	grid-row-gap: 0px;
	list-style: none;
}

/* 画像文字重ね */
#yominotsugai .overlay-image-container {
	max-width: 770px;
}

#yominotsugai .foreground-image,
#yominotsugai .foreground-image2,
#yominotsugai .foreground-image3,
#yominotsugai .foreground-image4{
    position: absolute;
	height: auto;
}
  /* ∟ ユル */
#yominotsugai .foreground-image {
    right: 5%;
    bottom: 10%;
    width: 15%;
}

  /* ∟ とある言い伝え */
#yominotsugai .foreground-image2 {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
}

  /* ∟ ユルの前に現れたのは */
#yominotsugai .foreground-image3 {
    bottom: -610px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
}

  /* ∟ なんだあれ */
#yominotsugai .foreground-image4{
	right: 9%;
    bottom: 5%;
    width: 60%;
}

/* 画像文字配置調整 */
#yominotsugai .horizontal-box {
    display: flex;
    align-items: stretch; /* 子要素の高さを揃える */
    justify-content: center;
    flex-wrap: wrap; /* レスポンシブ対応 */
    gap: 20px;
    max-width: 100%;
}

#yominotsugai .horizontal-image-box img,
#yominotsugai .horizontal-text-box img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 高さを親に合わせて切り取りor縮小 */
    display: block;
}

@media (max-width: 768px) {
#yominotsugai .horizontal-box {
    flex-direction: column;
    align-items: center;
    }
#yominotsugai .horizontal-image-box,
#yominotsugai .horizontal-text-box {
    max-width: 100%;
    }
#yominotsugai .horizontal-image-box img,
#yominotsugai .horizontal-text-box img {
    height: auto;
    object-fit: contain;
    }
}

/* フッター コピーライト */
#yominotsugai .wrap_footer{
	padding: 20px;
	background-color: #c11616;
}
#yominotsugai .wrap_footer small{
	display: block;
	color: #fcfcfc;
	font-size: 1rem;
}


/********************************************************************
    キャラクター選択
********************************************************************/
#main-image {
  width: 100%;
  max-width: 480px;
  height: auto;
  margin-bottom: 10px;
}

.chara-btn-relative{
  position: relative;
  display: inline-block;
}

#toggle-button {
  position: absolute;
  left: 50%;
  bottom: -20px; /* 画像の下にちょっとかかる位置 */
  transform: translateX(-50%);
  z-index: 10;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  margin: 0; /* marginはリセット */
}

#toggle-button img {
	max-width: 240px;
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 0 3px #010101);
}

#character-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  max-width: 480px;
  margin: 0 auto;
}

.char-thumb {
  width: 100%;
  aspect-ratio: 1;
  background: #fff;
  cursor: pointer;
  border: 2px solid transparent;
}

.char-thumb.active {
  border-color: #ebb342;
}

/********************************************************************
	Slick Sider(動的)
********************************************************************/

/* prevnextメインスライダー */
.slick01 .slick-arrow{
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	border: none;
	outline: none;
	font-size: 0;
	position: absolute;
	top: 45%;
	margin: 10px;
	z-index: 1;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.slick01 .slick-arrow::before{
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid #010101;
	border-width: 3px 3px 0 0;
	position: absolute;
	top: 50%;
	transform: rotate(45deg);
}

.slick01 .slick-next{
	right: -35px;
}

.slick01 .slick-prev{
	left: -35px;
}

.slick01 .slick-next::before{
	top: 18px;
	left: 14px;
}

.slick01 .slick-prev::before{
	border-width: 0 0 3px 3px;
	top: 18px;
	right: 14px;
}


/* dots */
.dots-main .slick-dots{
	text-align: center;
}

.dots-main .slick-dots li{
	display: inline-block;
}

.dots-main .slick-dots button{
	display: block;
	width: 10px;
	height: 10px;
	margin: 6px;
	font-size: 0;
	padding: 0;
	border: 0;
	outline: none;
	cursor: pointer;
	background: #ffffff;
	border-radius: 50%;
}

.dots-main .slick-dots .slick-active button{
	background: #c11616;
}


/********************************************************************
	キャンペーン
********************************************************************/
#yominotsugai .campaign-contents-box,
#yominotsugai .campaign-contents-box-hoka{
	max-width: 690px;
	width: 100%;
	margin: 0 auto;
	padding: 40px 0;
	background-color: #bdbdbd7f;
}

#yominotsugai .campaign-contents-box-hoka{
	padding: 0;
	padding-bottom: 40px;
}

#yominotsugai .campaign-contents-grid {
	max-width: 610px;
	width: 100%;
	margin: 0 auto;
	padding-top: 40px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 40px;
	grid-row-gap: 0px;
}

#yominotsugai .campaign-contents-flex{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#yominotsugai .moji-ashirai{
	padding: 1rem 2rem;
  	border-left: 8px solid #c11616;
	text-align: left;
}

#yominotsugai .moji-ashirai p{
	font-size: 1.75rem;
	font-weight: bold;
}

#yominotsugai .campaign-contents-flex p{
	font-size: 1.75rem;
	font-weight: bold;
	margin-top: 20px;
}
#yominotsugai .bookcover{
	height: 350px;
	width: auto;
	object-fit: contain;
}

#yominotsugai .nebikiicon{
	height: 28px;
	width: auto;
	object-fit: contain;
}

#yominotsugai .bookcovershadow{
	box-shadow: 0 3px 6px #272727;
}