@charset "UTF-8";
html { scroll-behavior: smooth; }
html, body { width:100%; height:100%; }
body { margin:0; padding:0; background:#fff; color:#333; font-size:4vw; line-height:1.6; font-family:'Noto Sans JP', sans-serif; font-weight:400; }
body * { box-sizing:border-box; }
ul, ol, li, dl, dd { padding:0; margin:0; }
h1, h2, h3, h4, h5, h6 { margin-top:0; }
p,figure { margin:0; }
ul { list-style:none; }
img, iframe { vertical-align:bottom; }
a img { border:none; }
hr { height:0; margin:0; border:0; border-top:1px solid #d8d6d6; border-bottom:1px solid #fff; }
select { font-size:100%; }
input, textarea { padding:5px; border:1px solid #ddd; }
table { border-collapse:collapse; border-spacing:0; }
td    { padding:0; }
a:link    { color:#333; text-decoration:none; }
a:visited { color:#333; text-decoration:none; }
a:hover, a:active, a:focus { text-decoration:none; }

header { width:100%; background-color:#fff; padding:5vw 3vw 5vw 5vw; }
header > div { display:flex; justify-content:space-between; }
.hdLogo img { width:32vw; height:auto; }
.hdPCBox { display:none; }
.hdSPBox { margin-top:.5vw; }

.menu-trigger,
.menu-trigger span { display:block; transition:all .4s; cursor:pointer; }
.menu-trigger { position:relative; width:14vw; text-align:center; }
.menu-trigger span { position:absolute; background:#000; width:6.5vw; height:2px; left:0; right:0; margin:auto; }
.menu-trigger span:nth-of-type(1){ top:0.5vw; }
.menu-trigger span:nth-of-type(2){ top:2.5vw; }
.menu-trigger span:nth-of-type(3){ top:4.5vw; }
.menu-trigger.active span:nth-of-type(1){ -webkit-transform:translateY(7px) rotate(-45deg); transform:translateY(7px) rotate(-45deg); }
.menu-trigger.active span:nth-of-type(2){ opacity:0; }
.menu-trigger.active span:nth-of-type(3){ -webkit-transform:translateY(-9px) rotate(45deg); transform:translateY(-9px) rotate(45deg); }

.g-nav { display:none; position:fixed; z-index:3; width:100%; top:16vw; background-color:#fff; margin:0; }
.g-nav ul { border-top:1px solid #ddd; }
.g-nav li { border-bottom:1px solid #ddd; }
.g-nav a { display:block; padding:5vw 0 5vw 15vw; color:#000; font-size:4.5vw; text-decoration:none; line-height:1; }

h1 { margin:5vw 0 8vw; font-size:6vw; letter-spacing:.3em; text-align:center; }
h1 span { padding-left:.3em; padding-bottom:.3em; border-bottom:2px solid #000; }

.swiper { position:relative; margin-bottom:15vw; }
.swiper h1 { position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%); margin:0; text-align:center; }
.swiper h1 img { width:90vw; }
@keyframes zoomUp {
  0% { transform:scale(1); }
  100% { transform:scale(1.15); }
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img { animation:zoomUp 10s linear 0s 1 normal both; }
.slide-img img { display:block; height:100vw; margin-left:-44vw; }
.swiper-pagination-bullet-active { background-color:#fff; }
.swiper-button-prev,
.swiper-button-next { display:none; }

.cnt { margin:0 5vw 15vw; }
.cnt img { width:100%; height:auto; border-radius:3px; }
.cnt h2 { margin-bottom:3vw; font-size:4.8vw; line-height:1.4; text-align:center; }
.cnt h3 { margin-bottom:2vw; font-size:4.2vw; line-height:1.4; }
.cnt p { font-size:3.6vw; }

.completionTour2 { margin-top:10vw; text-align:center; }
.completionTour2 img { max-width:70vw; margin-bottom:20px; }
.completionTour2 p { font-size:4vw; line-height:1.6; }

.topSlide { position:relative; margin:0 auto 12vw; }
.topSlide div { position:absolute; width:90%; top:50%; left:50%; transform:translate(-50%, -50%); }
.topSlide figure { overflow:hidden; }
.topSlide figure img { width:200%; margin-left:-50vw; }

.topNews h2 { margin-bottom:1.2em; letter-spacing:10px; }
.topNews dl { padding-top:20px; border-top:1px solid #ccc; }
.topNews dd { margin-bottom:1em; padding-bottom:1em; border-bottom:1px solid #ccc; }
.topNews dt { padding-left:.4em; font-size:3.4vw; }
.topNews dd { padding-left:.4em; font-size:4vw; }
.topNews a { text-decoration:underline; }

.topAbout figure { margin-bottom:5vw; }
.topEquipment > p { margin-bottom:5vw; }
.topEquipment li { margin-bottom:8vw; }
.topEquipment li:last-child { margin-bottom:0; }
.topEquipment li figure { margin-bottom:2vw; }
.topEquipment li p { margin-bottom:3vw; }
.topEquipment li span { padding:1.5vw 3vw; border:1px solid #999; border-radius:3px; font-size:3vw; line-height:1; }
.topSmile figure { margin-bottom:5vw; }
.topWeare figure { margin-bottom:5vw; }
.topWeare p:last-child { text-align:right; }
.topPlan li { margin-bottom:8vw; }
.topPlan li:last-child { margin-bottom:0; }
.topPlan li figure { margin-bottom:2vw; }
.topExample { margin-bottom:5vw; }
.topExample img { border-radius:0; }

.topImpressions li { margin-bottom:8vw; border:1px solid #999; border-radius:6px; text-align:center; }
.topImpressions li:last-child { margin-bottom:0; }
.topImpressions li a::before { content:""; display:block; width:40px; height:17px; background:url(img/ico-quote.png) no-repeat; background-size:contain; margin:-30px auto 15px; }
.topImpressions li a { display:block; padding:5vw 5vw 7vw; font-size:3.8vw; }
.topImpressions li p { margin-bottom:4vw; text-align:left; }
.topImpressions li span:first-of-type { display:block; margin:2vw 0; font-weight:bold; }
.topImpressions li span:first-of-type::before { content:'ー'; margin-right:.5em; }
.topImpressions li span:first-of-type::after { content:'ー'; margin-left:.5em; }
.topImpressions li span:last-of-type { background-color:#bbb; padding:1.5vw 3vw; border-radius:3px; color:#fff; font-size:3vw; line-height:1; }
.topImpressions li span:last-of-type::after { content:"\0bb"; margin-left:0.5em; }

.cntAboutus h2 { margin-bottom:8vw; }
.cntAboutus > div { margin-bottom:15vw; }
.cntAboutus > div figure { width:80%; margin:0 auto 5vw; }
.cntAboutus > div p { text-align:center; }
.cntAboutus > figure:first-of-type { margin-bottom:15vw; }

.cntEquipment h2 { position:relative; padding:0 0 1.5rem; font-weight:normal; }
.cntEquipment h2:after { position:absolute; bottom:0; left:0; width:100%; height:10px; content:''; background-image:-webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px); background-image:repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px); background-size:7px 7px; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.cntEquipment ul { display:flex; flex-wrap:wrap; justify-content:space-between; }
.cntEquipment li { width:49%; margin:0 0 2vw; list-style:none; }
.cntEquipment img { width:100%; height:auto; border-radius:3px; }
.cntEquipment li:last-child,
.cntEquipment li:nth-last-child(2):nth-child(odd) { margin:0; }

.caseNav { margin-bottom:10vw; }
.caseNav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:5px 0; }
.caseNav li::after { display:inline; content:'｜'; margin-right:.4em; margin-left:.4em; }
.caseNav li:first-child::before { display:inline; content:'｜'; margin-right:.4em; }
.caseNav li:last-child::after { margin-right:0; }
.caseNav a { text-decoration:underline; }

.cntCase h2 { position:relative; padding:0 0 1.5rem; font-weight:normal; }
.cntCase h2:after { position:absolute; bottom:0; left:0; width:100%; height:10px; content:''; background-image:-webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px); background-image:repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px); background-size:7px 7px; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.cntCase ul { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; list-style:none; }
.cntCase img { width:100%; height:auto; border-radius:3px; }

.cntFlow ol { position:relative; margin-left:5vw; }
.cntFlow li { margin-bottom:0; padding:0 0 10vw 35px; border-left:2px solid #3a3a3a; list-style:none; font-size:3.8vw; }
.cntFlow li:last-child { padding-bottom:0; border:0; }
.cntFlow li::before { position:absolute; left:-21px; background-color:#3a3a3a; margin-top:-11px; padding:10px 14px; color:#fff; border-radius:50%; font-weight:bold; }
.cntFlow li:nth-child(1)::before { content:'１'; }
.cntFlow li:nth-child(2)::before { content:'２'; }
.cntFlow li:nth-child(3)::before { content:'３'; }
.cntFlow li:nth-child(4)::before { content:'４'; }
.cntFlow li:nth-child(5)::before { content:'５'; }
.cntFlow li:nth-child(6)::before { content:'６'; }
.cntFlow li:nth-child(7)::before { content:'７'; }
.cntFlow li:nth-child(8)::before { content:'８'; }
.cntFlow li:nth-child(9)::before { content:'９'; }

.cnt.cntCost { margin-bottom:20vw; }
.cntCost1 h2 { margin-bottom:5vw; font-size:6vw; }
.cntCost1 h2 span:first-child { color:#1d4ba7; font-size:10vw; }
.cntCost1 h2 span:last-child { color:#ff9c00; font-size:10vw; }
.cntCost1 h3 { margin-bottom:8vw; font-size:6vw; text-align:center; }
.cntCost1 h3 span { color:#ff003c; }
.cntCost1 > p { margin-bottom:10vw; font-size:4vw; line-height:1.8; text-align:center; }
.cntCost1_1 div { margin-bottom:2vw; }
.cntCost1_1 h4 { margin-bottom:9vw; color:#6c3a00; font-size:7vw; text-align:center; }
.cntCost1_1 figure { width:70%; margin:0 auto; }
.cntCost1_1 p { margin-bottom:2vw; color:#6c3a00; font-size:6vw; font-weight:bold; text-align:center; }
.cntCost1_1 ul:first-of-type { margin-bottom:10vw; margin-left:5vw; }
.cntCost1_1 li { color:#6c3a00; font-size:6vw; font-weight:bold; }
.cntCost1_2 h4 { color:#184787; }
.cntCost1_2 p { color:#184787; }
.cntCost1_2 li { color:#184787; }

.cntCost2 > div { margin-bottom:8vw; padding:0; border:3px solid #ccc; border-radius:6px; }
.cntCost2 h3 { margin-bottom:3vw; padding:2vw 0 3vw; font-size:5.5vw; color:#fff; line-height:1; text-align:center; }
.cntCost2 ul { margin:0 0 5vw 5vw; }
.cntCost2 li { font-size:5vw; font-weight:bold; }
.cntCost2 .cntCost2_1 { border-color:#6800b0; color:#6800b0; }
.cntCost2 .cntCost2_2 { border-color:#0070b0; color:#0070b0; }
.cntCost2 .cntCost2_3 { border-color:#b00099; color:#b00099; }
.cntCost2 .cntCost2_4 { border-color:#b06800; color:#b06800; }
.cntCost2 .cntCost2_5 { border-color:#126b00; color:#126b00; }
.cntCost2 .cntCost2_1 h3 { background-color:#6800b0; }
.cntCost2 .cntCost2_2 h3 { background-color:#0070b0; }
.cntCost2 .cntCost2_3 h3 { background-color:#b00099; }
.cntCost2 .cntCost2_4 h3 { background-color:#b06800; }
.cntCost2 .cntCost2_5 h3 { background-color:#126b00; }
.cntCost2 figure { width:60%; margin:0 auto; }

.cntCost3 h2 { margin-bottom:5vw; font-size:6vw; }
.cntCost3 h2 span { color:#cb684a; font-size:8vw; }
.cntCost3 figure { width:90%; margin:0 auto 10vw; }
.cntCost3 p { font-size:4.5vw; line-height:1.8; }

.cntCost4 h2 { margin-bottom:5vw; font-size:6vw; }
.cntCost4 h2 span { color:#cb684a; font-size:8vw; }
.cntCost4 p { margin-bottom:7vw; font-size:4.5vw; line-height:1.8; }
.cntCost4 b { display:block; margin-bottom:10vw; color:#b00099; font-size:6vw; line-height:1.8; text-align:center; }
.cntCost4 figure:first-of-type { width:30%; margin:0 auto 5vw; }
.cntCost4 figure:nth-of-type(2) { width:100%; margin:0 auto 5vw; }

.cntCost5 p { margin-bottom:5vw; font-size:5vw; text-align:center; }
.cntCost5 table { width:100%; margin-bottom:10vw; }
.cntCost5 th { padding:10px 0; color:#fff; }
.cntCost5 th:first-of-type { background-color:#f34955; border-left:1px solid #f34955; }
.cntCost5 th:last-of-type { background-color:#f5b932; border-right:1px solid #f5b932; }
.cntCost5 td { padding:10px 0; border:2px solid #ddd; line-height:1.2; text-align:center; }
.cntCost5 td span { display:inline-block; font-size:3.4vw; line-height:1.4; }
.cntCost5 td.none { border:0; }
.cntCost5 td.vertical_axis { background-color:#f3f3f3; }
.cntCost5 td.total { color:#184787; font-weight:bold; }
.cntCost5 p:nth-of-type(2){ font-size:7vw; }
.cntCost5 p:last-of-type { font-size:7vw; }
.cntCost5 p:last-of-type b span { color:#184787; font-size:10vw; }

.cntCost6 p { margin-bottom:20vw; font-size:5vw; text-align:center; }
.cntCost6 table { width:100%; margin-bottom:10vw; }
.cntCost6 th { padding:10px 0; color:#fff; font-size:4.5vw; }
.cntCost6 th:first-of-type { background-color:#f34955; border-left:1px solid #f34955; }
.cntCost6 th:last-of-type { background-color:#f5b932; border-right:1px solid #f5b932; }
.cntCost6 td { padding:10px 0; border:2px solid #ddd; text-align:center; vertical-align:top; }
.cntCost6 td span { display:inline-block; font-size:3.4vw; line-height:1.4; }
.cntCost6 td strong { color:#f34955; font-size:5vw; }
.cntCost6 figure { margin-bottom:10vw; }
.cntCost6 p:last-of-type { font-size:4.5vw; line-height:2; }
.cntCost6 p:last-of-type b span { color:#c00; font-size:4.5vw; }

.cntImpressions { line-height:1.8; margin-right:8vw; margin-left:8vw; }
.cntSns { margin:14vw auto; text-align:center; }
.cntSns img { width:80%; }

footer { background:#f4f4f4; padding:14vw 0 12vw; text-align:center; }
footer figure { width:30vw; margin:0 auto 5vw; }
footer p { margin-bottom:2vw; }
footer .tel { font-size:7vw; font-weight:bold; line-height:1.2; }
footer .tel span { background:url(img/ico-sp.png)0 50% no-repeat; background-size:12px 21px; padding-left:20px; }
footer .fax { font-size:7vw; font-weight:bold; line-height:1.5; }
footer .fax span { background:url(img/ico-fax.png)0 50% no-repeat; background-size:20px 21px; padding-left:27px; }
footer .mail { font-weight:bold; line-height:2; }
footer .mail span { background:url(img/ico-mail.png)0 50% no-repeat; background-size:18px 12px; padding-left:25px; }

/* ●480px未満 */
@media (max-width:480px) {
  .spn { display:none; }
}

/* ●480px以上 950px未満 */
@media (min-width:480px) and (max-width:960px) {
  header { padding:15px 30px; }
  .tbn { display:none; }
  .hdLogo img { width:24vw; height:auto; margin-bottom:7px; }
  .hdSPBox { margin-top:1.2vw; }
  .menu-trigger { width:4vw; }
  .menu-trigger span { width:4vw; }
  .menu-trigger span:nth-of-type(1){ top:0.5vw; }
  .menu-trigger span:nth-of-type(2){ top:1.8vw; }
  .menu-trigger span:nth-of-type(3){ top:3.2vw; }
  .menu-trigger.active span:nth-of-type(1){ -webkit-transform:translateY(12px) rotate(-45deg); transform:translateY(12px) rotate(-45deg); }
  .menu-trigger.active span:nth-of-type(3){ -webkit-transform:translateY(-9px) rotate(45deg); transform:translateY(-9px) rotate(45deg); }
  .g-nav { top:10vw; }
  .g-nav a { padding:3vw 0 3vw 12vw; font-size:18px; }

  h1 { font-size:28px; }

  .swiper { margin-bottom:40px; }
  .swiper h1 img { width:70vw; }
  .slide-img img { height:80vw; margin-left:-26vw; }
  .swiper-button-prev,
  .swiper-button-next { display:block; opacity:0.5; }

  .cnt { margin:0 40px 60px; }
  .cnt h2 { margin-bottom:20px; font-size:24px; }
  .cnt h3 { margin-bottom:10px; font-size:20px; }
  .cnt p { font-size:16px; }

  .completionTour2 { margin-top:10vw; }
  .completionTour2 img { max-width:450px; margin-bottom:20px; }
  .completionTour2 p { font-size:20px; }

  .topSlide { margin:0 auto 60px; }
  .topSlide div { width:70%; }
  .topSlide figure img { width:100%; margin-left:0; }

  .topNews dt { padding-left:15px; font-size:13px; }
  .topNews dd { padding-left:15px; font-size:16px; }

  .topAbout figure { margin-bottom:20px; }
  .topEquipment > p { margin-bottom:20px; }
  .topEquipment ul { display:flex; justify-content:space-between; flex-wrap:wrap; }
  .topEquipment li { width:47.5%; margin-bottom:30px; }
  .topEquipment li figure { margin-bottom:10px; }
  .topEquipment li p { margin-bottom:0; }
  .topEquipment li span { padding:5px 10px; font-size:12px; line-height:1; }

  .topSmile figure { margin-bottom:20px; }
  .topWeare figure { width:50%; margin:0 auto 20px; }
  .topPlan li { margin-bottom:30px; }
  .topPlan li figure { margin-bottom:10px; }
  .topExample { margin-bottom:40px; }
  .topExample div { display:flex; justify-content:space-between; flex-wrap:wrap; }
  .topExample figure { width:49%; margin-bottom:15px; }
  .topExample figure:last-child,
  .topExample figure:nth-last-child(2):nth-child(odd) { margin-bottom:0; }

  .topImpressions ul { display:flex; justify-content:space-between; }
  .topImpressions li { width:32%; margin-bottom:0; }
  .topImpressions li a { padding:20px 10px 20px 20px; font-size:15px; }
  .topImpressions li p { margin-bottom:10px; }
  .topImpressions li span:first-of-type { margin-top:10px; font-size:13px; }
  .topImpressions li span:first-of-type::before { content:'ー'; margin-right:5px; }
  .topImpressions li span:first-of-type::after { content:'ー'; margin-left:5px; }
  .topImpressions li span:last-of-type { padding:5px 10px; font-size:12px; }

  .cntAboutus h2 { margin-bottom:60px; }
  .cntAboutus > div { display:flex; justify-content:space-between; margin-bottom:80px; }
  .cntAboutus > div figure { width:50%; margin:0; }
  .cntAboutus > div p { width:40%; text-align:left; }
  .cntAboutus > figure:first-of-type { width:80%; margin:0 auto 80px; }

  .cntEquipment h2 { margin-bottom:30px; padding:0 .5rem 1.5rem; text-align:left; }
  .cntEquipment ul { margin:0; }
  .cntEquipment li { width:49%; margin:0 0 15px; list-style:none; }

  .caseNav { margin-bottom:8vw; }
  .caseNav li { font-size:18px; }

  .cntCase h2 { margin-bottom:30px; padding:0 .5rem 1.5rem; text-align:left; }

  .cntFlow ol { margin-left:25px; }
  .cntFlow li { margin-bottom:0; padding:0 0 50px 35px; border-left:2px solid #3a3a3a; list-style:none; font-size:16px; }

  .cnt.cntCost { margin-bottom:100px; }
  .cntCost1 h2 { margin-bottom:30px; font-size:36px; }
  .cntCost1 h2 span:first-child { font-size:60px; }
  .cntCost1 h2 span:last-child { font-size:60px; }
  .cntCost1 h3 { margin-bottom:50px; font-size:36px; }
  .cntCost1 > p { margin-bottom:50px; font-size:20px; }
  .cntCost1_1 div { margin-bottom:20px; }
  .cntCost1_1 h4 { margin-bottom:30px; font-size:36px; }
  .cntCost1_1 figure { width:60%; }
  .cntCost1_1 p { margin-bottom:20px; font-size:6vw; }
  .cntCost1_1 ul:first-of-type { margin-bottom:80px; margin-left:4em; }
  .cntCost1_1 li { font-size:30px; }

  .cntCost2 > div { margin:0 10% 40px; }
  .cntCost2 h3 { margin-bottom:20px; padding:10px 0 15px; font-size:30px; }
  .cntCost2 ul { margin:0 0 20px 20px; }
  .cntCost2 li { font-size:30px; }
  .cntCost2 figure { width:40%; }

  .cntCost3 h2 { margin-bottom:60px; font-size:40px; }
  .cntCost3 h2 span { font-size:60px; }
  .cntCost3 figure { width:60%; margin:0 auto 60px; }
  .cntCost3 p { font-size:24px; }

  .cntCost4 h2 { margin-bottom:40px; font-size:45px; }
  .cntCost4 h2 span { font-size:60px; }
  .cntCost4 p { margin-bottom:40px; font-size:24px; }
  .cntCost4 b { margin-bottom:80px; font-size:40px; }
  .cntCost4 figure:first-of-type { width:30%; margin:0 auto 50px; }
  .cntCost4 figure:nth-of-type(2) { width:90%; margin:0 auto 40px; }

  .cntCost5 p { margin-bottom:40px; font-size:36px; }
  .cntCost5 table { margin-bottom:40px; }
  .cntCost5 th { font-size:20px; }
  .cntCost5 td { font-size:20px; }
  .cntCost5 td span { font-size:16px; }
  .cntCost5 p:nth-of-type(2){ font-size:40px; }
  .cntCost5 p:last-of-type { font-size:40px; }
  .cntCost5 p:last-of-type b span { font-size:70px; }

  .cntCost6 p { margin-bottom:40px; font-size:36px; }
  .cntCost6 table { margin-bottom:60px; }
  .cntCost6 th { width:50%; padding:10px 0; font-size:24px; }
  .cntCost6 td { padding:10px 0; font-size:20px; }
  .cntCost6 td span { font-size:16px; }
  .cntCost6 td strong { font-size:28px; }
  .cntCost6 figure { width:90%; margin:0 auto 60px; }
  .cntCost6 p:last-of-type { font-size:27px; }
  .cntCost6 p:last-of-type b span { font-size:27px; }

  .cntImpressions { margin-right:80px; margin-left:80px; }
  .cntSns { margin:80px auto; text-align:center; }
  .cntSns img { width:400px; }
  
  footer { padding:80px 0 60px; }
  footer figure { width:150px; margin:0 auto 25px; }
  footer p { margin-bottom:10px; font-size:16px; }
  footer .tel { font-size:24px; }
  footer .fax { font-size:24px; }
}

/* ●960px以上 */
@media (min-width:960px) {
  body { font-size:16px; }
  header { padding:30px 50px; }
  header > div { padding:0; align-items:center; }
  .pcn { display:none; }
  .hdLogo img { width:150px; height:auto; }
  .hdLogo { display:block; }
  .hdPCBox { display:flex; justify-content:flex-end; align-items:center; }
  .hdPCBox a { text-decoration:none; }
  .hdPCBox ul { display:flex; }
  .hdPCBox ul li { margin-right:1.5em; }
  .hdPCBox ul li:last-child { margin-right:0; }
  .hdSPBox { display:none; }

  h1 { margin:30px 0 80px; font-size:30px; letter-spacing:10px; }

  .swiper { margin-bottom:80px; }
  .swiper h1 img { width:60vw; }
  .slide-img img { height:auto; margin-left:0; }
  .swiper-button-prev,
  .swiper-button-next { display:block; opacity:0.5; }

  .cnt { margin:0 auto 80px; }
  .cnt h2 { margin-bottom:20px; font-size:26px; }
  .cnt h3 { margin-bottom:10px; font-size:20px; }
  .cnt p { font-size:15px; }

  .completionTour, .completionTour2 { max-width:700px; }
  .completionTour2 { margin-top:0; }
  .completionTour2 img { max-width:450px; margin-bottom:30px; }
  .completionTour2 p { font-size:20px; }

  .topSlide { margin:0 auto 60px; }
  .topSlide div { width:50%; }
  .topSlide figure img { width:100%; margin-left:0; }


  .topNews { max-width:700px; }
  .topNews h2 { margin-bottom:25px; letter-spacing:10px; }
  .topNews dl { display:flex; flex-wrap:wrap; padding-top:20px; border-top:1px solid #ccc; }
  .topNews dt,
  .topNews dd { margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #ccc; }
  .topNews dt { width:7.5em; padding-left:1em; font-size:16px; }
  .topNews dd { width:calc(100% - 7.5em); padding-left:0; font-size:16px; }
  .topNews a { text-decoration:underline; }

  .topAbout { display:flex; justify-content:space-between; align-items:center; max-width:1000px; }
  .topAbout figure { width:45%; margin-bottom:0; }
  .topAbout div { width:50%; }

  .topEquipment { max-width:1000px; }
  .topEquipment > p { margin-bottom:20px; }
  .topEquipment ul { display:flex; justify-content:space-between; flex-wrap:wrap; }
  .topEquipment li { width:32%; margin-bottom:30px; }
  .topEquipment li:nth-child(3n+1):nth-last-child(-n+3),
  .topEquipment li:nth-child(3n+1):nth-last-child(-n+3) ~ li { margin-bottom:0; }
  .topEquipment li figure { margin-bottom:10px; }
  .topEquipment li p { margin-bottom:20px; }
  .topEquipment li span { padding:3px 10px; font-size:12px; line-height:1; }

  .topSmile { display:flex; justify-content:space-between; align-items:center; max-width:1000px; }
  .topSmile figure { order:1; width:47%; margin-bottom:0; }
  .topSmile div { order:0; width:50%; }

  .topWeare { display:flex; justify-content:space-between; align-items:center; max-width:1000px; }
  .topWeare figure { width:35%; margin-bottom:0; }
  .topWeare div { width:60%; }

  .topPlan { max-width:1000px; }
  .topPlan ul { display:flex; justify-content:space-between; flex-wrap:wrap; }
  .topPlan li { width:47.5%; margin-bottom:30px; }
  .topPlan li figure { margin-bottom:10px; }
  .topPlan li p { margin-bottom:20px; }
  .topPlan li span { padding:3px 10px; font-size:12px; line-height:1; }

  .topExample { margin-bottom:0; }
  .topExample div { display:flex; justify-content:space-between; flex-wrap:wrap; }
  .topExample figure { width:25%; }
  .topExample figure:last-child,
  .topEquipment li:nth-child(4n+1):nth-last-child(-n+4),
  .topEquipment li:nth-child(4n+1):nth-last-child(-n+4) ~ li { margin-bottom:0; }

  .topImpressions { max-width:1000px; }
  .topImpressions ul { display:flex; justify-content:space-between; }
  .topImpressions li { width:32%; margin-bottom:0; }
  .topImpressions li a { padding:20px 10px 20px 20px; font-size:15px; }
  .topImpressions li p { margin-bottom:10px; }
  .topImpressions li span:first-of-type { margin-top:10px; font-size:13px; }
  .topImpressions li span:first-of-type::before { content:'ー'; margin-right:5px; }
  .topImpressions li span:first-of-type::after { content:'ー'; margin-left:5px; }
  .topImpressions li span:last-of-type { padding:5px 10px; font-size:12px; }

  .cntAboutus { max-width:800px; }
  .cntAboutus h2 { margin-bottom:60px; }
  .cntAboutus > div { display:flex; justify-content:space-between; align-items:center; margin-bottom:80px; }
  .cntAboutus > div figure { width:50%; margin:0; }
  .cntAboutus > div p { width:35%; text-align:left; }
  .cntAboutus > figure:first-of-type { width:80%; margin:0 auto 80px; }

  .cntEquipment { max-width:1000px; }
  .cntEquipment h2 { margin-bottom:30px; padding:0 .5rem 1.5rem; text-align:left; }
  .cntEquipment ul { margin:0; }
  .cntEquipment li { width:49%; margin:0 0 15px; list-style:none; }

  .caseNav { margin-bottom:60px; }
  .cntCase { max-width:1000px; }
  .cntCase ul { grid-template-columns:repeat(3,1fr); gap:20px; list-style:none; }

  .cntFlow { max-width:800px; }
  .cntFlow ol { margin-left:25px; }
  .cntFlow li { margin-bottom:0; padding:0 0 50px 35px; border-left:2px solid #3a3a3a; list-style:none; font-size:16px; }

  .cnt.cntCost { max-width:1000px; margin:0 auto 150px; }
  .cntCost1 h2 { margin-bottom:30px; font-size:50px; }
  .cntCost1 h2 span:first-child { font-size:72px; }
  .cntCost1 h2 span:last-child { font-size:60px; }
  .cntCost1 h3 { margin-bottom:60px; font-size:42px; }
  .cntCost1 > p { margin-bottom:60px; font-size:20px; }
  .cntCost1_1 { display:flex; justify-content:space-between; align-items:center; margin-bottom:80px; }
  .cntCost1_1 div { width:30%; margin-bottom:20px; }
  .cntCost1_1 h4 { margin-bottom:30px; font-size:36px; }
  .cntCost1_1 figure { width:100%; }
  .cntCost1_1 p { margin-bottom:20px; font-size:48px; }
  .cntCost1_1 ul { width:45%; }
  .cntCost1_1 ul:first-of-type { margin-bottom:0; margin-left:0; }
  .cntCost1_1 li { font-size:30px; }
  .cntCost1_2 { margin-bottom:0; }

  .cntCost2 { display:flex; justify-content:space-between; flex-wrap:wrap; }
  .cntCost2 > div { width:48%; margin:0 0 40px; }
  .cntCost2 h3 { margin-bottom:20px; padding:10px 0 15px; font-size:30px; }
  .cntCost2 ul { margin:0 0 20px 20px; }
  .cntCost2 li { font-size:30px; }
  .cntCost2 > div:nth-child(1) { order:3; }
  .cntCost2 > div:nth-child(2) { order:1; }
  .cntCost2 > div:nth-child(3) { order:2; }
  .cntCost2 > div:nth-child(4) { order:4; }
  .cntCost2 > div:nth-child(5) { order:5; }
  .cntCost2 figure { width:25%; order:6; }

  .cntCost3 h2 { margin-bottom:80px; font-size:48px; }
  .cntCost3 h2 span { font-size:60px; }
  .cntCost3 figure { width:60%; margin:0 auto 100px; }
  .cntCost3 p { width:800px; margin-right:auto; margin-left:auto; font-size:24px; }

  .cntCost4 h2 { margin-bottom:40px; font-size:46px; }
  .cntCost4 h2 span { font-size:60px; }
  .cntCost4 p { width:800px; margin-right:auto; margin-left:auto; margin-bottom:60px; font-size:24px; }
  .cntCost4 b { margin-bottom:80px; font-size:40px; }
  .cntCost4 figure:first-of-type { width:20%; margin:0 auto 60px; }
  .cntCost4 figure:nth-of-type(2) { width:65%; margin:0 auto; }

  .cntCost5 p { margin-bottom:40px; font-size:36px; }
  .cntCost5 table { margin-bottom:40px; }
  .cntCost5 th { font-size:24px; }
  .cntCost5 td { font-size:24px; }
  .cntCost5 td span { font-size:16px; }
  .cntCost5 p:nth-of-type(2){ font-size:40px; }
  .cntCost5 p:last-of-type { font-size:52px; }
  .cntCost5 p:last-of-type b span { font-size:70px; }

  .cntCost6 p { margin-bottom:40px; font-size:36px; }
  .cntCost6 table { margin-bottom:60px; }
  .cntCost6 th { width:50%; padding:10px 0; font-size:26px; }
  .cntCost6 td { padding:10px 0; font-size:24px; }
  .cntCost6 td span { font-size:16px; }
  .cntCost6 td strong { font-size:30px; }
  .cntCost6 figure { width:65%; margin:0 auto 80px; }
  .cntCost6 p:last-of-type { width:800px; margin-right:auto; margin-left:auto; font-size:30px; }
  .cntCost6 p:last-of-type b span { font-size:30px; }

  .cntImpressions { width:800px; margin:0 auto 150px; }
  .cntSns { margin:80px auto; text-align:center; }
  .cntSns img { width:400px; }

  footer { padding:80px 0 60px; }
  footer figure { width:150px; margin:0 auto 25px; }
  footer p { margin-bottom:10px; font-size:16px; }
  footer .tel { font-size:24px; }
  footer .fax { font-size:24px; }
}

@media (min-width:1260px) {
}
