@charset "utf-8";
/* CSS Document */

/*ブラウザスタイルの初期化*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, rt{
	margin:0; padding:0; max-width:100%;
}
table{
	border-collapse:collapse; border-spacing:0;
}
address, caption, cite, code, dfn, th, var{
	font-style:normal; font-weight:normal;
}
ol, ul{
	list-style:none;
}
fieldset, img{
	border:0;
}
caption, th{
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}
img {
	border: none;
	vertical-align: bottom;
	width: 100% ;
	max-width: 100%;
	max-height: 100%;
	height: auto;
}

/*デフォルトフォントの指定*/
body, * {
	color: #333;
	font-size: 16px;
	font-family: 'Noto sans JP', sans-serif;
	font-style: normal;
	line-height: 1.5;
	font-weight: 200;
}

/*box-sizing*/
* {
	box-sizing: border-box;
}

/*ここまで初期設定*/



/*全体の設定*/
body {
	text-align: center;
	-webkit-text-size-adjust: 100%;
}

header {
    position: relative;
	width: 100%;
    max-width: 960px;
	height: 360px;
    margin: 0 auto;
	padding: 0;
	background: url("../img/top_image_1.jpg") no-repeat center center / 960px #ddd;
	text-align: left;
}
@media screen and (max-width:640px){
    header {
        height: 300px;
    }
}

header h1 {
	width: 100%;
	background: #06c;
    padding: 0 16px 8px;
 	line-height: 1;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}
header h1 a {
	color: #fff;
	font-size: 24px;
    font-family: 'Noto sans JP';
	font-weight: 900;
    letter-spacing : 0.1em;
	text-decoration: none;
}
header h1 span {
    display: block;
    margin-top: -28px;
    color: #fff;
    font-family: 'Noto sans JP';
    font-weight: 700;
    text-align: right;

}
header .catchL {
    margin: 32px 16px;
    padding: 0;
    color: #fff;
    font-family: 'Noto Serif JP';
	font-size: 48px;
	font-weight: 900;
	line-height: 1;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}
header .catchL span {
    color: #fff;
    font-family: 'Noto Serif JP';
	font-size: 85%;
	font-weight: 900;
	line-height: 1;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
	vertical-align: bottom;
}
header .catchS {
    margin: 32px 16px;
    padding: 0;
    color: #fff;
    font-family: 'Noto Serif JP';
    font-size: 24px;
	font-weight: 900;
    letter-spacing : 0.05em;
	line-height: 1;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}
header .catchS span {
	color: #fff;
	font-family: 'Noto Serif JP';
	font-size: 90%;
	font-weight: 900;
	line-height: 1;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
	vertical-align: bottom;
}
header .catchS span.ten {
letter-spacing: -0.5em;
}
header .catchM {
	display: inline-block;
	margin: 16px 16px;
	padding: 16px;
	background: rgba(255,255,255,0.64);
	color: #000;
	font-family: 'Noto Serif JP';
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}
header .caption {
	color: #fff;
	font-size: 8px;
	font-weight: 400;
	text-align: right;
	position: absolute;
	right: 8px;
	bottom: 4px;
}
@media screen and (max-width:640px){
    header h1 {
        padding: 8px 16px 8px;
    }
    header h1 a {
        font-size: 16px;
    }
    header h1 span {
        display: block;
        margin-top: 0;
        font-size: 12px;
    }
    header .catchL {
        margin: 24px 16px;
        font-size: 36px;
    }
    header .catchS {
        margin: 16px 16px;
        font-size: 18px;
    }
    header .catchS span {
    }
    header .catchM {
        font-size: 14px;
    }
    header .caption {

    }
}

#gnav {
	width: 100%;
    max-width: 960px;
    margin: 0 auto;
	padding: 0;
	background-color: #06c;
	text-align: center;
}
#gnav ul {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}
#gnav ul li {
	display: inline-block;
	width: 19%;
	margin: 0;
	padding: 0;
}
#gnav ul li a {
	display: block;
	margin: 0;
	padding: 8px;
	color: #fff;
    font-family: 'Noto sans JP';
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
#gnav ul li a:hover {
	background: #fff;
	color: #06c;
}
#gnav ul li a span {
    display: block;
    color: #fff;
    font-family: 'Noto sans JP';
	font-size: 8px;
	font-weight: 400;
}
#gnav ul li a:hover span {
    display: block;
    color: #06c;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
@media screen and (max-width:640px){
    #gnav ul li a {
        padding: 8px 2px;
        font-size: 12px;
    }
}
h2 {
    width: 100%;
	margin: 1em 0;
	padding: 1em;
 	border-top: solid 2px #06c;
	border-bottom: solid 2px #06c;
	font-size: 24px;
	font-weight: bold;
	line-height: 36px;
	text-align: left;
}
h3 {
	width: 100%;
	margin: 1em 0;
	padding: 1em 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	text-align: left;
}
h4 {
	width: 100%;
	margin: 1.5em 0　0.5em;
	padding: 0.5em 0;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
}
h4:before{
	color: #6cf;
	content:"\f61f";
	font-family:'Font Awesome 5 Free';
	font-size: 1.2em;
	margin-right: 0.3em;
}
h5 {
	width: 100%;
	margin: 1em 0;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
}
p {
	margin-bottom: 0.5em;
	text-align: justify;
	text-justify: inter-ideograph;
}
time {
    margin-right: 1em;
}
em {
	font-weight: 700;
}
ul {
	margin-bottom: 1em;
}
dl {
	margin-bottom: 1em;
}
dt {
	margin-left: 1em;
	font-weight: 400;
}
dd {
    margin-top: -1.5em;
	margin-left: 7em;
    margin-bottom: 0.5em;
	font-weight: 200;
}
.width {
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 16px;
	text-align: left;
}



footer {
	width: 100%;
	margin-top: 64px;
	padding: 16px;
	background: #06c;
	text-align: center;
}
footer address {
	width: 100%;
    max-width: 960px;
    margin: 0 auto 32px;
	color: #fff;
	font-size: 14px;
	text-align: right;
}
footer address h5 {
	color: #fff;
	text-align: right;
    letter-spacing : 0.1em;
}
footer address h6 {
	color: #fff;
	font-weight: bold;
	text-align: right;
}
footer #sitemap {
	text-align: center;
}
footer #sitemap li {
    display: inline-block;
	text-align: center;
}
footer #sitemap li a {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 8px;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
footer #sitemap li a:hover {
	background: #0af;
}
footer #sitemap li a span {
	display: block;
	color: #fff;
	font-family: 'Noto sans JP';
	font-size: 8px;
	font-weight: 400;
}

@media screen and (max-width:640px){
    footer #sitemap li a {
        display: inline-block;
        padding: 4px 4px;
        color: #fff;
        font-size: 14px;
        text-decoration: none;
    }
}

footer small {
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 12px;
}

footer small a {
	color: #fff;
	font-size: 12px;
	text-decoration: none;
}

article a {
	text-decoration: underline;
}

.more td {
	padding: 2px;
}

#rireki {
	border-top: dotted 1px #666;
}
#rireki li {
	padding: 16px 8px;
	border-bottom: dotted 1px #666;
}

#contactform {
  display: flex;
  flex-wrap: wrap;
}
#contactform dt {
	width: 35%;
	margin: 0 0 8px 0;
	padding: 8px;
	background: #ccc;
	border-radius: 4px 0 0 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#contactform dd {
	width: 65%;
	margin: 0 0 8px 0;
	padding: 8px;
	background: #eee;
	border-radius: 0 4px 4px 0;
	text-align: left;
}

form {
	text-align: center;
}
form label {
	font-size: 14px;	
}
form input,
form textarea {
	width: 100%;
	padding: 8px;
	background: #fff;
	border: 1px solid #aaa;
	border: none;
	border-radius: 4px;
	text-align: left;
}
form input::placeholder,
form textarea::placeholder {
	color: #ccc;
}

form input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
	width: 50%;
	margin: o auto;
	padding: 16px 0;
	border: none;
	background-color: #39f;
	color: #fff;
	border-radius: 4px;
	text-align: center;
}
form input[type="submit"]:hover {
	background-color: #6af;
}

/* 黒丸 */
.disc {
	list-style: disc outside;
	margin-left: 1.3em;
}
/* 白丸 */
.circle {
	list-style: circle outside;
	margin-left: 1.35em;
}
/* ● */
.maru > li {
	padding-left: 1.2em;
	position: relative;
}
.maru > li:before {
	content: '●';
	width: 1em;
	text-align: right;
	position: absolute;
	left: 0;
}
/* ■ */
.shikaku > li {
	padding-left: 1.2em;
	position: relative;
}
.shikaku > li:before {
	content: '■';
	width: 1em;
	text-align: right;
	position: absolute;
	left: 0;
}
/* ※ */
.kome > li {
	padding-left: 1.1em;
	position: relative;
}
.kome > li:before {
	content: '※';
	width: 1em;
	text-align: right;
	position: absolute;
	left: 0;
}
/* ◆ */
.dia > li {
	padding-left: 1.1em;
	position: relative;
}
.dia > li:before {
	content: '◆';
	width: 1em;
	text-align: right;
	position: absolute;
	left: 0;
}
/* 1. 2. 3. */
.dot {
	counter-reset: li;
}
.dot > li {
	padding-left: 2em;
	position: relative;
}
.dot > li:before {
	content: counter(li)'.';
	counter-increment: li;
	width: 1.5em;
	text-align: right;
	position: absolute;
	left: 0;
}

/* (1) (2) (3) */
.kakko {
	counter-reset: li;
}
.kakko > li {
	padding-left: 2.5em;
	position: relative;
}
.kakko li:before {
	content: '（'counter(li)'）';
	counter-increment: li;
	width: 1.5em;
	text-align: right;
	position: absolute;
	left: 0;
}

/* 1) 2) 3) */
.kata_kakko {
	counter-reset: li;
}
.kata_kakko > li {
	padding-left: 2em;
	position: relative;
}
.kata_kakko > li:before {
	content: counter(li)'）';
	counter-increment: li;
	width: 1.5em;
	text-align: right;
	position: absolute;
	left: 0;
}


.YouTube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
} 
.YouTube iframe {
	width: 100% !important;
	height: 100% !important;
	border: none;
	position: absolute;
	top: 0;
	right: 0;
}