html,body,div,span,iframe,h1,h2,h3,h4,p,pre,del,em,img,b,i,dl,dt,dd,ol,ul,li,form,table,tbody,tr,th,td,article,aside,footer,header,nav,section{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing:border-box}
article,aside,footer,header,nav,section{display:block}
body{line-height:1;overflow-wrap:break-word;word-wrap:break-word}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;vertical-align:middle;box-sizing:border-box}
a{margin:0;padding:0;text-decoration:none;outline:none;font-size:100%;vertical-align:baseline;background:transparent}
a img{border-style:none}
ul,li{list-style-type:none}
hr{border:0;display:block;margin:1em 0;padding:0;height:1px}
.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}

/* ===================================
Background, Text, Link Settings
=================================== */

html{
font-size:60.5%;
min-height:100%
}
body{
background:#fff url(rsc/back01.gif);/* Background */
color:#666;/* Text colour */
font-size:1.5em;/* Text size */
font-family:'DynaPuff',sans-serif;
letter-spacing:.1em;
line-height:1.5;
padding:20px;
text-align:center
}
/*  Link
------------------------------ */
a{
color:inherit
}
#rightcolumn a,aside a{
color:#999;
display:inline-block;
margin:3px 3px 3px 0;
border-bottom:1px solid #ccc
}
aside a{
color:inherit
}
a:hover{
background:rgba(218,218,218,.8);
border-radius:5px;
transition:.6s
}
#rightcolumn a:hover{
background:#666;
color:#fff;
}
#rightcolumn a.bg-none,a.bg-none{
border-bottom:0
}
#rightcolumn a.bg-none:hover,a.bg-none:hover{
background:none;
color:inherit
}

/* ===================================
Basic
=================================== */

#wrapper{
margin:0 auto;
position:relative;
text-align:left;
text-shadow:2px 2px 2px rgba(102,102,102,.7);
/* max-width:1000px; */  /* To specify the overall width, remove the preceding and following /＊　＊/ before use. */
min-height:100%
}
#header-inner{
padding:0 0 20px 0;
text-align:right
}
#rightcolumn-wrap{ 
float:right;
margin-left:-310px; /* (※1) Minus the same amount*/
width:100%
}
#rightcolumn{
background:#fff;
border-radius:10px;
margin-left:310px; /* (※1) The same as*/
padding:20px 20px 20px 35px;
position:relative;
text-shadow:none
}
#leftcolumn-wrap{
float:left;
width:310px; /* Left-hand width(※1) */
}
#leftcolumn{
padding:0px 20px 20px 15px
}

/* ===================================
Menu
=================================== */

#menu{
display:block;
margin:0 auto
}
nav li a,nav li span{
color:#fff;
display:block;
font-size:1.35em;
font-weight:700;
padding:8px 0;/* The height of each row can be adjusted here */
position:relative;
}
nav li a:hover,nav li span:hover{
background:none;
color:#999
}
.sub-menu{
display:none;
margin:0;
overflow:hidden
}
.sub-menu li{
text-indent:1em
}
/*  Menu「>」
------------------------------ */
nav li span:after{
border-top:3px solid #fff; /* 色 */
border-right:3px solid #fff; /* 色 */
content:"";
display:block;
margin-top:-5px;
position:absolute;
height:5px;width:5px;
top:50%;right:10px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
transition:.5s
}
nav li span.open:after{
-ms-transform:rotate(135deg);
-webkit-transform:rotate(135deg);
transform:rotate(135deg)
}
/*  Hide the button to open the menu
------------------------------ */
#open{display:none}

/* ===================================
Link to top of page, copyright notice
=================================== */

#pagetop{
background:rgba(102,102,102,.7);/* Background */
border-radius:30px;
box-sizing:border-box;
color:#fff;/* 色 */
display:block;
font-size:13px;
letter-spacing:normal;
line-height:20px;
padding-top:12px;
position:fixed;
text-align:center;
height:40px;width:40px; /* Size */
bottom:-80px;
z-index:10
}
#pagetop:before{
content:"";
display:block;
border-left:2px solid #fff;
border-top:2px solid #fff;
position:absolute;
top:10px;left:16px;
height:6px;width:6px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg)
}
#pagetop:hover{
background:rgba(102,102,102,.9)
}
#fl{
margin-top:80px
}
#fl a{
background:#f0f0f0;
border:1px dashed #999;
border-radius:3px;
box-shadow:0 0 0 5px #f0f0f0,5px 5px 8px #666;
display:inline-block;
margin:3px 3px 3px 0;
padding:0 5px
}

/* ===================================
index
=================================== */

#index{
margin:0 auto;
height:auto
}
.indexbox{
background:#fff;
border-radius:10px;
margin:20px auto;
padding:20px;
text-align:left;
max-width:580px
}

/* ===================================
Headings, borders, lines
=================================== */

h1{
font-size:1.5em;
letter-spacing:.2em
}
h1 span{
background:#f0f0f0;
border:1px dashed #999;
border-radius:3px;
box-shadow:0 0 0 5px #f0f0f0,5px 5px 8px #666;
display:inline-block;
margin:5px 5px 20px;
padding:.3em
}
h2{
background:#f0f0f0;
border:1px dashed #999;
border-radius:3px;
box-shadow:0 0 0 5px #f0f0f0,5px 5px 8px #666;
font-size:1.5em;
line-height:1;
margin:20px 5px 20px -10px;
padding:.2em;
position:relative
}
h3{
border-bottom:2px solid;
font-size:1.1em;
font-weight:700;
margin:1em 0
}
h3:first-letter{
color:#999;
font-size:1.5em
}
h2 + h3{
margin-top:0
}
#leftcolumn > h2:first-child,#rightcolumn h2:first-child{
margin-top:5px;
}
dt{
clear:both;
font-weight:700;
float:left;
margin:0 0 5px;
padding:0 5px;
width:12em /* Depending on the number of characters, adjustments may be made. */
}
dd{
border-bottom:dotted 1px;
margin:0 0 5px 14em /* Added 2 units to the width of `dt`. */
}
em{
background:#f8f8d4;
font-style:normal;
font-weight:700
}
input,textarea{
background:#f0f0f0;
border:1px solid;
margin:3px 0;
width:400px;
font-size:0.9em;
line-height: 1.5
}
textarea{
height:50px
}
hr{
border-top:1px solid #ccc
}
.marker{
background:#eedee2;
background:-webkit-linear-gradient(rgba(238,222,226,0) 50%, #eedee2 0%);
background:linear-gradient(rgba(238,222,226,0) 50%, #eedee2 0%)
}
.dcline{
border-left:5px solid #ccc;
margin:8px 0;
padding:3px 3px 3px 10px
}
.textbox{
border:1px dotted;
border-radius:5px;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#999;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-shadow:2px 2px 2px rgba(218,218,218,.8)
}
details{
border:1px dashed #999;
border-radius:3px;
padding: 0.5em 0.5em 0;
margin:5px
}
summary{
background:#f0f0f0;
border:1px dashed #999;
border-radius:3px;
box-shadow:0 0 0 5px #f0f0f0,5px 5px 8px #666;
font-weight: bold;
margin: -0.5em -0.5em 0;
padding: 0.5em
}
details[open]{
padding: 0.5em
}
details[open] summary{
border-bottom: 1px solid #aaaaaa;
margin-bottom: 0.5em
}
.copyright{
font-style:italic;
font-size:0.85em
}
.index_enter{
font-size:2em;
background:#f0f0f0;
border:1px dashed #999;
border-radius:3px;
box-shadow:0 0 0 5px #f0f0f0,5px 5px 8px #666;
padding:.2em;
display: inline-block;
position: relative;
left: 50%; /* Move the element to the right by 50% of the container's width */
transform: translateX(-50%); /* Calculates 50% of the element's width, and moves it by that */ /* amount across the X-axis to the left */
}
.index_host{
margin:auto auto;
text-align:center
}
.return{
font-size:1em;
background:#f0f0f0;
border:1px dashed #999;
border-radius:3px;
box-shadow:0 0 0 5px #f0f0f0,5px 5px 8px #666;
padding:.2em;
display: inline-block;
}
.tohru_wave{
margin: -25.2px 5px;
text-align:right;
}
.tohru_wave img{
width:20%;
height:20%
}

/* ===================================
Portfolio settings
=================================== */

.portfolio_icon{
margin:auto auto;
text-align:center;
}
.portfolio_icon img{
width:150px;
height:auto
}
.portfolio_icon a>img{
margin:10px;
border:5px solid #666;
border-radius:10px;
box-shadow:4px 4px 3px #B4B4B4;
}
.portfolio_icon a>img:hover{
border-color: #DED8CD;
transition: 0.5s
}
.portfolio{
text-align:center;
padding:0.5em
}
.portfolio img{
width:100%;
height:auto
}
.portfolio a{
display: inline-block;
width: 50%;
height:auto
}
.portfolio a>img{
border:5px solid #666;
border-radius:10px;
box-shadow:4px 4px 3px #B4B4B4
}
.portfolio a>img:hover{
border-color: #DED8CD;
transition: 0.5s
}
.portfolio video{
width:65%;
height:auto
}
.portfolio_comm{
text-align:center
}
.portfolio_comm a>img{
margin:10px;
border:5px solid #666;
border-radius:10px;
box-shadow:4px 4px 3px #B4B4B4
}
.portfolio_comm a>img:hover{
border-color: #DED8CD;
transition: 0.5s
}
.portfolio_yt {
position: relative;
display: block;
width: 90%; /* width of iframe wrapper */
height: 0;
margin: auto;
padding: 0% 0% 56.25%; /* 16:9 ratio */
overflow: hidden
}
.portfolio_yt iframe {
position: absolute;
top: 0; bottom: 0; left: 0;
width: 100%;
height: 100%;
border: 0
}

/*  Right-align multiple lines
------------------------------ */
.r-justified{
text-align:right
}
.r-justified p{
display:inline-block;
text-align:left
}
.inline{
display:inline-block
}

/* ===================================
Switch at 800px width
=================================== */

@media screen and (max-width: 800px){
/* #wrapper{width:100%} */ /* To specify the overall width, remove the preceding and following /＊　＊/ before use. */
dt{float:none;clear:none}
dd{margin-left:20px}
input,textarea{width:100%}
img{max-width:100%;height:auto} /* Thumbnail view */
}

/* ===================================
For smartphones and tablets
Switch at 600px width
=================================== */

@media screen and (max-width: 600px){
body{
font-size:1.5em;
padding:15px
}
#wrapper{
margin-bottom:50px
}
#header-inner{
padding:0 0 20px;
text-align:left
}
#rightcolumn{
padding:20px
}
#leftcolumn{
padding:10px 20px
}
h1:not(.index){
font-size:1.2em;
margin-right:90px; /* Menu open button */
}
h1 span{
display:block;
min-height:60px; /* Menu open button */
}
h2{
margin:20px -5px
}
#leftcolumn h2{
border-left: 0;
border-right:0;
font-size:1.3em;
margin:20px -15px
}
.portfolio img{
width:100%;
height:auto
}
.portfolio video{
width:100%;
height:auto
}
.tohru_wave img{
margin-top:25px;
width:50%;
height:auto
}
#wrapper{height:auto;width:auto}
#rightcolumn-wrap{float:none;margin-left:0}
#rightcolumn{margin-left:0}
#leftcolumn{float:none}

/* ===================================
Menu for smartphones and tablets
=================================== */

/*  Slide
------------------------------ */
#leftcolumn-wrap{
background:#fff; /* Background color */
line-height:2;
margin:0;
padding:90px 0 20px; /* Leave space for the menu button */
position:fixed;
height:100%;width:280px; /* (*1) Make the same */
top:0;right:0;
-ms-transform:translate(280px); /* (*1)Make the same */
-webkit-transform:translate(280px); /* (*1)Make the same */
transform:translate(280px); /* (*1)Make the same */
transition:.3s;
z-index:1000
}
#side-bg{
background:rgba(51,51,51,.5)/* Surrounding background colour */
}
/*  Menu
------------------------------ */
#menu{
background:#999;
margin: 0 -20px;
}
nav li:first-child{
border-top:1px solid #ccc
}
nav li{
border-bottom:1px solid #ccc
}
nav ul li ul li:last-child{
border:0
}
nav li a,nav li span{
font-size:1.3em;
padding:5px 10px
}
nav li a:hover,nav li span:hover{
border-radius:0
}
.sub-menu li a{
background:#bbb;
color:#fff
}
/*  Open menu button
------------------------------ */
#open{
background:#999; /* Background */
border:1px dashed #fff; /* Border */
border-radius:3px;
box-shadow:0 0 0 5px #999,5px 5px 8px #666;
color:#fff; /* Text color */
display:inline-block;
position:absolute;
text-align:center;
height:60px;width:60px; /* Size */
top:0;right:10px;
z-index:1001
}
#open-icon,#open-icon:before,#open-icon:after{
background:#fff /* Line colour */
}

#leftcolumn{height:100%;overflow:auto;-webkit-overflow-scrolling:touch}
#leftcolumn-wrap.open{-ms-transform:translate(0);-webkit-transform:translate(0);transform:translate(0)}
#side-bg{display:none;position:fixed;height:100%;width:100%;top:0;left:0;z-index:999;cursor:pointer}
#open.buttonclose{position:fixed;top:10px;right:25px}
.open-text{position:absolute;bottom:0;left:0;width:100%}
#open-icon{display:block;margin:-1px 0 0 -10px;position:absolute;top:20px;left:50%;height:2px;width:20px}
#open-icon:before,#open-icon:after{content:"";display:block;position:absolute;top:50%;left:0;height:2px;width:20px;transition:.3s}
#open-icon:before{margin-top:-8px}
#open-icon:after{margin-top:6px}
#open .close{background:transparent}
#open .close:before,#open .close:after{margin-top:0}
#open .close:before{-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
#open .close:after{-ms-transform:rotate(-135deg);-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}
}