@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}

body{
	font: 14px/1.9 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
	font-weight: 300;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #000;
	background: #fff;
}
/* ------------------------------------- */
/*	 リンク
/* ------------------------------------- */
a{
	color: #1f286f;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}
a:hover, .active{
  text-decoration: underline;
}
a:active, a:focus,input:active, input:focus{outline:0;}
/* ------------------------------------- */
/* 画像
/* ------------------------------------- */
img{vertical-align:middle;border-style:none;border:0;-webkit-backface-visibility: hidden;}
a:hover img{opacity:0.8;filter:alpha(opacity=80);-ms-filter:"alpha( opacity=80 )";}
.resizeimage img {width: 100%;}

/* ------------------------------------- */
/* pc sp
/* ------------------------------------- */
.img-sp {
    display: none;
}

@media screen and (max-width:768px) {
    .img-pc {
        display: none;
    }

    .img-sp {
        display: block;
    }
}

/* ------------------------------------- */
/* 回りこみ解除
/* ------------------------------------- */
.clear {
clear:both;
}
html {/*スクロールバーを常に表示*/
overflow-y:scroll;
}
a img,
ol li img,
li img,
ul li img {/*上揃え*/
vertical-align: top;
text-align:center;
border-style:none;
}
img {
  vertical-align: middle;
  border: none;
    max-width: 100%;
    height: auto;
}

li,ol,ul{/*リストマークを消す*/
margin: 0;
padding: 0;
list-style-type: none;
}
ul ul{
margin-left: 1em;
}
/* ---------------------------------------------------------------------------------------------

　 共通

--------------------------------------------------------------------------------------------- */
section{clear:both;}

section h2{
	font-size: 22px;
	font-weight:normal;
	text-align: center;
}

.clear {
	clear:both;
}
.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
overflow:hidden;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}
/* container
---------------------------------------------------- */
.container{padding: 0 5%;margin: 0 auto;clear: both;}
@media screen and (min-width: 768px) {
.container {
width:748px;
padding: 0
}
}
@media screen and (min-width: 980px) {
.container {
width: 1000px;
padding: 0
}}



/* ---------------------------------------------------------------------------------------------

　 ヘッダー

--------------------------------------------------------------------------------------------- */
#header{
    width: 100%;
    margin: auto;
		overflow:hidden;
		position: relative;
		z-index: 0;
 padding: 0;
}

#header h1 img{
		margin: 0 auto;
		text-align: center;
		display: block;
		padding: 50px 0;
		width: 435px;
		height: auto
}
#header .i_left{
position: absolute;
bottom: 0;
left: 10%;
 z-index: 2;
 width: 157px;
}
#header .i_left2{
position: absolute;
top: 5%;
left: 15%;
 z-index: 2;
 width: 200px;
}
#header .i_left3{
position: absolute;
top: 40%;
left: 5%;
 z-index: 2;
 width: 120px;
}
#header .i_right{
position: absolute;
top: 10%;
right: 10%;
z-index: 3;
width: 222px;
}
#header .i_right2{
position: absolute;
top: 50%;
right: 5%;
z-index: 4;
width: 122px;
}
#header .i_right3{
position: absolute;
bottom: 0;
right: 15%;
z-index: 4;
width:140px;
}

@media only screen and (max-width: 980px){
#header .i_left{
bottom: 0;
left: 10%;
width: 120px;
}
#header .i_left2{
top: 5%;
left: 0;
width: 150px;
}
#header .i_right{
top: 5%;
right: 5%;
width: 180px;
}
#header .i_right2{
position: absolute;
top: 40%;
right: 0;
width: 90px;
}
}
@media only screen and (max-width: 768px){
#header h1 img{
max-width: 80%;
padding: 15% 0 5% 0;
}
#header .i_left{
left: 5%;
width: 80px;
}
#header .i_left2{
top: -1%;
left: -1%;
width: 130px;
}
#header .i_left3{
position: absolute;
top: 25%;
left: -2%;
 z-index: 2;
 width: 70px;
}

#header .i_right{
top: 0;
right: 5%;
width: 100px;
}
#header .i_right2{
position: absolute;
top: 30%;
right: 0;
width: 40px;
}
#header .i_right3{
position: absolute;
bottom: 0;
right: 1%;
z-index: 4;
width:100px;
}
}

#header .i_left{
animation-name: anim_sc;
animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
}
#header .i_right{
animation-name: anim_sc;
animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 2.5s;
}
#header .i_right2{
animation-name: anim_sc;
animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 3.5s;
}

@keyframes anim_sc {
 0% {
    transform: scale(0.5,0.5);  opacity:0;
  }
	100% {
    transform: scale(1,1); opacity:1;
  }
}

/*--- cssアニメーション ここまで ---*/

/* ---------------------------------------------------------------------------------------------

　 フッター

--------------------------------------------------------------------------------------------- */
#otoiawase_bg{
position: relative;
 z-index: 0;
 margin: 0;
 padding: 0;
 margin: auto;
padding: 50px 10px 50px 0;
text-align: center;
background: url(../img/hanabi/otoiawase_bg.jpg) repeat; 
width:100%;
}
#otoiawase_bg img{
width:300px;
height:auto
}
#footer{
background: #fdeeed; 
width:100%;
clear: both;
padding: 30px 0;
text-align: center;
}
#footer h4 {
	font-weight: normal;
	font-size:100%;
}
#footer address {
	font-style:normal;
	font-size:75%;
}
#footer p {
	font-size:70%;
	margin-top:10px
}
.button-matsuda {
  display: inline-block;
  padding: 0.4em 1.6em;
  color: #1f286f;
  text-decoration: none;
  user-select: none;
  border: 1px #1f286f solid;
  border-radius: 20px;
  transition: 0.4s ease;
  margin-top:1%
}
.button-matsuda img{
  padding-top: 0.2em;
  width:120px;
  height:auto
}

/* container
---------------------------------------------------- */
.container{padding: 0 5%;margin: 0 auto;clear: both;}
@media screen and (min-width: 768px) {
.container {
width:748px;
padding: 0
}
}
@media screen and (min-width: 980px) {
.container {
width: 1000px;
padding: 0
}}

/* ---------------------------------------------------------------------------------------------

　inner

--------------------------------------------------------------------------------------------- */
.inner {
    padding: 1rem 0;
    margin-bottom: 60px;
}
.inner2 {
    margin:60px 0;
}

/* ---------------------------------------------------------------------------------------------

　 見出し

--------------------------------------------------------------------------------------------- */
.midasi {
color: #036eb7;
font-size: 1.3em;
line-height: 1.6em;
font-weight: normal;
padding: 0 0 20px 0
}

.fukidashi {
  position: relative;
  width: 100%;
  padding: 15px 0;
  color: #ffffff;
  border-radius: 10px;
  background-color: #036eb7;
	margin: 0 auto 30px auto;
	font-size: 1.3em;
line-height: 1.6em;
text-align: center;
font-weight: normal;
}
.fukidashi::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: -1;
  width: 20px;
  height: 12px;
  transform: translateX(-50%);
  box-sizing: border-box;
  background-color: #036eb7;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media only screen and (min-width: 768px){
.fukidashi {
  font-size: 1.5em;
}
}
/* ---------------------------------------------------------------------------------------------

　 メッセージ

--------------------------------------------------------------------------------------------- */
.message{
  position: relative;
	text-align: center;
	width:100%;
	z-index:-1
}
.message img{
  width: 435px;
		height: auto;
}
.kasaneru{
  position: absolute;/*重ねたい子要素にabsolute*/
  top:50%;
  left: 50%;
 -ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  transform: translate(-50%,-50%);/*センター寄せの修正*/
  margin: 0!important;/*文字がずれている場合や*/
  padding: 0!important;/*文字が折り返される場合*/
	width:100%;
}
.vision{
	padding-bottom: 8%;
	font-size: .9rem;
}
.t50{
font-size: 1.6rem;
padding-bottom: 20px;
line-height: 1.3;
color: #036eb7;
font-weight:bold;
letter-spacing: 0.05em;
}
.t50 span{
font-size: 130%;
}
@media only screen and (max-width: 767px){
.kasaneru{
width:70%;
}
}
@media screen and (min-width: 768px){
.br-sp {display: none; }
.t50{
font-size: 2.2rem;
line-height: 1.5;
}
.vision{
	padding-bottom: 5%;
	font-size: 1rem;
}
}
/* banner -------------------- */

#banner {
	width: 100%;
	height: auto;
	margin-top: 0;
	z-index: 1
}
ul.bana-img {
display: flex;
width: 100%;
margin: 0 auto;
max-width: 950px;
}
ul.bana-img li img {
mix-blend-mode: multiply;
height: auto;
}
ul.bana-img li a:hover img {
opacity: 0.7;
transition: 0.7s;
}
ul.bana-img li:hover {
transform: translateY(1px);
box-shadow: none;
}
@media screen and (min-width: 767px) {
ul.bana-img li{
flex: 1;
margin-right: 10px;
}
ul.bana-img li:last-child {
margin-right: 0;
}
}
@media screen and (max-width: 767px) {
#banner {
	width: 90%;
	margin: 0 auto
}
ul.bana-img {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
ul.bana-img li{
width:47%;
height:auto;
margin-right: 3%;
margin-bottom: 3%;
}
ul.bana-img li:nth-child(2n) {
margin-right: 0;
}
}


/* 左右交互 -------------------- */
.flex-item,
.flex-item2{
  display: flex;
  width: auto;
	margin-bottom: 60px
}
.item_img img{
	 width: 100%;
	 height: 350px;
  object-fit: cover;
}
.item1,
.item2{
  text-align: center
}
.item_en{
  text-align: left
}

.item1 h3,
.item2 h3,
.item_en h3{
	font-size: 200%;
	font-weight: normal;
	margin: 0 auto;
	text-align: center;
	padding: 10px 0 15px 0;
	letter-spacing:.1em;
}
.item1 h3.t_01 {
color: #036eb7;
}
.item2 h3.t_02 {
color: #e95514;
}
.item1 h3.t_03 {
color: #22ab38;
}
.item1 h3.t_04,
.item2 h3.t_04 {
color: #e73278;
}
.item1 h3.t_05,
.item2 h3.t_05 {
color: #910782;
}


@media screen and (min-width: 768px) {
.flex-item2{
flex-direction: row-reverse;
}
.item1 {
  flex: 0 0 45%;
	margin:0 3%
}
.item2 {
  flex: 0 0 45%;
	margin:0 3%
}
.item_img {
  flex: 1;
}
}
@media screen and (min-width: 980px) {

.item1 {
  flex: 0 0 30%;
	margin:0 5% 0 10%
}
.item2 {
  flex: 0 0 30%;
	margin:0 10% 0 5%
}
}
@media screen and (max-width: 767px) {
  .flex-item,
	.flex-item2{
    flex-direction: column;
    align-items: center;
  }
  .flex-item2:nth-child(odd) {
    flex-direction: column;
  }
.item1,
.item2{
  flex:auto;
	margin: 20px 0;
	padding: 0 6%
}
.item_img {
  padding: 0;
}
.item_img img{
	 width: 100%;
	 height: auto;
	 border-radius: 0px;
}
.item1 h3,
.item2 h3 {
	padding: 10px 0;
	letter-spacing:.1em;
}
}


/* お問い合わせ -------------------- */

.bn_contact{
margin: 50px auto;
text-align: center
}
.bn_contact a:hover img {
opacity: 0.7;
transition: 0.7s;
}

/* ---------------------------------------------------------------------------------------------

　 ページトップへ戻る

--------------------------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #036eb7;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #036eb7;
    border-right: 3px solid #036eb7;
    transform: translateY(20%) rotate(-45deg);
}


.pagetop:hover{
opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
	}
	
/* ---------------------------------------------------------------------------------------------

　 モデルプラン

--------------------------------------------------------------------------------------------- */
.time-schedule {
  list-style: none;
  margin:0 auto 0 20em;
  padding-left: 50px;
  border-left: 1px solid #036eb7;
  box-sizing: border-box;
}

.time-schedule li {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}

.time-schedule span.time {
  width: 6em;
  display: inline-block;
  margin-left: -9em;
  padding: 0;
  margin-top: 15px;
  vertical-align: top;
  position: relative;
  text-align: right;
  box-sizing: border-box;
	font-size: 1.6em;
	font-weight: normal;
	color: #036eb7;
}

.time-schedule span.time::after {
  content: "";
  position: absolute;
  right: -28px;
  top: 12px;
  background: #036eb7;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}

.time-schedule .sch_box {
  display: inline-block;
  width: 100%;
  margin-left: 40px;
  padding: 0 0 30px 3%;
  vertical-align: middle;
  background: #fff;
  box-sizing: border-box;
	margin-top: 15px;
}
.time-schedule .sch_box img {
margin-top: 15px;
width: 500px;
height: auto
}

.time-schedule .sch_title {
  font-size: 1.6em;
	line-height: 1.5;
  font-weight: normal;
	padding-bottom: 10px
}

.time-schedule .sch_tx {
  font-size: 100%;
	font-weight: normal;
}
@media screen and (max-width: 980px) {
.time-schedule {
	margin:0 auto 0 10em;
}}

@media screen and (max-width: 767px) {
.time-schedule {
	margin:0 auto 0 6em;
}
.time-schedule .sch_box img {
width: 100%;
height: auto
}
.time-schedule .sch_title {
  font-size: 1.4em;
	line-height: 1.4;
}
.time-schedule span.time {
  font-size: 1.4em;
	line-height: 1.4;
	margin-left: -9.5em;
}
.time-schedule span.time::after {
  top:5px;
}
.time-schedule .sch_box {
  margin-left: 35px;
  padding: 0 0 20px 3%;
}
}
/* ---------------------------------------------------------------------------------------------

　 モデルプラン　説明

--------------------------------------------------------------------------------------------- */
.box-setumei {
    max-width: 100%;
    margin: 0 auto;
    border: 2px solid #036eb7;
    border-radius: 10px;
    overflow: hidden;
		padding: 3rem;
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
.box-setumei {
    padding: 2rem;
}}

/* ---------------------------------------------------------------------------------------------

　 table

--------------------------------------------------------------------------------------------- */
table {
	border-collapse: collapse;
	margin: 0 0 0 0;
	border-color: #fff;
	border-style: solid;
	border-width: 0;
	width:100%
}
table td {
	font-size: 80%;
	line-height: 160%;
	border: 2px solid #fff;
	padding: 5px;
}

table td img {
	margin: 0 0 10px 0;
/* IE 6 */
margin-bottom:0px;
}
@media screen and (min-width: 768px) {
table td {
	font-size: 100%;
	line-height: 170%;
	padding: 5px;
}
}


/*言語切替
---------------------------------------------------------------------------*/
.langChenge {
height: 30px;
width: 80px;
position: fixed;
right: 30px;
top: 30px;
background: #fff;
border: solid 1px #036eb7;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
font-size: 90%;
line-height: 30px;
color: #036eb7;
}
.langChenge:hover{
opacity: 0.8;
filter: alpha(opacity=80);
-moz-opacity: 0.8;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
background: #036eb7;
color: #fff;
text-decoration: none
}
@media screen and (max-width: 767px) {
.langChenge {
width: 70px;
right: 10px;
top: 10px;
font-size: 80%;
line-height: 20px
}
}