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

html {
font-size: 62.5%;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 16px;
font-size: 1.6rem;
color:#000;
font-family:"UD Shin Go Conde90 L", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
img {
width: 100%;
max-width: 100%;
height: auto;
vertical-align: bottom;
}
a{
color:#000;
text-decoration: none;
transition: .6s;
}

#header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
}
nav{
width: 100%;
height: 50px;
position: absolute;
top: 0;
}
.drawer{
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
position: relative;
padding: 0 1em;
height: 50px;
}
.navbar_toggle{
z-index:9999;
position: absolute;
right: 10px;
}
.navbar_toggle_icon {
position: relative;
display: block;
height: 4px;
width: 30px;
background: #171717;
transition: ease .5s;
}
.navbar_toggle_icon:nth-child(1) {
top: 0;
margin-bottom: 10px;
}
.navbar_toggle_icon:nth-child(2) {
top: 0;
margin-top: 10px;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
top: 7px;
transform: rotate(45deg);
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
top: -7px;
transform: rotate(-45deg);
}
.menu{
transform: translateX(-100%);
transition:ease .5s;
z-index:1000;
background: rgba(255,255,255,0.90);
height: 100vh;
}
.menu ul li{
padding: 2em;
border-bottom: 1px solid #CCC;
}
.menu ul li a {
font-weight: bold;
letter-spacing: 2px;
}
.menu.open {
transform:translateX(0);
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

#fixed h2 {
font-weight: bold;
}

.bread {
display: flex;
}
.bread li {
position: relative;
}
.bread li:after {
position: absolute;
top: 2px;
right: 0;
content: '\f105';
font-family:"Font Awesome 5 Free"
}
.bread li:nth-last-child(1) {
padding-right: 0;
margin-right: 0;
}
.bread li:nth-last-child(1):after {
content: none;
}

#profile li {
margin-bottom: 0;
line-height: 100%;
}
#profile li:nth-last-child(1) {
padding-bottom: 0;
}
#profile h2 {
font-weight: bold;
}

#flow h2 {
position: relative;
display: table;
}
#flow h2:after {
content: " ";
height: 1px;
width: 100%;
background: #6C6C6C;
position: absolute;
bottom: 0;
left: 0;
}
.arrow {
position: relative;
display: block;
}
.arrow::before {
position: absolute;
bottom: 0;
display: block;
content: "";
width: 1px;
background: #000;
}
.arrow::after {
position: absolute;
display: block;
content: "";
border-right: 1px solid #000;
transform: rotate(-30deg);
}
p.caution span {
display: block;
}
p.caution span.red {
color: crimson;
}
#flow h3 {
display: table;
font-weight: bold;
background: #666;
color: #fff;
}

div.text {
color: #000;
}
div.text time span {
font-weight: bold;
padding-left: 10px;
font-size: 1.2em;
}

#pager ul {
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 90%;
margin: 0 auto;
}
#pager ul li a {
border: 1px solid #ccc;
}
#pager ul li:nth-child(1) a, #pager ul li:nth-last-child(1) a {
border: none;
padding: 0;
}
.current_page_number {
background: #000;
border: 1px solid #000;
color: #fff;
}

.photo-list img:nth-last-child(1) {
padding-bottom: 0;
}

#form {
width: 90%;
max-width: 640px;
margin: 0 auto;
}
#form table {
width: 100%;
}
.soy_inquiry_message {
text-align: center;
padding-bottom: 20px;
}
#inquiry_form_wrapper table th, #inquiry_form_wrapper table td {
border: 1px solid #ccc;
vertical-align: middle;
box-sizing: border-box;
}
#inquiry_form_wrapper table th {
text-align: center;
background: #EBEBEB;
}
#inquiry_form_wrapper table td input, #inquiry_form_wrapper table td textarea {
width: 100%;
padding: 8px 4px;
box-sizing: border-box;
}

a.btn {
display: table;
margin: 0 auto;
background: #060606;
color: #fff;
line-height: 100%;
}
a.btn i {
padding-left: 10px;
}

#topWorks ul li:nth-last-child(1) {
margin-bottom: 0;
}
#fixed a {
display: block;
}

#news h3 {
font-weight: bold;
display: table;
margin: 0 auto;
}
#news time {
display: block;
text-align: right;
font-size: 0.9em;
}

#footer {
font-size: 10px;
text-align: center;
padding: 8px 0 10px;
width: 92%;
margin: 0 auto;
border-top: 1px solid #ccc;
}

@media print, screen and (max-width: 559px) {
body {
line-height: 180%;
}
p {
letter-spacing: 1px;
font-size: 1.3rem;
}
#header {
border-bottom: 1px solid #dcdcdc;
background: #fff;
}
#logo {
position: relative;
z-index:1001;
}
#logo h1 {
font-size: 1.8rem;
letter-spacing: 2px;
}
#logo h1 span {
padding-left: 10px;
}
#fixed {
padding: 70px 0 30px;
width: 90%;
margin: 0 auto;
}
#fixed address {
padding-top: 20px;
font-size: 1.3rem;
}
#fixed h2 {
font-size: 1.8rem;
padding-bottom: 20px;
}
#fixed table {
width: 90%;
margin: 0 auto;
}
#fixed table th, #fixed table td {
display: block;
width: 100%;
text-align: center;
}
#fixed table th {
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
padding: 10px 0;
}
#fixed table td {
padding: 20px 0 40px;
}
#fixed table tr:nth-last-child(1) td {
padding-bottom: 0;
}

.bread {
margin:60px 0 30px 5%;
}
.bread li {
margin-right: 10px;
padding-right: 14px;
}
	
#main {
padding-bottom: 40px;
}

#flow, #profile {
width: 90%;
margin: 0 auto;
}
#flow h2 {
font-size: 1.8rem;
padding-bottom: 4px;
margin-bottom: 12px;
}
#flow h2 span {
font-size: 1.5em;
padding-right: 6px;
}
p.caution {
padding-top: 20px;
font-size: 0.9em;
}
#flow h3 {
margin-top: 30px;
padding: 3px 9px;
font-size: 1.1em;
}
#flow p {
line-height: 150%;
}

#face {
width: 60%;
margin: 0 auto 30px;
}
	
.arrow {
padding-bottom: 90px;
margin-bottom: 20px;
}
.arrow::before {
left: 40px;
height: 70px;
}
.arrow::after {
left: 16px;
bottom: -5px;
width: 20px;
height: 20px;
}
	
#profile li {
padding-bottom: 12px;
}

#workpage {
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
}
#topWorks li {
margin-bottom: 40px;
}
ul.works-list li {
padding-bottom: 40px;
margin-bottom: 40px;
}
ul.works-list li:after {
width: 80%;
left: 10%;
}
ul.works-list li:nth-last-child(1) {
margin-bottom: 0;
}
ul.works-list li:nth-last-child(1):after {
width: 0;
}
ul.works-list li a {
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
}
div.text {
width: 90%;
margin: 0 auto;
}
div.text > div {
display: table;
margin: 0 auto;
}
div.text h2 {
font-size: 2rem;
padding-bottom: 20px;
}
div.text p {
font-size: 1.4rem;
padding-bottom: 16px;
}
div.text time {
font-size: 2.2rem;
}
div.photo {
width: 100%;
padding-bottom: 30px;
}
#pager {
padding-bottom: 30px;
}
#pager ul li {
padding: 0 6px;
}
#pager ul li a {
padding: 1px 8px;
}

.photo-list img {
padding-bottom: 10px;
}
	
a.btn {
font-size: 1.3rem;
padding: 8px 14px;
margin-top: 30px;
}
a.btn i {
font-size: 1.1em;
}

.soy_inquiry_message {
margin-bottom: 20px;
}
table#inquiry_form th, table#inquiry_form td {
display: block;
width: 100%;
}
table#inquiry_form th {
text-align: center;
border-top: 1px solid #eee;
border-left: none;
border-right: none;
background: #fff;
padding: 10px 0;
}
table#inquiry_form td {
margin-bottom: 30px;
}
input, textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
border-radius: 0;
font: inherit;
outline: none;
border: none;
}
table#inquiry_form td input{
border-bottom: 1px solid #eee;
}
table#inquiry_form td textarea{
border: 1px solid #eee;
}
table#inquiry_form tr:nth-last-child(1) td {
margin-bottom: 0;
}

#news article {
padding-bottom: 50px;
}
#news h3 {
font-size: 1.8rem;
padding-bottom: 20px;
}
#news p {
padding-bottom: 10px;
}
}

@media print, screen and (min-width: 560px) {
.bread li {
margin-right: 14px;
padding-right: 20px;
}

#logo, #fixed {
position: fixed;
}
#logo {
z-index: 10000;
padding-bottom: 10px;
}
#logo span {
display: block;
}
#fixed h2 {
font-size: 22px;
font-size: 2.2rem;
padding-bottom: 30px;
}
#fixed table {
width: 100%;
}
	
.bread {
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}
	
#face {
max-width: 220px;
padding-bottom: 10px;
}

.arrow {
padding-bottom: 170px;
margin-bottom: 40px;
}
.arrow::before {
left: 40px;
height: 150px;
}
.arrow::after {
left: 14px;
bottom: -7px;
width: 20px;
height: 30px;
}
p.caution {
padding-top: 30px;
font-size: 0.8em;
}
#flow h3 {
margin-top: 40px;
padding: 4px 12px;
font-size: 1.2em;
}
	
#profile li {
padding-bottom: 14px;
}

ul.works-list li a {
display: grid;
}
div.text {
position: relative;
display: flex;
align-items: center;
}
div.text:after {
content: " ";
display: block;
height: 1px;
width: 50%;
position: absolute;
bottom: 0;
}

#pager {
padding-bottom: 60px;
}
#pager ul li {
padding: 0 10px;
}
#pager ul li a {
padding: 4px 10px;
}


.photo-list img {
padding-bottom: 20px;
}
	
#news article {
padding-bottom: 60px;
}
#news h3 {
font-size: 1.9rem;
padding-bottom: 24px;
}
#news p {
padding-bottom: 20px;
}
}

@media print, screen and (min-width: 560px) and (max-width: 959px) {
body {
line-height: 200%;
}
.menu ul {
padding-top: 50px;
}

#logo, #fixed {
width: 250px;
}
#logo {
font-size: 2.6rem;
letter-spacing: 3px;
}
#logo span {
padding-top: 20px;
}
.rightbox {
padding-left: 280px;
}
#fixed {
font-size: 1.4rem;
top: 50%;
left: 10px;
transform: translateY(-50%);
}
#fixed address {
padding-top: 20px;
}

.bread {
padding: 20px 10px 20px 0;
}

#main {
padding-top: 50px;
padding-bottom: 80px;
}

#flow {
padding-bottom: 60px;
}
#flow h2 {
font-size: 2rem;
padding-bottom: 6px;
margin-bottom: 16px;
}
#flow h2 span {
font-size: 1.8em;
padding-right: 8px;
}
#flow p {
line-height: 180%;
}

#topWorks li {
margin-bottom: 70px;
}
ul.works-list li {
padding-bottom: 70px;
margin-bottom: 70px;
}
ul.works-list li a {
grid-template-columns: 280px 1fr;
}
div.text h2 {
font-size: 2.4rem;
padding-bottom: 30px;
}
div.text p {
font-size: 1.8rem;
padding-bottom: 20px;
}
div.text time {
font-size: 2.6rem;
}
div.text time span {
display: block;
padding-left: 0;
}
	
a.btn {
font-size: 0.75em;
padding: 10px 16px;
margin-top: 40px;
}
a.btn i {
font-size: 1.2em;
}
}

@media print, screen and (max-width: 959px) {
#header {
height: 50px;
}
#logo {
padding: 10px 0 0 10px;
}

#profile h2 {
font-size: 2.8rem;
padding-bottom: 20px;
}
#profile li {
font-size: 1.6rem;
}
#profile li span {
display: block;
font-size: 0.8em;
line-height: 100%;
padding-bottom: 4px;
}
	
#news article {
width: 90%;
margin: 0 auto;
}
}

@media print, screen and (min-width: 960px) {
body {
line-height: 240%;
}

#header {
width: 95%;
box-sizing: border-box;
padding: 16px 0;
}
#logo {
top: 30px;
left: 5%;
}
#logo span {
padding-top: 60px;
}
.menu ul {
padding-top: 100px;
}
.menu li {
text-align: right;
}
#fixed {
bottom: 80px;
left: 5%;
font-size: 1.2em;
}
#fixed address {
padding-top: 30px;
}
	
.bread {
padding: 80px 0 30px;
}

#main {
padding-bottom: 80px;
}
.page-content {
width: 90%;
margin: 0 auto;
}
#main > section:nth-child(1), #main > div:nth-child(1){
padding-top: 70px;
}

#topWorks {
padding-top: 105px;
}
#topWorks li {
margin-bottom: 100px;
}

#profile h2 {
font-size: 22px;
font-size: 2.2rem;
padding-bottom: 30px;
}
#profile li {
font-size: 16px;
font-size: 1.6rem;
}
#profile li span {
display: inline-block;
width: 140px;
font-size: 0.7em;
}

#flow, #form {
padding-bottom: 80px;
}
#flow h2 {
font-size: 24px;
font-size: 2.4rem;
padding-bottom: 8px;
margin-bottom: 20px;
}
#flow h2 span {
font-size: 2em;
padding-right: 10px;
}
#flow p {
line-height: 200%;
}

ul.works-list li {
padding-bottom: 100px;
margin-bottom: 100px;
}
ul.works-list li a div.text {
transition: .6s;
}
ul.works-list li a:hover div.text {
opacity: 0.6;
}
div.text h2 {
font-size: 30px;
font-size: 3rem;
padding-bottom: 40px;
}
div.text p {
font-size: 24px;
font-size: 2.4rem;
padding-bottom: 30px;
}
div.text time {
font-size: 28px;
font-size: 2.8rem;
}

#inquiry_form_wrapper table th, #inquiry_form_wrapper table td {
padding: 8px 12px;
}
#inquiry_form_wrapper table th, #inquiry_form_wrapper table td {
padding: 8px 12px;
}
#inquiry_form_wrapper table th {
width: 170px;
}
#inquiry_form_wrapper table td {
width: 470px;
}

a.btn {
font-size: 0.8em;
padding: 10px 20px;
margin-top: 50px;
}
a.btn i {
font-size: 1.1em;
}
}

@media print, screen and (min-width: 960px) and (max-width: 1279px) {
#logo, #fixed {
width: 350px;
}
#logo {
font-size: 45px;
font-size: 4.5rem;
}
.rightbox {
padding-left: 380px;
}
#fixed {
font-size: 13px;
font-size: 1.3rem;
}
ul.works-list li a {
grid-template-columns: 380px 1fr;
}
}

@media print, screen and (min-width: 1280px) {
#logo, #fixed {
width: 450px;
}
#logo {
font-size: 70px;
font-size: 7rem;
}
.rightbox {
padding-left: 490px;
}
ul.works-list li a {
grid-template-columns: 490px 1fr;
}
}