@charset "UTF-8";

/* ------------------------------------------
	BASIC STYLES
--------------------------------------------- */
*,*::before,*::after{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}

body,header,footer,nav,
article,section,address,aside,figure,div,
h1,h2,h3,h4,h5,h6,
p,blockquote,pre,dl,dt,dd,ol,ul,li,hr,img,
fieldset,legend,form,label,
th,td,
menu,details,summary{
	margin:0;
	padding:0;
	border:0;
}

html{
	font-size:12px;
}

@media(max-width:959px) and (min-width:600px){
	html{
		font-size:14px;
	}
}

@media(min-width:960px){
	html{
		font-size:16px;
	}
}

body{
	color:#444;
	background-color:#FFF;
	font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight:300;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	text-size-adjust:100%;
	text-align:left;
	line-height:1.6;	/* line-heightでは単位を記載しない（px指定は例外） */
	/*padding-top:80px;*/	/* ヘッダの高さ分空ける */
}


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


/* ------------------------------------------
	HEADER
--------------------------------------------- */
header{
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	z-index:9999;
}

@media(min-width:960px){
	header{
		top:20px;
		left:5vw;
		width:90vw;
	}
}


/* ------------------------------------------
	NAVは外部ファイル
--------------------------------------------- */


/* ------------------------------------------
	MAIN
--------------------------------------------- */
#top{
	padding-top: 96px;
	margin-top: -96px;
}

article{
	position:relative;
	width:100%;
	margin:0 auto;
}

article > div{
	position:relative;
	color:#444;
	background-color:#FFF;
	padding:64px 0 4px;	/*bottom注意*/
	margin:0 auto;
	width:100%;
	min-width:320px;
}

/* ココカラPARALAX */
article > div{
	display:block;
	background-repeat:no-repeat;
	background-size:cover;
	height:inherit;
	/* min-height:50vh; */
}

@media(min-width:960px){
	article > div{
		background-attachment:fixed;
	}
}

/* PAGE DIV BACKGROUND */
article > div:nth-child(odd){
	background-color:#FFF;
	min-height:52vh;
	padding-top: 100px;
	padding-bottom: 8px;
}

article > div:nth-child(even){
	background-color:#EEE;
	min-height:48vh;
	padding-top: 8px;
	padding-bottom: 40px;
}

/* ココマデPARALAX */

article > div > section,
article > div > div,
article > div > aside{
	position:relative;
	padding:0;
	margin:0 auto;
	z-index:16;
	width:90vw;
	max-width:960px;
	min-width:320px;
}

article > div > section,
article > div > aside,
article > div > section > section,
article > div > section > section > div{
	padding-bottom:12px;/* これがないと下が認識できない */
	margin-bottom:36px;
}

@media(min-width:960px){
}

h1{
	position:relative;
	color:#FFF;
	font-size:2.0em;
	font-weight:bold;
	text-align: right;
	text-shadow:1px 1px 2px #000;
	letter-spacing:0.16em;
	line-height:2.0;
	padding:12vh 0 2vh;
	margin:0 auto;
	z-index:8;				/* H1はsection内に無い */
	width:90vw;
	max-width:960px;
	min-width:320px;
}

h1 + div > p{
	color:#FFF;
	letter-spacing:0.2em;
	text-align: right;
	font-size:1.2em;
	padding-top: 20px;
	border-top: solid 2px #165E83;
	margin:0 auto 56px;
}

@media(min-width:960px){
	h1{
		padding:8vh 0 2vh;
	}
}

h2{
	color:#165E83;
	font-size:2.0em;
	font-weight:normal;
	text-align:right;
	letter-spacing: 0.4em;
	line-height:1.6;
	padding:48px 0 2px;
}

h2 + span{
	font-size:0.8em;
	letter-spacing:0.8em;
}

.headline{
	color:#165E83;
	text-align:right;
	margin:0 auto 16px;
}

@media(min-width:960px){
	.headline{
		margin:0 auto 32px;
	}
}

h3{
	color:#165E83;
	font-size:1.6em;
	font-weight:normal;
	letter-spacing:0.16em;
	line-height:1.2;
	border-bottom:1px solid #444;
	padding:4px;
	margin:0 auto 12px;
}

.box2 h3,.box4 h3,.box6 h3{
	text-align: center;
}

h4{
	color:#FFF;
	font-size:1.2em;
	font-weight:normal;
	line-height:1.2;
	background-color:#165E83;
	margin-bottom:4px;
	padding:4px;
}

p{
	text-align:left;
	margin-bottom:24px;
}

small{
	font-size:0.8em;
}

img{
	display:block;
	width:100%;
}

strong{
	color:#C00;
	font-style:normal;
	font-weight:bold;
	text-decoration:none;
}

iframe{
	width:100%;
	height:40vh;
	border:none;
	margin-bottom:12px;
}


/* link */
a:link,a:visited{
	color:#165E83;
	text-decoration:none;
}

a:hover,a:active{
	color:#165E83;
	text-decoration:underline;
}


/* list */
ol,ul,dl{
	line-height:1.6;
	margin:0 0 24px;
}

ol,ul{
	margin-left:1.0em;
}

ul > li{
	list-style-type:disc;
}

ol > li{
	list-style-type:decimal;
}

li,dt,dd{
	padding:0;
	margin:0;
}

li{
	margin-left:1.0em;
}

dt{
	font-weight:bold;
	margin:16px 0 4px;
}

dt:first-child{
	margin-top:0;
}

dd{
	font-size:0.8em;
	padding-left:1.0em;
	margin-bottom: 8px;
}

/* goto,jump */
.goto,
.jump{
	display:block;
	text-align:center;
	margin:0 auto 12px;
}

.goto a,
.jump a{
	display:inline-block;
	text-align:center;
	text-decoration:none;
	padding:12px;
	min-width:36vw;
	transition:0.4s;
	margin:0 4px 8px;
}

.goto a:link,
.goto a:visited{
	color:#FFF;
	border:1px solid #FFF;
}

.goto a:hover,
.goto a:active{
	color:#444;
	background-color:#FFF;
	border:1px solid #FFF;
}

.jump a:link,
.jump a:visited{
	color:#165E83;
	border:1px solid #165E83;
}

.jump a:hover,
.jump a:active{
	color:#FFF;
	background-color:#165E83;
	border:1px solid #165E83;
}

@media(min-width:960px){
	.goto a,
	.jump a{
		padding:16px;
		min-width:12vw;
	}
}

/* flex */
.flex,.flex_alt{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
}

.flex{
	flex-wrap:wrap;
}

.flex_alt{
	flex-wrap:nowrap;
}

.box0,.box2,.box4,.box31,.box32{
	position:relative;
	padding:4px 4px 8px;
}

.box0,.box2,.box31,.box32{
	width:100%;
	margin-bottom:12px;
}

.box4{
	width:48%;
	margin-bottom:8px;
}

.flex > div img{
	margin-bottom:16px;
}

@media(max-width:959px) and (min-width:600px){
	.box0,.box2,.box31,.box32{
		margin-bottom:16px;
	}

	.box2{
		width:100%;
	}

	.box4{
		width:48%;
		margin-bottom:12px;
	}

	.box31{
		width:32%;
	}

	.box32{
		width:66%;
	}
}

@media(min-width:960px){
	.box0,.box2,.box31,.box32{
		margin-bottom:24px;
	}

	.box2{
		width:48%;
	}

	.box4{
		width:24%;
		margin-bottom:16px;
	}

	.box31{
		width:32%;
	}

	.box32{
		width:66%;
	}
}

/* table */
table{
	width:100%;
	margin-bottom:48px;
}

table th,
table td{
	text-align:left;
	display:block;
	padding:4px 8px;
}

table th{
	color:#165E83;
	border-top:1px solid #888;
	border-right:1px solid #888;
	border-left:1px solid #888;
}

table td{
	margin-bottom:8px;
	border:1px solid #888;
}

table span{
	color:#E00;
	font-size:0.8em;
}

@media(min-width:600px){
	table{
		border-collapse:collapse;
	}

	table th,
	table td{
		display:table-cell;
		padding:16px;
		margin-bottom:0;
	}

	table th{
		vertical-align:top;
		width:20%;
		max-width:160px;
		border-bottom:1px solid #888;
	}
}

/* color */


/* special */
.note{
	font-size:0.8em;
}

.morebtn{
	display:block;
	text-align:center;
	margin: 0 auto 4px;
	width:40%;
	max-width:360px;
}

.morebtn a{
	display:inline-block;
	text-align:center;
	text-decoration:none;
	border:solid 1px #165E83;
	border-radius:4px;
	padding:4px 16px;
	margin:0;
}

.morebtn a:link,
.morebtn a:visited{
	color:#165E83;
	background-color:#FFF;
}

.morebtn a:hover,
.morebtn a:active{
	color:#FFF;
	background-color:#165E83;
}

@media(min-width:600px){
	.morebtn{
		margin: 0;
		width:100%;
	}
}

.next_w,
.next_b
 {
	text-align:center;
	padding-top:0;
	position:absolute;
	bottom:40px;
	left:0;
	width:100%;
	max-width:100%;
	z-index:80;
}

.next_w a,
.next_b a
{
	display:inline-block;
	text-decoration:none;
	padding:0;
}

.next_w a span,
.next_b a span
 {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}

.next_w a span
 {
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.next_b a span
 {
	border-left: 1px solid #444;
	border-bottom: 1px solid #444;
}



/* ------------------------------------------
	BACKTOTOP
--------------------------------------------- */
#backtotop{
	position:fixed;
	bottom:60px;
	right:20px;
	font-size:0.8em;
	z-index:120;
}

#backtotop a{
	display:block;
	text-align:center;
	text-decoration:none;
	padding:16px 8px;
	border-radius:4px;
}

#backtotop a:link,#backtotop a:visited{
	color:rgba(255,255,255,0.64);
	background-color:rgba(0,0,0,0.64);
	/* border:1px solid rgba(0,0,0,0.64); */
}

#backtotop a:hover,#backtotop a:active{
	color:rgba(255,255,255,1);
	background-color:rgba(68,68,68,1);
	/* border:1px solid rgba(68,68,68,1); */
}

@media(min-width:960px){
	#backtotop{
		bottom:60px;
		right:20px;
	}
}

/* ------------------------------------------
	FOOTER
--------------------------------------------- */
footer{
	color:#FFF;
	position:relative;
	text-align:center;
	background-color:#888;
	padding-top:8px;
	width:100%;
	height:80px;
}

@media(max-width:959px) and (min-width:600px){
	footer{
		background-color:#888;
	}
}

@media(min-width:960px){
	footer{
		background-color:#888;
	}
}

footer span{
	font-size:0.8em;
	display:inline-block;
}



/* ------------------------------------------
	FILTER
--------------------------------------------- */
article > div:nth-child(1)::after{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	content:"";
	background-color:rgba(0,0,0,0.4);
	padding-top:0;
	margin:0 auto;
	min-width:320px;
	z-index:4;
}



/* ------------------------------------------
	FORM
--------------------------------------------- */
form{
	padding-bottom: 48px;
}

form > div{
	text-align:center;
}

input[type="text"],
textarea{
	font-size:1.0em;
	padding:0.8em;
	border:1px solid #888;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;
	outline:none;
}

input[type="text"]:focus,
textarea:focus,
select:focus{
	box-shadow: 0px 4px 4px 0px rgba(0,191,255,0.64);
	border:1px solid #165E83;
}

input[type="text"]{
	width:100%;
	max-width:400px;
}

textarea{
	width:100%;
	min-height:160px;
}

select{
	vertical-align:middle;
	text-indent:1.0em;
	background-color:transparent;
	width:100%;
	height:40px;
	-webkit-appearance:button;
	-moz-appearance:button;
	appearance:button;
	outline:none;
}

select::-ms-expand {
	display:none;
}
select:-moz-focusring {
	color:transparent;
	text-shadow: 0 0 0 #888;
}

form > table td > div{
	position:relative;
}
form > table td > div:before{
	position:absolute;
	right:16px;
	top:12%;
	content:"\f107";
	color:#888;
	font-family:"Font Awesome 5 Free";
	font-size:32px;
	font-weight:900;
	line-height:1;
	z-index:4;
	pointer-events:none;
}

input[type="submit"],
input[type="reset"],
input[type="button"]{
	display:inline-block;
	color:#FFF;
	text-align:center;
	background-color:#165E83;
	padding:12px;
	border-style:none;
	border:1px solid #165E83;
	border-radius:4px;
	margin:0 4px;
	width:25vmin;
	max-width:120px;
	cursor:pointer;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover{
	color:#165E83;
	background-color:#FFF;
	border:1px solid #165E83;
}

input[type="checkbox"],
input[type="radio"]{
	margin:12px 8px;
}



/* ------------------------------------------
	HOME
--------------------------------------------- */
#home article > div{
	min-height:100vh;
	padding-top: 100px;
	padding-bottom: 40px;
}

#home article #topimage{
	background-image:url(../pageimg/home00.jpg);
	background-position:25% 50%;
}

#home article #topimage > h1{
	margin-top: 12vh;
	animation-duration:3.2s;
	animation-name:catch;
}

@keyframes catch
{
	0%		{
		transform: translateY(-100px);
		opacity:0.0;
		}
	100%	{
		transform: translateY(0);
		opacity:1.0;
		}
}

@media(min-width:960px){
	#home article #topimage > h1{
		margin-top: 32vh;
	}
}

#home article #scrolldiv{
	padding:20px;
	border: solid 1px #165E83;
	border-radius: 4px;
	height:64vh;
	overflow-y:auto;
}

#home article #scrolldiv dt{
	padding:4px;
	border-bottom: solid 1px #165E83;
}

#home article #scrolldiv dd{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content: space-between;
	padding-bottom:8px;
	border-bottom:1px dashed #888;
}

#home article #scrolldiv dd div:nth-child(1),
#home article #scrolldiv dd div:nth-child(2){
	width:100%;
}

@media(min-width:960px){
	#home article #scrolldiv{
		height:48vh;
	}

	#home article #scrolldiv dd div:nth-child(1){
		width:72%;
	}

	#home article #scrolldiv dd div:nth-child(2){
		width:24%;
	}
}

#topics .flex > div img{
	margin-bottom:0;
}

#topics dl > dd span{
	display:block;
	font-size:1.2em;
	font-weight:bold;
	margin-bottom:4px;
}



/* ------------------------------------------
	CHUSEN
--------------------------------------------- */
#chusen article #topimage{
	background-image:url(../pageimg/chusen.jpg);
	background-position:50% 50%;
}

#chusen article #img02{
	background-image:url(../pageimg/img02.jpg);
	background-position:50% 50%;
}

#chusen article #img03{
	background-image:url(../pageimg/img03.jpg);
	background-position:50% 50%;
}

#chusen article #img04{
	background-image:url(../pageimg/img04.jpg);
	background-position:50% 100%;
}

#chusen article #img05{
	background-image:url(../pageimg/img05.jpg);
	background-position:50% 75%;
}

#chusen article #img06{
	background-image:url(../pageimg/img06.jpg);
	background-position:50% 75%;
}

#chusen article #img07{
	background-image:url(../pageimg/img07.jpg);
	background-position:50% 75%;
}

#chusen article #img08{
	background-image:url(../pageimg/img08.jpg);
	background-position:50% 75%;
}

#chusen article #img09{
	background-image:url(../pageimg/img09.jpg);
	background-position:50% 75%;
}

#chusen article #img10{
	background-image:url(../pageimg/img10.jpg);
	background-position:50% 75%;
}



/* ------------------------------------------
	KITAYAMA
--------------------------------------------- */
#kitayama article #topimage{
	background-image:url(../pageimg/img11.jpg);
	background-position:50% 75%;
}

#kitayama article #img02{
	background-image:url(../pageimg/img12.jpg);
	background-position:50% 75%;
}

#kitayama article #img03{
	background-image:url(../pageimg/img13.jpg);
	background-position:50% 75%;
}

#kitayama article #img04{
	background-image:url(../pageimg/img14.jpg);
	background-position:50% 75%;
}

#kitayama article #img05{
	background-image:url(../pageimg/img15.jpg);
	background-position:50% 75%;
}

#kitayama article #img06{
	background-image:url(../pageimg/img16.jpg);
	background-position:50% 75%;
}

#kitayama article #img07{
	background-image:url(../pageimg/img17.jpg);
	background-position:50% 75%;
}



/* ------------------------------------------
	OUTLINE
--------------------------------------------- */
#outline article #topimage{
	background-image:url(../pageimg/img18.jpg);
	background-position:50% 100%;
}

#outline table th,
#outline table td{
	border:1px solid #888;
}

#outline table th{
	background-color:#EEE;
	border-bottom:none;
}

#outline table td{
	background-color:rgba(255,255,255,0.8);
}

@media(min-width:600px){
	#outline table{
		border-spacing:12px;
	}

	#outline table th,
	#outline table td{
		vertical-align:middle;
		border:1px solid #888;
		margin-bottom:0;
	}
}



/* ------------------------------------------
	INQUIRY（FORM）
--------------------------------------------- */
#inquiry article > div{
	min-height:100vh;
	padding-top: 100px;
	padding-bottom: 40px;
}

#inquiry article #topimage{
	background-image:url(../pageimg/inquiry.jpg);
	background-position:0 100%;
}

#inquiry table{
	margin-bottom: 4px;
}

#inquiry table th,
#inquiry table td{
	border:1px solid #888;
}

#inquiry table th{
	background-color:#EEE;
	border-bottom:none;
}

#inquiry table td{
	background-color:rgba(255,255,255,0.8);
	padding: 4px;
}

@media(min-width:600px){
	#inquiry table{
		border-spacing:12px;
	}

	#inquiry table th,
	#inquiry table td{
		vertical-align:middle;
		border:1px solid #888;
		margin-bottom:0;
	}
}

#inquiry form > table tr:last-child td
{
	text-align:center;
	padding:4px 0;
	border:none;
}

#inquiry form > table tr:last-child td p{
	text-align:center;
}

#form{
	padding:0;
	margin:0;
}

#form article h1{
	color:#444;
	text-align:center;
	line-height:128px;
	padding:0;
	border:none;
}

#form article > div{
	padding-top:0;
}

#form article div > div{
	text-align:center
}

#form article div > div p{
	text-align:left
}

#form article > div:nth-child(1)::after{
	background-color:rgba(0,0,0,0);
}

#form footer{
	position:fixed;
	bottom:0;
	left:0;
}

.confirmation section > div{
	text-align:center;
}

.confirmation section > p:last-of-type{
	margin-bottom: 48px;
}

