@charset "UTF-8";:root{--color-brand-brown:#84563c;--color-blue-light:#C0DFFF;--color-blue-accent:#AED9FF;--color-white:#fff;--color-black:#000;--color-text-warmblown:#5A4B3A;--color-text-strong:#333;--font-libertine:'Linux Libertine',serif;--font-NotoSans:"Noto Sans JP",sans-serif}header{top:0;left:0;width:100%;z-index:1000;display:flex;justify-content:space-between;align-items:center}.main_text,.nav_menu li,.vertical_text{font-family:var(--font-libertine);font-style:normal;font-weight:400}.container{display:flex;width:100%;margin:0;padding:0;box-sizing:border-box;overflow:visible}.split_left,.split_right{opacity:0}.split_right{overflow:hidden}.split_left.start,.split_right.start{opacity:1;transform:translateY(0)}.main_text01,.main_text02,.main_text03,.main_text04,.main_text05{opacity:0;transform:translateY(30px);font-family:var(--font-libertine)}.section_heading{display:flex;align-items:baseline}.about_title,.contact_title,.works_subtitle,.works_title{font-family:var(--font-libertine);font-weight:700;font-style:normal}.section_heading .subtitle{font-family:var(--font-NotoSans);position:relative;margin:0}.about_title span,.contact_title span,.section_heading p.subtitle span,.works_title span{display:inline-block;transform:translateY(100%);opacity:0}.about_title,.contact_title,.section_heading p.subtitle,.works_title{display:inline-block}.bounce span{animation:bounce .65s cubic-bezier(.33,0,.3,1.2) forwards;opacity:0}.typing_block{font-family:var(--font-NotoSans);font-weight:700}.typing_char{display:inline-block;opacity:0;animation:typingFade .5s forwards}.slidein_block{opacity:1}.slidein_line{display:block;margin-bottom:12px;letter-spacing:.03em;opacity:0;transform:translateX(-30px)}.slidein_line.inview{opacity:1;transform:translateX(0);animation:slideinOneLine .6s ease forwards}.slidein_line:last-child{margin-bottom:0}.fadeup_block{width:100%;text-align:center;transform:translateY(30px);transition:all .6s ease;visibility:hidden}.fadeup_block.inview{opacity:1;transform:translateY(0);visibility:visible}.fadeup_line,.fadeup_target{opacity:0;transform:translateY(30px);transition:all .6s ease;visibility:visible}.fadeup_line.inview,.fadeup_target.inview{opacity:1;transform:translateY(0);visibility:visible}.fadeup_target{display:inline-block;font-family:var(--font-NotoSans);font-weight:700;letter-spacing:.05em;overflow:visible}.fadeup_target span{display:inline-block;opacity:0;transform:translateY(20px)}.fadeup_target.inview span{opacity:1;animation:bounceSoft .8s ease-out forwards}.fadeup_block.align_right{width:fit-content;margin-left:auto;padding-bottom:10px;text-align:left}.view_profile{position:relative;width:fit-content;opacity:0;transform:translateX(30px);transition:all .6s ease;cursor:pointer}.view_profile.inview{opacity:1;transform:translateX(0)}.view_profile a{position:relative;display:inline-block;max-width:140px;padding:40px 30px 4px 15px;font-family:var(--font-libertine);font-weight:500;font-style:italic;color:var(--color-brand-brown);letter-spacing:.12em;text-align:left;text-decoration:none;box-sizing:border-box;transform:skewX(-6deg) rotate(-6deg);transition:all .3s;cursor:pointer}.view_profile a::after{content:"";display:block;position:absolute;width:100%;height:1px;left:0;bottom:0;border-bottom:solid 1px var(--color-brand-brown);transform-origin:right;transition:transform .4s ease}.view_profile a::before{content:"";position:absolute;width:8px;height:8px;top:auto;bottom:12px;right:11px;border-top:1.5px solid var(--color-brand-brown);border-right:1.5px solid var(--color-brand-brown);opacity:.6;transform:skewX(6deg) rotate(6deg) rotate(45deg);transition:all .3s ease}.view_profile a:hover::before{right:8px;transform:translateX(4px) skewX(6deg) rotate(6deg) rotate(45deg);opacity:1}.view_profile a:hover{letter-spacing:.15em;transform:skewX(-6deg) rotate(-6deg) translateX(4px)}.view_profile a:hover::after{transform:scaleX(1.1)}.web_contents.hide{opacity:0;pointer-events:none;transform:translateY(10px)}.fade_show{animation:fadeInSmooth .6s ease forwards}.works_lead{font-family:var(--font-NotoSans);color:#666}.banner_contents,.visual_contents,.web_contents{display:none}.banner_contents.active{display:block}.visual_contents.active{display:block}.web_contents.active{display:flex}.banner_grid,.visual_grid{display:grid;width:100%}.banner_item,.visual_item{cursor:pointer}.banner_item img,.visual_item img{width:100%;height:auto;display:block}.banner_title,.visual_title{font-family:var(--font-libertine);text-align:center;font-weight:500}.client_work{color:var(--color-brand-brown);letter-spacing:.04em}.client_work::before{content:"｜";margin:0 6px;color:#aaa}.works_link{display:block;text-decoration:none;color:inherit}.works_item{background-color:var(--color-white);box-shadow:none;border-radius:10px;transition:transform .4s ease,box-shadow .4s ease}.works_item::before{background:radial-gradient(ellipse at center,rgba(0,0,0,.16) 0,rgba(0,0,0,0) 70%);transform:translateX(-50%) scale(1);transition:transform .4s ease,opacity .4s ease}.worksphoto{width:100%;height:auto;margin-top:10px;border-radius:10px}.website_name{font-family:var(--font-libertine)}.works_category{color:#555;text-align:center}.website{color:#888;text-align:center}.detail_list dt{font-weight:700;color:#222}.detail_list dd{word-break:normal;white-space:normal;line-break:auto;hyphens:none;word-spacing:normal;color:#444;letter-spacing:.02em;line-height:1.9}.point_list{margin:0;padding:0}.detail_list dd .point_list li{position:relative;margin-left:0;margin-bottom:.35em;padding-left:1.2em}.detail_list dd .point_list li::before{content:"▪️";position:absolute;left:0;top:.15em;font-size:.85em;color:#444}.box{border-top:2px solid #d1fce0;border-bottom:2px solid #9cf6c7;background-color:var(--color-white);color:var(--color-black)}.box_inner dd,.box_inner dl,.box_inner dt{color:var(--color-black);line-height:1.5}.box_title{font-family:var(--font-libertine);font-weight:700;font-style:normal;color:var(--color-brand-brown);background:linear-gradient(90deg,#d1fcf0,#9cf6c7);border-radius:30px;border:none;white-space:nowrap;box-shadow:inset 0 1px 2px rgba(255,255,255,.6),0 3px 6px rgba(0,0,0 ,.1)}.box_title span.works_complete{color:#a67c52;font-style:italic;background:rgba(255,255,255,.2);padding:2px 6px;border-radius:12px}.contact_inner p{font-family:var(--font-NotoSans);line-height:1.6}.contact_mail{display:flex;justify-content:center;width:100%}.arrow_r{position:relative;display:inline-block;padding-right:50px}.arrow_r::after{position:absolute;content:'';width:10px;height:10px;top:50%;left:calc(100% - 60px);border-top:2px solid var(--color-brand-brown);border-right:2px solid var(--color-brand-brown);transform:translateY(-50%) rotate(45deg);transition:transform .3s ease,left .3s ease}.arrow_r:hover::after{left:calc(100% - 40px);transform:translateY(-50%) rotate(45deg) translateX(2px)}.btn_text{color:var(--color-brand-brown);font-family:var(--font-NotoSans);font-weight:700;text-align:center;text-decoration:none}.btn_en{font-family:var(--font-libertine);letter-spacing:.06em;font-weight:400}.circle_text{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:50% 50%;animation:rotatelt 60s linear infinite}.circle_text text{fill:var(--color-text-strong);font-family:"Helvetica Neue",Arial,sans-serif}.contact_form{width:100%;font-family:var(--font-NotoSans)}.contact_form[hidden]{display:none}.form_item{width:100%}.form_item label{display:block;color:var(--color-text-strong);font-weight:500}.required{margin-left:6px;color:#d93025;font-size:12px;font-weight:500}.form_item input,.form_item textarea{width:100%;box-sizing:border-box;border:1px solid #ccc;background-color:#fff;color:var(--color-text-strong);font-family:var(--font-NotoSans)}.form_item input::placeholder,.form_item textarea::placeholder{color:#aaa}.form_item textarea{resize:vertical}.form_item input:focus,.form_item textarea:focus{outline:0;border-color:var(--color-brand-brown)}.form_submit{width:100%;text-align:center}.submit_btn{border:none;appearance:none;-webkit-appearance:none;font-family:var(--font-NotoSans);cursor:pointer}.form_trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact_btn{border:none;outline:0;appearance:none;-webkit-appearance:none}.contact_btn[hidden]{display:none}.contact_message{font-family:var(--font-NotoSans)}.contact_message.is-error,.contact_message.is-success{width:100%;box-sizing:border-box;animation:contactFadeIn .4s ease forwards}.contact_message.is-success strong{display:block;color:var(--color-brand-brown);font-weight:700}.contact_message.is-error{color:#b3261e}.modal{position:fixed;inset:0;display:none;justify-content:center;align-items:center;z-index:1000}.modal.active{display:flex}.modal_overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}.modal_inner{position:relative;z-index:1;width:100%;background:#fafafa;overflow-y:auto}.modal_open{overflow:hidden}.modal_close{position:absolute;z-index:2;padding:0;background:0 0;border:none;cursor:pointer;line-height:1}.modal_title{color:#2a2a2a;font-family:var(--font-libertine);letter-spacing:.05em}.modal_type{display:none;color:var(--color-brand-brown);text-align:center;letter-spacing:.08em}.modal_type.is-visible{display:block}.modal_lead{color:#666;text-align:center;line-height:1.6}.modal_image{display:flex;flex-direction:column;align-items:center}.modal_image img{display:block;max-width:100%;height:auto}.modal_size{color:#666;white-space:pre-line}.modal_size_nav{display:none}.modal_note{display:none;color:#888;line-height:1.6;letter-spacing:.02em;text-align:center}.modal_note.is-visible{display:block}.modal_tools{display:none;color:#666;line-height:1.7;letter-spacing:.02em;text-align:center}.modal_tools.is-visible{display:block}#copyRight{font-family:var(--font-NotoSans);text-align:center}