@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@100;200&display=swap');

html,
button,
input,
select,
textarea,
a {
color: #444;
font-family:"Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
text-decoration:none;
}

a:hover {
text-decoration:underline;
}

body {
font-size: 1em;
line-height: 1em;
text-align: center;
background:#fcfcfc;
}

::-moz-selection {
}

::selection {
}

hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}

img {
vertical-align: top;
}

p{
line-height:1.5em;
}

ul,ol{
list-style:none;
}

fieldset {
border: 0;
margin: 0;
padding: 0;
}

textarea {
resize: vertical;
}

.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}

ol.topicpass{
z-index: 200;
overflow: hidden;
position: fixed;
font-size: 0.8em;
margin-top:1em;
color: #aaa;
font-family: 'Josefin Sans', sans-serif;
font-weight: 200;
}

ol.topicpass a{
color: #aaa;
font-family: 'Josefin Sans', sans-serif;
font-weight: 200;
}

ol.topicpass li{
float: left;
margin:0 0.5em 0 0;
}

ol.topicpass li span{
margin:0 0.5em 0 0;
}


/* ==========================================================================
custom styles
========================================================================== */
.mb0{
margin-bottom: 0 !important;
}

a.op:hover img {
-ms-filter: alpha(opacity=60);
-moz-opacity: 0.60;
filter: alpha(opacity=60);
opacity: 0.60;
}

.op a:hover{
-ms-filter: alpha(opacity=60);
-moz-opacity: 0.60;
filter: alpha(opacity=60);
opacity: 0.60;
text-decoration:none;
}

a.noL:hover {
text-decoration:none;
}

.container{
width: 1000px;
margin: 0 auto;
}

section.wrp{
padding-top:200px;
overflow: hidden;
}

header{
overflow: hidden;
padding:70px 0 65px;
position:fixed;
background-color: rgba(253,253,253,0.9);
width: 1000px;
z-index: 100;
}

header h1{
margin-top: -3px;
padding-top:0;
font-size:0.7em;
float: left;
letter-spacing:2.5px;
}

header h1 span{
font-family: 'Josefin Sans', sans-serif;
font-weight: 200;
display:block;
font-size:1.8em;
letter-spacing:4.2px;
padding-top:3px;
text-align:center;
}

header nav{
width: 770px;
float: right;
text-align:right;
}

header nav .fb{
padding:0.4em 0 0 1em;
}
header nav ul li{
display:inline-block;
font-size:2.1em;
line-height:1em;
padding-left:1.1em;
letter-spacing:2.5px;
}

header nav ul li a{
font-family: 'Josefin Sans', sans-serif;
font-weight: 200;
-webkit-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
transition: 0.2s ease-in-out;
}

header nav ul li a:hover{
text-decoration:none;
}

header nav .fb{
float: right;
}

footer{
margin:100px 0 30px;
}
.slicknav_menu {
display:none;
}

.slicknav_btn { position: relative; display: block; vertical-align: middle; float: right; padding: 0.438em 0.625em 0.438em 0.625em; line-height: 1.125em; cursor: pointer; }
.slicknav_menu .slicknav_menutxt {
display: block;
line-height: 1em;
float: left;
font-family: 'Josefin Sans', sans-serif;
font-weight: 200;
}
.slicknav_menu .slicknav_icon { float: left; margin: 0.15em 0 0 0.438em; }
.slicknav_menu .slicknav_no-text { margin: 0 }
.slicknav_menu .slicknav_icon-bar { display: block; width: 1.125em; height: 0.125em; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; }
.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar { margin-top: 0.188em }
.slicknav_nav { clear: both }
.slicknav_nav ul,
.slicknav_nav li { display: block }
.slicknav_nav .slicknav_arrow { font-size: 0.8em; margin: 0 0 0 0.4em; }
.slicknav_nav .slicknav_item { cursor: pointer; }
.slicknav_nav .slicknav_row { display: block; }
.slicknav_nav a { display: block }
.slicknav_nav .slicknav_item a,
.slicknav_nav .slicknav_parent-link a { display: inline }
.slicknav_brand { float:left }
.slicknav_menu:before,
.slicknav_menu:after { content: " "; display: table; }
.slicknav_menu:after { clear: both }
/* IE6/7 support */
.slicknav_menu { zoom: 1 }

.slicknav_menu {
font-size:16px;
box-sizing:border-box;
}
.slicknav_menu * {
box-sizing:border-box;
}
.slicknav_menutxt{
font-size: 15px;
margin-top: 2px;
}
/* Button */
.slicknav_btn {
margin: 15px 2px 16px;
text-decoration:none;
}
/* Button Text */
.slicknav_menu  .slicknav_menutxt {
color: #FFF;
}
/* Button Lines */
.slicknav_menu .slicknav_icon-bar {
background-color: #f5f5f5;
}
.slicknav_menu {
background:rgba(150, 150, 150,0.9);
position: fixed;
width: 100%;
z-index: 1000;
}
.slicknav_nav {
color:#fff;
margin:0;
padding:0;
font-size:1em;
}
.slicknav_nav, .slicknav_nav ul {
list-style: none;
overflow:hidden;
}
.slicknav_nav ul {
padding:0;
margin:0 0 0 20px;
}
.slicknav_nav .slicknav_row {
padding:5px 10px;
margin:2px 5px;
}
.slicknav_nav a{
font-family: 'Josefin Sans', sans-serif;
font-weight: 200;
padding:12px 10px;
margin:5px;
text-decoration:none;
color:#fff;
letter-spacing: 0.2em;
}
.slicknav_nav .slicknav_item a,
.slicknav_nav .slicknav_parent-link a {
padding:0;
margin:0;
}
.slicknav_nav .slicknav_row:hover {
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
background:#ddd;
color:#fff;
}
.slicknav_nav a:hover{
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
background:#ddd;
color:#222;
}
.slicknav_nav .slicknav_txtnode {
margin-left:15px;
}
.slicknav_brand {
color:#fff;
font-size: 18px;
line-height:30px;
padding:7px 12px;
height:44px;
}

/* ======= .top ======= */
.top section.cont{
width: 100%;
overflow: hidden;
float: left;
}
.top ul.photo{
overflow: hidden;
}

.top ul.photo li{
float: left;
display: none;
}
.top ul.photo li img:nth-child(1){
width: 100%;
}
.top p.lead{
letter-spacing:0.15em;
font-size:1.3em;
line-height:2em;
margin: 4rem 0;
text-align: center;
color: #666;
}
.top p.cap{
text-align: right;
font-size: 0.8em;
margin-top: 0.5em;
}
.top p.cap a{
color: #888;
}
.fb_link {
border-top: 1px solid #999 ;
border-bottom: 1px solid #999 ;
padding-bottom: 1rem;
}
.fb_link p {
text-align: center;
font-size: 0.8rem;
margin-bottom: 0.5rem;
}
.fb_link a{
background:#ffff7f;
font-size: 1rem;
letter-spacing:0.15em;
}
.fb_link br{
display: none;
}


/* ======= .about ======= */


.about section.cont{
padding:0;
text-align:center;
width: 1000px;
}

.about figure{
float: left;
padding:2px 1em 7em 0;
margin-left:23.5%;
}
.about figure img{
height: 214px;
}

.about dl{
text-align:left;
overflow: hidden;
margin:0 0 3em;
line-height:1.5em;
}

.about dl dt{
font-size:1.2em;
width: 21.5em;
text-align:right;
float: left;
}
.about dl dt span{
font-size:0.6em;
vertical-align: top;
display: inline-block;
}

.about dl dd{
font-size:0.8em;
padding-left:33.5em;
}


.about ul.history{
float: left;
}

.about ul.history li{
font-size:0.8em;
text-align:left;
margin-bottom:0.5em;
}
.about ul.history li time{
padding-right:0.8em;
}

/* ======= .works ======= */

.works section.wrp{
width: 1080px;
}
.works .mix{
display: none;
}
.works ul.sort{
position: fixed;
overflow: hidden;
z-index: 200;
top: 140px;
font-size: 0.7em;
}

.works ul.sort li{
float: left;
margin-right: 10px;
background: #eee;
padding: 3px 15px;
letter-spacing: 0.1em;
}

.works ul.sort li:hover{
background: #ddd;
}

.works .cont{
overflow: hidden;
margin-right:80px;
width: 280px;
float: left;
height:36em;
text-align:left;
}
.works .cont a{
text-decoration: underline;
}
.works .cont a:hover{
text-decoration: none;
}

.works .box{
}

.works .cont figure{
position: relative;
}

.works .cont figure span{
position: absolute;
top:0;
right: 0;
padding: 2px 6px 3px;
font-family: "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", monospace;
background: #444;
color:#fff;
}

.works .cont figure{
height: 180px;
overflow: hidden;
}

.works .cont figure a{
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}

.works .cont figure a:hover{
-ms-filter: alpha(opacity=60);
-moz-opacity: 0.60;
filter: alpha(opacity=60);
opacity: 0.60;
}

.works .cont figure img{
width: 280px;
}

.works .cont figure a.hdn{
display: none;
}

.works .cont h2{
font-size:1.2em;
margin:0.8em 0 0.5em;
line-height: 1.1em;
}

.works dl{
text-align:left;
overflow: hidden;
font-size:0.7em;
margin:0 0 0.4em 0;
padding: 0;
}

.works dl dt{
display: inline-block;
margin-right:0.5em;
color:#aaa;
}

.works dl dd{
display: inline-block;
}

.works p.txt1{
font-size:0.8em;
}

.works p.note{
font-size:0.7em;
margin-top:0.5em ;
}
.works p.link2 a{
background: #ffff7f;
}


/* ======= .flow ======= */
.flow h2{
margin-bottom:4em;
padding:0.5em 0;
text-align: center;
border-top:1px solid #aaa ;
border-bottom:1px solid #aaa ;
}

.flow .cont dl{
text-align: left;
overflow: hidden;
margin: 0 0 1.5em;
line-height: 1.5em;
background: url(../img/arw.png) center bottom no-repeat;
padding-bottom: 3.5em;
}

.flow .cont dl:last-child{
background : none;
}

.flow .cont dl a{
background:#ffff7f;
}

.flow .cont dl a:hover{
text-decoration: none;
}

.flow .cont dl dt{
font-size: 1.2em;
width: 19em;
text-align: right;
float: left;
display:block;
}

.flow .cont dl dd{
font-size: 0.8em;
padding-left: 30em;
line-height: 1.5em;
width: 48em;
display:block;
}

.flow dl#contact,dl#contact a{
font-family: 'Josefin Sans', sans-serif;
font-weight: 200;
}

.flow dl#contact{
font-size: 2em;
padding: 0.5em 0 0.3em;
border-top: 1px solid #aaa;
border-bottom: 1px solid #aaa;
background:#fff;
}

.flow dl#contact dt{
display: inline-block;
padding:0 0.5em;
}
.flow dl#contact dd{
display: inline-block;
padding:0 0.5em;
}

.flowbtn a{
display: block;
font-size: 1em;
padding: 0.5em 0 0.3em;
border-top: 1px solid #aaa;
border-bottom: 1px solid #aaa;
}

.flowbtn a:hover{
text-decoration: none;
background:#fff;
}

/* ============================================
Media Queries
============================================ */

@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {

}

@media screen and (max-width: 640px) {
.container{
float: none;
width: 100%;
}
header {
padding: 0 ;
margin: 0;
left: 0;
background-color: rgba(253,253,253,0);
z-index: 3000;
height: 42px;
display: inline-block;
width: 70%;
}
header h1 {
margin:13px 0 0 12px;
position: fixed;
letter-spacing: 0;
}
header h1 span {
letter-spacing: 0;
text-align: left;
font-size: 2em;
margin-top: 3px;
}
header h1 a {
color: #fff;

}
header nav {
width: auto;
display: none;
}
header nav .fb{
display: none;
}
header nav ul {
display:none;
}
.slicknav_menu {
display:block;
z-index: 1000;
}
section.wrp {
padding-top: 71px;
float: none;
overflow: hidden;
text-align: center;
width: 100%;
}
.top section.cont{
width: 100%;
}
.top ul.photo li img:nth-child(1) {
width: 100%;
}
.top ul.photo li
{
margin: auto 10px;
}
.top p.lead{
text-align: left;
margin: 1.5rem 10px;
}
.fb_link{
margin: 1rem 10px;
}
.fb_link a{
font-size: 0.9rem;
}
.fb_link br{
display: block !important;
}

.top p.lead {
letter-spacing: 0;
font-size: 1em;
line-height: 1.5em;
}
.top p.lead br.nosp {
display: none;
}
.top ul.photo{
width: 100%;
text-align: center;
}
.top ul.photo li {
padding:2px;
}
.top ul.photo li img {
width: 70px;
}
.top aside {
float: none;
width: 100%;
}
.top aside iframe {
width: 100%;
}
.flowbtn {
margin: 20px 0;
}
.flowbtn a {
font-size: 0.8em;
}
ol.topicpass {
overflow: hidden;
bottom: 10px;
right: 10px;
}

.works ul.sort {
top: 80px;
position: relative;
margin:0 0 10px;
text-align: center;
}
.works ul.sort li {
padding: 8px;
float: none;
margin:0 0 5px 0;
}
.works section.wrp {
width: 100%;
overflow: hidden;
}
.works .cont {
margin: 10px;
width: 280px;
float: none;
height: auto;
text-align: left;
}
.about section.cont {
width: 100%;
}
.about dl {
margin: 30px 10px 40px;
}
.about dl dt {
font-size: 1.1em;
width: 100%;
text-align: left;
float: none;
margin-bottom: 10px;
}
.about dl dd {
font-size: 0.8em;
padding-left: 0;
width: 100%;
}
.about figure {
float: none;
padding: 1em;
margin-left: 0;
}
.about ul.history{
margin: 10px;
}
.about ul.history li{
margin-bottom: 0.8em;
font-size: 0.7em;
}
.flow h2 {
font-size: 0.8em;
}
.flow .cont dl{
background-size:15%;
padding-bottom: 40px;
margin: 20px 10px;
}
.flow .cont dl dt {
font-size: 1em;
width: 100%;
text-align: center;
float: none;
margin-bottom: 0.5em;
}
.flow .cont dl dd {
padding: 0;
width: 100%;
text-align: left;
}
.flow dl#contact{
font-size: 1em;
}
.flow dl#contact dt,
.flow dl#contact dd{
padding: 0 0.3em;
}
br.sp{
display: none;
}

footer {
margin: 1rem 0;
}

}

/* ==========
Helper classes
============= */

.ir {
background-color: transparent;
border: 0;
overflow: hidden;
*text-indent: -9999px;
}

.ir:before {
content: "";
display: block;
width: 0;
height: 150%;
}

.hidden {
display: none !important;
visibility: hidden;
}

.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto;
}

.invisible {
visibility: hidden;
}

.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}

.clearfix:after {
clear: both;
}

.clearfix {
*zoom: 1;
}

/* ==============
Print styles
================= */

@media print {
* {
background: transparent !important;
color: #000 !important; /* Black prints faster: h5bp.com/s */
box-shadow: none !important;
text-shadow: none !important;
}

a,
a:visited {
text-decoration: underline;
}

a[href]:after {
content: " (" attr(href) ")";
}

abbr[title]:after {
content: " (" attr(title) ")";
}

/*
* Don't show links for images, or javascript/internal links
*/

.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}

pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}

thead {
display: table-header-group; /* h5bp.com/t */
}

tr,
img {
page-break-inside: avoid;
}

img {
max-width: 100% !important;
}

@page {
margin: 0.5cm;
}

p,
h2,
h3 {
orphans: 3;
widows: 3;
}

h2,
h3 {
page-break-after: avoid;
}
}
