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

/*フォントファミリー指定*/
/* さわらび明朝
font-family: 'Sawarabi Mincho', sans-serif;
*/
/* M PLUSラウンド1c
font-family: 'M PLUS Rounded 1c', sans-serif;
 */
/* はち　まる　pop
font-family: 'Hachi Maru Pop', cursive;
 */
/* potta one
font-family: 'Potta One', cursive;
 */


/*** common ***/
/*サイト表示時にファードインさせるため、一時非表示*/
body {
	display: none;
}
 a {
  text-decoration: none;
  color: inherit;
}
body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blokqute,dl,dd,button {
  padding: 0px;
  margin: 0px;
}
body {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 16px;
	max-width: 100vw;
}
li {
	list-style: none;
}
section {
	position: relative;
	width: 100%;
}

/*ヘッダーナビ*/
header {
	position: relative;
	max-width: 1280px;
	color: #fff;
	margin-left: auto;
	margin-right: auto;
}
nav {
	background-color: #c90000;
	padding: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
nav ul {
	display: flex;
}
nav img {
	height: 32px;
	padding-left: 10px;
	z-index: 102;
}
nav ul li {
	padding-right: 35px;
}
.overlay_nav {
	display: none;
}

/*フッター*/
footer {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}
.footer_upper {
	display: flex;
	justify-content: space-between;
	max-width: 1040px;
	width: 90vw;
	padding: 20px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	margin-bottom: 30px;
	border: solid 1px #c90000;
	color: #c90000;
}
.footer_upper p {
	font-size: 14px;
}
.footer_upper em {
	font-size: 22px;
}
.footer_contact {
	color: #fff;
	background-color: #c90000;
	text-align: center;
	padding: 10px 20px;
	border-radius: 10px;
}
.footer_contact em::before {
	content: url("../img/mail_icon.png");
	padding-right: 7px;
}
.footer_contact em::after {
	content:url("../img/yajirusi_icon@.png");
	padding-left: 10px;
}
.footer_lower {
	background-color: #c90000;
	text-align: center;
	color: #fff;
	padding-top: 20px;
	padding-bottom: 20px;
}
.footer_lower a {
	display: block;
}
.footer_lower small {
	font-size: 16px;
}


/*トップページ用CSS*/
.kingyo {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-around;
	margin-top: 100px;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}
.kingyo_text {
	font-family: 'Hachi Maru Pop', cursive;
	writing-mode: vertical-rl;
	font-size: 24px;
	margin-top: 100px;
	color: #919191;
	text-orientation: upright;
	letter-spacing: 10px;
	width: 100%;
}
.kingyo_h {
	width: 100%;
	text-align: center;
}
.kingyo_img {
	width: 100%;
	height: 100%;
	margin-top: 100px;
}
/*出てくるサイドバー用*/
.sec-1 > aside {
	background-color: rgba(201,0,0,0.8);
	width: 350px;
	height: 730px;
	top: 10px;
	left: -350px;
	position: absolute;
	border-radius: 0 25px 25px 0;
	text-align: center;
}
.sec-1 > aside ul {
	top: 100px;
	left: 50%;
	transform: translateX(-25%);
	position: absolute;
}
.sec-1 > aside li {
	margin-bottom: 20px;
}
.sec-1 > aside button {
	background-color: rgba(201,0,0,0.8);
	display: block;
	position: absolute;
	top: 150px;
	left: 350px;
	width: 52px;
	height: 132px;
	border: none;
	outline: none;
	border-radius: 0 15px 15px 0;
}
.modal img {
	border-radius: 50%;
}
aside h3 {
	font-size: 32px;
	color: #fff;
	top: 20px;
	left: 50%;
	transform: translateX(-25%);
	position: absolute;
}
aside figcaption {
	background-color: #fffa72;
	font-size: 20px;
	color: #c90000;
	border-radius: 10px;
	width: 170px;
	margin-bottom: 10px;
}
		/***********************************ここまで*/
.sec-2 {
	background-color: #c90000;
	padding: 0;
	margin-top: 50px;
}
.hanabi {
	overflow-x: scroll;
	display: flex;
	justify-content: normal;
	-ms-overflow-style: none;/*IEとedgeでスクロールバー非表示*/
}
.hanabi::-webkit-scrollbar {
	display: none;/*chrome,safariでスクロールバーを非表示*/
}
.hanabi > li {
	flex: 0 0 auto;
	padding: 10px 30px;
}
.hanabi li img {
	filter: saturate(0%);
}
.hanabi li img:hover {
	transition: all ease-in 2s;
	filter: saturate(100%);
}
.hanabi h2 {
	font-size: 32px;
	color: #fff;
}
.hanabi a {
	display: block;
	color: #545454;
}
.yoko_scroll {
	vertical-align: middle;
	color: #fff;
}
.yoko_scroll::before {
	content: url("../img/arrow_right.png");
	padding-left: 30px;
	padding-right: 10px;
}
.sec-3 {
	max-width: 1280px;
	margin: 100px auto 0;
	text-align: center;
}
.matsuri {
	display: flex;
	width: 100%;
	max-height: 1100px;
	justify-content: center;
}
.matsuri_tohoku {
	position: relative;
	font-size: 24px;
	color: #c90000;
}
.matsuri_tohoku span {
	width: auto;
	background-color: rgba(255,255,255,0.8);
}

.matsuri_tohoku .nebuta {
	position: absolute;
	top: 15%;
	left: 30%;
}
.matsuri_tohoku .morioka {
	position: absolute;
	top: 40%;
	right: 0%;
}
.matsuri_tohoku .sendai {
	position: absolute;
	top: 70%;
	right: 10%;
}
.matsuri_tohoku .souma {
	position: absolute;
	top: 88%;
	right: 20%;
}
.matsuri_tohoku .hanagasa {
	position: absolute;
	top: 60%;
	left: 5%;
}
.matsuri_tohoku .kantou {
	position: absolute;
	top: 35%;
	left: 15%;
}
.sec-3 h1 {
	font-size: 48px;
	color: #c90000;
	margin-top: 100px;
	font-family: 'Sawarabi Mincho', sans-serif;
}

/*about usのページ*/

.sec-4,.sec-5,.sec-6 {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}
.content_wrap {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.about_us,.about_this_site {
	margin-top: 50px;
	background-color: #c90000;
	border-radius: 0 20px 20px 0;
	color: #fff;
	padding: 30px;
	font-family: 'Sawarabi Mincho', sans-serif;
}
.about_us h1,.about_this_site h1 {
	padding-bottom: 30px;
}
.about_us p,.about_this_site p {
	padding: 10px 40px 0 40px;
}
.content_wrap img {
	height: 350px;
}
.about_this_site {
	order: 2;
	border-radius: 20px 0 0 20px;
	margin-bottom: 100px;
}
.animate {
	width: auto;
	text-align: center;
}
.sec-6 {
	margin-top: 50px;
}
.sec-6 h2 {
	color: #c90000;
	font-size: 28px;
	font-family: 'Hachi Maru Pop', cursive;
	text-align: center;
	padding-bottom: 30px;
}
.calendar {
	flex-basis: 50%;
	padding: 40px;
}
.map {
	flex-basis: 50%;
	width: 100%;
	padding: 40px;
}
iframe {
	width: 100%;
}

/*contactのページ*/

.sec-7 {
	text-align: center;
	color: #c90000;
	font-family: 'Hachi Maru Pop', cursive;
}
.sec-7 > h1 {
	padding-top: 80px;
	padding-bottom:  50px;
}
.sec-7 > p {
	padding-bottom:  50px;
}
.contact_form iframe {
	height: 650px;
}


/* 共通設定 */
/*いつも使うヤツ   （ハンバーガーメニュー）**********************/
/*PC画面の時は非表示→スマホ時に見えるようにする*/
	a.trigger{
		display: none;
	}
    .trigger,
    .trigger span{
		display: inline-block;
		transition: all 0.4s;
    }
    .trigger{
		position: fixed;
		top: 10px;
		right: 2%;
		width: 28px;
		height: 28px;
		z-index: 110;
		background-color: #c90000;

    }
    .trigger span{
		position: absolute;
		left: 10%;
		width: 80%;
		height: 2px;
		background-color: #fff;
		border-radius: 2px;
		opacity: 1;
    }
    .trigger span:nth-of-type(1){
		top: 3px;
    }
    .trigger span:nth-of-type(2){
		top: 13px;
		width: 18px;
    }
    .trigger span:nth-of-type(3){
		bottom: 3px;
    }
    .trigger.active span:nth-of-type(1){
      transform: translateY(9px) rotate(-45deg);
    }
    .trigger.active span:nth-of-type(2){
		left: 50%;
		opacity: 0;
		animation: active-menu-bar02 0.8s forwards;
    }
    @keyframes active-menu-bar02{100%{height:0;}}

    .trigger.active span:nth-of-type(3){
		transform: translateY(-11px)rotate(45deg);
    }
		/**********************ここまで************************/

    /*だいたいいつも使うヤツ   （slickによる画像スライド）*/
     .slider{
         margin: 0 auto;
         width: 100%;
     }
     .slide{
         position: relative;
     }
     .slide__link{
         color: #fff;
         text-align: center;
     }
     .slide img{
		 height: 70vh;
         width: 100%;
		 object-fit: cover;
     }
     .slide__content-wrap{
         left: 50%;
         position: absolute;
         top: 50%;
     }
     .slide__content{
         display: block;
         opacity: 0;
         transform: translate(-50%,20%);
         transition: 0s;
     }
     .slide__content.on{
         opacity: 1;
         transform: translate(-50%,-50%);
         transition: .5s;
     }
     .slide__title{
         font-size: 48px;
     }
	.slide__title span {
		color: #EFF231;
		font-size: 36px;
	}
	.slide__text {
		font-size: 14px;
		}
	.slide__content.on {
		width: 80vw;
		}
	@keyframes title-animation {
		0% {opacity: 0;}
		100%{opacity: 1;}
	}
	.slide__content.on .slide__title,
	.slide__content.on .slide__text {
		animation-name: title-animation;
		animation-duration: 2s;
	}
     /*slick setting*/
     .slick-prev:before,
     .slick-next:before{
         color: #000;
     }
		/**********************ここまで************************/

/*ページ遷移時のsvgアニメーション*/
  svg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display:none;
  }
.svg_wrapper {
	width: 100vw;
	height: 100vh;
	background-color: #fff;
	display: none;
	position: fixed;
    top: 0;
    left: 0;
}
/*線の色s指定*/
g{
  stroke: #000;
}
		/*******************************************ここまで*/

/*時々使うヤツ   （Modalウィンドウによる画像スライド）***/
	.lightbox {
		display: none;
	}
	.featherlight .featherlight-content{
		width: 85%;
		padding: 0;
		border-bottom: 0;
	}
	.lightbox img{
	  width: 100%;
	  display: block;
	  height: auto;
	}

/*** スマホ用設定記述 ******************************************************/
/*見出しテキストの折返し調整*/
	@media screen and (min-width: 768px) {
		.br {
			display: none;
		}
	}


    @media screen and (max-width: 640px){
/*ヘッダーのスマホ対応*/
		a.trigger {
		display: block;
		}
		.main_nav {
			display: none;
		}
		nav ul {
			display: block;
			margin-bottom: 20vh;
		}
		.overlay_nav {
			position: fixed;
			top: 0;
			left: 0;
			z-index: 105;
			display: none;
			width: 100%;
			height: 100vh;
			background-color: rgba(201,0,0,1);
			text-align: center;
		}
		.overlay_nav img {
			width: 85%;
			height: auto;
			margin-top: 100px;
			margin-bottom: 50px;
		}
		.on_animation{
		  display: block;
		}
		.overlay_nav li {
			font-family: 'Potta One', cursive;
			font-size: 28px;
			padding: 30px;
		}
		/******************************ここまで*/

/*フッターのスマホ対応*/
		.footer_upper {
			display: block;
			text-align: center;
			word-break: keep-all;
		}
		.footer_upper p {
			font-size: 12px;
		}
		.footer_upper em {
			font-size: 18px;
		}
		.footer_lower img {
			height: 32px;
		}
		/******************************ここまで*/

/*スライダーテキスト修正*/
		.slide__title{
         font-size: 26px;
		}
		.slide__title span {
			font-size: 24px;
		}
		.slide__text {
			font-size: 12px;
		}

		/*******************************ここまで*/
		.kingyo {
			display: block;
		}
		.kingyo_text {
			font-size: 14px;
			width: auto;
			margin-left: auto;
			margin-right: auto;
		}
		.matsuri {
			display: block;
		}
		h1 img {
			width: 10vw;
		}
		.kingyo_img {
			margin-top: -15vh;
			text-align: center;
		}
		.kingyo_img img {
			width: 90vw;
		}
		.hanabi  li img {
			width: 90vw;
		}
		.hanabi > li {
			padding: 5px 10px;
		}
		.hanabi h2 {
			font-size: 18px;
		}
		.yoko_scroll {
			font-size: 12px;
			}
		.yoko_scroll::before {
			width: 15px;
			height: 15px;
}
		.matsuri_tohoku img,
		.matsuri_tohoku {
			width: 90%;
		}
		.matsuri_tohoku span {
			width: auto;
			font-size: 18px;
		}
		.sec-3 h1 {
			font-size: 24px;
			margin-top: 100px;
		}
		.content_wrap {
			display: block;
			width: 90%;
		}
		.sec-5 > .content_wrap {
			margin-right: 0;
			margin-left: auto;
		}
		.sec-6 > .content_wrap {
			margin-left: auto;
			margin-right: auto;
		}
		.content_wrap > img {
			width: 70%;
			height: auto;
		}
		.about_us h1,.about_this_site h1 {
			font-size: 24px;
		}
		.about_us p,.about_this_site p {
			padding: 5px 20px 0 20px;
		}
		.calendar,.map {
			padding: 10px;
		}


		svg {
			width: 80px;
			height: 80px;
		}
}
