@charset "utf-8";
/* CSS Document */
@import url("style_titles.css");
@import url("line-intro.css");
@import url("line-intro_02.css");
@import url("style_spacing.css");
@import url("../campaign/css/winter-gift.css");

/* image余白ツメ */
img {vertical-align: bottom;}

/* フォント太字 */
.t-bold {font-weight: bold;}

/* リスト マーク※ */
li.note {
  position: relative;
  padding-left: 1.5em; /* マーカー分の余白を開ける */
 margin-right: 0.5em; /* 文字とテキストの間隔 */
}
ul li.note::before {
  content: "※";
  position: absolute;
  left: 0;
}
/* リスト マーク● */
ul li.disc::before {
list-style-type: disc;
margin-right: 0.5em; /* 文字とテキストの間隔 */
}

/* フォントサイズ　※折を見てcommon.cssに移行予定 */
.ttl14 {
  font-family: "ヒラギノ明朝 ProN", HiraMinProN-W3, "游明朝体", "Yu Mincho", YuMincho, serif;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
/* YouTube埋め込み */
.video {
    position: relative;
    width: 95%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.video iframe {
    position: absolute;
/*    top: 0;
    left: 0;*/
    width: 100%;
    height: 100%;
}

.youtube-ratio iframe {
  width: 95%;
  aspect-ratio: 16 / 9;
}

/* float横並びパーツ */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.f-Left{float: left;}
.f-Right{float: right}

/* 文字色ゴールド */
.t-gold{color: #9F7220;}
/* 文字色白 */
.t-white{color: #fff;}

/* 画像の上にNEWマーク */
.mark-rednew {
		position: relative;
		display: inline-block;
}
.mark-rednew::before {
    content: "NEW";
    position: absolute;
    top: -10px;
    left: 50px;
    z-index: 5;
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #E7190A;
    color: #FFFFFF;
    border-radius: 50%;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
}

/* BOX パーツ 文字囲み */
/* 赤001 */
.radius-box-red01
{
	border-radius: 3px; border: 2px solid red;
}
/* 赤002 */
.radius-box-red02
{
	border-radius: 3px; background-color: red;
}
.frame_01{background-color:#fff; padding:10px ; border:solid 1px #000; width:50%}

/* リンク下線消し */
.link_anchor, .internal_link, .external_link {text-decoration: none !important;}

/* 内部リンク アイコン付き _target */
a.internal_link[target=_blank]:after {
content: "";
width: 12px;
height: 12px;
background: url(../images/global/icon_blank.svg) no-repeat top center/contain;
display: inline-block;
margin-left: 6px;
}

/* リンク　トップに戻る<上矢印> */
.link_top {
  letter-spacing: 0.05em;
  line-height: 1;
  color: #1B120F !important;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.link_top:after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #E7190A;
  border-bottom: 2px solid #E7190A;
  transform: rotate(-135deg);
}


/* link_anchorにフレーム付けたい場合 */
.link_anchor_frame {
font-family: "ヒラギノ明朝 ProN", HiraMinProN-W3, "游明朝体", "Yu Mincho", YuMincho, serif;
border: 1px solid currentColor;
padding: 13px 30px;
font-size: 1.8rem;
letter-spacing: 0.05em;
display: flex;
justify-content: center;
align-items: center;
-moz-column-gap: 16px;
column-gap: 16px;
color: #1B120F !important;
position: relative;
}
.link_anchor_frame  > li a, 
.link_anchor_frame  > a, {
color: #1B120F !important;
text-decoration: none !important;
}


/* link_bnrのアンカーアイコン版 */
.link_bnr_anchor {
display: flex;
align-items: center;
border: 1px solid #1B120F;
color: #1B120F !important;
position: relative;
padding-right: 25px;
max-width: 600px;
margin: 0 auto;
}

.link_bnr_anchor .pic {
width: 15%;
flex-shrink: 0;
}
.link_bnr_anchor .pic img {
display: block;
}
.link_bnr_anchor .txt {
flex-grow: 1;
text-align: center;
font-size: 1.2rem;
letter-spacing: 0.1em;
line-height: 1.5;
}
.link_bnr_anchor .txt strong {
font-family: "ヒラギノ明朝 ProN", HiraMinProN-W3, "游明朝体", "Yu Mincho", YuMincho, serif;
font-size: 1.6rem;
font-weight: 400;
letter-spacing: 0.05em;
margin-bottom: 4px;
display: inline-block;
}
.link_bnr_anchor:after {
content: "";
width: 6px;
height: 6px;
border-right: 2px solid #E7190A;
border-bottom: 2px solid #E7190A;
position: absolute;
right: 20px;
top: 0;
bottom: 0;
margin: auto;
transform: rotate(45deg);
}
/*-----------------------------
--------------------------------------------------------------------------
使わないように！！　↑↑↑↑↑↑↑　ここまで　↑↑↑↑↑↑
--------------------------------------------------------------------------
-------------------------------*/

/*--------------------------------------------------------------------------------
/// ボタンリンク（アンカー・通常リンク）：画像+テキスト　START
----------------------------------------------------------------------------------*/
/* 共通レイアウト（親要素・ボタン全体・画像） */
.btn_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 25px;
}

/* スマホ表示：すべてのアイテムを横幅100%（1カラム）にする */
.btn_anchor,
.btn_anchor_list_item,
.btn_anchor_list_item2,
.btn_anchor_list_item4,
.btn_link_list_item,
.btn_link_list_item2,
.btn_link_list_item4{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* ボタンの共通デザイン */
.btn_anchor > a,
.btn_anchor_list_item > a,
.btn_anchor_list_item2 > a,
.btn_anchor_list_item4 > a,
.btn_link_list_item > a,
.btn_link_list_item2 > a,
.btn_link_list_item4 > a{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #1B120F !important;
  border: 1px solid currentColor;
  font-family: "ヒラギノ明朝 ProN", HiraMinProN-W3, "游明朝体", "Yu Mincho", YuMincho, serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  text-decoration: none !important;
  width: 100%;
}

/* 【3カラム用】画像 */
.btn_anchor_list_item > a > img,
.btn_link_list_item > a > img {
  width: 33.33333%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: auto;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 【2カラム用】画像 */
.btn_anchor_list_item2 > a > img,
.btn_link_list_item2 > a > img {
  width: 20%; 
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: auto;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -o-object-fit: cover;
     object-fit: cover;
}

/* アンカーリンク矢印 */
.btn_anchor > a > span:after,
.btn_anchor_list_item > a > span:after,
.btn_anchor_list_item2 > a > span:after,
.btn_anchor_list_item4 > a > span:after{
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #E7190A;
  border-bottom: 2px solid #E7190A;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
/* 通常リンク矢印 */
.btn_link_list_item > a > span:after,
.btn_link_list_item2 > a > span:after,
.btn_link_list_item4 > a > span:after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #E7190A;
  border-bottom: 2px solid #E7190A;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/* アンカーリンク配置調整 */
.btn_anchor > a > span,
.btn_anchor_list_item > a > span,
.btn_anchor_list_item2 > a > span,
.btn_anchor_list_item4 > a > span{
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px; /* 文字と矢印の間の隙間 */
  padding: 15px 10px;    /* 上下に最低限の余白を設定 */
  box-sizing: border-box;
}

/* アンカーリンク矢印の高さ位置調整 */
.btn_anchor > a > span:after,
.btn_anchor_list_item > a > span:after,
.btn_anchor_list_item2 > a > span:after,
.btn_anchor_list_item4 > a > span:after {
  margin-bottom: 3px;
  -ms-flex-negative: 0;
      flex-shrink: 0; /* 矢印が文字に潰されるのを防ぐ */
}


/* 通常リンク配置調整 */
.btn_link_list_item > a > span,
.btn_link_list_item2 > a > span,
.btn_link_list_item4 > a > span{
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 15px 35px 15px 15px; /* 右側に矢印が被らないよう多めの余白を確保 */
  position: relative;
  width: 100%;
  box-sizing: border-box; /* paddingを含めた横幅にする */
}

/* 通常リンク矢印の右端配置 */
.btn_link_list_item > a > span:after,
.btn_link_list_item2 > a > span:after,
.btn_link_list_item4 > a > span:after {
  position: absolute;
  right: 15px;      /* 右端からの距離 */
  top: 50%;         /* 上下中央の基準 */
  margin-top: -4px; /* 上下中央にするための微調整 */
}

/* ▼ ボタン本体をゴールドにする（背景：金、文字：白、枠線：なし） ▼ */
.btn_anchor_list_item.link_btn_gold > a,
.btn_anchor_list_item2.link_btn_gold > a,
.btn_anchor_list_item4.link_btn_gold > a,
.btn_link_list_item.link_btn_gold > a,
.btn_link_list_item2.link_btn_gold > a,
.btn_link_list_item4.link_btn_gold > a {
  background: #9F7220;
  color: #FFFFFF !important;
  border: 0;
}

/* ▼ 矢印（:after）を白（#FFFFFF）に変更する ▼ */
.btn_anchor_list_item.link_btn_gold > a > span:after,
.btn_anchor_list_item2.link_btn_gold > a > span:after,
.btn_anchor_list_item4.link_btn_gold > a > span:after,
.btn_link_list_item.link_btn_gold > a > span:after,
.btn_link_list_item2.link_btn_gold > a > span:after,
.btn_link_list_item4.link_btn_gold > a > span:after {
  border-color: #FFFFFF !important;
}

/*--------------------------------------------------------------------------------
/// ボタンリンク（アンカー・通常リンク）：画像+テキスト END　
----------------------------------------------------------------------------------*/


/* 外部リンク アイコン付き _target */
/*a.external_link[target=_blank]:after {
content: "";
width: 12px;
height: 12px;
background: url(../images/common/icon_blank02.svg) no-repeat center/contain;
display: inline-block;
margin-left: 6px;
}*/


/*--------------------------
Flexbox系
--------------------------*/
.flexbox-col {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "ヒラギノ明朝 ProN", HiraMinProN-W3, "游明朝体", "Yu Mincho", YuMincho, serif;
}

.flexbox-img-col2, .flexbox-txt-col2, .flexbox-inner {
width: 48%; /* 横並びの幅調整 */
}
.flexbox-align-top{align-items: flex-start;}/*上揃え*/
.flexbox-align-center, .flexbox-align-middle{align-items: center;}/*上下中央揃え*/
.flexbox-align-bottom{align-items: flex-end;}/*下揃え*/


/*--------------------------
タブ
--------------------------*/
/* 1. コンテンツエリアの基本設定（デフォルトは非表示にする） */
.tab-1-content, .tab-2-content, .tab-3-content, .tab-4-content, .tab-5-content, .tab-6-content {
	display: none;    /* 初期状態は非表示 */
	overflow-y: auto;
	min-height: 350px;
	max-height: 600px;
	width: 100%;
	padding: 1.5em 1em;
	background-color: #fff;
}

/* 2. 親コンテナの指定 */
.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6 {
	display: flex;
	flex-wrap: wrap;
	/*min-height: 300px; */
}

/* 3. タブボタン（通常時） */
:is(.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6) > label  {
	flex: 1 1;
	order: -1;
	min-width: 70px;
	min-height: 50px;	
	padding: .7em 1em .5em ;
	border-bottom: 1px solid #f0f0f0;
	border-radius: 0;
	background-color: #F8F8F5;
	color: #535353;
	font-size: 1.0em;
	text-align: center;
	cursor: pointer;
}

:is(.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6) > label:hover {
	opacity: .8;
}

/* 4. ラジオボタン本体は非表示 */
:is(.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6) input[type="radio"] {
	display: none;
}

/* 5. 選択されているタブボタンのスタイル */
:is(.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6) label:has(:checked) {
	background-color: #fff;
	border-color: #E7190A #f0f0f0 #fff;
	border-style: solid;
	border-width: 4px 1px 1px;
	border-radius: 5px 5px 0 0;
	color: #333333;
}

/* 6. 選択されているタブのコンテンツを表示する（ここを修正） */
:is(.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6) label:has(:checked) + [class$="-content"] {
	display: block; /* 選択されたタブの隣にあるコンテンツを表示 */
}




/*--------------------------
QA
--------------------------*/
.qa-01 {
    max-width: 1000px;
    margin-bottom: 5px;
    border-bottom: 2px solid #d6dde3;
}

.qa-01 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-01 summary::before,
.qa-01 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-01 summary::before {
    color: #494949;
    content: "Q";
}

.qa-01 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-01[open] summary::after {
    transform: rotate(225deg);
}

.qa-01 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-01[open] p {
    transform: none;
    opacity: 1;
}

.qa-01 p::before {
    color: #E7190A;
    line-height: 1.2;
    content: "A";
}




/*/////////////////////////////////////////////////////////////////////////*/
/* PC/タブレット */
/*/////////////////////////////////////////////////////////////////////////*/
@media screen and (min-width: 768px){

/* 画像の上にNEWマーク */
  .mark-rednew:before {
    font-size: 2.0rem;
	top: -10px;
    left: 70px;
    width: 80px;
    height: 80px;
  }

/* リンク　トップに戻る<上矢印> */
  .link_top {
    padding-bottom: 10px;
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
.ttl14 {
font-size: 1.4rem;
}
/*----------------------------------------------------
ボタンリンク　横矢印、アンカーリンク
----------------------------------------------------*/
/* ボタンの共通デザイン */
.btn_anchor > a,
.btn_anchor_list_item > a,
.btn_anchor_list_item2 > a,
.btn_anchor_list_item4 > a,
.btn_link_list_item > a,
.btn_link_list_item2 > a,
.btn_link_list_item4 > a{
  text-decoration: none !important;
}
/* ボタンリンク PC表示（画面幅768px以上）のカラム数設定 */
  .btn_list {
    gap: 20px; /* 横と縦の隙間を20pxにする */
  }

  /* 【4カラム表示】 */
  .btn_anchor_list_item4,
  .btn_link_list_item4 {
    /*width: calc((93.5% - 5px) / 4);*/
	  width: calc((100% - 60px) / 4);
  }
	
  /* 【3カラム表示】 */
  .btn_anchor_list_item,
  .btn_link_list_item {
    width: calc((100% - 40px) / 3);
  }

  /* 【2カラム表示】 */
  .btn_anchor_list_item2,
  .btn_link_list_item2 {
    width: calc((100% - 20px) / 2);
  }
}

/*/////////////////////////////////////////////////////////////////////////*/
/* SP */
/*/////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width: 767px){
/*TAB*/
.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6 {
 /*min-height: 300px;*/
}
.tab-1-content, .tab-2-content, .tab-3-content, .tab-4-content, .tab-5-content, .tab-6-content {
max-height: 350px;
}
/* 3. タブボタン（通常時） */
:is(.tab-1, .tab-2, .tab-3, .tab-4, .tab-5, .tab-6) > label  {
        font-size: 0.9em;
        padding: 10px 0;
}
/*--------------------------
リンク系 SP
--------------------------*/
.link_anchor {
font-family: "ヒラギノ明朝 ProN", HiraMinProN-W3, "游明朝体", "Yu Mincho", YuMincho, serif;
font-size: 2.1rem;
text-decoration: none !important;
letter-spacing: 0.05em;
display: flex;
justify-content: center;
align-items: center;
-moz-column-gap: 16px;
column-gap: 16px;
color: #1B120F !important;
}

.link_bnr_anchor {
padding-right: 7.5%;
}	
.link_bnr_anchor .pic {
width: 27.027027027%;
}
.link_bnr_anchor .txt {
/*font-size: 1.6rem;*/
}
.link_bnr_anchor .txt strong {
font-size: 2rem;
}
.link_bnr_anchor:after {
right: 7%;
}

/* ボタンの共通デザイン */
.btn_anchor > a,
.btn_anchor_list_item > a,
.btn_anchor_list_item2 > a,
.btn_anchor_list_item4 > a,
.btn_link_list_item > a,
.btn_link_list_item2 > a,
.btn_link_list_item4 > a{
  text-decoration: none !important;
}

/*--------------------------
Flexbox系 SP
--------------------------*/
/* [PC] 画像・テキスト 2カラム/[SP]縦並び  */
.flexbox-col {
flex-direction: column; /* 要素を縦並びにする */
}

  .flexbox-reverse {
    flex-direction: column-reverse; /* 縦並びにして、HTMLの記述順と逆にする */
  }
.flexbox-img-col2, .flexbox-txt-col2, .flexbox-inner {
width: 100%; /* スマホでは1カラムごと縦表示 */
}

}