@charset "UTF-8";
/* ==========================================================
   外壁塗装リフォーム（/painting/）
   共通ヘッダーは common_header.php 側で非表示。PCの固定MENU・サイド追従・フッター上部COMPANYは本ページのみ非表示
   （完了ページ page-painting-thank.php も同じCSSを読むので、独自ヘッダー #pt-head の有無で判定）
   ========================================================== */

/* ---------- 共通（構造・配色） ---------- */
body:has(#pt-head) .pc-menu,body:has(#pt-head) .side-fix{ display: none!important; }
body:has(#pt-head) #contentsfoot .inner-Box1{ display: none; }

#painting main{ color: #1A1A1A; text-spacing-trim: space-all; }
#painting main img{ max-width: 100%; height: auto; vertical-align: top; }
#painting main em{ font-style: normal; }
#painting main strong{ font-weight: 700; }

#pt-head{ position: relative; background: #fff; }
#pt-head .logo{ position: absolute; line-height: 1; }
#pt-head .catch{ color: #40392E; text-align: center; font-weight: 600; }
#pt-head .btn{ position: absolute; top: 0; right: 0; }
#pt-head .btn a{ display: flex; align-items: center; justify-content: center; background: #CC8400; color: #E4E4E4; font-weight: 700; text-decoration: none; }
#pt-head .btn a:hover{ opacity: .8; }

#contentsmain{ position: relative; }
#contentsmain .photo{ display: flex; flex-wrap: wrap; }
#contentsmain .photo li{ overflow: hidden; }
#contentsmain .photo img{ width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#contentsmain h1{ position: relative; display: flex; justify-content: center; align-items: center; margin: 0 auto; background: #40392E; color: #fff; font-weight: 600; letter-spacing: 0; white-space: nowrap; }
#contentsmain h1 .ls{ letter-spacing: -0.12em; }

#contents00{ background: #F6F3EC url("../images/painting/contents00-bg.jpg") no-repeat center top; text-align: center; }
#contents00 .lead h2{ color: #40392E; font-weight: 600; }
#contents00 .lead .text{ color: #40392E; font-weight: 500; }
#contents00 .cta{ position: relative; margin: 0 auto; background: #40392E; color: #fff; }
#contents00 .cta-in{ position: relative; border-style: solid; border-color: #fff; }
#contents00 .cta h3{ font-weight: 600; }
#contents00 .btn-list li a{ position: relative; display: flex; align-items: center; justify-content: center; font-weight: 700; text-decoration: none; }
#contents00 .btn-list li a:hover{ opacity: .85; }
#contents00 .btn-list .btn01 a{ background: #CC8400; color: #fff; }
#contents00 .btn-list .btn02 a{ background: #fff; color: #40392E; }
#contents00 .btn-list .arr{ position: absolute; top: 50%; transform: translateY(-50%); }
#contents00 .tel{ position: relative; margin: 0 auto; background: #840D0A; color: #fff; }
#contents00 .tel .icon{ position: absolute; }
#contents00 .tel .num{ font-weight: 600; line-height: 1; white-space: nowrap; }
#contents00 .tel .time{ white-space: nowrap; }
#contents00 .tel .arr{ position: absolute; top: 50%; transform: translateY(-50%); }

#contents01{ background: #fff linear-gradient(#F0E9D9 0, rgba(240,233,217,.23) 507px, #fff 507px) no-repeat; }
#contents01 .inner-Box{ position: relative; }
#contents01 figure{ position: relative; }
#contents01 figure img{ width: 100%; }
#contents01 .box{ position: relative; z-index: 2; background: #fff; }
#contents01 .box h2{ text-align: center; font-weight: 600; }
#contents01 .box h2::after{ content: ""; display: block; background: linear-gradient(90deg, #F2F2F2 0, #F2F2F2 calc(50% - 100px), #FFEB00 calc(50% - 100px), #FFEB00 calc(50% + 100px), #F2F2F2 calc(50% + 100px)); }
#contents01 .box .text p{ font-weight: 500; }

#contents02{ position: relative; z-index: 2; }
#contents02 .inner-Box{ background: #40392E; color: #fff; }
#contents02 h2{ text-align: center; font-weight: 600; }
#contents02 .list li{ color: #fff; }
#contents02 .list figure img{ width: 100%; }
#contents02 .list h3{ text-align: center; font-weight: 700; white-space: nowrap; }
#contents02 .list .check{ display: inline-block; vertical-align: middle; }
#contents02 .list .text{ font-weight: 600; }

#contents03{ position: relative; background: #F6F3EC; text-align: center; }
#contents03 h2{ color: #40392E; font-weight: 600; }
#contents03 h2 em{ -webkit-text-emphasis: filled dot; text-emphasis: filled dot; -webkit-text-emphasis-position: over right; text-emphasis-position: over right; }
#contents03 .check-list{ background: #fff; border: 1px solid #E4CB9D; margin: 0 auto; font-weight: 500; }
#contents03 .check-list .check{ display: inline-block; vertical-align: middle; }
#contents03 .photo{ display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 auto; }
#contents03 .photo img{ width: 100%; }
#contents03 h3{ font-weight: 600; }
#contents03 .text{ font-weight: 500; }

#contents04{ background: #EFEBE2; overflow: hidden; }
#contents04 .ttl-Box{ text-align: center; color: #40392E; }
#contents04 .ttl-Box .sub{ font-weight: 600; }
#contents04 .ttl-Box h2{ font-weight: 600; line-height: 1; }
#contents04 .ttl-Box h2 span{ position: relative; display: inline-block; z-index: 1; }
#contents04 .ttl-Box h2 span::after{ content: ""; position: absolute; left: 0; right: 0; background: #FFEB00; z-index: -1; }
#contents04 .reason{ position: relative; background: #fff; }
#contents04 .reason .num{ color: #CC8400; font-weight: 600; }
#contents04 .reason h3{ font-weight: 600; }
#contents04 .reason .text p{ font-weight: 500; }
#contents04 .reason .photo{ position: relative; }
#contents04 .reason .photo img{ width: 100%; }
#contents04 .reason .photo .logo{ position: absolute; top: 0; right: 0; }
#contents04 .reason .check-list li{ position: relative; }
#contents04 .reason .check-list .check{ position: absolute; left: 0; }
#contents04 .sub-Box{ background: #F6F3EC; }
#contents04 .sub-Box h4{ font-weight: 600; }
#contents04 .sub-Box .text{ font-weight: 500; }

#contents05{ background: #F6F3EC; }
#contents05 .inner-Box{ background: #EFEBE2; margin: 0 auto; text-align: center; color: #40392E; }
#contents05 .sub{ font-weight: 600; }
#contents05 h2{ font-weight: 600; line-height: 1; }
#contents05 h2 span{ position: relative; display: inline-block; z-index: 1; }
#contents05 h2 span::after{ content: ""; position: absolute; background: #FFEB00; z-index: -1; }
#contents05 .list{ display: flex; flex-wrap: wrap; margin: 0 auto; }
#contents05 .list li{ background: #fff; }
#contents05 .list h3{ color: #CC8400; font-weight: 600; }
#contents05 .list .photo img{ width: 100%; }
#contents05 .list .text{ color: #000; text-align: left; font-weight: 500; }
#contents05 .catch{ font-weight: 600; }
#contents05 .inner-Box > .text{ font-weight: 400; }

#contents06{ background: #fff; }
#contents06 .ttl-Box{ text-align: center; color: #40392E; }
#contents06 .ttl-Box .sub{ font-weight: 600; }
#contents06 .ttl-Box h2{ font-weight: 600; line-height: 1; }
#contents06 .case{ position: relative; margin: 0 auto; background: #FAF8F5; border: solid #CC8400; }
#contents06 .case h3{ color: #1A1A1A; font-weight: 600; border-bottom: solid #CC8400; }
#contents06 .case .photo img{ width: 100%; }
#contents06 .case table{ border-collapse: separate; }
#contents06 .case th,#contents06 .case td{ font-weight: 500; text-align: left; vertical-align: middle; }
#contents06 .case th{ background: #CC8400; color: #fff; }
#contents06 .case td{ background: #fff; color: #40392E; }
#contents06 .case h4{ position: relative; color: #40392E; font-weight: 700; }
#contents06 .case h4::after{ content: ""; position: absolute; left: 1px; background: url("../images/painting/voice.svg") no-repeat left top / contain; }
#contents06 .case .text{ color: #40392E; font-weight: 500; }
#contents06 .case .text strong{ color: #40392E; }

#contents07{ background: #40392E; text-align: center; }
#contents07 .bnr{ margin: 0 auto; line-height: 1; }
#contents07 .bnr a:hover{ opacity: .85; }
#contents07 .bnr img{ width: 100%; }


/* ---------- PC ---------- */
@media screen and (min-width: 768px),print {
#pt-head{ height: 180px; }
#pt-head .logo{ top: 40px; left: 39px; }
#pt-head .logo img{ width: 413px; }
#pt-head .catch{ padding-top: 88px; font-size: 24px; line-height: 36px; letter-spacing: 0.32em; }
#pt-head .btn{ top: 40px; right: 40px; }
#pt-head .btn a{ width: 205px; height: 50px; font-size: 16px; line-height: 20px; letter-spacing: 0.1em; }
#pt-head .btn .icon{ width: 18px; margin-right: 10px; }

#contentsmain .photo li{ height: 29.6875vw; }
#contentsmain .photo .p01,#contentsmain .photo .p03{ width: 25%; }
#contentsmain .photo .p02{ width: 50%; }
#contentsmain h1{ width: 1015px; height: 135px; margin-top: -68px; padding-top: 2px; font-size: 78px; clip-path: polygon(60px 0, 100% 0, 945px 100%, 0 100%); }
#contentsmain h1 .ls{ margin-left: 5px; }

#contents00{ margin-top: 82px; padding: 111px 0 120px; }
#contents00 .lead h2{ font-size: 48px; line-height: 76px; letter-spacing: 0.1em; }
#contents00 .lead .text{ margin-top: 15px; font-size: 22px; line-height: 48px; letter-spacing: 0.05em; }
#contents00 .cta{ width: 1279px; margin-top: 71px; padding: 10px; }
#contents00 .cta-in{ border-width: 4px; padding: 57px 0 62px; }
#contents00 .cta h3{ font-size: 34px; line-height: 43px; letter-spacing: 0.1em; }
#contents00 .btn-list{ display: flex; justify-content: center; margin-top: 30px; }
#contents00 .btn-list li{ margin: 0 15px; }
#contents00 .btn-list li a{ width: 500px; height: 80px; font-size: 18px; line-height: 36px; letter-spacing: 0.05em; }
#contents00 .btn-list .arr{ right: 28px; width: 24px; }
#contents00 .tel{ width: 652px; height: 160px; margin-top: 30px; padding: 44px 0 0 167px; text-align: left; }
#contents00 .tel .icon{ top: 47px; left: 97px; width: 37px; }
#contents00 .tel .num{ font-size: 61px; letter-spacing: 0.05em; }
#contents00 .tel .time{ margin-top: 6px; padding-left: 11px; font-size: 20px; line-height: 30px; letter-spacing: 0.05em; }

#contents01{ padding: 120px 0; }
#contents01 .inner-Box{ width: 1350px; height: 843px; margin-left: calc(50% - 639px); }
#contents01 figure{ position: absolute; width: 530px; }
#contents01 .ph01{ top: 0; left: 0; }
#contents01 .ph02{ top: 401px; left: 820px; }
#contents01 .box{ position: absolute; top: 70px; left: 291px; width: 698px; min-height: 703px; padding: 38px 93px 38px; }
#contents01 .box h2{ margin: 0 -63px; font-size: 30px; line-height: 54px; letter-spacing: 0.1em; }
#contents01 .box h2::after{ height: 4px; margin-top: 31px; }
#contents01 .box .text{ margin-top: 40px; }
#contents01 .box .text p{ font-size: 16px; line-height: 30px; letter-spacing: 0.05em; }
#contents01 .box .text p + p{ margin-top: 30px; }

#contents02{ padding-top: 120px; background: url("../images/painting/contents02-bg.jpg") no-repeat center top / 1920px 1060px; height: 1060px; }
#contents02 .inner-Box{ width: 1280px; min-height: 1003px; margin: 0 auto; padding: 84px 90px 43px; }
#contents02 h2{ font-size: 28px; line-height: 44px; letter-spacing: 0.1em; }
#contents02 h2 em{ font-size: 38px; }
#contents02 .list{ display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 38px; }
#contents02 .list li{ width: 350px; margin-bottom: 33px; }
#contents02 .list figure img{ height: 215px; object-fit: cover; }
#contents02 .list h3{ margin-top: 19px; font-size: 20px; line-height: 34px; letter-spacing: 0.05em; }
#contents02 .list .check{ width: 25px; margin: -4px 12px 0 0; }
#contents02 .list li:nth-child(5) h3{ font-size: 19px; line-height: 32px; margin-top: 20px; margin-bottom: 2px; }
#contents02 .list .text{ margin-top: 11px; min-height: 84px; font-size: 16px; line-height: 28px; letter-spacing: 0.05em; }

#contents03{ padding: 163px 0 76px; background: linear-gradient(to bottom right, #EFEBE2 50%, rgba(239,235,226,0) 50%) no-repeat left top / 50% 280px, linear-gradient(to bottom left, #EFEBE2 50%, rgba(239,235,226,0) 50%) no-repeat right top / 50% 280px, #F6F3EC; }
#contents03 h2{ position: relative; left: -26px; font-size: 28px; line-height: 54px; letter-spacing: 0.1em; }
#contents03 .check-list{ display: flex; justify-content: center; width: 980px; height: 80px; margin-top: 31px; padding-top: 21px; white-space: nowrap; font-size: 20px; line-height: 36px; letter-spacing: 0.05em; }
#contents03 .check-list li{ margin: 0 16px; }
#contents03 .check-list .check{ width: 25px; margin: -4px 12px 0 0; }
#contents03 .photo{ width: 1120px; margin-top: 41px; }
#contents03 .photo li{ width: 360px; }
#contents03 h3{ margin-top: 36px; font-size: 24px; line-height: 36px; letter-spacing: 0.05em; }
#contents03 .text{ margin-top: 17px; font-size: 16px; line-height: 30px; letter-spacing: 0.05em; }

#contents04{ padding: 117px 0 120px; }
#contents04 .ttl-Box .sub{ font-size: 22px; line-height: 33px; letter-spacing: 0.1em; }
#contents04 .ttl-Box h2{ margin-top: 25px; font-size: 60px; letter-spacing: 0.05em; }
#contents04 .ttl-Box h2 span::after{ top: 41px; height: 29px; }
#contents04 .reason{ width: calc(50% + 720px); min-width: 1270px; margin-top: 80px; padding: 80px 0; box-shadow: 0 8px 16px rgba(0,0,0,.09); }
#contents04 .r01{ margin-top: 71px; }
#contents04 .r01,#contents04 .r03{ margin-left: auto; }
#contents04 .reason-in{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 1100px; }
#contents04 .r01 .reason-in,#contents04 .r03 .reason-in{ margin-left: 170px; }
#contents04 .r02 .reason-in,#contents04 .r04 .reason-in{ margin-left: calc(100% - 1270px); }
#contents04 .r02 .photo,#contents04 .r04 .photo{ order: -1; }
#contents04 .r02 .photo{ z-index: 2; }
#contents04 .reason .txt-Box{ width: 550px; padding-top: 3px; }
#contents04 .reason .photo{ width: 510px; }
#contents04 .reason .num{ font-size: 14px; line-height: 11px; letter-spacing: 0.05em; }
#contents04 .reason h3{ margin-top: 28px; font-size: 28px; line-height: 40px; letter-spacing: 0.05em; }
#contents04 .reason .text{ margin-top: 20px; }
#contents04 .reason .text p{ font-size: 16px; line-height: 28px; letter-spacing: 0.05em; }
#contents04 .reason .text p + p{ margin-top: 28px; }
#contents04 .r04 .text p + p{ margin-top: 17px; }
#contents04 .reason .photo .logo{ width: 242px; }
#contents04 .reason .check-list{ margin: 4px 0; }
#contents04 .reason .check-list li{ padding-left: 24px; font-size: 16px; line-height: 28px; letter-spacing: 0.05em; font-weight: 500; }
#contents04 .reason .check-list .check{ top: 8px; width: 18px; }
#contents04 .r03 .text p + p{ margin-top: 0; }
#contents04 .sub-Box{ display: flex; justify-content: space-between; align-items: flex-start; width: 1000px; margin: -53px 0 0 50px; padding: 103px 80px 60px; }
#contents04 .sub-txt{ width: 500px; }
#contents04 .sub-Box h4{ font-size: 20px; line-height: 34px; letter-spacing: 0.05em; }
#contents04 .sub-Box .text{ margin-top: 16px; font-size: 16px; line-height: 28px; letter-spacing: 0.05em; }
#contents04 .sub-photo{ width: 300px; margin-top: -20px; }

#contents05{ padding: 120px 0; }
#contents05 .inner-Box{ width: 1200px; padding: 73px 0 74px; }
#contents05 .sub{ font-size: 22px; line-height: 35px; letter-spacing: 0.1em; }
#contents05 h2{ margin-top: 22px; font-size: 40px; letter-spacing: 0.05em; }
#contents05 h2 span::after{ left: -1px; right: -1px; top: 27px; height: 20px; }
#contents05 .list{ justify-content: space-between; width: 1060px; margin-top: 47px; }
#contents05 .list li{ width: 340px; height: 421px; margin-bottom: 40px; padding: 40px 30px 0; }
#contents05 .list h3{ font-size: 20px; line-height: 41px; letter-spacing: 0.05em; }
#contents05 .list .photo{ height: 180px; }
#contents05 .list .text{ margin-top: 24px; font-size: 14px; line-height: 28px; letter-spacing: 0.05em; }
#contents05 .catch{ margin-top: 11px; font-size: 30px; line-height: 48px; letter-spacing: 0.05em; }
#contents05 .inner-Box > .text{ margin-top: 30px; font-size: 16px; line-height: 32px; letter-spacing: 0.05em; }

#contents06{ padding: 110px 0 120px; }
#contents06 .ttl-Box .sub{ font-size: 22px; line-height: 42px; letter-spacing: 0.1em; }
#contents06 .ttl-Box h2{ margin-top: 20px; font-size: 60px; letter-spacing: 0.1em; }
#contents06 .case{ display: grid; grid-template-columns: 480px 580px; grid-template-rows: auto 1fr; column-gap: 40px; width: 1260px; margin-top: 71px; padding: 79px 79px 79px; border-width: 1px; }
#contents06 .case + .case{ margin-top: 40px; }
#contents06 .case h3{ grid-column: 2; grid-row: 1; padding-bottom: 20px; font-size: 28px; line-height: 40px; letter-spacing: 0.05em; border-bottom-width: 2px; }
#contents06 .case .photo{ grid-column: 1; grid-row: 1 / 3; }
#contents06 .case .detail{ grid-column: 2; grid-row: 2; padding-top: 24px; }
#contents06 .case table{ width: 400px; border-spacing: 0 2px; margin-top: -2px; }
#contents06 .case th,#contents06 .case td{ height: 40px; font-size: 14px; line-height: 26px; letter-spacing: 0.05em; }
#contents06 .case th{ width: 140px; padding-left: 16px; }
#contents06 .case td{ padding-left: 20px; }
#contents06 .case h4{ margin-top: 29px; font-size: 18px; line-height: 40px; letter-spacing: 0.1em; }
#contents06 .case h4::after{ bottom: -6px; width: 100px; height: 15px; }
#contents06 .case .text{ margin-top: 22px; font-size: 16px; line-height: 32px; letter-spacing: 0.05em; }

#contents07{ padding: 120px 0; }
#contents07 .bnr{ width: 1002px; }
}


/* ---------- PC 幅が狭いとき（デザインは1920px幅。ロゴ・キャッチ・ボタンの重なり防止） ---------- */
@media screen and (min-width:768px) and (max-width:1650px) {
#pt-head .logo img{ width: 300px; }
}
@media screen and (min-width:768px) and (max-width:1300px) {
#pt-head{ min-width: 1100px; }
#pt-head .catch{ padding: 92px 250px 0 330px; font-size: 18px; line-height: 30px; letter-spacing: 0.2em; }
#contentsmain h1{ max-width: 94%; clip-path: polygon(5.91% 0, 100% 0, 93.1% 100%, 0 100%); }
}


/* ---------- SP ---------- */
@media screen and (max-width: 767px) {
#pt-head{ height: 37.68vw; }
#pt-head .logo{ top: 3.62vw; left: 4.83vw; }
#pt-head .logo img{ width: 48.31vw; }
#pt-head .catch{ padding-top: 22.2vw; font-size: 3.865vw; line-height: 5.797vw; letter-spacing: 0.32em; }
#pt-head .btn a{ width: 14.49vw; height: 14.49vw; }
#pt-head .btn .icon{ width: 5.07vw; }

#contentsmain .photo .p02{ order: 1; width: 100%; height: 62.8vw; }
#contentsmain .photo .p01{ order: 2; width: 50%; height: 53.14vw; }
#contentsmain .photo .p03{ order: 3; width: 50%; height: 53.14vw; }
#contentsmain h1{ width: 100%; height: 14.25vw; margin-top: -5.07vw; padding-top: 0.5vw; font-size: 8.213vw; clip-path: polygon(6.34vw 0, 100% 0, 92.6vw 100%, 0 100%); }
#contentsmain h1 .ls{ margin-left: 1.2vw; }

#contents00{ margin-top: 19.32vw; padding: 15.7vw 0 19.32vw; background-image: url("../images/painting/sp-contents00-bg.jpg"); background-size: 100% auto; }
#contents00 .lead h2{ color: #1A1A1A; font-size: 6.28vw; line-height: 9.662vw; letter-spacing: 0.05em; }
#contents00 .lead .text{ width: 77.78vw; margin: 6.3vw auto 0; font-size: 3.865vw; line-height: 8.696vw; letter-spacing: 0; }
#contents00 .cta{ width: 93.72vw; margin-top: 8.45vw; padding: 1.21vw; }
#contents00 .cta-in{ border-width: 2px; padding: 11.6vw 2.42vw 11.6vw; }
#contents00 .cta h3{ font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, sans-serif; font-weight: 700; font-size: 5.314vw; line-height: 6.763vw; letter-spacing: 0.1em; }
#contents00 .btn-list{ margin-top: 9.4vw; }
#contents00 .btn-list li{ margin-bottom: 2.415vw; }
#contents00 .btn-list li a{ width: 100%; height: 19.32vw; font-size: 3.865vw; line-height: 4.35vw; letter-spacing: -0.05em; }
#contents00 .btn-list .btn02 a{ font-size: 3.382vw; }
#contents00 .btn-list .arr{ right: 4.3vw; width: 5.8vw; }
#contents00 .tel{ width: 100%; height: 19.32vw; padding: 3.1vw 0 0 14.5vw; text-align: left; }
#contents00 .tel .icon{ top: 5.3vw; left: 6.76vw; width: 4.83vw; }
#contents00 .tel .num{ font-size: 8.696vw; letter-spacing: 0.05em; }
#contents00 .tel .time{ margin-top: 0.4vw; padding-left: 0.8vw; font-size: 3.382vw; line-height: 4.35vw; letter-spacing: -0.05em; }
#contents00 .tel .arr{ right: 4.3vw; width: 5.8vw; }

#contents01{ padding: 12.08vw 0 12.08vw; background: #fff linear-gradient(#F0E9D9 0, rgba(240,233,217,.23) 305.3vw, #fff 305.3vw) no-repeat; }
#contents01 figure img{ height: auto; }
#contents01 .ph01{ margin-bottom: -14.5vw; }
#contents01 .ph02{ margin-top: -14.73vw; }
#contents01 .box{ width: 91.3vw; margin: 0 auto; min-height: 196.86vw; padding: 9.66vw 8.94vw 5.07vw 9.9vw; }
#contents01 .box h2{ margin: 0 -4.4vw 0 -4.1vw; font-size: 5.797vw; line-height: 9.662vw; letter-spacing: 0.05em; }
#contents01 .box h2::after{ width: 67.63vw; height: 1vw; margin: 2.4vw auto 0; background: linear-gradient(90deg, #F2F2F2 0, #F2F2F2 25.36vw, #FFEB00 25.36vw, #FFEB00 42.27vw, #F2F2F2 42.27vw); }
#contents01 .box .text{ margin-top: 4.83vw; }
#contents01 .box .text p{ font-size: 3.865vw; line-height: 7.246vw; letter-spacing: 0.05em; }
#contents01 .box .text p + p{ margin-top: 7.246vw; }

#contents02 .inner-Box{ padding: 3.86vw 7.49vw 3.86vw; }
#contents02 h2{ margin: 0 -4vw; font-size: 5.797vw; line-height: 9.662vw; letter-spacing: 0.05em; }
#contents02 h2 em{ font-size: inherit; }
#contents02 .list{ margin-top: 11.1vw; }
#contents02 .list li{ margin-bottom: 12.8vw; }
#contents02 .list li:last-child{ margin-bottom: 0; }
#contents02 .list h3{ margin-top: 6vw; font-size: 4.831vw; line-height: 8.213vw; letter-spacing: 0.05em; }
#contents02 .list .check{ width: 6.04vw; margin: -1vw 2.9vw 0 0; }
#contents02 .list li:nth-child(5) h3{ margin-top: 3.6vw; font-size: 4.589vw; line-height: 7.73vw; }
#contents02 .list .text{ margin-top: 4.1vw; font-size: 3.865vw; line-height: 6.763vw; letter-spacing: 0.05em; }

#contents03{ padding: 26.6vw 0 16.7vw; background: linear-gradient(to bottom right, #EFEBE2 50%, rgba(239,235,226,0) 50%) no-repeat left top / 50% 8.7vw, linear-gradient(to bottom left, #EFEBE2 50%, rgba(239,235,226,0) 50%) no-repeat right top / 50% 8.7vw, #F6F3EC; }
#contents03 h2{ font-size: 5.797vw; line-height: 9.662vw; letter-spacing: 0.05em; }
#contents03 .check-list{ width: 80.68vw; margin-top: 4.6vw; padding: 3.4vw 0 3.4vw 3.9vw; text-align: left; font-size: 3.865vw; line-height: 7.246vw; letter-spacing: 0.05em; }
#contents03 .check-list .check{ width: 6.04vw; margin: -1vw 2.2vw 0 0; }
#contents03 .check-list{ display: flex; flex-direction: column; }
#contents03 .check-list li:nth-child(2){ order: 3; }
#contents03 .photo{ width: 80.68vw; margin-top: 6.28vw; }
#contents03 .photo .p02{ order: 1; width: 100%; margin-bottom: 1.93vw; }
#contents03 .photo .p01{ order: 2; width: 39.37vw; }
#contents03 .photo .p03{ order: 3; width: 39.37vw; }
#contents03 h3{ width: 80.68vw; margin: 5.1vw auto 0; text-align: left; white-space: nowrap; font-size: 4.831vw; line-height: 9.179vw; letter-spacing: 0.05em; }
#contents03 .text{ width: 80.68vw; margin: 4.6vw auto 0; text-align: left; font-size: 3.865vw; line-height: 7.246vw; letter-spacing: 0.05em; }

#contents04{ padding: 19.1vw 0 18.6vw; }
#contents04 .ttl-Box .sub{ font-size: 4.831vw; line-height: 7.971vw; letter-spacing: 0.1em; }
#contents04 .ttl-Box h2{ margin-top: 3.9vw; font-size: 8.213vw; letter-spacing: 0.1em; }
#contents04 .ttl-Box h2 span{ margin-right: -0.1em; }
#contents04 .ttl-Box h2 span::after{ left: -2.2vw; right: -2.2vw; top: 4.8vw; height: 4.83vw; }
#contents04 .reason{ width: 96.14vw; margin: 9.66vw auto 0; padding: 10.1vw 3.86vw 7.5vw; box-shadow: 0 1.45vw 2.9vw rgba(0,0,0,.16); }
#contents04 .reason-in{ display: flex; flex-direction: column; }
#contents04 .reason .txt-Box{ display: contents; }
#contents04 .reason .num{ order: 1; text-align: center; font-size: 3.382vw; line-height: 3.14vw; letter-spacing: 0.05em; }
#contents04 .reason h3{ order: 2; margin-top: 2.7vw; text-align: center; color: #40392E; font-size: 5.314vw; line-height: 8.213vw; letter-spacing: 0.05em; }
#contents04 .reason .photo{ order: 3; margin-top: 4.6vw; }
#contents04 .reason .text{ order: 4; margin-top: 5.8vw; }
#contents04 .reason .sub-Box{ order: 5; }
#contents04 .reason .text p{ font-size: 3.865vw; line-height: 7.246vw; letter-spacing: 0.05em; }
#contents04 .reason .text p + p{ margin-top: 7.246vw; }
#contents04 .reason .photo .logo{ display: none; }
#contents04 .r01{ margin-top: 11.1vw; }
#contents04 .r02{ padding-bottom: 9.66vw; }
#contents04 .reason .check-list{ margin: 4.6vw 0 3.1vw; }
#contents04 .reason .check-list li{ padding-left: 5.8vw; font-size: 3.865vw; line-height: 6.763vw; letter-spacing: 0.05em; font-weight: 500; }
#contents04 .reason .check-list .check{ top: 1.9vw; width: 4.35vw; }
#contents04 .r03 .text p + p{ margin-top: 0; }
#contents04 .sub-Box{ display: flex; flex-direction: column; margin-top: 3.9vw; padding: 7.7vw 5.8vw 5.8vw; }
#contents04 .sub-txt{ display: contents; }
#contents04 .sub-Box h4{ order: 1; font-size: 4.348vw; line-height: 7.729vw; letter-spacing: 0.05em; }
#contents04 .sub-photo{ order: 2; margin-top: 1.93vw; }
#contents04 .sub-Box .text{ order: 3; margin-top: 3.9vw; font-size: 3.865vw; line-height: 7.246vw; letter-spacing: 0.05em; }

#contents05{ padding: 14.49vw 0; }
#contents05 .inner-Box{ width: 96.14vw; padding: 16.4vw 3.86vw 12.3vw; }
#contents05 .sub{ font-size: 4.348vw; line-height: 7.246vw; letter-spacing: 0.05em; }
#contents05 h2{ margin-top: 2.4vw; font-size: 5.556vw; letter-spacing: 0.05em; }
#contents05 h2 span::after{ left: -2.4vw; right: -2.6vw; top: 4.1vw; height: 4.1vw; }
#contents05 .list{ margin-top: 8.2vw; }
#contents05 .list li{ width: 100%; margin-bottom: 4.1vw; padding: 7.25vw 3.86vw 4.83vw; }
#contents05 .list h3{ font-size: 4.831vw; line-height: 9.9vw; letter-spacing: 0.05em; }
#contents05 .list .text{ margin-top: 3.86vw; font-size: 3.382vw; line-height: 6.763vw; letter-spacing: 0.05em; }
#contents05 .catch{ margin-top: 4.8vw; font-size: 5.314vw; line-height: 8.213vw; letter-spacing: 0.05em; }
#contents05 .inner-Box > .text{ margin-top: 4.6vw; padding: 0 3.86vw; text-align: left; font-size: 3.865vw; line-height: 7.246vw; letter-spacing: 0.05em; font-weight: 500; }

#contents06{ padding: 17.9vw 0 20.5vw; }
#contents06 .ttl-Box .sub{ font-size: 4.348vw; line-height: 7.246vw; letter-spacing: 0.05em; }
#contents06 .ttl-Box h2{ margin-top: 2.2vw; font-size: 7.729vw; letter-spacing: 0.05em; }
#contents06 .case{ width: 96.14vw; margin-top: 11.1vw; padding: 9.2vw 3.38vw 6.76vw; border-width: 2px; }
#contents06 .case + .case{ margin-top: 9.66vw; }
#contents06 .case h3{ padding-bottom: 2.7vw; color: #40392E; font-size: 5.314vw; line-height: 8.213vw; letter-spacing: 0.05em; border-bottom-width: 1px; }
#contents06 .case .photo{ margin-top: 7vw; }
#contents06 .c01 .photo .ba{ display: flex !important; justify-content: space-between; }
#contents06 .c01 .photo .ba img{ width: 43.72vw; }
#contents06 .c02 .photo{ width: 88.89vw; margin: 6vw 0 0 -0.97vw; }
#contents06 .case .detail{ margin-top: 5.8vw; }
#contents06 .case table{ width: 100%; border-spacing: 0 0.483vw; margin-top: -0.483vw; }
#contents06 .case th,#contents06 .case td{ height: 9.66vw; font-size: 3.382vw; line-height: 6.28vw; letter-spacing: 0.05em; }
#contents06 .case th{ width: 33.82vw; padding-left: 3.86vw; }
#contents06 .case td{ padding-left: 4.83vw; }
#contents06 .case h4{ margin-top: 5.07vw; font-size: 4.348vw; line-height: 9.662vw; letter-spacing: 0.1em; }
#contents06 .case h4::after{ bottom: -1.45vw; width: 24.15vw; height: 3.62vw; }
#contents06 .case .text{ margin-top: 5.3vw; color: #000; font-size: 3.382vw; line-height: 6.763vw; letter-spacing: 0.05em; }
#contents06 .case .text strong{ color: #000; }

#contents07{ padding: 12.08vw 0; background: #585555; }
#contents07 .bnr{ width: 91.79vw; }
}
