@charset "utf-8";
/* CSS Document */


/*----------
_PC
----------*/
@media print, screen and (min-width: 750px) {
.sp {display: none;}
a[href^="tel:"] {pointer-events: none;}
.header {background: url(../images/h-bg.png) no-repeat center/cover;}
.header-in {max-width: 1300px;}
.header h1 {bottom: 50px; left: 0;}

section {max-width: 1300px; padding: 50px 0 100px;}
section h2, .sec_res strong {font-size: 2.5rem; margin: 0 auto 50px; }
section h3 {font-size: 2.0rem; margin: 0 0 50px;}
section h3 span {font-size: 1.0rem;}

.sec_btn {height: 300px;}
.sec_btn::after {width: 120%; height: 200px; left: -10%; top: 50px;}

.sec_add {min-height: 850px; }
.sec_add-in {width: 1300px; padding: 100px 0 50px;}
.sec_add-in p {margin: 0 0 20px;}

.sec_res div {width: 750px;}

.sec_the .block {display: flex; justify-content: center; max-width: 1200px; }
.sec_the .block div {width: 600px; padding: 30px ;}
.sec_the .block a {width: 300px;}
.sec_the .block a::after {top: 28px; left: 70px; }

.sec_faq dl {width: 730px;}
.sec_faq dl dt {font-size: 1.5rem; }
.sec_faq dl dt::after {bottom: 25px; right: 30px;}
.sec_faq dl dt.active::after {bottom: 20px;}

.voi_ttl {width: 1300px; padding: 50px 0 75px; }
.voi_block {width: 750px; display: flex; margin: 50px auto;}
.voi_block div img {margin: 0 40px 0 0;}
.voi_block div span {font-size: 1.5rem;}
.voi_block div div {margin: 0 0 10px; padding: 0 0 10px;}

.foot {padding: 100px 0 50px;}
.foot strong {width: 500px;}
.foot_in {width: 1200px; margin: 0 auto 50px; display: flex; justify-content: space-between;}
.map {width: 600px;}
.map {padding-top: 400px; }

.pagetop {bottom: 50px;}
.pagetop a {width: 100px; height: 100px;}
.pagetop a::after {bottom: 35px; right: 40px; }
}

/*----------
_SP
----------*/
@media print, screen and (max-width: 749px) {
body {font-size: 0.8rem;}
img {width: 100%; height: auto;}
.header {background: url(../images/h-bg.png) no-repeat 65%/cover;}
.header-in {max-width: 90vw;}
.h-logo {width: 150px; height: auto;}
.header h1 {bottom: 15%; left: 0;}

section {max-width: 90vw; padding: 50px 0;}
section h2, .sec_res strong {font-size: 1.3rem; margin: 0 auto 30px; }
section h3 {font-size: 1.5rem; margin: 0 0 30px;}
section h3 span {font-size: 0.8rem;}

.sp_menu {position: fixed; bottom: 0; left: 0; padding: 10px 5px; background:rgba(0,0,0,0.6); z-index: 100;}
.sp_menu ul {display: flex; }
.sp_menu ul li {padding: 0 5px;}
.sp_menu ul img {vertical-align:top;}
.is-hidden {visibility: hidden; opacity: 0; transition : all 1s;}

.sec_btn {width: 100vw; margin: 0 auto; padding: 0 10px; overflow: hidden;}
.sec_btn::after {width: 120%; height: 100px; left: -10%; top: 40px;}


.sec_add-in {padding: 50px 0 30px; }
.sec_add-in p {margin: 0 0 20px;}
.sec_add-in p img {width: 90vw; height: auto;}
.sec_add-in div:nth-child(2) img {width: 90vw; height: auto;}
.sec_add-in div:nth-child(3) img {width: 216px; height: auto;}

.sec_res div {width: 90vw;}

.sec_the .block {max-width: 90vw; }
.sec_the .block div {padding: 30px 0 ;}
.sec_the .block img {width: 150px; height: auto; }
.sec_the .block a {width: 200px; font-size: 1.0rem;}
.sec_the .block a::after {top: 28px; left: 20px; }

.sec_faq dl {width: 90vw;}
.sec_faq dl dt {font-size: 1.0rem;}
.sec_faq dl dt::after {bottom: 20px; right: 30px;}
.sec_faq dl dt.active::after {bottom: 15px;}

.sec_voi {background-size: 125%;}
.voi_ttl {width: 100vw; padding: 30px 0; text-align: center;}
.voi_ttl img {width: 343px; height: auto;}

.voi_block {width: 90vw; margin: 30px auto 0;}
.voi_block div img {display: block; width: 75px; margin: 0 auto;}
.voi_block div div {text-align: center; margin: 10px; padding: 0 0 10px;}

.foot {padding: 30px 0 0px;}
.foot_in {width: 90vw; margin: 0 auto 30px;}
.map {margin: 20px 0 0; padding-top: 30vh;}
.foot_img img {width: 100px; height: auto;}

.pagetop {bottom: 80px;}
.pagetop a {width: 50px; height: 50px;}
.pagetop a::after {bottom: 10px; right: 15px; }

}
