@charset "UTF-8";

@font-face {
	font-family: "Pacifico";
	src: url("../fonts/Pacifico-Regular.ttf") ;
}

/** ---------------------------------------
html
--------------------------------------- */
html{font-size:16px;}
	@media screen and ( max-width:600px ){
		html{font-size:16px;}
	}


/** ---------------------------------------
body
--------------------------------------- */
body{margin: 0; padding: 0; line-height: 1.8; letter-spacing: 0.1rem; color: #444; font-family: Noto Sans JP, "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif; background: #fff;}


/** ---------------------------------------
wapper
--------------------------------------- */
.wrapper{max-width: 1228px; margin: 0 auto; padding: 0 1rem;}
	@media screen and ( max-width:479px ){
		.wrapper{display: block; margin: 0 auto; padding: 0 2vw; width: auto;}
	}
	
	
/** ---------------------------------------
video
--------------------------------------- */

article.video{display: block; margin: 0; padding: 0; background: #fff;}
article.video .box{display: flex; height: 660px; flex-wrap: nowrap; justify-content: center; align-items: center; margin: 0; padding: 0;}
article.video .box section{margin: 0; padding: 0; text-align: center;}
article.video .box section img{width: 240px; height: auto;}


	@media screen and ( max-width:498px ){
		article.video .box section img{width: 180px; height: auto;}
	}


/** ---------------------------------------
info
--------------------------------------- */


article.info{margin: 0; padding: 2rem 0; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; background: #ffffff;}
article.info.list{margin: 0; padding: 3rem 0; border: none; background: #fff;}
article.info .box{display: flex; flex-wrap: nowrap; justify-content: space-around;}
article.info .box .left{margin: 0; padding: 0 2rem; width: 30%; border-right: 1px solid #ddd; text-align: center;}
article.info .box .left h1{font-size: 250%; text-align: center; font-family: 'Pacifico', cursive;}
article.info .box .left h2{margin: 0; padding: 0; font-size: 90%; font-weight: bold;}

article.info .box .right{margin: 0; padding: 0; width: 70%;}
article.info .box .right section.detail{display: block; margin-bottom: 1rem; padding-bottom: 0.6rem;}
article.info .box .right section.detail a{display: block; margin: 0; padding: 0; text-decoration: none; color: #333; }
article.info .box .right section.detail span{display: inline-block; margin: 0; padding: 0 1rem; line-height: 1.8; vertical-align: middle;}
article.info .box .right section.detail span.image{margin: 0; padding: 0;}
article.info .box .right section.detail span.image img{width: 100%; height: auto;}
article.info .box .right section.detail span.date{color: #aaa; font-size: 75%;}
article.info .box .right section.detail mat-icon{padding-right: 0.4rem; font-size: 100%;}
article.info .box .right section.detail span.title{}
article.info .box .right section.detail span.text{font-size: 14px;}

article.info .box .right section.detail_sps{margin: 0; padding: 0; width: 23%;}


	@media screen and ( max-width:900px ){
		article.info .box{display: flex; flex-wrap: nowrap; flex-direction: column; justify-content: center;}
		article.info .box .left{margin: 0; padding-bottom: 2rem; width: auto; border-right: none; text-align: center;}
		article.info .box .left h1{font-size: 200%; text-align: center; font-family: 'Pacifico', cursive;}
		article.info .box .right{margin: 0; padding: 0; width: auto;}
	}


/** ---------------------------------------
info_detail
--------------------------------------- */
article.info_detail{margin: 0; padding: 3rem 0 10rem 0;}
article.info_detail .box{margin: 0 auto; width: 75%;}
article.info_detail .box section{margin: 0; padding-bottom: 1rem;}
article.info_detail .box section.image{margin: 0 auto; width: 90%;}
article.info_detail .box section.title{}
article.info_detail .box section.title span{font-size: 80%; color: #aaa;}
article.info_detail .box section.title mat-icon{margin: 0; padding-right: 0.4rem;}
article.info_detail .box section.title h1{font-size: 160%; font-weight: bold;}
article.info_detail .box section.text{line-height: 1.6;}
article.info_detail .box section.text h1{font-size: 150%; font-weight: bold;}
article.info_detail .box section.text h2{font-size: 125%; font-weight: bold;}
article.info_detail .box section.text h3{font-size: 80%; font-weight: bold;}
article.info_detail .box section.text p{padding-bottom: 1rem; line-height: 1.8;}
article.info_detail .box section.text a{text-decoration: none; color: #3994A3;}
article.info_detail .box section.sns img{width: 24px; height: auto;}

	@media screen and ( max-width:968px ){
		article.info_detail .box{margin: 0 auto; width: 96%;}
	}


header{display: block; margin: 0; padding: 0; border-bottom: 1px solid #ddd; background: #fff;}
header .box{margin: 0; padding: 0.6rem 1rem;}
header .box section{margin: 0; padding: 0;}
header .box section img{width: 300px; height: auto;}


article.page_title{display: block; margin: 0; padding: 3rem 0; border-bottom: 1px solid #ddd; background: #fff;}
article.page_title .title{margin: 0; padding: 0; text-align: center;}
article.page_title .title h1{padding-bottom: 1rem; font-size: 300%; font-family: 'Pacifico', cursive;}
article.page_title .title h2{padding-bottom: 1rem; font-weight: bold;}


article.page_pan{display: block; margin: 0; padding: 0.6rem 0; background: #fff;}
article.page_pan nav{margin: 0; padding: 0;}
article.page_pan nav a{margin: 0; padding: 0; font-weight: bold; text-decoration: none; color: #68361d;}


/** ---------------------------------------
footer
--------------------------------------- */

footer{margin: 0; padding: 0.5rem 0; text-align: center; background: #68361d;}
footer nav.menu_footer{margin: 0; padding: 1rem 0; font-size: 16px; color: #fff; text-align: center;}
footer nav.menu_footer ul{margin: 0; padding: 0;}
footer nav.menu_footer li{display: inline-block; margin: 0; padding: 0 0.3rem;}
footer nav.menu_footer a{color: #fff; text-decoration: none;}
footer article.copy{margin: 0; padding: 0;}
footer article.copy p{margin: 0; padding: 0.5rem 0; font-size: 80%;}
footer article.copy a{color: #d08963; text-decoration: none; font-weight: bold;}




/** ---------------------------------------
site_page
--------------------------------------- */

article.site_map{display: block; margin: 0; padding: 3rem 0; background: #fff;}
article.site_map .box{margin: 0; padding: 0;}
article.site_map .box section{margin: 0; padding-bottom: 1rem;}
article.site_map .box section a{margin: 0; padding: 0; color: #68361d; font-size: 110%; text-decoration: none; font-weight: bold;}
article.site_map .box section span{font-size: 80%; font-weight: normal;}
article.site_map .box section.contact{padding: 3rem 0; text-align: center;}
article.site_map .box section.contact a.contact{padding: 1rem 2rem; font-size: 16px; color: #fff; text-decoration: none; background: #031731;}
article.site_map .box section.contact .btn a{margin: 0; padding: 1rem 3rem; text-decoration: none; font-weight: bold; color: #333; background: #fff; border: 1px solid #ddd;}
article.site_map .box section.contact .btn a:hover{color: #fff; background: #0d5ba5; border: 1px solid #ddd; -webkit-transition: all .5s; transition: all .5s;}


article.site_policy{display: block; margin: 0; padding: 3rem 0; background: #fff;}
article.site_policy .box{margin: 0; padding: 0;}
article.site_policy .box h1{margin: 0; padding-bottom: 4rem; font-size: 2rem; text-align: center; font-weight: bold;}
article.site_policy .boxsection.box{margin: 0; padding-bottom: 2rem; line-height: 1.8;}
article.site_policy .box section.box p{padding-bottom: 2rem;}
article.site_policy .box section.box h2{margin: 0; padding-bottom: 1rem; font-size: 1.4rem; font-weight: bold;}
article.site_policy .box ul{padding: 1rem 2.5rem;}
article.site_policy .box ul li{display: list-item; list-style: decimal;}

article.site_privacy{display: block; margin: 0; padding: 3rem 0; background: #fff;}
article.site_privacy .box{margin: 0; padding: 0;}
article.site_privacy .box h1{margin: 0; padding-bottom: 4rem; font-size: 2rem; text-align: center; font-weight: bold;}
article.site_privacy .box section.box{margin: 0; padding-bottom: 2rem; line-height: 1.8;}
article.site_privacy .box section.box p{padding-bottom: 2rem;}
article.site_privacy .box section.box h2{margin: 0; padding-bottom: 1rem; font-size: 1.4rem; font-weight: bold;}
article.site_privacy .box ul{padding: 1rem 2.5rem;}
article.site_privacy .box ul li{display: list-item; list-style: decimal;}





/** ---------------------------------------
contact
--------------------------------------- */

article.contact{margin: 0; padding: 3rem 0; background: #fff;}
article.contact .box{margin: 0; padding: 0;}
article.contact .box section.notes{margin: 0; padding: 0;}

article.contact .box section.notes h2{font-size: 160%; font-weight: bold;}
article.contact .box section.notes .box_notes{margin: 0; padding: 1rem 0;}


article.contact .box section.btn{margin: 0; padding: 3rem 0;}

article.contact .box section.btn ul{display: flex; flex-wrap: nowrap; justify-content: space-around; align-items: center;}
article.contact .box section.btn ul li{margin-bottom: 1rem; width: 32%; text-align: center;}
article.contact .box section.btn ul li mat-icon{display: block; padding: 1rem 0; font-size: 200%;}
article.contact .box section.btn ul li a{display: block; margin: 0; padding: 1rem; color: #333; font-weight: bold; text-decoration: none; border: 1px solid #ddd;}
article.contact .box section.btn ul li a:hover{color: #68361d; -webkit-transition: all .5s; transition: all .5s;}
article.contact .box section.btn .privacy{margin: 0; padding: 3rem 0; text-align: center;}
article.contact .box section.btn .privacy a{display: block; margin: 0; padding: 1rem; color: #333; font-weight: bold; text-decoration: none; border: 1px solid #ddd;}
article.contact .box section.btn .privacy a:hover{color: #68361d; -webkit-transition: all .5s; transition: all .5s;}


@media screen and ( max-width:860px ){
	article.contact .box section.btn ul{display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; margin: 0; padding: 0;}
	article.contact .box section.btn ul li{margin-bottom: 1rem; width: 100%; text-align: center;}
}


article.contact .box section.err{margin: 2rem 0; padding: 2rem 1rem; border: 1px solid #ddd;}
article.contact .box section.err p{margin: 0; padding: 0; line-height: 1.8; color: #cc0000;}
article.contact .box section.err mat-icon{margin: 0; padding-right: 1rem; vertical-align: middle;}

article.contact .box section.form{margin: 0; padding: 2rem 0; line-height: 1.8;}
article.contact .box section.form ul{margin: 0 auto; padding-bottom: 2rem; width: 80%;}
article.contact .box section.form h3{margin: 0; padding-bottom: 1rem; font-weight: bold;}
article.contact .box section.form h3 span{font-size: 90%; font-weight: bold;}
article.contact .box section.form input:focus {outline: none;}
article.contact .box section.form input[type=text]{padding: 0.6rem 1rem; box-sizing: border-box; width: 100%; border: 1px solid #aaa; font-size: 1rem; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
article.contact .box section.form input[type=tel]{padding: 0.6rem 1rem; box-sizing: border-box; width: 100%; border: 1px solid #aaa; font-size: 1rem; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
article.contact .box section.form input[type=email]{padding: 0.6rem 1rem; box-sizing: border-box; width: 100%; border: 1px solid #aaa; font-size: 1rem; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
article.contact .box section.form input[type=checkbox]{-ms-transform: scale(1.5, 1.5); -webkit-transform: scale(1.5, 1.5); transform: scale(1.5, 1.5);}
article.contact .box section.form input[type=submit]{padding: 1rem 1rem; box-sizing: border-box; width: 80%; border: 1px solid #aaa; font-size: 1rem; font-weight: bold; color: #666; text-align: center; background: #eee; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
article.contact .box section.form input[type=submit]:hover{background: #fafafa;}
article.contact .box section.form textarea:focus {outline: none;}
article.contact .box section.form textarea{padding: 0.6rem 1rem; box-sizing: border-box; width: 100%; height: 180px; border: 1px solid #aaa; font-size: 1.1rem; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
article.contact .box section.form p.form_text{display: block; padding-bottom: 1rem;}
article.contact .box section.form p.form_submit{text-align: center;}
article.contact .box section.form p.mini{padding-bottom: 1rem; font-size: 1rem; color: #cc0000;}
article.contact .box section.form span{padding-left: 1rem; font-size: 1rem; color: #cc0000;}
article.contact .box section.form label.label{display: block; padding: 1rem 0; font-size: 1rem;}

article.contact section.box_message_finish{margin: 0; padding: 6rem 0;}
article.contact section.box_message_finish h1{padding: 2rem 0; font-size: 1.6rem; font-weight: bold; text-align: center;}
article.contact section.box_message_finish p{padding-bottom: 3rem; line-height: 1.6;}

article.contact section.box_message_finish .btn{display: flex; flex-wrap: nowrap; justify-content: space-around; margin: 0; padding: 1rem 0;}
article.contact section.box_message_finish .btn a{margin: 0; padding: 1rem 3rem; text-decoration: none; font-weight: bold; color: #333; background: #fff; border: 1px solid #ddd;}
article.contact section.box_message_finish .btn a:hover{color: #fff; background:#67361D; border: 1px solid #ddd; -webkit-transition: all .5s; transition: all .5s;}



/** ---------------------------------------
sns
--------------------------------------- */

article.sns{margin: 0; padding: 1rem 0; box-sizing: border-box; background: #fff;}
article.sns .box{display: flex; flex-wrap: nowrap; justify-content: space-around; margin: 0; padding: 0;}
article.sns .box section{margin: 1rem; padding: 0;}
article.sns .box section img{width: 68px;}



/** ---------------------------------------
page-numbers
--------------------------------------- */

nav.page-numbers{margin: 0; padding: 3rem 0;}
nav.page-numbers ul{display: flex; flex-wrap: nowrap; justify-content: center; align-items: flex-end;}
nav.page-numbers li{margin: 0; padding: 0;}
nav.page-numbers li a{display: block; margin: 0 0.5rem; padding: 0.5rem; width: 30px; text-decoration: none; line-height: 30px; text-align: center; font-weight: bold; color: #fff; }
nav.page-numbers li a.link{background: #67361D;}
nav.page-numbers li a.nolink{background: #aaa;}
nav.page-numbers li mat-icon{vertical-align: bottom;}



/** ---------------------------------------
banner
--------------------------------------- */

article.banner_01{display: block; margin: 0; padding: 3rem 0; background: #fff;}
article.banner_01 .box{display: flex; flex-wrap: nowrap; justify-content: space-around;}
article.banner_01 .box section{margin: 0.5rem 1rem; text-align: center;}
article.banner_01 .box section img{width: 320px;}

	@media screen and ( max-width:600px ){
		article.banner_01 .box{display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-around;}
	}




/** ---------------------------------------
404
--------------------------------------- */

article.notofound_404{margin: 0; padding: 3rem 0;}
article.notofound_404 .header{margin: 0; padding: 0;}
article.notofound_404 .header p{margin: 0; padding: 0;}
article.notofound_404 .select{display: flex; flex-wrap: nowrap; justify-content: space-around; margin: 0; padding: 3rem 0;}
article.notofound_404 .select section{margin-bottom: 1rem; padding: 0; width: auto; text-align:center;}
article.notofound_404 .select section mat-icon{padding-right: 0.6rem; vertical-align: middle;}
article.notofound_404 .select section span{vertical-align: middle; font-weight: bold;}
article.notofound_404 .select section a{display: block; margin: 0; padding: 2rem 3rem; text-decoration: none; font-weight: bold; color: #333; background: #fff; vertical-align: middle; border: 1px solid #ddd;}
article.notofound_404 .select section a:hover{color: #fff; background: #67361D; border: 1px solid #ddd; -webkit-transition: all .5s; transition: all .5s;}


@media screen and ( max-width:800px ){
	article.qa .select{display: flex; flex-wrap: wrap; justify-content: space-around; flex-direction: column; margin: 0; padding: 3rem 0;}
}















