/* Base Layout
------------------------------------------------- */
body {
color: #453F2D;
line-height: 1.5em;
font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",'メイリオ', 'Meiryo', sans-serif;
overflow-x: hidden;
text-size-adjust: 100%;
border-top: 10px solid #FC9222;
border-bottom: 10px solid #FC9222;
background: #FCFCFA;
}

html {
scroll-behavior: smooth;
}

div#wrapper {
overflow: hidden;
clear:both;
width: 100%;
padding: 0;
}

div#contents {
overflow: hidden;
}



/* Base Element
------------------------------------------------- */
h2 {
font-weight: 700;
}
a {
color: #453F2D;
text-decoration: none;
}
a:hover {
display:inline-block;
color: #0000F0;
text-decoration: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
filter:brightness(95%);
}
small {
line-height: 1.5em;
font-size: 80%;
}



/* Header
------------------------------------------------- */
header h1 img {
width: 100%;
margin: 60px auto 20px;
}
header h2 p.description {
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
color: #666666;
text-align: center;
}



/* Mainimage
------------------------------------------------- */
#mainimage {
border-top: 1px solid #ECE9D8;
border-bottom: 1px solid #ECE9D8;
background: #f7fcff;
}
#mainimage figcaption {
line-height: 1.5em;
font-weight: bold;
font-size: 135%;
z-index: 5;
}


/* Contents Element
------------------------------------------------- */
#contents {
background: linear-gradient(to top, #FCFCFA 95%, #EFEFEA 100%);
}
#contents {
padding: 50px 0 0;
}
#contents section {
clear: both;
overflow: hidden;
margin-bottom: 50px;
}
section h2 {
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
color: #39ACB1;
font-size: 135%;
font-weight: 700;
}
section h3 {
font-weight: 700;
margin-bottom: 0.5em;
line-height:1.8em;
color: #453F2D;
border-bottom: 1px solid #39ACB1;
}
section h4 {
font-weight: 700;
margin-bottom: 0.5em;
line-height:1.0em;
color: #453F2D;
}
section h4:before {
content:'● ';
font-size: 75%;
color: #FC9222;
}
section h4:after {
content:' ●';
font-size: 75%;
color: #FC9222;
}
section p.intro {
margin-bottom: 15px;
}
/* Details contents-elements
------------------------------------------------------------ */
/* introduction */
section#introduction figure {
float: right;
}
section#introduction img {
width: 100%;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
}
section#introduction p.signature {
margin-top: 0.5em;
text-align: right;
} 

/* contact */
section#contact {
padding: 30px;
background: #FFFFFF;
border: 1px solid #ECE9D8;
}
section#contact form dl dt {
font-weight: bold;
color: #453F2D;
}
section#contact form dl dt span {
font-weight: bold;
font-size: 85%;
color: #FC9222;
}
section#contact form dl dd {
margin: 5px 0 10px;
}
section#contact form input,
section#contact form select,
section#contact form textarea {
border:0;
padding:10px;
border:solid 1px #ccc;
margin:0 0 10px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
box-sizing: border-box;
}
section#contact form textarea {
resize: vertical;
}
section#contact form input.button {
display: inline-block;
cursor: pointer;
}
section#contact form input.submit,
section#contact form input.reset {
width: 150px;
}
section#contact form textarea {
width: 100% !important;
}
section#contact form dl.button dd {
text-align: center;
}

::placeholder {
font-size: 0.9em;
}


/* Footer
------------------------------------------------- */
footer {
clear: both;
overflow: hidden;
padding: 25px 0 0;
text-align: center;
}
section#outline {
margin: 0 auto 15px;
font-size: 85%;
}