/* html {
height: 100%;
overflow: hidden;
}
body {
height: 100%;
overflow: scroll;
}
 */
body{
	font-family: Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.4;
	font-size: 14px;
	-webkit-text-size-adjust:100%;
	color: #444444;
	width: 100%;
	letter-spacing: .2em;
}

input,
textarea,
select,
button{
	font-family: Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


a{
	text-decoration: none;
}

li{
	list-style: none;
}

img {
    height: auto;
    vertical-align: bottom;
    width: 100%;
}

div,ul,li{
	box-sizing: border-box;
}

.en{
	font-family: 'Poiret One', cursive;
	font-weight: bold;
}

h1{
	position: relative;
	padding: 30px 0 0 15px;
	color: #989797;
}

h1 a{
	display: block;
	color: #989797;
}

h1::before{
	padding-top: 10px;
	text-align: center;
	position: absolute;
	content: attr(title);
	top:0;
	font-size: 70%;
	font-weight:bold;
	color: #db6565;
}

.top-logo{
	width: 220px;
	position: absolute;
	top: 45%;
	right: 0;
	left: 0;
	margin: auto;
}

#mv{
	background: url(../_images/back.jpg) left top;
	background-size: cover;
	background-attachment: fixed;
	height: 400px;
	position: relative;
}

#mv p{
	text-align: center;
	font-size: 120%;
	vertical-align: bottom;
	margin-top: 45px;
	letter-spacing: .3em;
	line-height: 1.6;
}

nav{
	position: absolute;
	bottom: 20px;
	right: 20px;
}

nav ul li{
	float: left;
	width: 100px;
	height: 100px;
	line-height: 100px;
	border-radius: 50%;
	text-align: center;
	margin-right: 10px;
	background: rgba(255,255,255,0.6);
}

nav ul li:last-child{
	margin-right: 0;
}

nav ul li a{
	display: block;
	color: #db6565;
}

nav ul li:hover{
	background: #db6565;
	transition: .5s;
}

nav ul li a:hover{
	color: #fff;
}

/* コンテンツ部分共通 */

.contents-wrap{
	padding: 6em 0;
	text-align: center;
}

h2{
	font-size: 150%;
	position: relative;
	display: inline-block;
	padding: 0 45px;
	color: #db6565;
	margin: 0 auto;
}

h2:before, h2:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 30px;
	height: 1px;
	background-color: #CCAB87;
	-moz-transform: rotate(-60deg);
	-webkit-transform: rotate(-60deg);
	-ms-transform: rotate(-60deg);
	transform: rotate(-60deg);
}

h2:before {left:0;}
h2:after {right: 0;}

h3{
	position: relative;
	display: inline-block;
	padding: 0 35px;
	color: #CCAB87;
	font-size: 110%;
}

h3:before, h3:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 25px;
	height: 1px;
	background-color: #CCAB87;
}

h3:before {left:0;}
h3:after {right: 0;}

.sub-list{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}

#profile .sub-list ul{
	font-size: 90%;
	color: #8C8785;
}

.contents-msg{
	text-align: left;
	width: 80%;
	max-width: 860px;
	margin: 0 auto 2em;
	padding-top: 2em;
}

.link-btn{
	width: 100px;
	height: 100px;
	line-height: 100px;
	border: 1px solid #A2815D;
	border-radius: 50%;
	margin: 0 auto;
}

.link-btn a{
	display: block;
	color: #A2815D;
}

.link-btn:hover{
	background: #CCAB87;
	transition: .5s;
	border: 1px solid #CCAB87;
}

.link-btn a:hover{
	color: #fff;
}

/* profile */

#profile .sub-list ul{
	float: left;
	width: 32%;
	margin-right: 2%;
}

#profile .sub-list ul:last-of-type{
	margin-right: 0;
}

#profile .sub-list ul h3{
	margin-bottom: 10px;
}

#profile .sub-list ul li{
	margin-bottom: 5px;
}

#exam-mark{
	width: 100px;
	margin: 20px auto 0;
}

/* works */

#works{
	background: url(../_images/light-back.jpg);
	background-size: cover;
	background-attachment: fixed;
}

#works h2{
	margin-bottom: 2em;
}

#works h2:before,
#works h2:after{
	background-color: #A2815D;
}

#works h3:before,
#works h3:after{
	background-color: #A2815D;
}

#works h3{
	color: #A2815D;
	margin-bottom: 2em;
}

.works-contents{
	padding: 2em 0;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}

#works-web{
	border-bottom: dashed 1px #A2815D;
	padding-bottom: 6em;
	margin-bottom: 4em;
}

.works-contents ul{
	margin-bottom: 2em;
}

.works-contents ul li{
	width: 30%;
	float: left;
	margin-right: 5%;
	border-radius: 50%;
}

.works-contents ul li:nth-child(3n){
	margin-right: 0;
}

.works-contents ul li a{
	display: block;
	border-radius: 50%;
}

.works-contents ul li a img{
	-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;
    border-radius: 50%;
}

.works-contents ul li a:hover img{
/* 	visibility: hidden;
	 */	opacity: 0.2;
    filter: alpha(opacity=20);
}

.works-contents ul li:hover{
	background: url(../_images/link-back.png);
	background-size: cover;
	transition: color 0.3s ease 0s;
}

.works-contents ul li a:hover{
	color: #fff;
}

/* contact */

form dl{
	text-align: left;
	width: 90%;
	max-width: 700px;
	margin: 2em auto 3em;
}

input,
textarea{
	width: 100%;
	outline: none;
	border: solid 1px #CCAB87;
	border-radius: 5px;
	padding: .5em;
}

input:focus,
textarea:focus{
	border: solid 1px #FBDAB7;
	box-shadow: 0px 0px 5px #EBCAA6;
}

form dl dt{
color: #A2815D;
margin-bottom: 5px;
}

form dl dt i{
	color: #db6565;
}

form dl dd{
	margin-bottom: 20px;
}

button{
	-webkit-appearance: none;
	background: #db6565;
	border: none;
	color: #fff;
	border-radius: 5px;
	padding: 0 1em;
	cursor: pointer;
	height: 45px;
	line-height: 45px;
}

button:hover{
	background: #FF8F8F;
}

footer{
	background: url(../_images/back.jpg) center center;
	background-size: cover;
	text-align: center;
	padding: 2em 0 10em;
	font-size: 80%;
	color: #fff;
}

/* thanks */

#thanks-page{
	background: url(../_images/light-back.jpg);
}

#thanks{
	width: 90%;
	max-width: 980px;
	margin: 3em auto;
	padding: 4em;
}

.thanks-icon{
	background: #db6565;
	width: 200px;
	height: 200px;
	margin: 0 auto;
	border-radius: 50%;
	color: #fff;
	line-height: 200px;
	text-align: center;
	font-size: 130%;
	margin-bottom: 2em;
}

#thanks-page h1{
	position: static;
	font-size: 120%;
	text-align: center;
	padding: 0;
	font-weight: normal;
	color: #444;
}

#thanks-msg{
	width: 80%;
	margin: 0 auto 2em;
	border-bottom: dashed 1px #db6565;
	padding-bottom: 2em;
}

#thanks-msg span{
	color: #db6565;
	font-size: 130%;
}

#alert-msg{
	width: 80%;
	margin: 0 auto;
}

.alert-msg{
	color: #db6565;
	margin: 1em 0 4em;
}

.alert-msg li:first-child{
	margin-bottom: 5px;
}

.return-home{
	width: 220px;
	margin: 0 auto;
}

#email-get{
	width: 90%;
	margin: 2em auto ;
	text-align: center;
}

.return-home{
	width: 100px;
	height: 100px;
	line-height: 100px;
	text-align: center;
	margin: 0 auto;
	border: 1px solid #A2815D;
	border-radius: 50%;
}

.return-home a{
	display: block;
	color: #A2815D;
}

.return-home:hover{
	background: #CCAB87;
	transition: .5s;
	border: 1px solid #CCAB87;
}

.return-home a:hover{
	color: #fff;
}

#pageTop {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 9999;
    font-weight: bold;
}

#pageTop a{
    display: block;
    z-index: 9999;
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    font-size: 120%;
	color: #A2815D;
	border-radius: 50%;
	border: solid 1px #A2815D;
}

#pageTop span{
	font-size: 90%;
}

#pageTop a:hover{
	color: #fff;
	background: #CCAB87;
	transition: .5s;
	border: 1px solid #CCAB87;
}

/* works */

#works-wrap h2{
	margin-bottom: 1em;
}

.re-home{
	margin-bottom: 3em;	
}

.re-home a{
	color: #989797;
	display: block;
}

#works-wrap .top-logo{
	top: 20px;
}

.details-contents{
	width: 95%;
	max-width: 1000px;
	margin: 0 auto;
	border-bottom: dashed 1px #CCAB87;
    padding: 4em 0;
}

.web-details{
	margin-bottom: 2em;
}

.catch-img ul li{
	float: left;
	width: 20%;
	margin-right: 5%;
	box-shadow: 2px 2px 5px #F2E6D8;
}

.catch-img li:first-child{
	width: 50%;
}

.catch-img li:last-child{
	margin-right: 0;
}

.details-list{
	padding: 2em 0 1em;
}

.details-list li{
	float: left;
	width: 18%;
	margin: 0 2.5% 10px 0;
	border: 1px solid #CCAB87;
	padding: 1em 0;
	color:  #CCAB87;
	font-size: 90%;
}

.details-list li:nth-child(5n){
	margin-right: 0;
}

.details-commemt{
	text-align: left;
}

.details-commemt h4{
	color: #CCAB87;
	border-bottom: 1px solid #CCAB87;
}

.details-commemt p{
	padding: 1em 1em 0;
}

.details-commemt a{
	color: #444;
	display: block;
	padding: 1em 1em 0;
}

.details-commemt a:hover{
	color: #ccc;
	text-decoration: underline;
}

@media only screen and (min-width : 285px) and (max-width : 480px) {
body,input,textarea,button{
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'メイリオ', meiryo, sans-serif;
	-webkit-text-size-adjust:100%;
}

#mv{
	background-attachment: scroll;
}

#works{
	background-attachment: scroll;
}

#profile .sub-list ul{
	float: none;
	width: 80%;
	margin: 0 auto 20px;
}

#profile .sub-list ul:last-of-type{
    margin-right: auto;
}

#mv p{
	font-size: 100%;
}

nav{
	width: 320px;
	left: 0;
	right: 0;
	margin: auto;
}

.works-contents ul li{
	float: none;
	width: 80%;
	margin: 0 auto 20px;
}

.works-contents ul li:nth-child(3n){
	margin-right: auto;
}

input, textarea{
	width: 95%;
}

#thanks{
	padding: 0;
}

.brs::after {
	content: "\A" ;
	white-space: pre ;
}

.catch-img ul li {
    float: none;
    width: 90%;
    margin: 0 auto 30px;
}

.catch-img li:first-child {
    width: 90%;
}

.catch-img li:last-child {
    margin-right: auto;
}

.details-list li {
    float: left;
    width: 48%;
    margin: 0 4% 10px 0;
}

.details-list li:nth-child(2n) {
    margin-right: 0;
}

.details-list li:nth-child(5n) {
    margin-right: 4%;
}

}

@media only screen and (min-width : 481px) and (max-width : 1024px) {
body,input,textarea,button{
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'メイリオ', meiryo, sans-serif;
	-webkit-text-size-adjust:100%;
}

#mv{
	background-attachment: scroll;
}

#works{
	background-attachment: scroll;
}

.details-list li {
    float: left;
    width: 30%;
    margin: 0 5% 10px 0;
}

.details-list li:nth-child(3n) {
    margin-right: 0;
}

.details-list li:nth-child(5n) {
    margin-right: 5%;
}

}

/* 調整用 */

/* clearfix */
.cf:after {
	content: "";
	clear: both;
	display: block;
}

.br::after {
	content: "\A" ;
	white-space: pre ;
}

.mb20{
	margin-bottom: 20px;
}