@charset "utf-8";

/*------------------------------------
汎用
------------------------------------*/
html,body {min-width: 960px; max-height: 100%;}

/*スクロールバー*/
::-webkit-scrollbar {width: 6px; background: #fff; z-index: 3;}
::-webkit-scrollbar-thumb {width: 6px; background: #222;}

/*コンティナ*/
.container {width: 880px; margin: 0 auto;}

.tb,.sp {display: none!important;}
.pc.tb, .pc.sp {display: block;}

/*固定ページ見出し*/
.head-img {height: 320px;}

/*汎用見出し*/
.g-h {font-size: 3.65rem; margin-bottom: 40px;}
.g-h.nb {margin-bottom: 20px;}

/*汎用リンク*/
.more-btn {margin: 20px 0; padding: 12px 32px; border-radius: 36px;}

.swiper-slide {display: block; max-width: 320px;}

/*------------------------------------
共通
------------------------------------*/
header {height: 120px;}
header .logo img {width: 273px;}
header h2 {font-size: 1rem; margin-left: 42px;}

footer {padding: 60px 0;}
footer .logo {width: 290px; margin: 0 auto 25px;}
footer .add {font-size: .9rem;}
footer address {justify-content: center; align-items: center; margin: 50px auto;}
footer address .phone {margin-right: 40px;}
footer address .phone dl * {font-size: 1.25rem;}
footer address .phone dl dt {width: 90px; margin-right: 20px;}
footer .copyright {font-size: .8rem;}

/*固定*/
#fix-info {top: 100px; right: 0;}
#fix-info a {position: relative; right: -15px; flex-direction: column; margin-bottom: 25px; padding: 18px 23px 18px 8px; border-radius: 10px 0 0 10px; transition: .3s ease;}
#fix-info a span {font-size: .975rem; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}
#fix-info a img {margin-bottom: 12px;}
#fix-info a:hover {transform: translateX(-15px); opacity: 1;}

/*------------------------------------
トップページ
------------------------------------*/
#front .hero {height: 660px;}
#front .hero p {font-size: 2.05rem;}

#front .top {padding: 84px 0 60px;}
#front .top h1 {top: -36px; width: 434px;}
#front .top h2 {font-size: 2.7rem; margin-bottom: 32px;}

#front .about {padding: 80px 0 0;}
#front .about p.caption {margin-bottom: 40px;}
#front .about img.main-img {margin-bottom: 80px;}
#front .about ul li {width: calc((100% - 120px) / 4); margin-right: 40px;}
#front .about ul li:nth-child(4n) {margin-right: 0;}
#front .about ul li img {width: 174px; height: 174px;}
#front .about ul li h3 {font-size: 1.3rem; margin: 25px 0 10px;}

#front .croom {padding: 80px 0;}
#front .croom .flex {align-items: flex-start;}
#front .croom .txt {margin-left: 50px; text-align: center;}
#front .croom .txt h2 {margin: 0;}
#front .croom .txt p {font-size: 1rem; text-align: left;}

#front .insta {padding: 32px 0 48px;}

/*------------------------------------
シールームのご案内 (about.php)
------------------------------------*/
#about h3 {font-size: 1.7rem; margin: -10px 0 40px;}
#about .img-set li {width: 420px; margin-bottom: 40px;}
#about .img-set li:nth-child(odd) {margin-right: 40px;}

#about .croom {padding: 80px 0 0;}
#about .croom p {margin-bottom: 60px;}

#about .rental {padding: 80px 0 0;}
#about .rental p {margin-bottom: 30px;}
#about .rental .info {margin-top: 0;}
#about .rental .info h3 {margin: 0;}
#about .rental .info .info-box {justify-content: space-between;}
#about .rental .info .info-box .box {width: 420px;}
#about .rental .info .info-box .box * {font-size: .975rem;}
#about .rental .info .info-box .box span {margin-bottom: 22px; padding: 4px;}
#about .rental .info .info-box .box small {font-size: .85rem;}

#about .contact {padding: 100px 0 0;}
#about .contact h2 {font-size: 1.9rem;}
#about .contact p {display: flex; justify-content: center; align-items: center; margin: 30px 0 25px;}
#about .contact p span {display: inline-block; font-size: 1.8rem; color: #666; line-height: 1; margin-right: 20px;}
#about .contact p a {display: inline-block; font-size: 3.25rem; color: #666; line-height: 1;}
#about .contact .more-btn {padding: 12px 84px;}

#about .access {padding: 80px 0;}
#about .access .g-map {height: 420px;}
#about .access .info {align-items: flex-start; margin-top: 56px;}
#about .access .info img.map {margin-right: 36px;}
#about .access .info .txt * {font-size: .975rem;}
#about .access .info .txt img {width: .975rem;}

/*------------------------------------
お問い合わせ・ご相談
------------------------------------*/
#contact h3 {font-size: 1.7rem; text-align: center; font-weight: 700; margin: -10px 0 40px;}
#contact .contact {padding: 80px 0;}
#contact .contact p {text-align: center; margin-bottom: 50px;}

#contact .form {padding: 30px 60px;}
#contact .form dl {display: flex; flex-wrap: wrap; justify-content: center; padding: 30px 0;}
#contact .form dl dt {width: 220px; margin-right: 30px; align-items: flex-start;}
#contact .form dl dt span {font-size: .925rem;}
#contact .form dl dd {width: 465px;}

#contact .form .wpcf7-list-item {display: block!important; margin: 0!important;}
#contact .form input[type="text"],
#contact .form input[type="email"],
#contact .form input[type="tel"],
#contact .form textarea {font-size: .975rem; width: calc(100% - 20px); margin: -8px 0 8px; padding: 10px;}
#contact .form input[type="text"],
#contact .form input[type="email"],
#contact .form input[type="tel"] {height: 24px;}
#contact .form textarea {resize: vertical;}

#contact .form input[type="radio"] + span.wpcf7-list-item-label,
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label,
#contact .form input[type="acceptance"]+ span.wpcf7-list-item-label {font-size: .975rem;}
#contact .form span.wpcf7-list-item-label:after {top: 9px;}

#contact .form input[type="submit"] {padding: 12px 86px;}

#contact .consent h2 {font-size: 1.5rem; margin: 0 0 20px;}
#contact .consent p {font-size: .975rem; margin: 0 0 40px;}

/*--エラーメッセージ--*/
#contact .wpcf7-not-valid-tip {color: #f00; font-size: .9rem;}
#contact .wpcf7-response-output {text-align: center; margin: 0 0 20px; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); border-radius: 5px;}
#contact .wpcf7-validation-errors {text-align: center; color: #b94a48; background-color: #f2dede; border: 1px solid #eed3d7;}
#contact .wpcf7-mail-sent-ok {text-align: center; color: #3a87ad; background-color: #d9edf7; border: 1px solid #bce8f1;}

#contact p.notice {text-align: center; margin: 50px 0 25px;}

