@charset "utf-8";
body,html{
	margin:0;
	padding:0;
	height:100%;
	position:relative;
	font-family: 'Noto Serif JP', serif;
}
*{
	box-sizing:border-box;
	letter-spacing:1px;
}
/*リンク*/
a{
	color:#731322;
	text-decoration:none;
}
a:hover{
	color:#999;
	text-decoration:none;
}
a.link{
	display:inline-block;
	padding: 10px 20px;
	letter-spacing: 0.1em;
	text-decoration: none;
	background:#731322;
	color:#fff;
	margin:30px auto;
	font-size:13px;
}
a.link:hover{
	background:#999;
}
.fade {
	-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;
}
.fade:hover{
	opacity: 1;
	filter: alpha(opacity=100);
	text-decoration:none;
}
/*テキスト*/
p,li,a{
	line-height:1.7em;
	margin:0 auto 1.7em;
	font-size:16px;
	letter-spacing:0.04em;
}
.note{
	padding-left:1em;
	margin:0 !important;
	letter-spacing:1px;
}
.note span{
	font-size:14px;
	text-indent:-1em;
	display:block;
	letter-spacing:1px;
}
.right{
	display:block;
	text-align:right;
}
.center{
	display:block;
	text-align:center;
}
.forsp{
	display:none
}
.forpc{
	display:block;
}
#catch b{
	color:#EE0000;
}

table small b{
	color:#EE0000;
}
/*画像*/
.full{
	width:100%;
	height:auto;
	line-height:0;
	vertical-align:bottom;
}
/*構造*/
.wrapper{
	width:1500px;
	margin:100px auto;
	text-align:center;
}
.flex_content{
	display:flex;
	display:-webkit-flex;
	justify-content:space-between;
	-webkit-justify-content:space-between;
	align-items:center;
	-webkit-align-items:center;
}

/*HEADER*/
#head{
	padding:20px;
	align-items:center;
	-webkit-align-items:center;
}
header span,
header h1{
	display:inline-block;
	padding-right:5px;
}
header img{
	width:150px;	
	height:auto;
}
header h1{	
	font-size:13px;
	letter-spacing:2px;
	font-weight:normal;
	line-height:1.4em;
	vertical-align: super;
}
#cv a{
	display:inline;
	background:#000;
	padding:7px 30px;
	color:#fff;
	margin-left:2px;
	line-height:1em;
	letter-spacing:2px;
	font-size:14px;
}

/*MAIN*/
#main{
	background:url(../img/main.jpg) no-repeat center center;
	background-size:cover;
	height:720px;
	width:100%;
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
	justify-content:center;
	-webkit-justify-content:center;
}
#catch{
	background:rgba(255,255,255,0.7);
	padding:50px 50px 70px 50px;
	text-align:center;
	position:relative;
	margin-top: -100px
}
#catch p{
	font-family: 'Cinzel', serif;
	font-size:34px;
	letter-spacing:0;
	margin:0;
	padding:0;
}
#catch h2{
	font-size:58px;
	font-weight:normal;
	margin:0;
	padding:0;
}
#main_link{
    position: absolute;
    bottom: -30px;
    left: 0;
    text-align: center;
    width: 100%;
}
#main_link a{
	display:inline-block;
	padding:10px 30px;
	margin:0 5px;
	background:#eee;
	font-size:24px;
	color:#fff;
}
#main_link a:first-child{
	background:rgba(2,73,31,0.8);
}
#main_link a:last-child{
	background:rgba(85,32,112,0.8);
}

/*CONTENT*/
.content{
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
	width:100%;
	padding:0 0 0 10%;
	margin-bottom:10px;
}
.content:nth-child(odd){
	justify-content:flex-end;
	-webkit-justify-content:flex-end;
	padding:0 10% 0 0;
}
.box{
	background:rgba(255,255,255,0.8);
	padding:30px 80px 60px;
	text-align:center;
	margin:100px 0;
	width:30%;
}
.box h4{
	font-weight:normal;
	font-size:38px;
	letter-spacing:3px;
	margin:30px 0;
}
.box h4 small{
	display:block;
	font-size:14px;
	line-height:1.2em;
	font-family: 'Cinzel', serif;
	letter-spacing:0;
}
.box p{
	text-align:justify;
	text-justify:inter-ideograph;
}
.box a{
	text-decoration:underline;
}
#content00 h3{
	font-size:28px;
	font-weight:normal;
}
#content01{
	background:url(../img/01.jpg) no-repeat center center;
	background-size:cover;
}
#content02{
	background:url(../img/02.jpg) no-repeat center center;
	background-size:cover;
}
#content03{
	background:url(../img/03.jpg) no-repeat center center;
	background-size:cover;
}
#content04{
	background:url(../img/04.jpg) no-repeat center center;
	background-size:cover;
}

/*PROFILE*/
#profile{
	text-align:center;	
}
#profile h3{
	font-weight:normal;
	font-size:48px;
	letter-spacing:3px;
	margin:30px 0;
}
#profile h3 small{
	display:block;
	font-size:16px;
	line-height:1.2em;
	font-family: 'Cinzel', serif;
	letter-spacing:0;
}
#profile table{
	display:inline-block;
	border-collapse:collapse;
}
#profile th,
#profile td{
	padding:30px;
	border-bottom:1px solid #004098;
	font-weight:normal;
	text-align:left;
}
#profile th{
	padding-left:0;
}
#profile td small{
	display:block;
	margin-top:5px;
	line-height:1.5em;
}
#profile td ul{
	margin:0;
	padding:0 0 0 1.5em;	
}
#profile td li{
	margin:0 0 5px 0;
	padding:0;
}
#profile td li:last-child{
	margin-bottom:0;
}

/*FOOTER*/
footer{
	background:#004098;
	padding:20px;
	text-align:center;
}
footer p{
	font-size:12px;
	letter-spacing:2px;
	color:#fff;
	margin:0;
}

/*TOTOP*/
#totop{
    position: fixed;
    bottom: 100px;
    right: 30px;
    z-index:999999;
}
#totop a{
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
	justify-content:center;
	-webkit-justify-content:center;
	width:50px;
	height:50px;
	border-radius:50%;
	background:#004098;
}
#totop a span{
    font-size:16px;
	line-height:0;
    color:#fff;
}

/*20190516*/
@media screen and (max-width:1380px){
#catch p{
	font-size:18px !important;
	}
.wrapper{
	width:90%;
	max-width:1500px;
	margin:40px auto;
	}
.content:nth-child(odd){
	background-position:center right 200px !important;
	margin-right:100px;	
	}
.content:nth-child(even){
	background-position:center left 200px !important;
	margin-right:100px;	
	}
#content04{
	margin-bottom:0 !important;
	}
.content{
	margin-bottom:50px !important;
	padding:0 !important;
	}
.content:nth-child(odd){
	padding:0 !important;
	}
.box{
	width:50% !important;
	padding:30px 30px 60px !important;	
	}
.back{
	height:auto;
	background:#eee;
	padding:50px;
	}
}

@media screen and (max-width: 780px){
.content:nth-chikd(odd){
	padding-light:none !important;
	}
.content{
	background:none !important;
	margin-bottom:none;
	}
.wrapper h3{
	text-align:center;
	}
.flex_content{
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	}
p,li,a{
	line-height:1.5em;
	margin:0 auto 1.5em;
	font-size:15px;
	letter-spacing:0;
	}
#content04 .box:last-child{
	margin-bottom:0 !important;
	}
.box:nth-child(2n){
	margin-left:0 !important;
	}
.forsp{
	display:block
	}
.forpc{
	display:none;
	}
.wrapper{
	margin:50px auto;
	}

.content .box:after{
	content:"";
	display:block;
	width:100%;
	height:300px;
	}
#content01 .box:after{
	background:url(../img/01.jpg);
	background-size:cover;
	}
#content02 .box:after{
	background:url(../img/02.jpg);
	background-size:cover;
	}
#content03 .box:after{
	background:url(../img/03.jpg);
	background-size:cover;
	}
#content04 .box:after{
	background:url(../img/04.jpg);
	background-size:cover;
	}
.box{
    background:none !important;
	padding:0 !important;
	width:90% !important;
	margin:20px auto !important;
	}
.back{
	padding:0 0 50px 0;
	}
}
@media screen and (max-width:680px){
#catch p{
	line-height:1.2em !important;
	}
.content{
	margin-bottom:0 !important;
	}	
header{
	 width:100%;
	 text-align: center;
 	}
header h1 {
	 width:45%;
	 text-align:left;
	}
h1{
	margin:15px 0 10px 5px;
	}
#head{
	padding:0 !important
	}
#catch{
	background:none;
	padding:50px 0 100px !important;
	margin-top:0;
	}
#catch h2{
	font-size:48px !important;
	padding-top:5px!important;
	}
header span, header h1{
	display:inline-block;
	padding-right:0;	
	}
#cv{
	width:100%;
	padding:none;
	display:flex;
	-webkit-display:flex;
	margin-bottom:-25px;
	}
#cv a{
	width:100%;
	margin-left:0;
	padding:20px 30px 20px 30px;
	font-size:18px;	
	text-align:center;
	}
#cv a:last-child{
	margin-left:1px;
	}
#main{
	display:block;
	padding-top:0;
	height:450px;
	}
#main_link a:first-child {
   margin:10px 0;
	}
.wrapper p{
	font-size:16px;
	margin-top:10px;
	}
.wrapper h3{
	margin: 0 auto;
	}
p,li,a{
	font-size:16px;
	}
.forsp{
	display:block;
	}
.forpc{
	display:none;
	}
.box{	
	margin: 20px auto;	
	}
#profile table,
#profile tbody,
#profile tr,
#profile th,
#profile td{
	display:block;
	width:100%;
	}
#profile table{
	margin-top:30px;
	}
#profile th{
	text-align: center;
	background:#eee;
	}
#profile th,
#profile td{
	padding:10px 0;
	border:0;
	font-size:15px !important;
	}
#profile h3{
	font-size:40px;
	margin:0 auto!important;
	}
#content00 h3{
	font-size:24px;
	}
.content .box:after{
	height:250px;	
	}
footer p{
	font-size:10px !important;
	letter-spacing:0 !important;
	}
}
@media screen and (max-width: 480px){
header img{
	width:135px;
	padding-top:10px;
}
#catch h2{
	font-size:30px !important;
	}
}