/********** 子ページ用 **********/
/* タイトル */
h3 {
    padding: 0.25em 0.5em;
    border-left: solid 5px #ff0505;
    font-size: 1.2em;
    font-weight: bold;
    margin: 1em 0;
}


/********** 追従CTAボタン（使いまわし子ページ用） ************/
.fix_contact2 {
    position: fixed;
    bottom: 0;
    background-color: #ffffffcc;
}

/* メッセージ */
.time-balloon2 p {
    font-weight: bold;
    font-size: 0.9em;
}

.time-balloon2 p span {
    color: #ff0505;
    font-size: 1em;
    background: linear-gradient(transparent 70%, yellow 92%);
}

/* 吹き出し */
.time-balloon2 {
    align-items: center; /* 線を上下中央 */
    display: flex; /* 文字と線を横並び */
    justify-content: center; /* 文字を中央寄せ */
    margin-right: 0.5em;
}

.time-balloon2::before,.time-balloon2::after {
    background-color: #333; /* 線の色 */
    border-radius: 5px; /* 線の両端を丸く */
    content: "";
    height: 1px; /* 線の太さ */
    width: 20px; /* 線の長さ */
}

.time-balloon2::before {
    transform: rotate(60deg); /* 傾ける */
}

.time-balloon2::after {
    transform: rotate(-60deg); /* 傾ける */
}

/* 追従CTAボタン メディアクエリ*/
/* 769pxより大きい場合は表示しない */
@media (min-width: 510px) {
    .fix_contact2 {
        display: none;
    }
}
/* リアルタイムの文字の大きさ */
/* 350pxより小さい場合 */
@media (max-width: 350px) {
    .time-balloon2 p {
        font-size: 0.8em;
    }
}


/********** 詳細ページのTOP画像を変更 ***********/
/* メインページのTOP画像を表示しない */
.hero-img {
    display: none;
}


/********** パンくずリスト *********/
.breadcrumb-ctn {
    width: 100%;
    margin: 1.5em 0 0.5em 0.5em;
}

.breadcrumb-001 {
    display: flex;
    gap: 0 10px;
    list-style: none;
    padding: 0;
    font-size: .9em;
}

.breadcrumb-001 li {
    display: flex;
    align-items: center;
}

.breadcrumb-001 li:first-child::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 20C20 20.5523 19.5523 21 19 21H5C4.44772 21 4 20.5523 4 20V11L1 11L11.3273 1.6115C11.7087 1.26475 12.2913 1.26475 12.6727 1.6115L23 11L20 11V20ZM11 13V19H13V13H11Z' fill='%23333333'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

.breadcrumb-001 li:not(:last-child)::after {
    display: inline-block;
    transform: rotate(45deg);
    width: .3em;
    height: .3em;
    margin-left: 10px;
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    content: '';
}

/* パンくずaタグ */
.breadcrumb-001 a {
    text-decoration: underline solid blue;
    color: blue;
}

.breadcrumb-001 a:visited {
    color: #6699b7;
    text-decoration: none;
}

.breadcrumb-001 a:active {
    color: gray;
}


/********** 料金表 **********/
.price2-main {
    width: 100%;
}

.price2-container {
    margin: 3em 0;
}

/* 上部カード */
.price2-card {
    display: flex;
    flex-direction: row;
    padding: 1em;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #ff990020;
}

/*テキスト指定*/
.card__textbox2 {
    width: 100%;
    height: auto;
    padding: 0; /*調整必要*/
    background-color: transparent; /* 上部カードの中が #fff だったので透明に */
}

/*タイトルの指定*/
.card__titletext2 p {
    font-size: 20px;
    font-weight: bold;
    margin: 0.5em 0;
    line-height: 125%;
    border-bottom: solid 2px #ff9900;
}

.card__overviewtext2 {
    margin-bottom: 0.5em;
} 

.card__overviewtext2 p {
    font-size: 1em;
    line-height: 1.8em;
}

.card__overviewtext2 p::before {
    content: '\f14a';
    font-family: 'Font Awesome 6 Free';
    font-size: 1.5em;
    padding-right: 0.3em;
    font-weight: 900;
    color: #ff5600;
    vertical-align: -3px; /*文字とアイコンをそろえる*/
}

/*画像の指定*/
.card__imgframe2 {
    width: 35%;
    height: auto;
    margin-right: 0.5em;
}


/* カードの文字の大きさ、画像の大きさ、位置 */
/* 400pxより小さい場合 */
@media (max-width: 400px) {
    .card__overviewtext2 p {
        font-size: 0.9em;
    }
    .card__imgframe2 {
        margin: auto;
        width: 35%;
    }
}

/* 値段テーブル */
.price2-table {
    background-color: #fff;
    padding: 0.7em;
    border-bottom: dashed 1px #d5d5d5;
}

.price2-table-title {
    padding: 0em 0.5em;/*上下 左右の余白*/
    color: #494949;/*文字色*/
    background: transparent;/*背景透明に*/
    border-left: solid 5px #ff9900;/*左線*/
}

.price2-table-title p {
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 0.4em;
}

/* 値段 */
.price2-p p {
    font-weight: bold;
    font-size: 1.3em;
    text-align: right;
    color: #ff0505;
    padding-top: 0.5em;
    padding-right: 0.5em;
}

/* 決済方法 */
.price2-pay {
    width: 90%;
    background-color: #ffde59;
    border-radius: 8px;
    margin: 5em auto;
    padding-bottom: 1em;
}

.price2-pay-ex p {
    color: #333;
    text-align: center;
    font-weight: bold;
    padding: 0.5em;
    line-height: 1.7;
}

/* 「選べるお支払い方法」両端に\/  */
.price2-pay-ex span {
    color: #333;
    font-size: 1.4em;
    position: relative;
    display: inline-block;
    padding: 0 1.5em;
}

.price2-pay-ex span::before {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: black;
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    left: 0;
}

.price2-pay-ex span::after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: black;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
    right: 6px;
}

.price2-pay-main {
    background-color: #fff;
    width: 90%;
    margin: 0 auto;
    padding: 0.8em 0.5em 0.1em 0.5em;
}

.price2-pay-credit {
    margin-bottom: 1.5em;
}

.price2-pay-credit img {
    width: 90%;
}

/* クレジットの画像だけ大きく */
.price2-pay-credit .creditimg {
    width: 100%;
}

/* 支払注意事項 */
.price2-pay-attention {
    width: 90%;
    margin: 0 auto;
    line-height: 1.5;
}

.price2-pay-attention p {
    font-size: 0.9em;
    color: #333;
}

/* 注意事項 */
.price2-warning-title {
    text-align: center;
}

.price2-warning-title2 {
    position: relative;
    display: inline-block;
    padding: 0 55px;
}

.price2-warning-title2::before,.price2-warning-title2::after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 2px;
    border-top: solid 1px #ff0505;
    border-bottom: solid 1px #ff0505;
    }

.price2-warning-title2::before {
    left:0;
}

.price2-warning-title2::after {
    right: 0;
}

.price2-warning-title2 p {
    font-weight: bold;
    font-size: 1.1em;
}

.price2-warning-main {
    width: 90%;
    padding-bottom: 3em;
    margin: 0 auto;
}


/** かんたん見積りボタン **/
.price-btn-ctn {
    text-align: center;
    padding-bottom: 2em;
}

a.price-btn {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    padding: 1.5rem 0.8rem 1.2rem 1.5rem;
    color: #fff;
    border-radius: 100vh;
    background: #eb6100;
    box-shadow: 0 6px 0 #832407;
}

.price-btn span {
    color: #fff100;
    font-size: 1.1em;
    padding: 0 0.2em;
}
  
.price-btn::before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    content: '\f095';
    font-size: 1.2em;
    margin-right: 0.4em;
    vertical-align: -2px;

}

.price-btn small {
    font-size: 0.8em;
    color: #ffffff;
    padding: 0 0.2em;
}


/** 目次 **/
.price-table {
    padding-left: 0.5em;
    padding-top: 1em;
}

.arrowbtn {
    margin: 0.8em 0;
}

.arrowbtn a {
	position: relative; 
	padding: 0 1.2em .5em .5em; 
	text-decoration: none; 
    font-size: 1.1em;
    font-weight: bold;
    color: #555;
}

.arrowbtn a::before {
	border-bottom: 3px solid #eb8585; 
	bottom: 0; 
	content: ''; 
	height: 12px; /* 矢印の高さ */
	position: absolute; /* 親要素から相対的に配置 */
	left: 0; /* 矢印の位置を左端に */
	transform: skewX(50deg); /* 矢印の形状を傾けてデザイン */
	width: 100%; /* ボタン全体の幅に矢印を合わせる */
}


/********** よくあるご質問 **********/
.question {
    background-color: #fff;
}

.Qa-Box {
    width: 90%;
    margin: 3em auto;
    background-color: #fff;
}
  
  .Qa-Box .Qa dt,
  .Qa-Box .Qa dd {
    display: flex;
    align-items: baseline;
    margin: 15px 0;
    padding: 15px;

}
  
  .Qa-Box .Qa dt {
    background: #F5F5F5;
}
  
  .Qa-Box .Qa dt p {
    margin: 0;
    padding-left: 15px;
    font-weight: bold;
    width: 100%;
}
  
  .Qa-Box .Qa dd p {
    margin: 0;
    padding-left: 15px;
    width: 100%;
}
  
  .Qa-Box .Qa dt::before {
    content: "Q";
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #6699B7;
    width: 2em;
    height: 2em;
    font-size: 1.3em;
}
  
  .Qa-Box .Qa dd::before {
    content: "A";
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #D65556;
    width: 2em;
    height: 2em;
    font-size: 1.3em;
}


/********** ご依頼までの流れ **********/
.flow-main-child {
    margin: 2em 0.7em 4em 0.7em;
}


/********** 会社概要  **********/
.company_info-main {
    margin: 1em 1em 4em 1em;
}

.kaisya-gaiyou {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
}

.kaisya-gaiyou th,
.kaisya-gaiyou td {
    padding: 16px;
    font-weight: normal;
    border-left: 1px solid #333;
    border-bottom: 1px solid #333;
    display: block;
    text-align: left;
}
.kaisya-gaiyou th {
    background-color: #ffde59;
    font-weight: bold;
    font-size: 1.1em;
}
.kaisya-gaiyou td {
    background-color: #fbf9f9;
}

.jigyou-list {
    padding: 0;
}
.jigyou-list li {
    margin: 0.5em 0;
}


/********** プライバシーポリシー **********/

.policy-main {
    padding: 2em 1em;
}

.policy-main p {
    padding: 0.7em;
    width: 100%;
    overflow: hidden;
}

.policy-main p.policy-p-sub  {
    padding: 0.7em;
    font-weight: bold;
}

.policy-main p a {
    color: #0000ff;
    text-decoration: underline;
    padding-left: 1em;
    display: inline-block;
}