@charset "utf-8";

/********************************************* default reset */

* {
	box-sizing: border-box;
}

/********************************************************* for chrome */

img {
	/* 縮小画像がぼやけるため */
	-webkit-backface-visibility: hidden;
}

/********************************************* linkcolor */

a {
	color: #333;
	text-decoration: none;
}

a:hover {
	opacity: 0.7;
}

/********************************************* button */

.homelink:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 5px;
	/* chevron-circle-right */
	content: "\f138";
	color: #f999cb;
}


/********************************************* all */

body {
	line-height: 1.5;
	color: #333;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", "Yu Gothic", sans-serif;
	font-size: 16px;
	text-align: center;
}

h1 {
	margin-bottom: 15px;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	font-size: 32px;
}

h2 {
	padding: 15px;
	border-top: solid 3px #e84786;
	border-bottom: solid 3px #e84786;
	/*vcolor: #e84786; */
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	text-align: center;
}

h2+p {
	margin-bottom: 2em;
}

h3 {
	padding: 10px;
	background: #ddd;
	font-size: 18px;
}

p {
	margin-top: 0;
}

ul,
ol {
	padding-left: 1.5em;
}

img {
	width: 100%;
}

address {
	font-style: normal;
}

.leadmsg,
.main {
	margin: 0 auto;
	max-width: 1030px;
	text-align: left;
}

.header,
.leadmsg,
.main,
.section {
	margin-bottom: 2em;
}

.pointcolor {
	color: #e84786;
}

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

	h1 {
		font-size: 24px;
	}
}


@media print,
screen and (min-width: 768px) {

	h1 {
		font-size: 40px;
	}

	h1+p {
		margin-top: 30px;
		font-size: 20px;
	}

	h1+p br {
		display: none;
	}

	.header,
	.leadmsg,
	.main,
	.section {
		margin-bottom: 3em;
	}
}

/********************************************* header */

.header {
	padding: 10px;
	height: 200px;
	background: url(../images/bg-header.png) repeat-x;
	background-size: 250px;
	text-align: center;
}

.header p:first-child {
	text-align: left;
}

.header img {
	max-width: 200px;
}

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

	.header img {
		max-width: 160px;
	}
}

@media print,
screen and (min-width: 768px) {

	.header {
		height: 280px;
		background-size: 500px;
	}

	.header img {
		max-width: 240px;
	}
}


/********************************************* leadmsg */

.leadmsg {
	padding: 20px 15px 15px 15px;
	background: #faf3de;
}

.leadmsg p:first-child {
	padding: 7px 0;
	background: #fff;
	font-weight: bolder;
	text-align: center;
}

.leadmsg p:last-child {
	font-size: 14px;
	text-align: right;
}

@media print,
screen and (min-width: 768px) {

	.leadmsg {
		padding: 30px 25px 25px 25px;
	}
}

/********************************************* main */

.main {
	padding: 15px;
	background: #fff;
}

.section dl {
	margin-bottom: 1em;
	border: solid 2px #65b365;
	display: flex;
	width: 100%;
}

.section dt,
.section dd {
	padding: .75em;
}

.section dt {
	width: 6em;
	text-align: center;
	background: #f5f5f5;
}

.section dd {
	margin-left: 0;
	width: calc(100%-6em);
	border-left: solid 1px #65b365;
}

@media print,
screen and (min-width: 768px) {

	.section dl {
		margin-bottom: 2em;
		width: 70%;
	}
}


/********************************************* footer */

.footer {
	padding: 30px 0;
	background: #e0fde0;
}

.phone:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 5px;
	/* phone-alt */
	content: "\f879";
}

/********************************************* pagetop */

#pagetop {
	padding: 12px 14px;
	display: none;
	position: fixed;
	right: 5px;
	bottom: 15px;
	z-index: 99;
	color: #fff;
	background-color: #f999cb;
	font-size: 20px;
	text-align: center;
	border-bottom: none;
}

#pagetop:hover {
	opacity: 0.7;
}