
@charset "utf-8";

/*
	* 顧客オリジナルスタイルシート
	* サイト全体に関するスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	初期設定（不要なものは削除）
//////////////////////////////////////////////////////////////////////////////////////////////////// */

/* *{
	border: solid 1px #ccc;
} */

/* ******************************************************************************************
	root設定（適宜修正）（フォントはベースフォント外を削除してください。）
****************************************************************************************** */
:root{
	--black: #333333;
	--mainColor: #41b04d;
	--blue: #002f7c;

	/* ベースフォント18px */
	--fontSize10: 0.555rem;
	--fontSize11: 0.611rem;
	--fontSize12: 0.666rem;
	--fontSize13: 0.722rem;
	--fontSize14: 0.777rem;
	--fontSize15: 0.833rem;
	--fontSize16: 0.888rem;
	--fontSize17: 0.944rem;
	--fontSize18: 1rem;
	--fontSize19: 1.055rem;
	--fontSize20: 1.111rem;
	--fontSize21: 1.166rem;
	--fontSize22: 1.222rem;
	--fontSize23: 1.277rem;
	--fontSize24: 1.333rem;
	--fontSize25: 1.388rem;
	--fontSize26: 1.444rem;
	--fontSize27: 1.5rem;
	--fontSize28: 1.555rem;
	--fontSize29: 1.611rem;
	--fontSize30: 1.666rem;
	--fontSize31: 1.722rem;
	--fontSize32: 1.777rem;
	--fontSize33: 1.833rem;
	--fontSize34: 1.888rem;
	--fontSize35: 1.944rem;
	--fontSize36: 2rem;
	--fontSize37: 2.055rem;
	--fontSize38: 2.111rem;
	--fontSize39: 2.166rem;
	--fontSize40: 2.222rem;
	--fontSize41: 2.277rem;
	--fontSize42: 2.333rem;
	--fontSize43: 2.388rem;
	--fontSize44: 2.444rem;
	--fontSize45: 2.5rem;
	--fontSize46: 2.555rem;
	--fontSize47: 2.611rem;
	--fontSize48: 2.666rem;
	--fontSize49: 2.722rem;
	--fontSize50: 2.777rem;
	--fontSize46: 2.555rem;
	--fontSize47: 2.611rem;
	--fontSize48: 2.666rem;
	--fontSize49: 2.722rem;
	--fontSize50: 2.777rem;
	--fontSize51: 2.833rem;
	--fontSize52: 2.888rem;
	--fontSize53: 2.944rem;
	--fontSize54: 2.999rem;
	--fontSize55: 3.055rem;
	--fontSize56: 3.110rem;
	--fontSize57: 3.166rem;
	--fontSize58: 3.221rem;
	--fontSize59: 3.277rem;
	--fontSize60: 3.332rem;
	--fontSize61: 3.388rem;
	--fontSize62: 3.443rem;
	--fontSize63: 3.499rem;
	--fontSize64: 3.554rem;
	--fontSize65: 3.610rem;
	--fontSize66: 3.665rem;
	--fontSize67: 3.721rem;
	--fontSize68: 3.776rem;
	--fontSize69: 3.832rem;
	--fontSize70: 3.887rem;
	--fontSize71: 3.943rem;
	--fontSize72: 3.998rem;
	--fontSize73: 4.054rem;
	--fontSize74: 4.109rem;
	--fontSize75: 4.165rem;
	--fontSize76: 4.220rem;
	--fontSize77: 4.276rem;
	--fontSize78: 4.331rem;
	--fontSize79: 4.387rem;
	--fontSize80: 4.442rem;
	--fontSize81: 4.498rem;
	--fontSize82: 4.553rem;
	--fontSize83: 4.609rem;
	--fontSize84: 4.664rem;
	--fontSize85: 4.720rem;
	--fontSize86: 4.775rem;
	--fontSize87: 4.831rem;
	--fontSize88: 4.886rem;
	--fontSize89: 4.942rem;
	--fontSize90: 4.997rem;
	--fontSize91: 5.053rem;
	--fontSize92: 5.108rem;
	--fontSize93: 5.164rem;
	--fontSize94: 5.219rem;
	--fontSize95: 5.275rem;
	--fontSize96: 5.330rem;
	--fontSize97: 5.386rem;
	--fontSize98: 5.441rem;
	--fontSize99: 5.497rem;
	--fontSize100: 5.552rem;

	/* 基準幅設定 */
	--vw-base: 1920;
}
/* ******************************************************************************************
	ベースフォント設定
****************************************************************************************** */
html{
	font-size: 18px;/* ベースフォント */
	overflow-x: hidden;
	scroll-behavior: smooth;

}
@media (max-width: 576px){
html{
	font-size: var(--fontSize16);
}
}

/* ******************************************************************************************
	body設定
****************************************************************************************** */
body{
	display: grid;/* フッター浮き上がり対策 */
	grid-template-rows: auto 1fr auto;/* フッター浮き上がり対策 */
	grid-template-columns: 100%;/* フッター浮き上がり対策 */
	min-height: 100vh;/* フッター浮き上がり対策 */
	color: var(--black);
	line-height: 1.5;
	 font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
	overflow-x: hidden;
}

/* ******************************************************************************************
	テキスト設定
****************************************************************************************** */
/* pの中にrubyがあれば余白をあける */
p:has(>ruby){
	line-height: 2;
}

/* ******************************************************************************************
	詳細スタイル
****************************************************************************************** */

/* 画像 */
img{
width: 100%;
}

.section-head{
	margin-bottom: 130px;
}

/* インナー */
.ly_inner{
	max-width: 1500px;
	margin: 0 auto;
	padding: 10rem 0;
	width: calc(100% - 10%);
}
/* 検索エンジンとスクリーンリーダー用 */
.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}


@media (max-width: 768px){
.ly_inner {
    padding: 5rem 0;
}
.section-head
 {
    margin-bottom: 2rem;
}
}

@media (max-width: 576px){
	.ly_inner {
    width: calc(100% - 5%);
}
}




/* ==========================================================================
メインビジュアル
============================================================================ */

.bl_mv{
    background-image: url(../img/bg-mv.png);
    background-repeat: no-repeat;
    background-size: cover;
	height: calc(100vh + 400px);
	background-position:center;
	position: relative;
}

.mv_inner{
	height: 100vh;
    position: relative;
}
.mv-item{
    position: absolute;
    top: 10%;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 150vh;
    padding: 2rem;
    z-index: 2;
	height: fit-content;
}

.mv-item-top{
position: absolute;
top:0;
right: 0;
left: 0;
margin: auto;
width: 90%;
}

.mv-item-btm{
position: absolute;
bottom:0;
right: 0;
left: 0;
margin: auto;
width: 90%;
}

.mv-item-left{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	height: fit-content;
}
.sp-img{
	display: none;
}

.copy{
	position: absolute;
	right: 20px;
	top:0;
}

@media (max-width: 1200px){
	.mv-item-top,.mv-item-btm,.mv-item-left,.mv-item{
		display: none;
	}
	.bl_mv{
    background-image:none;
	height: initial;

}
 .sp-img{
	display: block;
 }
 .mv_inner{
	display: none;
 }
 .copy{
	display: none;
 }

}








/* ==========================================================================
CNA秋田ケーブルテレビが絶対おススメなワケ！
============================================================================ */

/* 背景 */
.recommendation-section{
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 1%, rgba(253, 230, 123, 1) 28%, rgb(253 218 55 / 95%) 60%);
    min-height: 400px;
    border-top-right-radius: 1000px 200px;
    border-top-left-radius: 1000px 200px;
    margin-left: -100px;
    margin-right: -100px;
    padding-left: 100px;
    padding-right: 100px;
    margin-top: -130px;
    z-index: 3;
	position: relative;
}

/* 各メリットを囲む白いボックスとレイアウト */
.reason-box {
    background-color: white;
    border-radius: 40px;
    padding:1.5rem;
    display: flex;
    align-items: center;
    position: relative;
    min-height: 80px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.reason-box.benefit-otoku {
    padding-left: 300px;
    /* padding-right: 200px; */
}

.reason-box + .reason-box{
	margin-top: 3rem;
}

.text-content {
    flex-grow: 1; /* テキスト部分がスペースを占有 */
    font-size: clamp(1.4rem, 1.5vw + 1rem, 2.25rem);
    line-height: 1.6;
    color: #333;
    font-weight: bold;
}



/* メリットの見出し (おトク!, 楽しい!...) */
.reason-box h3 {
    display: none; /* 見出しの文字自体は表示しない (画像で代替しているため) */
}

/* アイコンプレースホルダーの配置調整 (imgタグ用) */
.icon-placeholder {
    position: absolute;
    /* width: clamp(150px, 15vw, 350px);
    height: clamp(150px, 15vw, 350px); */
    width: 250px;
    height: 250px;
    z-index: 10;
}

.benefit-otoku .icon-placeholder{
     /* width: clamp(150px, 15vw, 350px);
    height: clamp(150px, 15vw, 350px); */
	width: 300px;
    height: 300px;
}
.icon-placeholder img {
    width: 100%;
    height: 100%;
}

/* 左側配置のアイコン (おトク!, 安心!) */
.icon-placeholder.left {
    left: -20px; /* 白枠の左端より少し外側 */
    top: 50%;
    transform: translateY(-50%);
}
.benefit-anshin .text-content{
    padding-left: 250px; /* アイコン分のスペースを空ける */
}

.benefit-tanoshii .text-content {
	padding-left: 100px;
	padding-right: 210px;
}
.benefit-otoku .text-content{
	font-size: var(--fontSize40);
	    width: calc(100% - 180px);
	 /* padding-left: clamp(50px, 20%, 300px); */
	 /* padding-left: 300px;
	 padding-right: 200px; */
}

/* 右側配置のアイコン (楽しい!, うれしい!) */
.icon-placeholder.right {
    right: -20px; /* 白枠の右端より少し外側 */
    top: 50%;
    transform: translateY(-50%);
}
/* .benefit-ureshii .text-content {
   padding-right: clamp(50px, 20%, 210px);
} */
 .reason-box.benefit-ureshii {
    padding-right: 250px;
}

/* おトク! の問い合わせボタン */
.inquiry-button {
    width: 180px;
    height: 180px;
    background-color: #e40065;
    border-radius: 50vh;
    aspect-ratio: 1 / 1;
    display: flex
;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    font-weight: bold;
	font-size: var(--fontSize20);
	font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  font-style: normal;
}

/* 「テレビアンテナが不要!」の強調部分 */
.text-content-strong{
    color: #e40065; /* ピンク色に強調されている部分を再現 */
	font-weight: 900;
}

.sp_img{
	display: none;
}





@media (max-width:992px){
 .text-content,.benefit-otoku .text-content{
	font-size: var(--fontSize20);
	width: 100%;
 }
 	.pc-wrap{
	display: none;
}
.reason-box {
    flex-direction: column;
}
    .inquiry-button {
         width: initial;
        height: initial;
        background-color: #e40065;
        border-radius: 15px;
        aspect-ratio: initial;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: #fff;
        font-size: var(--fontSize20);
        width: 90%;
        padding: .5rem 1rem;
        margin-top: 1rem;
}
}


@media (max-width: 768px){
.icon-placeholder{
	width: 180px;
	height: 180px;
}
.reason-box.benefit-otoku {
    padding-left: 250px;
}
.benefit-tanoshii .text-content {
    padding-left: 30px;
    padding-right: 150px;
}
.benefit-anshin .text-content {
    padding-left: 150px;
}
.reason-box.benefit-ureshii {
    padding-right: 160px;
}
.benefit-otoku .icon-placeholder {
    width: 250px;
    height: 250px;
}
}


@media (max-width: 576px){
.reason-box:nth-of-type(odd) {
margin-right:6rem;
}

/* 偶数番目（2,4,...）→ 左寄せ（テキスト左・アイコン右） */
.reason-box:nth-of-type(even) {
margin-left:6rem;
}

.recommendation-section {
    margin-top: -40px;
}

.reason-box {
        background-color: white;
        border-radius: 40px;
        padding: 0 !important;
        display: flex;
        align-items: center;
        position: relative;
        min-height: 80px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        border-radius: 50vh;
        aspect-ratio: 1 / 1;
        border: solid 10px #000;
        flex-direction: column;
        justify-content: center;
}
.sp_img{
	display: block;
	width: 8rem;
	margin: 0 auto;
}
span.sp_img.anshin {
    width: 6rem;
}
.icon-placeholder{
    width: 7rem;
    height: 7rem;
}
/* オトク！ */
.benefit-otoku .icon-placeholder{
        position: absolute;
        right: -51px;
        top: 0;
        transform: initial;
        left: initial;
        width: 8rem;
        height: 8rem;
}
span.sp_img.otoku {
        display: block;
        width: 9rem;
        margin-top: -1.5rem;
        margin: 0 auto;
        /* margin-top: -1.75rem; */
    }
 .benefit-otoku .text-content,.text-content{
	font-size: clamp(14px, 4.2vw, 30px);
	padding-left: 0;
	width: 100%;
}
    .benefit-otoku .text-content {
        font-size: clamp(14px, 4.25vw, 30px);
        padding-left: 0;
        width: 100%;
        margin-top: 0;
        display: flex;
        /* justify-content: flex-start; */
    }


.text-content p{
	padding: 1rem 2.75rem;
}

.reason-box.benefit-otoku::before{
        width: 50px;
        height: 49px;
        content: '';
        background-image: url(../img/bright-otoku.svg);
        display: block;
        position: absolute;
        left: -10px;
        top: 20px;
        background-repeat: no-repeat;
	}


/* ボタン */
.inquiry-button
 {
        width: initial;
        height: initial;
        background-color: #e40065;
        border-radius: 15px;
        aspect-ratio: initial;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: #fff;
        font-size: var(--fontSize20);
        padding: .5rem .75rem;
        position: absolute;
        bottom: 0px;
}


/* 楽しい！ */
.benefit-tanoshii .text-content{
	padding: 0;
}
.icon-placeholder .tanoshii{
	position: absolute;
	top: 0;
	right: 0;
}
.icon-placeholder.right{
	right: initial;
    top: initial;
    transform:initial;
}
.icon-placeholder.right.tanoshii{
	top: -30px;
	right: -20px;
}
.text-content{
	display: flex;
    flex-direction: column;
    justify-content: center;
	padding: 0 !important;
    margin: 1rem 1.5rem 1.5rem 1.5rem;
}

.reason-box.benefit-tanoshii::before{
        width: 22px;
        height: 22px;
        content: '';
        background-image: url(../img/bright01.svg);
        display: block;
        position: absolute;
        right: 20px;
        bottom: 80px;
        background-repeat: no-repeat;
}
.reason-box.benefit-tanoshii::after{
        width: 20px;
        height: 30px;
        content: '';
        background-image: url(../img/bright02.svg);
        display: block;
        position: absolute;
		right: 10px;
		left: 0;
		margin: auto;
        background-repeat: no-repeat;
		bottom: 0;
}
.benefit-tanoshii .text-content::after{
        width: 22px;
        height: 22px;
        content: '';
        background-image: url(../img/bright01.svg);
        display: block;
        position: absolute;
        left: 80px;
        bottom: 20px;
        background-repeat: no-repeat;
        z-index: 999;
}


/* 安心！ */
.icon-placeholder.anshin{
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	top: -20px;
}
.reason-box.benefit-anshin::before{
width: 20px;
        height: 30px;
        content: '';
        background-image: url(../img/bright02.svg);
        display: block;
        position: absolute;
        right: 10px;
        left: -160px;
        margin: auto;
        background-repeat: no-repeat;
        top: 50px;
}
.reason-box.benefit-anshin::after{
        width: 20px;
        height: 30px;
        content: '';
        background-image: url(../img/bright01.svg);
        display: block;
        position: absolute;
        right: 30px;
        /* right: 0; */
        margin: auto;
        background-repeat: no-repeat;
        top: 50px;
}



/* うれしい！ */
.icon-placeholder.ureshii{
position: absolute;
        right: 0;
        left: 0;
        margin: auto;
        bottom: -70px;
        width: 10rem;
        height: 8rem;
}


}


/* ====================================================================
今ならご契約特典Wチャンス！ 
======================================================================*/
.bl_gokeiyakuTokuten{
	background-color: var(--blue);
}

.bl_gokeiyakuTokutenBox{
	background-color: #fff;
	border-radius: 10px;
	padding: 5%;
	position: relative;
	padding-top: 8%;
}

.bl_gokeiyakuTokutenTitlWrap{
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    top: -50px;
    width: fit-content;
}

.bl_gokeiyakuTokuten h2{
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	top:-3.5%;
	width: fit-content;
	max-width: 80%;
}

/* .bl_gokeiyakuTokuten h2{
	font-size: var(--fontSize61);
	font-weight: bold;
	color: #fff;
	 -webkit-text-stroke: 16px var(--blue);
  paint-order: stroke fill;
}
.bl_gokeiyakuTokuten h3{
	font-size: var(--fontSize61);
	font-weight: bold;
	background-color: var(--blue);
	border-radius: 30px;
	color: #fff;
	text-align: center;
	padding: .75rem 0;
} */

.bl_gokeiyakuTokutenItem{
	    margin-top: -2%;
    margin-bottom: 3%;
}

.bl_gokeiyakuTokutenBoxTxt{
	font-size: var(--fontSize48);
}

.bl_gokeiyakuTokutenBoxTxt .text-content-strong{
	font-size: var(--fontSize86);
}

.bl_gokeiyakuTokutenBoxTxt .txt-mini{
	font-size: var(--fontSize28);
}

.bl_gokeiyakuTokutenFlex{
	display: flex;
}
.bl_gokeiyakuTokutenBoxTxt{
	flex: 1;
}
.bl_gokeiyakuTokutenBoxImg{
	flex: 1;
	position: relative;
}
.daichan{
	width: 225px;
	height: 260px;
	position: absolute;
	bottom: 10px;
}
.fukidashi{
    width: 225px;
    height: 260px;
    position: absolute;
    left: 70px;
    bottom: 10px;
}

.router{
    width: 228px;
    height: 228px;
    position: absolute;
    right: 150px;
    top: 190px;
}
.plus{
	width: 85px;
	height: 85px;
	margin: auto;
	display: block;
	margin: 0 auto;
	margin-bottom: 1.25rem;
}

/* ご契約特典 */
.promotion-container {
    padding: 20px;
    line-height: 1.5;
}

.promotion-item {
    display: flex;
    align-items: baseline; /* テキストのベースラインを揃える */
    margin-bottom: 10px;
    font-weight: 800; /* 極太 */
}

.bullet {
    font-size: 30px; /* 適切なサイズに調整 */
    margin-right: 10px;
    color: black;
}

.text-label {
    font-size: 30px; /* 基本サイズ */
    color: black;
}

.price-original {
    font-size: 38px; /* 数字を大きく */
    margin: 0 5px;
}

.arrow {
    font-size: 30px;
    color: black;
    margin: 0 10px;
}

.price-highlight {
    color: #e6007e; /* ピンク色 */
    font-size: 48px; /* 極めて大きく */
}

.zero {
    font-size: 60px; /* "0"を特に大きく */
}

.text-highlight {
    color: #e6007e; /* ピンク色 */
    font-size: 30px; /* 基本サイズ */
}

/* 2行目のアイテムを調整 */
.promotion-item:nth-child(2) .text-highlight {
    font-size: 38px; /* 2行目は少し大きく */
}

/* 3行目のテキスト調整 */
.promotion-item:nth-child(3) .text-label,
.promotion-item:nth-child(3) .text-highlight {
    font-size: 38px; /* 3行目も少し大きく */
}

.superscript {
    font-size: 16px;
    vertical-align: super;
    font-weight: normal; /* 注釈のフォントは細く */
    color: black;
}

.notes {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.8;
    color: black;
    font-weight: normal; /* 通常の太さ */
}

.note {
    display: block; /* 縦に並べる */
}

/* 能代エリア拡大キャンペーン開催中！ */
  .bl_kakudaiCampaign {
  --dot-size: clamp(30px, 5vw, 100px);
  background-color: #e40065;
  background-image: radial-gradient(#e93384 30%, transparent 20%),
                    radial-gradient(#e93384 30%, transparent 20%);
  background-size: var(--dot-size) var(--dot-size);
  background-position: 0 0, calc(var(--dot-size) / 2) calc(var(--dot-size) / 2);
}


/* .bl_kakudaiCampaign h2{
background-color: #000;
border-radius: 50vh;
padding: .5rem 1rem;
} */

.bl_kakudaiCampaignBox{
	background-color: #fff;
	padding: 1rem;
	position: relative;
}
.bl_kakudaiCampaignBox p{
	font-size: var(--fontSize48);
}

.bl_kakudaiCampaignBoxFrex{
	display: flex;
	border-bottom: solid 3px #000;
}
.bl_kakudaiCampaigntxt{
	flex: 3;
}
.bl_kakudaiCampaignimg{
	flex: 1;
}
.giftcard{
	position: absolute;
	bottom: 0;
	right: 50px;
	width: 300px;
	height: 300px;
	bottom: -20px;
}

.btn{
font-size: var(--fontSize40);
    border-radius: 20px;
    display: block;
    margin: 0 auto;
    width: fit-content;
    margin-top: 3rem;
    width: 15rem;
}

/* フッター */
footer{
	position: relative;
}

footer .ly_inner{
	max-width: 1500px;
    margin: 0 auto;
    padding-top: 2rem;
	padding-bottom: 2rem;
    width: calc(100% - 10%);
}

/* ===============================
   フッターエリア (ピンクのドット柄の背景)
   =============================== */
footer.contact-footer-container {
    padding: 40px 0; /* 上下の余白 */
}

/* ===============================
   中央のコンテンツエリア (白い背景部分)
   =============================== */
.content-box {
    margin: 0 auto; /* 中央寄せ */
    background-color: white; 
    padding: 30px 40px; /* 内側の余白 */
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 5px; /* 角の丸み */
	color: var(--blue);
}

/* ===============================
   左側セクション (ロゴと電話番号)
   =============================== */
.left-section {
    flex-basis: 55%;
}

.logo-area {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.logo-cna {
    /* 実際には画像のサイズを調整してください */
    width: 50px; 
    height: auto;
    margin-right: 5px;
}

.company-name {
    font-size: 40px;
    font-weight: 900;
    color: #2e3192; /* 濃い青色 */
}

.registration-number {
    font-size: 12px;
    color: #333;
    margin-top: 0;
    margin-left: 60px; /* ロゴと並ぶように調整 */
}

.phone-area {
    display: flex;
    align-items: center;
    margin-top: 20px;
    position: relative;
}

.free-dial-text {
    position: absolute;
    top: -15px;
    left: 45px;
    font-size: 10px;
    color: #333;
}

.icon-phone {
    font-size: 20px;
    color: white;
    background-color: #2e3192;
    border-radius: 50%;
    padding: 5px;
    display: inline-block;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    margin-right: 5px;
}

.phone-number {
    font-size: 48px;
    font-weight: 900;
    color: #2e3192;
    line-height: 1;
}

.phone-note {
    font-size: 12px;
    font-weight: bold;
    color: #333;
    margin-left: 10px;
    align-self: flex-end; /* 下端に揃える */
}

/* ===============================
   右側セクション (支店情報)
   =============================== */
.right-section {
    flex-basis: 40%;
}

.branch-info {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.label-box {
    border: 1px solid var(--blue);
    padding: 2px 10px;
    /* font-size: 14px; */
    font-weight: bold;
    margin-right: 15px;
    line-height: 1.5;
    flex-shrink: 0; /* 縮まないように */
}

.details {
	font-size: var(--fontSize20);
}

.details p {
    margin: 0;
    line-height: 1.5;
}

/* .zip-address {
    color: #333;
} */

.reception-time {
  font-size: var(--fontSize30);
}

.reception {
    font-weight: bold;
}

.time-main {
    font-weight: bold;
}



.note-small {
    font-size: 12px;
    margin-left: 5px;
}

/* 本社と御所野店の枠線の調整（画像に忠実に） */
.main-office .label-box,
.g-office .label-box {
    width: 9rem;
    padding: 1rem;
    text-align: center;
	font-size: var(--fontSize20);
	font-weight: 900;
}

/* ページトップ */
.pagetop {
    height: 5rem;
    width: 5rem;
    position: absolute;
    right: 30px;
    bottom: 290px;
    z-index: 5;
}

/* .pagetop__btn {
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
} */

@media (max-width: 768px){
.btn{
    width: 15rem;
}
.pagetop {
        bottom: 8rem;
        right: .5rem;
    }
}


/* =======================================
   フェードイン・スライドアニメーション
======================================= */

/* 初期状態 */
.fadein {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

/* 表示時にクラスを付与 */
.fadein.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ページ読み込み時の全体フェードイン */
body {
  opacity: 0;
  transition: opacity 1s ease-out;
}
body.loaded {
  opacity: 1;
}

/* CTAボタンの軽い動き */
.btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}
