@charset "UTF-8";
/*@import "variables";*/
/* デバイスサイズ */
/* ====================================================================== */
/* ベースの値 */
/* ====================================================================== */
/* デバイス */
/* ====================================================================== */
/* フォント */
/* ====================================================================== */
/* flex */
/* ====================================================================== */
/* absolute */
/* ====================================================================== */
/* filter */
/* ====================================================================== */
/* common */
/* ====================================================================== */
body { color: #2B2B2B; line-height: 1.6; letter-spacing: 1.5px; font-family: "Zen Kaku Gothic New", sans-serif; text-align: center; font-weight: 400; background-color: #FFFFFF; }

h2 { font-family: 'Shippori Mincho', serif; color: #5C3807; font-size: 25px; }
@media (min-width: 1080px) { h2 { font-size: 28px; } }

p { font-size: 14px; }

.jump { display: block; padding-top: 70px; margin-top: -70px; }

@media (min-width: 768px) { .sp_only { display: none; } }

.sp_none { display: none; }
@media (min-width: 768px) { .sp_none { display: inline-block; } }

/* contact_kv */
/* ====================================================================== */
.contact_kv { background-image: url("../img/kv.png"); height: 25vh; position: relative; }
@media (min-width: 768px) { .contact_kv { height: 55vh; } }
.contact_kv__inner h1 { font-size: 22px; font-weight: 400 !important; font-family: 'Shippori Mincho', serif; color: #FFFFFF; padding-top: 14vh; letter-spacing: 2px; }
@media (min-width: 768px) { .contact_kv__inner h1 { font-size: 32px; padding-top: 28vh; } }
.contact_kv__inner img { width: auto; position: absolute; transform: translate(-50%, 0); left: 50%; bottom: -17px; height: 33px; }
@media (min-width: 768px) { .contact_kv__inner img { bottom: -50px; height: 97px; } }

.contact_contents { background-color: #EFEBE7; }
.contact_contents__inner { padding-top: 50px; }
@media (min-width: 768px) { .contact_contents__inner { padding-top: 123px; } }
.contact_contents__tel { margin: 30px auto 40px auto; }
@media (min-width: 768px) { .contact_contents__tel { margin: 40px auto 45px auto; } }
.contact_contents__tel a { display: block; background-color: #FFFFFF; width: 269px; margin: auto; padding: 20px 0px; color: #5C3807; }
.contact_contents__tel a img { width: 28px; vertical-align: baseline; position: relative; top: 1px; margin-right: 4px; }
.contact_contents__tel a span { font-size: 21px; font-weight: bold; }
.contact_contents__mail { width: 90%; max-width: 600px; margin: auto; background-color: #FFFFFF; padding: 20px 20px 40px 20px; }
@media (min-width: 768px) { .contact_contents__mail { max-width: 1080px; padding: 40px 30px; width: 88%; } }
@media (min-width: 1200px) { .contact_contents__mail { padding: 60px 0px; width: 100%; } }
.contact_contents__mail form { max-width: 450px; margin: auto; }
@media (min-width: 768px) { .contact_contents__mail form { max-width: 660px; width: 90%; text-align: left; } }
@media (min-width: 1200px) { .contact_contents__mail form { width: 100%; } }
.contact_contents table { width: 100%; margin: 0 auto; border-collapse: collapse; table-layout: fixed; box-sizing: border-box; }
@media (min-width: 768px) { .contact_contents table tr { display: block; width: 100%; margin: auto; } }
.contact_contents table th, .contact_contents table td { display: block; padding: 5px 15px; text-align: left; letter-spacing: .8px; width: 100%; font-size: 14px; font-weight: 500; }
@media (min-width: 768px) { .contact_contents table th, .contact_contents table td { display: inline-block; vertical-align: top; box-sizing: border-box; font-size: 15px; } }
.contact_contents table th { margin-top: 5px; border-bottom: 0; height: 35px; position: relative; }
@media (min-width: 768px) { .contact_contents table th { width: 31%; } }
@media (min-width: 1200px) { .contact_contents table th { margin-top: 5px; width: 28%; } }
.contact_contents table th span { background-color: #DE0700; color: #FFFFFF; padding: 0 4px; font-weight: 400; font-size: 10px; border-radius: 4px; position: absolute; top: 50%; right: 0px; transform: translate(0, -50%); }
.contact_contents table td { border-radius: 6px; border: solid 1px #2B2B2B; margin-bottom: 10px; }
@media (min-width: 768px) { .contact_contents table td { margin-bottom: 25px; width: 64%; margin-left: 20px; } }
@media (min-width: 1200px) { .contact_contents table td { margin-bottom: 30px; } }
.contact_contents__radio td { border-style: none !important; line-height: 2; padding-top: 0 !important; padding-bottom: 0 !important; }
.contact_contents__textarea td { border-radius: 6px !important; }
.contact_contents__textarea textarea { height: 100px; }
@media (min-width: 1200px) { .contact_contents__textarea textarea { height: 130px; } }
.contact_contents .privacy__inner { border-radius: 6px; border: solid 1px #2B2B2B; text-align: left; padding: 15px; height: 150px; overflow-y: scroll; margin-bottom: 10px; margin-top: 30px; }
@media (min-width: 768px) { .contact_contents .privacy__inner { padding: 20px; height: 150px; margin-bottom: 25px; margin-top: 40px; } }
.contact_contents .privacy__inner h4 { font-size: 15px; line-height: 1.8; }
@media (min-width: 1200px) { .contact_contents .privacy__inner h4 { font-size: 16px; } }
.contact_contents .privacy__inner p { font-size: 13px; line-height: 1.3; margin-bottom: 10px; }
@media (min-width: 768px) { .contact_contents .privacy__inner p { text-align: left; } }
@media (min-width: 1200px) { .contact_contents .privacy__inner p { font-size: 14px; } }
.contact_contents .privacy > p { line-height: 1.5; font-size: 11px; margin-bottom: 30px; margin-top: 20px; }
@media (min-width: 768px) { .contact_contents .privacy > p { font-size: 1.6px; margin-bottom: 50px; text-align: center; font-size: 14px; } }
.contact_contents input[type="text"], .contact_contents input[type="tel"], .contact_contents input[type="email"], .contact_contents textarea { width: 100%; padding: 5px; display: inline-block; line-height: 1.5; }
@media (min-width: 1200px) { .contact_contents input[type="text"], .contact_contents input[type="tel"], .contact_contents input[type="email"], .contact_contents textarea { padding: 5px; } }
.contact_contents input[type="submit"] { width: 235px; height: 40px; background-color: #5C3807; border-radius: 30px; color: #FFFFFF; font-size: 16px; font-weight: 500; box-shadow: 0px 3px 6px #cacaca; letter-spacing: 2px; }
@media (min-width: 1200px) { .contact_contents input[type="submit"] { width: 270px; height: 50px; font-size: 18px; font-weight: 500; } }
.contact_contents input[type="submit"]:hover { box-shadow: none; transform: scale(0.99, 0.99) translateY(2px); }
.contact_contents__submit { text-align: center !important; }

::placeholder { color: #D1D1D1; }

/* 旧Edge対応 */
::-ms-input-placeholder { color: #D1D1D1; }

/* IE対応 */
:-ms-input-placeholder { color: #D1D1D1; }

/* works_kv */
/* ====================================================================== */
.works_kv__inner img { bottom: -16px; }
@media (min-width: 768px) { .works_kv__inner img { bottom: -46px; } }

.works_contents { padding-bottom: 40px; }
@media (min-width: 768px) { .works_contents { padding-bottom: 100px; } }
.works_contents__inner { padding-top: 50px; }
@media (min-width: 768px) { .works_contents__inner { padding-top: 123px; } }
.works_contents section { width: 90%; max-width: 600px; margin: auto; }
@media (min-width: 768px) { .works_contents section { max-width: 1080px; width: 88%; } }
.works_contents section h2 { text-align: left; border-bottom: solid 1px #707070; font-size: 17px; padding-bottom: 4px; font-weight: 400; margin-bottom: 20px; }
@media (min-width: 768px) { .works_contents section h2 { font-size: 28px; margin-bottom: 50px; } }
.works_contents__slick img { width: 100%; padding: 0 4px; }
@media (min-width: 768px) { .works_contents__slick img { padding: 0 14px; } }
.works_contents__slick .works_slider { margin-bottom: 8px; }
@media (min-width: 768px) { .works_contents__slick .works_slider { margin-bottom: 28px; } }
.works_contents .slick-prev, .works_contents .slick-next { display: none !important; }
.works_contents__desc { text-align: left; }
.works_contents__desc_basic { border: solid 1px #5C3807; margin-top: 20px; }
@media (min-width: 768px) { .works_contents__desc_basic { margin-top: 50px; } }
.works_contents__desc_basic h3 { background-color: #EFEBE7; border-bottom: solid 1px #5C3807; color: #5C3807; font-size: 14px; font-weight: bold; padding: 10px 20px; }
.works_contents__desc_basic_textflex { padding: 10px 20px; }
@media (min-width: 768px) { .works_contents__desc_basic_textflex { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; padding: 15px 20px; } }
@media (min-width: 768px) { .works_contents__desc_basic_textflex p { padding: 0 30px; } }
.works_contents__desc_beforeafter { margin-top: 20px; }
@media (min-width: 1080px) { .works_contents__desc_beforeafter { margin-top: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: space-between; -ms-flex-pack: space-between; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; } }
.works_contents__desc_beforeafter h4 { font-size: 14px; font-weight: bold; border: solid 1px #5C3807; display: inline-block; padding: 5px 0 6px 0; width: 90px; text-align: center; }
.works_contents__desc_beforeafter p { margin-top: 10px; }
.works_contents__desc_before { margin-bottom: 15px; }
@media (min-width: 1080px) { .works_contents__desc_before { margin-bottom: 0px; width: calc(100% / 4); border-right: dashed 1px #5C3807; } }
.works_contents__desc_before h4 { color: #5C3807; background-color: #EFEBE7; }
@media (min-width: 1080px) { .works_contents__desc_after { width: calc(100% / 4); padding-left: 30px; } }
.works_contents__desc_after h4 { color: #FFFFFF; background-color: #5C3807; }
.works_contents__desc_after_img { margin-top: 30px; }
@media (min-width: 768px) { .works_contents__desc_after_img { display: inline-block; width: 48%; } }
@inclde md { .works_contents__desc_after_img { display: block; width: calc(100% / 4); } }
.works_contents__desc_after_img img { width: 100%; transition: .3s; }
.works_contents__desc_after_img img:hover { cursor: pointer; }
.works_contents #popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); display: flex; justify-content: center; align-items: center; z-index: 9999; padding: 10px; }
.works_contents #popup-image { max-width: 100%; max-height: 100%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5); border-radius: 5px; }
@media (min-width: 768px) { .works_contents #popup-image { max-width: 90%; max-height: 90%; } }
@media (min-width: 1080px) { .works_contents #popup-image { max-width: 80%; max-height: 80%; } }
.works_contents #popup-close { position: absolute; top: 10px; right: 10px; background: none; border: none; font-size: 20px; color: white; cursor: pointer; z-index: 10000; }
@media (min-width: 768px) { .works_contents #popup-close { top: 20px; right: 20px; font-size: 24px; } }
