@charset "utf-8";
/* CSS Document */
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
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, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
/*font-size: 100%;*/
/*font: inherit;*/
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers 
*/
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/*====================*/


*{
	font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
}

body{
	min-width:1000px;
	color:#333;
}

a{
	color:#123359
}

/*記事内の画像*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em !important;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em !important;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

table.alignright,
table.alignleft{
	display:table;
}

table.aligncenter{
	display:table;
}


/*送信メッセージ*/
.wpcf7-response-output{
	color:#C30;
	text-align:center;
	margin-top:20px;
}

/*記入漏れ*/
.wpcf7-not-valid-tip{
	color:#C30;
	margin-left:5px;
	text-decoration:underline;
}

.red{
	color:#f10;
}

/*-- header --*/
#head_wrap{
	width:100%;
	min-width:1200px;
	font-size:15px;
	background-color:#444d66;
}

#head_wrap h2{
	display:none;
	background-color:#253d31;
}

#header{
	display:none;
	width:1200px;
	padding:20px 0 20px;
	margin:0 auto;
	overflow:hidden;
}

#header h1{
	float:left;
	width:450px;
	height:40px;
	text-indent:-9999px;
	background-image:url(img/logo.png);
	background-repeat:no-repeat;
}

#header h1 a{
	display:block;
	width:100%;
	height:100%;
}


#header #head_add{
	float:right;
}

#header p{
	color:#fff;
	font-size:160%;
}

#header p span{
	color:#fff;
	font-size:40%;
}

#page #header{
	display:block;
}

/* top_slide */

#image_wrap{
	margin:0 auto;
	position:relative;
	min-width: 1200px;
}

#top_slide{
	overflow:hidden;
}

#top_slide img{
	width:100%;
}

#caption_wrap{
	position:absolute;
	width:1200px;
	margin:auto;
	bottom:50px;
	right:0;
	left:0;
}

#caption{
	float:right;
	width:40%;
	padding:1em 2em;
	background-color:rgba(68, 77, 102,0.7);
}

#caption h3{
	text-align:center;
	line-height:1.2em;
	color:#fff;
	font-size:250%;
}

#caption h3 span{
	font-size:35%;
	line-height:3em;
}

#caption h3 span:first-of-type{
	font-size:50%;
}

#top_slide li {
  width:100%;
  height: 500px;
  background: center / cover no-repeat;
}


@media screen and (min-device-width: 320px) {
/* main_image */

.bx-wrapper{
	background-color:transparent;
}

.bx-viewport {
  left: 0;
  box-shadow: none;
  border: none;
  z-index:-1;
}

#top_slide li {
  height: 90vh;
  background: center / cover no-repeat;
}

}

/* main menu */

#gl_menu{
	width:100%;
	min-width:1200px;
	box-shadow:1px 1px 2px #aaa;
}

#gl_menu ul{
	display:flex;
	margin:auto;
	width:1200px;
	overflow:hidden;
	justify-content: space-around;
}

#gl_menu ul li{
	width:100%;
}

#gl_menu ul li a{
	display:block;
	position:relative;
	padding:2em 0;
	margin:auto;
	width:100%;
	color: #444d66;
	font-size:15px;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
	box-sizing:border-box;
	transition:.2s;
}

#gl_menu ul li a:hover{
	color:#fff;
	background-color:#444d66;
	transition:.2s;
}

#gl_menu ul li a span{
	padding-left:25px;
	background-image:url(img/arrow.png);
	background-repeat:no-repeat;
	background-position:-0px center;
}

#gl_menu ul li a:hover span{
	background-image:url(img/arrow_h.png);
	background-repeat:no-repeat;
}

/* topcontnet */
#info_wrap{
}

#info{
	width:1200px;
	margin:0 auto;
	font-size:15px;
	overflow:hidden;
}

#info #message,
#info #news{
	float:left;
	padding:1em;
	width:50%;
	box-sizing:border-box;
}

#info #message p{
	padding:1em;
	font-size:150%;
	line-height:1.8em;
}

#info #message h3,
#info #news h3{
	padding:0.5em;
	margin-bottom:8px;
	color:#444d66;
	font-size:170%;
	font-weight:normal;
	border-bottom:2px solid #444d66;
	transform: rotate(.03deg);
}

#info #news li{
	padding:0.5em;
	line-height:1.5em;
	border-bottom:1px dotted #253d31;
	overflow:hidden;
}

#info #news li a:hover{
	text-decoration:none;
}

#info #news li:first-of-type a{
	font-weight:bold;
}

#info #news li .thmb{
	float:left;
	display:block;
	margin-right:0.5em;
	width:200px;
	height:150px;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
}

#info #news li span{
	color:#253d31;
	font-size:80%;
	font-weight:bold;
}

#info #news li.kako{
	border-bottom:none;
	text-align:right;
}

#info #news li.kako a{
	padding-left:20px;
	background-image:url(img/arrow.png);
	background-repeat:no-repeat;
	background-position:left center;
}

#work_wrap{
	padding:1.5em 0;
	background-image:url(./img/work_bg.jpg);
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size:cover;
	background-attachment: fixed;
	-webkit-backface-visibility:hidden;
	
}

#work{
	margin:0 auto;
	padding:1em 2em;
	width:1000px;
	background-color:rgba(255,255,255,0.8);
	box-sizing:border-box;
	overflow:hidden;
}

#work h3{
	margin:1%;
	padding:1em 0;
	color:#444d66;
	font-size:150%;
	border-bottom:3px solid #444d66;
	text-shadow:1px 1px #fff;
}

#work h3 span{
	display:inline-block;
	margin:0 1em;
	font-size:80%;
}

#work_wrap ul{
	overflow:hidden;
}

#work_wrap ul li{
	float:left;
	margin:1%;
	width:46%;
	overflow:hidden;
}

#work_wrap ul li a{
	position:relative;
	display:table;
	width:100%;
	height:300px;
	text-align: center;
	text-decoration:none;
	background-size:100%;
	background-position:center center;
	box-shadow:2px 2px 2px #aaa;
	transition:.2s;
}

#work_wrap ul li a:before{
	display:block;
	position:absolute;
	content:'';
	margin:auto;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.6);
	top:0;
	bottom:0;
	right:0;
	left:0;
	transition:.2s;
}

#work_wrap ul li a:hover{
	transform: scale(1.05, 1.05);
	transition:.2s;
}

#work_wrap ul li a:hover:before{
	background-color:rgba(0,0,0,0.3);
	transition:.2s;
}

#work_wrap ul li a span{
	position:absolute;
	display:inline-block;
	margin:auto;
	height: 1em;
	color:#fff;
	font-size:130%;
	font-weight:bold;
	top:0;
	bottom:0;
	right:0;
	left:0;
}

#work_wrap ul li a span:before{
	display:block;
	position:absolute;
	content:'';
	margin:auto;
	width:0%;
	height:100%;
	border-bottom:3px solid #fff;
	bottom:-0.5em;
	left:0;
	right:0;
	transition:.5s;
}

#work_wrap ul li a:hover span:before{
	width:70%;
	transition:.5s;
}


/* main */

#main{
	margin:0 auto;
	padding:2em;
	width:1200px;
	color:#333;
	font-size:16px;
	line-height:1.5em;
	box-sizing:border-box;
}

#main #cont{
	min-height:500px;
	overflow:hidden;
}

#main #p_list p{
	font-size:80%;
	text-align:right;
}

#main .cont_left{
	float:left;
	width:50%;
}

#main .cont_right{
	float:right;
	width:50%;
}

#main h2{
	clear:both;
	padding:1em 0.5em 0.5em;
	margin-bottom: .5em;
	color: #444d66;
	font-size: 170%;
	font-weight: normal;
	line-height:1em;
	border-bottom: 2px solid #444d66;
	transform: rotate(.03deg);
	overflow:hidden;
}

#main h2 span{
	float:right;
	font-size:50%;
}

#main h3{
	clear:both;
	margin-bottom:1em;
	padding:0.5em;
	border-top:1px dotted #ccc;
	border-bottom:1px dotted #ccc;
}

#main h4{
	clear:both;
	margin-bottom:1em;
	padding: 0.5em;
	color: #494949;	
	background: #f3f6ff;
	border-left: solid 5px #444d66;
}

#main h5{
	clear:both;
	position: relative;
	margin:1.5em 0;
	padding: 0.25em 1em;
	font-size:100%;
	border-top: solid 2px #444d66;
	border-bottom: solid 2px #444d66;
}

#main h5:before,
#main h5:after{
	content: '';
	position: absolute;
	top: -7px;
	width: 2px;
	height: -webkit-calc(100% + 14px);
	height: calc(100% + 14px);
	background-color: #444d66;
}
#main h5:before {left: 7px;}
#main h5:after {right: 7px;}

#main h6{
	margin-bottom:1em;
	font-size:100%;
}

#main h6:first-letter {
	font-size: 2em;
	color: #7172ac;
}

#main p{
	margin-bottom:1.5em;
	padding:0.5em;
}

#main p a:hover{
	text-decoration:none;
}

#main a{
	position:relative;
	text-decoration:underline;
	cursor:pointer;
}

#main a:after{
	display:block;
	position:absolute;
	content:'';
	width:0;
	height:50%;
	background-color:#f3f6ff;
	bottom:0;
	left:0;
	transition:.2s;
	z-index:-1;
}

#main a:hover:after{
	width:100%;
	transition:.2s;
}

#main img{
	margin:.5em;
}

#main iframe{
	margin-bottom:1em;
}

#main table{
    border-collapse: unset !important;
    border-spacing: 13px;
}

#main th{
	padding:0.5em 1em;
	vertical-align:middle;
	box-shadow:1px 1px 2px #ddd;
}

#main td{
	padding:0.5em;
	border-bottom:1px dotted #ccc;
}

#main ul{
	margin-bottom:1.5em;
	padding:0.5em;
	list-style-position:inside;
}

#main li{
	padding:0.5em 0 0 2em;
	background-image:url(./img/arrow.png);
	background-repeat:no-repeat;
	background-position:left center;
}

#main .wpcf7-list-item{
	display:block;
}

#main input[type="text"],
#main input[type="email"],
textarea{
	padding:4px;
	border-radius:5px;
	border:1px solid #ccc;
}

#main input[type="submit"],
#main input[type="reset"] {
	min-width:150px;
	margin:0 1em;
  border: 1px solid #15aeec;
  background-color: #49c0f0;
  background-image: -webkit-linear-gradient(top, #49c0f0, #2cafe3);
  background-image: linear-gradient(to bottom, #49c0f0, #2cafe3);
  border-radius: 4px;
  color: #fff;
  line-height: 50px;
  -webkit-transition: none;
  transition: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
#main input[type="submit"]:hover,
#main input[type="reset"]:hover {
  border:1px solid #1090c3;
  background-color: #1ab0ec;
  background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
#main input[type="submit"]:active,
#main input[type="reset"]:active {
  background: #1a92c2;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}

/* footer */

#foot_wrap{
	clear:both;
	background-color:#444d66;
	overflow:hidden;
}

#footer{
	width:1200px;
	margin:0 auto;
	padding:1em 0;
	overflow:hidden;
}

#foot_menu{
	overflow:hidden;
}

#foot_menu li{
	float:left;
}

#foot_menu li a{
	display:block;
	margin:1em;
	color:#fff;
}

#foot_menu li a:hover{
	text-decoration:none;
}

#foot_add{
	clear:both;
	float:right;
	margin-bottom:1em;
}

#foot_add h3{
	padding:.5em 0;
	color:#fff;
	font-size:150%;
}

#foot_add p{
	color:#fff;
	line-height:1.5em;
}

#copyright{
	clear:both;
	background-color:#aaa;
}

#copyright p{
	padding:1em 0;
	font-size:80%;
	text-align:center;
}

/* page top */

  .pageTopBtn a {
    display: block;
    padding:15px 15px 5px;
    height:40px;
    width:30px;
    color:#fff;
    font-weight:bold;
   	text-indent:-9999px;
   	background-image:url(./img/icon_pageTop.png);
	background-repeat:no-repeat;
    background-size: 30px auto;
    background-position:center;
    white-space: nowrap;
    overflow: hidden;
    }

  .pageTopBtn {
    display: none;
    position: fixed;
    bottom: 5px;
    right: 5px;
    margin-bottom: 0;
	border:1px solid #fff; 
    border-radius: 50%;
    background: rgba( 68, 77, 102, 0.6);
    cursor:pointer;
    z-index:999;
    transition:.2s;
}

  .pageTopBtn:hover {
    background: rgba( 68, 77, 102, 1);
    transition:.2s;
}


#sp_menu_btn,
#sp_menu_cls{
	display:none;
}

@media screen and (max-width:500px){

body{
	min-width:100%;
}

/*記事内の画像*/
img{
	max-width:100%;
	height:auto;
}

.alignleft {
	float:none;
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

.alignright {
	float:none;
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

iframe{
	display:block;
	margin-top:0 !important;
	padding:0 !important;
	width:100% !important;
	height:auto !important;
}

/*-- header --*/
#head_wrap{
	min-width:100%;
}

#header{
	width:100%;
}

#header h1{
	float:none;
	margin:0 auto .5em;
	width:95%;
	height:0;
	padding-top:10%;
	background-size:300px;
}

#header #head_add{
	float:none;
	margin-left:1em;
}

#header h1{
	position:relative;
}

#header h1 a{
	position:absolute;
	top:0;
	left:0;
}

#header p{
	color:#fff;
	font-size:100%;
}

#header p span{
	color:#fff;
	font-size:80%;
}

#page #header{
	display:block;
}

/* top_slide */

#image_wrap{
	min-width: 100%;
}

#caption_wrap{
	position:static;
	width:100%;
}

#caption{
	float:none;
	width:100%;
	padding:1em;
	box-sizing:border-box;
}

#caption h3{
	text-align:center;
	line-height:7vw;
	color:#fff;
	font-size:7vw;
}

#caption h3 span{
	display:block;
}

#caption h3 span:first-of-type{
	margin-bottom: -1em;
	line-height: 1em;
}

#top_slide li {
  height: 70vh;
  background: center / cover no-repeat;
}

/* main menu */

#sp_menu_btn,
#sp_menu_cls{
	position:fixed;
	display:block;
	margin:auto;
	padding:35px 0.5em 0.5em;
	width:4em;
	max-height:10em;
	font-size:10px;
	background-color:rgba(255,255,255,.9);
	background-repeat:no-repeat;
	background-position:center 5px;
	border:2px solid rgba(68, 77, 102,0.7);
	border-right:0;
	border-radius: 10px 0px 0px 10px;
	top:10px;
	right:0;
	z-index:9999;
	cursor:pointer;
	transition:.5s;
}

#sp_menu_btn:before{
	display:block;
	position:absolute;
	content:'';
	margin:auto;
	width:25px;
	height:15px;
	border-top:2px solid rgb(68, 77, 102);
	border-bottom:2px solid rgb(68, 77, 102);
	top:8px;
	left:0;
	right:0;
}

#sp_menu_btn:after{
	display:block;
	position:absolute;
	content:'';
	margin:auto;
	width:25px;
	height:20px;
	border-top:2px solid rgb(68, 77, 102);
	top:16px;
	left:0;
	right:0;
}

#sp_menu_cls:after{
	display:block;
	position:absolute;
	content:'';
	margin:auto;
	width:25px;
	height:20px;
	border-top:2px solid rgb(68, 77, 102);
	top:16px;
	left:7px;
	transform: rotate(45deg);
}


#sp_menu_cls:before{
	display:block;
	position:absolute;
	content:'';
	margin:auto;
	width:25px;
	height:20px;
	border-top:2px solid rgb(68, 77, 102);
	top:16px;
	left:21px;
	transform: rotate(-45deg);
}



#sp_menu_cls{
	right:-100%;
	transition:.5s;
}

#sp_menu_btn p,
#sp_menu_cls p{
	color: rgba(68, 77, 102,0.7);
	font-size:10px;
	font-weight:bold;
	text-align:center;
}


#gl_menu{
	position:fixed;
	margin:auto;
	padding:1em;
	min-width:101%;
	height:100vh;
	height: calc(var(--vh, 1vh) * 100);
	background-color:rgba(255,255,255,0.8);
	box-shadow:none;
	top:0;
	left:-101%;
	box-sizing:border-box;
	transition:.5s;
}

#gl_menu.open{
	left:0;
	transition:.5s;
	z-index:1000;
}


#gl_menu ul{
	display:block;
	width:100%;
}

#gl_menu ul li a{
	padding:1em;
	margin:auto;
	width:100%;
	text-align:left;
}

/* topcontnet */
#info{
	width:100%;
}

#info #message,
#info #news{
	float:none;
	width:100%;
}

#info #message p{
	padding:0;
	font-size:100%;
	line-height:1.5em;
}

#info #message h3,
#info #news h3{
	font-size:120%;
}

#info #news li{
	padding:0.5em;
}

#info #news li .thmb{
	float:none;
	display:block;
	margin-right:auto;
	margin-left:auto;
}

#info #news li span{
	display:block;
}

#work{
	padding:1em;
	width:100%;
}

#work h3{
	margin:0;
	font-size:120%;
}

#work_wrap ul li{
	float:left;
	margin:1%;
	width:98%;
	overflow:hidden;
}

#work_wrap ul li a{
	width:100%;
	height:200px;
	background-size:cover;
}

#work_wrap ul li a span{
	font-size:120%;
}

/* main */

#main{
	padding:1em;
	width:100%;
	font-size:15px;
	line-height:1.7em;
}

#main .cont_left{
	float:none;
	width:100%;
}

#main .cont_right{
	float:none;
	width:100%;
}

#main h2{
	font-size: 120%;
}

#main p{
	padding:0;
}

#main img{
	max-width:98%;
	margin:1%;
}

#main iframe{
	width:100% !important;
}

#main table{
	width:100% !important;
}

#main th,
#main td{
	width:100% !important;
	display:block;
	box-sizing:border-box;
}

#main .wpcf7-list-item{
	display:block;
}

#main input[type="text"],
#main input[type="email"],
textarea{
	width:100%;
	box-sizing:border-box;
}

#main input[type="submit"],
#main input[type="reset"] {
  line-height: 2em;
}

/* footer */

#footer{
	width:100%;
	box-sizing:border-box;
}

#foot_menu li{
	float:none;
	line-height:2em;
}

#foot_menu li a{
	display:inline;
}

#foot_add{
	clear:both;
	float:none;
	margin-bottom:1em;
}


}

.reset_style{
	padding:0 !important;
	margin:0 !important;
}