@charset "utf-8";

/********************************************* font size */

body {
	font-size: 16px;
}

.smalltext {
	font-size: 12px;
}

.largetext {
	font-size: 20px;
}

/********************************************* linkcolor */

a {
	color: #fff;
	text-decoration: none;
}

a:hover {
	opacity: 0.7;
}


/********************************************* all */

body {
	color: #333;
	line-height: 1.5;
	font-family: Arial, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

h1,h2 {
	font-weight: normal;
}

h1 {
	margin-top: 100px;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

/********************************************* header */

header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background-color: rgba(0,0,0,0.8);
}

.sitetitle {
	display: inline-block;
	padding-left: 20px;
	padding-right: 20px;
}

.sitetitle img {
	width: 100%;
	max-width: 305px;
}

.header-menu a {
	display: block;
	padding: 15px 15px 15px 5px;
}

.header-menu a:hover {
	background-color: rgba(0,0,0,0.1);
}

@media (max-width: 767px) {			/* Toggle Button */

header .container-small {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
	
.header-menu {
	display: none;
}

.header-menubutton {
	margin-right: 15px;
	padding: 0;
	border: none;
	outline: none;
	background: none;
	color: #fff;
	font-size: 36px;
	cursor: pointer;
}
	
.header-menubutton:hover {
	opacity: 0.3;
}
}

@media (min-width: 768px) {

header .container {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
	
.header-menu {
	display: block !important;				/* ナビ非表示回避のため */
}
	
.header-menu ul {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
}
	
.header-menubutton {
	display: none;
}
}

/********************************************* maintitle */

.maintitle {
	padding-bottom: 5px;
	background: #222;
}

.mainimage {
	margin-bottom: 15px;
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 360px;
	background-image: url(../images/mainimage.jpg);
	background-position: center;
	background-size: cover;
	text-align:  center;
}

.mainimage h1 {
	margin-top: 70px;
}

.mainimage img {
	width: 80%;
	max-width: 500px;
}

.mainlead {
	padding: 0 15px;
	color: #fff;
}

@media (max-width: 480px) {

.mainimage {
	height: 320px;
}

.mainimage h1 {
	margin-top: 100px;
}
}

@media (min-width: 768px) {

.mainimage {
	height: 540px;
}

.mainimage img {
	width: 640px;
}

.mainlead {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
}


/********************************************* contents 背景 */

#groumet {
	background: url(../images/bg-groumet.png);
}

#banshuori {
	background: url(../images/bg-banshuori.png);
}

#heso {
	background: url(../images/bg-heso.png);
}

#view {
	background: url(../images/bg-view.png);
}

/********************************************* contents photolist */

.contents {
	padding: 30px 0;
	text-align: center;
}

.contents .container {
	padding: 0 15px;
}

.contents h2 {
	margin-top: 0;
	margin-bottom: 20px;
}

.contents h2 img {
	width: 100%;
	max-width: 600px;
}

.photolist h3 {
	background: url(../images/bg-heading.png) no-repeat center;
}

.photolist article {
	margin-bottom: 2em;
}

.photolist img {
	width: 100%;
	max-width: 500px;
}

.photolist article p:nth-of-type(1) {
	line-height: 0;
	background: #fac;
}

.photolist article p:nth-of-type(2) {
	text-align: left;
}

.banshuori li,
.heso li {
	margin-bottom: 1em;
	line-height: 0;
}

.banshuori li {
	background: #e9dc87;
}

.heso li {
	background: #84d6fb;
}


.view .photolist {
	padding: 10px;
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	flex-wrap: wrap;
	background: #fff;
}

.view li {
	margin-bottom: 10px;
	display: block;
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 0 1 50%;
	text-align: left;
}

.view li:nth-last-child(1),
.view li:nth-last-child(2) {
	flex: 0 1 100%;
}

.view a {
	color: #333;
	outline: none;
}

.view img {
	max-width: 600px;
}

.view li span:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00e";
	margin-right: 3px;
	color: #4a9d0e;
    font-size: 16px;
}


@media (min-width: 768px) {

.contents {
	padding: 60px 0;
}

.photolist {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}

.contents article {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 0 1 33.3%;
}

.photolist article div {
	border: solid 2px #fac;
}

.photolist li {
	display: block;
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 0 1 33.3%;
}

.photolist article div:first-child {
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	margin: 0 5px;
	padding: 0 10px;
	background: #fff;
}

.banshuori ul,
.heso ul {
	line-height: 0;
}

.banshuori li,
.heso li {
	margin: 0 5px;
	padding: 10px;
}

.banshuori li {
	background: #e9dc87;
}

.heso li {
	background: #fff;
}
}

@media (min-width: 600px) {

.view li {
	flex: 0 1 25%;
}

.view li:nth-last-child(1),
.view li:nth-last-child(2) {
	flex: 0 1 50%;
}

.view img {
	max-width: 500px;
}
}



/********************************************* contents information */
	

.information h3 {
	padding: 7px;
	border-radius: 5px;
	display: inline-block;
	background: #333;
	color: #fff;
	font-weight: normal;
	font-size: 16px;
	width: 90%;
	max-width: 500px;
}

.information h3:first-letter {
	color: #f33;
}

.information p img {
	width: 100%;
	max-width: 180px;
}

.information p:nth-of-type(1) {
	text-align: left;
}


.information p:nth-of-type(2) {
	margin: 0;
}

.linklist {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	flex-wrap: wrap;

}

.linklist li {
	display: block;
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 0 1 50%;
	line-height: 0;
}

.linklist a {
	margin: 2px;
	display: block;
}

.linklist img {
	width: 100%;
	max-width: 240px;
}

@media (min-width: 480px) {

.information p img {
	max-width: 240px;
}
}



@media (min-width: 768px) {

.information {
	max-width: 990px;
	margin-left: auto;
	margin-right: auto;
}

.linklist li {
	flex: 0 1 25%;
}
}



	
/********************************************* footer */

footer {
	padding: 20px;
	background-color: #222;
	text-align: center;
	color: #fff;
}

footer img {
	width: 280px;
	height: auto;
}

.contact {
	padding: 0.5em;
	border-top: solid 1px #578;
	border-bottom: solid 1px #578;
}

.contact a {
	color: #fff;
	text-decoration: underline;
}

.contact a:hover {
	color: #ccc;
	text-decoration: none;
}

.contact-pc {
	display: none;
}


@media (min-width: 481px) {

.contact-sp {
	display: none;
}

.contact-pc {
	display: block;
}
}

@media (min-width: 768px) {

.contact {
	margin: 0 auto;
	width: 500px;
}
}

/********************************************* pagetop */

#pagetop {
	padding: 12px 14px;
	border-radius: 32px;
	display: none;
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 99;
	color: #fff;
	background-color: #6cf;
	font-size: 22px;
	text-align: center;
}

