/*---------------------------------------
   CSS RESET
-----------------------------------------*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,img,ins,kbd,q,s,samp,strike,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,.nav_md,output,ruby,section,summary,time,mark,audio,video,input,textarea,select{outline:none;border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}.clear{clear:both}.clearfix{display:inline-block}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;line-height:0;font-size:0}* html .clearfix{height:1%}.clearfix{display:block}p,li,td{background:url('')}
ul, ol {list-style: none;}

/*---------------------------------------
   COMMON
-----------------------------------------*/

*,
*:before,
*:after{
	margin: 0;
	padding: 0
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
img, audio, video, canvas {
	max-width: 100%;
}

html, body {
	width: 100%;
	min-height: 100%;
}
body {
	font-size: 16px;
	font-family: Century Gothic, Meiryo, Helvetica, Arial, "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
	color: #333;
	background: #fff;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
.font_times {
    font-family: 'Times New Roman', Times, serif;
}

a {
	color: #333;
	text-decoration: none;
}
.trans {
	opacity: 1;
}
.trans:hover,
.trans:hover img {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
	filter: alpha(opacity=85);
	-moz-opacity: 0.85;
	-khtml-opacity: 0.85;
	opacity: .85;
}
#container {
	width: 100%;
	overflow: hidden;
	padding-top: 120px;
}
.wrapper {
	max-width: 960px;
	margin: 0 auto;
}

/* Global Images */

.pic {
	line-height: 0;
}
.img img {
	display: block;
}
.hidden {
	display: none;
}

/*---------------------------------------
   HEADER
-----------------------------------------*/

header {
	width: 100%;
	height: 120px;
	background: #fff;
	background: rgba(255,255,255,.8);
	position: fixed;
	left: 0;
	top: 0;
	z-index: 500;
    padding: 0 15px;
}
header .logo {
	float: left;
	padding-top: 33px;
}
.top_banner .img img {
	width: 100%;
}

/*---------------------------------------
   NAVIGATION
-----------------------------------------*/

nav {
	float: right;
	padding-top: 45px;
}
nav .navbar li {
	float: left;
	font-size: 15px;
	margin-left: 46px;
}
nav .navbar li a:hover,
nav .navbar li.active a {
	color: #39C;
	text-decoration: underline;
}


/*---------------------------------------
   ARTICLES
-----------------------------------------*/

article {
	max-width: 990px;
    margin: 0 auto;
    padding: 15px 15px 150px;
}
.post {
	padding: 55px 0 0;
}
.post .post_ttl {
	text-align: center;
}
.post .post_text {
	padding-top: 70px;
	line-height: 2;
}
.post .note {
	margin-top: 40px;
}
.post .note .font_times strong {
    font-size: 35px;
    font-weight: normal;
}
.block {
	<!--min-height: 600px;-->
}
.block .block_ttl {
	font-size: 12px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 2px;
}
.block .block_ttl span {
	font-size: 30px;
	margin-right: 5px;
}
.block .block_cont {
	padding-top: 60px;
	line-height: 2;
}

/*---------------------------------------
   FOOTER
-----------------------------------------*/

footer {
	position: relative;
    max-width: 990px;
    margin: 0 auto;
    padding: 0 15px;
}
.ul_social li {
	float: left;
	margin-right: 10px;
	line-height: 0;
	font-size: 32px;
}
.ul_social li a {
	display: block;
}
.ul_social li a:hover .fa {
	color: #39C;
}
.fnav {
	padding: 3px 0 5px;
}
.fnav li {
	float: left;
	margin-right: 12px;
}
.fnav li a, .fnav li .fa {
	font-size: 12px;
}
.fnav li a:hover {
	color: #39C;
	text-decoration: underline;
}
.fnav li a .fa {
	margin-right: 4px;
}
footer .copyright {
	font-size: 12px;
	text-transform: uppercase;
	padding: 8px 0;
	border-top: 1px solid #ccc;
}
footer .btn_top {
    position: fixed;
    bottom: 15px;
    left: 50%;
    z-index: 500;
}
#backtop {
	display: none;
    width: 50px;
    height: 50px;
    line-height: 44px;
    text-align: center;
    background: #000;
    background: rgba(0,0,0,.3);
    margin-left: 495px;
    color: #fff;
    font-size: 40px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    cursor: pointer;
}

/*---------------------------------------
   PAGE: NEWS
-----------------------------------------*/

.ul_news li {
	margin-bottom: 22px;
}
.ul_news li dl {
	display: table;
}
.ul_news li dl dt {
	display: table-cell;
	vertical-align: top;
	padding-right: 45px;
}
.ul_news li dl dd {
	display: table-cell;
	vertical-align: top;
}
#post_news .btn:hover,
.ul_news li a:hover {
	color: #39C;
	text-decoration: underline;
}

/*---------------------------------------
   PAGE: WORKS
-----------------------------------------*/

.ul_works li {
	margin-bottom: 20px;
	line-height: 1.4;
	font-size: 12px;
}
.ul_works li a,
.ul_works li a span {
	display: block;
}
.ul_works li a {
	padding: 45px 20px;
	text-align: center;
	background: #EEE;
}
.ul_works li a .ttl {
	font-size: 25px;
}
.ul_works li a:hover {
	color: #39C;
}

/*---------------------------------------
   PAGE: CHARACTER
-----------------------------------------*/

#post_character .link {
	margin-top: 70px;
}
#post_character .link .ttl {
	margin-bottom: 5px;
}
#post_character .link .btn, #post_character .link .fa {
	font-size: 12px;
}
#post_character .link .btn:hover {
	color: #39C;
	text-decoration: underline;
}

/*---------------------------------------
   PAGE: FORM
-----------------------------------------*/

#contact_form {
	max-width: 600px;
	margin: 0 auto;
}
#contact_form .note {
	font-size: 10px;
	color: #39C;
	line-height: 1.5;
	margin-bottom: 24px;
	padding-left: 10px;
}
#contact_form .note span {
	margin-left: -10px;
}
#contact_form .required {
	font-size: 10px;
	color: #39C;
}
#contact_form .text_input {
	width: 100%;
	height: 32px;
	border: 1px solid #ccc;
	padding: 0 5px;
	font-family: inherit;
	font-size: inherit;
	display: block;
}
#contact_form .text_area {
	display: block;
	width: 100%;
	height: 200px;
	border: 1px solid #ccc;
	resize: none;
	padding: 5px;
	font-family: inherit;
	font-size: inherit;
}
#contact_form input[type="checkbox"] {
	vertical-align: middle;
}
#contact_form .form_btn {
	margin-top: 50px;
	text-align: center;
	font-size: 0;
}
#contact_form .form_btn .btn {
	width: 185px;
	background: #333;
	border: none;
	color: #fff;
	font: inherit;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 16px;
	margin: 10px 10px 0;
}
#contact_form .ajax-loader {
	display: none !important;
}
.ul_form .field {
	margin-bottom: 25px;
}
.wpcf7c-elm-step2 .row {
	padding: 5px 15px;
	line-height: 1.5;
}
.wpcf7c-elm-step2 .row p {
	font-size: 12px;
}
.wpcf7c-elm-step2 .row.lb {
	background: #dddddd;
	margin-bottom: 5px;
}
.wpcf7c-elm-step3 .topgo {
    margin-top: 50px;
}
.wpcf7c-elm-step3 .topgo a:hover {
	color: #39C;
	text-decoration: underline;
}
div.wpcf7-response-output {
	display: none !important;
}

/*---------------------------------------
   404 Not Found
-----------------------------------------*/

#not_found404 .fa {
	margin-right: 4px;
}
#not_found404 .btn:hover {
	color: #39C;
	text-decoration: underline;
}



/*---------------------------------------
   mobile.css
-----------------------------------------*/

.sm {
	display: none !important
}
@media (max-width: 1120px) {
    footer .btn_top {
        right: 15px;
        left: inherit;
    }
    #backtop {
        margin-left: 0;
    }
}

@media (max-width: 625px) {
    nav .navbar li {
        margin-left: 30px;
    }
}

@media (max-width: 570px) {

	/*---------------------------------------
	   COMMON
	-----------------------------------------*/

	.sm {
		display: block !important
	}
	.md {
		display: none !important
	}
	body {
		font-size: 12px;
	}
	#container {
		min-width: 320px;
        padding-top: 54px;
	}
	.wrapper {
		width: auto;
	}

    /*---------------------------------------
       HEADER
    -----------------------------------------*/

    header {
        height: 54px;
    }
    header .logo {
        float: left;
        width: 130px;
        padding-top: 11px;
    }
    #btn_menu {
        float: right;
        margin-top: 10px;
        font-size: 25px;
    }
    .top_banner.wrapper {
        padding: 0;
    }
    .top_banner .img img {
        width: 100%;
    }

    /*---------------------------------------
       NAVIGATION
    -----------------------------------------*/

    nav {
        display: none;
        float: none;
        padding-top: 0;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background: rgba(51, 153, 204, 0.9);
        
    }
    nav .navbar li {
        float: none;
        font-size: 12px;
        margin-left: 0;
        border-top: 1px solid #88c5e1;
    }
    nav .navbar li a {
        display: block;
        padding: 10px 20px;
        color: #fff;
    }
    nav .navbar li a:before {
        display: inline-block;
        content: ' ';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 4px 0 4px 5px;
        border-color: transparent transparent transparent #ffffff;
        margin-right: 10px;
        vertical-align: 1px;
    }
    nav .navbar li a:hover,
    nav .navbar li.active a {
        color: #fff;
        text-decoration: none;
    }

    /*---------------------------------------
       ARTICLES
    -----------------------------------------*/

    article {
        padding-top: 26px;
    }
    .post {
        padding: 5px 0 0;
    }
    .post .post_ttl img {
        width: 75%;
        margin: 0 auto;
    }
    .post .post_text {
        padding-top: 30px;
    }
    .post .note {
        margin-top: 18px;
    }
    .post .note .font_times strong {
        font-size: 24px;
    }
    .post .note .ttl img {
        max-width: 296px;
    }
    .block {
        min-height: auto;
    }
    .block .block_ttl {
        font-size: 10px;
        padding-bottom: 4px;
    }
    .block .block_ttl span {
        font-size: 20px;
    }
    .block .block_cont {
        padding-top: 30px;
    }

    /*---------------------------------------
       FOOTER
    -----------------------------------------*/

    .ul_social li {
        margin-right: 5px;
        font-size: 24px;
    }
    .fnav li a {
        font-size: 10px;
    }
    footer .btn_top {
        bottom: 15px;
        right: 15px;
        left: auto;
    }
    #backtop {
        width: 36px;
        height: 36px;
        line-height: 28px;
        font-size: 30px;
        margin-left: 0;
    }
    footer .copyright {
        padding: 5px 0;
        font-size: 10px;
    }

    /*---------------------------------------
       PAGE: NEWS
    -----------------------------------------*/

    .ul_news li {
        margin-bottom: 12px;
    }
    .ul_news li dl dt {
        padding-right: 32px;
    }

    /*---------------------------------------
       PAGE: WORKS
    -----------------------------------------*/

    .ul_works li {
        margin-bottom: 10px;
        font-size: 10px;
    }
    .ul_works li a {
        padding: 26px 20px;
    }
    .ul_works li a .ttl {
        font-size: 20px;
    }

    /*---------------------------------------
       PAGE: CHARACTER
    -----------------------------------------*/

    #post_character .link {
        margin-top: 30px;
    }
    #post_character .link .ttl {
        margin-bottom: 4px;
        max-width: 229px;
    }
    #post_character .link .btn {
        font-size: 10px;
    }

    /*---------------------------------------
       PAGE: FORM
    -----------------------------------------*/

    #contact_form {
        width: auto;
        margin-bottom: 30px;
    }
    #contact_form .note {
        font-size: 9px;
        margin-bottom: 15px;
    }
    #contact_form .required {
        font-size: 9px;
    }
    #contact_form .form_btn {
        margin-top: 32px;
    }
    #contact_form .form_btn .btn {
        font-size: 12px;
        width: 36%;
        margin: 10px 2% 0;
    }
    .ul_form .field {
        margin-bottom: 14px;
    }

}

@media (max-width: 410px) {
    .post .note .font_times strong {
        font-size: 21px;
    }
}

@media (max-width: 365px) {
    .post .note .font_times strong {
        font-size: 18px;
    }
}
