@charset "UTF-8";
/* CSS Document */
#top_logo{
	width:450px;
	position:absolute;
	left:280px;
	bottom:50px;
	z-index:1000;
}
#top_logo img:hover + .fukidashi {
      display: block;
	  animation-name: fade;
      animation-duration: 0.3s;
      animation-iteration-count: 1;
}
@keyframes fade {  /*←animation-nameにも同じ名前を記述*/
0% {opacity: 1;}
100% {opacity: 0;} 
}
#top_logo .fukidashi { 
    width:160px;
	display: none;
    position: absolute;
	bottom: 80px;
	left: -30px;
}
#top_name{
	width:70%;
	margin:100px auto 80px auto;
}
h3{
	padding:80px 0 20px 0;
	clear:both;
	color:#EB5C4D;
	font-size:27px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight:500;
	line-height:1.7;
	letter-spacing:0.1em;
}
h4{
	padding:0;
	margin:0;
	color:#fff;
	font-size:24px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight:500;
	letter-spacing:0.1em;
}
#header_top{
	width:100%;
	background-color:#f5ead4;
	text-align:center;
}
#header_top_in{
	width:1000px;
	height:750px;
	padding:0 0 0 0;
	margin:0 auto ;
	position:relative;
}
#header_top_img{
	width:1000px;
	height:750px;
	background-image:url(../../img/top_img01.png);
	background-size:auto 80%;
	background-repeat:no-repeat;
	background-position:top right;
	position:absolute;
	top:0;
	right:-130px;
}
#gnavi_top{
	width:220px;
	height:750px;
	position:absolute;
	top:0;
	left:0;
	font-size:14px;
	background-color:#624c3f;
	text-align:center;
	font-family: 'M PLUS 1', sans-serif;
	font-weight:400;
}
#gnavi_top ul{
	list-style:none;
	padding:0;
	margin:0;
}
#gnavi_top li{
	width:100%;
	margin:0 0 20px 0;
	text-align:center;
	letter-spacing:0.1em;
}
#gnavi_top a:link,#gnavi_top a:visited{
	display:block;
	text-decoration:none;
	padding-bottom:14px;
	color:#fff;
}
	
#gnavi_top a:hover{
	color:#F2954E;
}
#gnavi_top h2{
	width:70%;
	margin:100px auto;
}
#gnavi li.home a{
	padding-left:21px;
	margin-left:15px;
	color:#F2954E;
	font-weight:500;
	background-image:url(../img/tooth.png);
	background-repeat:no-repeat;
	background-size:16px auto;
	background-position:left center;
}
/* BOX *****************************************************/
.top_box01{
	background:linear-gradient(to bottom, #D6E9EC, #FFF);
	text-align:center;
	line-height:1.8em;
}
.top_box02{
	padding:60px 0 70px 0;
	background-color:#7aac9f;
}
.top_box02 p{
	padding:20px 50px;
	color:#EB5C4D;
	font-family: 'Montserrat', sans-serif;
	font-weight:600;
	border-radius:10em;
	background-color:#fff;
	display:inline-block;
	font-size:32px;
	letter-spacing:0.1em;
}
.top_box02 p a{
	color:#EB5C4D;
	text-decoration:none;
}
.top_box03{
	width:700px;
	margin:0 auto -110px auto;
	padding:70px 0 0 0;
	position:relative;
	z-index:998;
}
.top_box03 p{
	margin-bottom:25px;
	
}
.top_box03 a{
	display: inline-block;
	line-height: 0;
	position: relative;
}
.top_box03 a:before{
	content: "";
	display: block;
	border-radius:2em;
	background-color: rgba(255,255,255,0.5);
	opacity: 0.0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	-ms-transition-duration: 0.3s;
}
.top_box03 a:hover:before{
	opacity: 1.0;
}


/* パーツ **************************************************/
.top_parts01{
	width:65px;
	position:absolute;
	left:380px;
	top:80px;
}
.top_parts02{
	width:900px;
	padding:0 50px 0 50px;
	margin:0 auto -80px auto;
}
.top_parts03{
	width:1000px;
	height:400px;
	margin:0 auto;
	background-image:url(../../img/top_img04A.png);
	background-repeat:no-repeat;
	background-size:100% auto;
	background-position:center bottom;
	position:relative;
}
.top_parts03 .cbou2,.top_parts03 .pbei2,.top_parts03 .gsuke2{
	width:70px;
	position:absolute;
}
.top_parts03 .cbou2{left:100px;top:140px;}
.top_parts03 .gsuke2{left:250px;top:90px;}
.top_parts03 .pbei2{left:400px;top:80px;}
.top_parts03 .shirochan{
	width:250px;
	position:absolute;
	left:280px;
	bottom:30px;
	z-index:995;
}
.top_parts03 .kanban{
	width:70px;
	position:absolute;
	right:350px;
	bottom:30px;
}
.top_parts03 .kitagawa{
	width:200px;
	position:absolute;
	left:10px;
	bottom:-15px;
}
.top_parts03 .muni{
	width:60px;
	position:absolute;
	left:220px;
	bottom:25px;
}
.top_parts04{
	width:700px;
	margin:-100px auto 30px auto;
	padding-top:160px;
	background-image:url(../../img/top_img09.png);
	background-repeat:no-repeat;
	background-position:top right;
	background-size:auto 150px;
}
.top_parts05{
	width:650px;
	margin:70px auto 0 auto;
	padding:20px 25px;
	border:#FFF solid 2px;
	border-radius:2em;
}
.top_parts05 h5{
	 margin-top:-35px;
	 padding:0 10px;
	 display:inline-block;
	 font-family: "Zen Maru Gothic", sans-serif;
	 font-size:15px;
	 color:#fff;
	 background-color:#7AAC9F;
}
.top_parts05 h5 span{
	color:#F3EF77;
}
.top_parts05 p{
	margin:0 0 15px 0;
	display:block;
	font-size:30px;
	font-family: "Montserrat", sans-serif;
	font-weight:500;
	box-sizing:border-box;
	background:none;
	line-height:0;
}
.top_parts05 p a{
	color:#F3EF77;
}
.top_parts05 b{
	padding:5px 15px;
	display: inline-block;
	color:#7AAC9F;
	background-color:#F3EF77;
	font-size:15px;
}
.top_parts05 b a{
	color:#7AAC9F;
	text-decoration:none;
}
.top_parts05 img{
	width:280px;
	margin:30px auto 0 auto;
	display:block;
}

/* UL.LI **************************************************/
.top_parts02 ul{
	list-style:none;
	padding:0;
}
.top_parts02 li{
	width:275px;
	margin:0 10px;
	padding-top:60px;
	float:left;
	position:relative;
	background-repeat:no-repeat;
	background-size:60px auto;
}
.cbou{
	background-image:url(../../img/top_img07A.gif);
	background-position:top left 20%;
}
.gsuke{
	background-image:url(../../img/top_img07B.gif);
	background-position:top right 20%;
}
.pbei{
	background-image:url(../../img/top_img07C.gif);
	background-position:top right 40%;
}
.top_parts05 ul{
	padding:0 0 0 0;
}
.top_parts05 li{
	margin:0 2.5px;
	padding:10px 17px;
	border-radius:10em;
	display:inline-block;
	background-color:#fff;
	font-size:13px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:500;
	color:#45382C;
	letter-spacing:0.1em;
}

/* その他 **************************************************/
.shiro_navi {
  width:15vw;
  min-width:150px;
  max-width:200px;
  text-decoration: none;
  position: fixed;
  top: 90px;
  right: 20px;
  color: #fff;
  transition: 0.2s;
  opacity: 0;
  z-index:1000;
}
.txt_attention{
	background-color:#FDE1AC;
}
.top_parts03 .fukidashi {
      display: none;
      width: 250px;
      position: absolute;
}
.top_parts03 img:hover + .fukidashi {
      display: block;
	  animation-name: fade;
      animation-duration: 0.3s;
      animation-iteration-count: 1;
}
.new_icon{
	width:170px;
	bottom:-50px;
	right:20px;
	position:absolute;
	z-index:888;
}

/* モーダル */
.layer_board_bg,
.layer_board {
position: absolute;
}
.layer_board_bg {
position: fixed;
width: 100%;
height: 100%;
z-index: 1001;
top: 0;
left: 0;
display: none;
cursor: pointer;
background: #604C3F;
}
.layer_board {
	width:750px;
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
background: #fff;
text-align: left;
z-index: 2000;
padding: 140px 50px 50px;
color:#604C3F;
font-size:14px;
border-radius:1em;
background-image:url(../../img/top_oshirase_chara.png);
background-repeat:no-repeat;
background-position:top 35px center;
background-size:22% auto;
line-height:2;
}
.layer_board h4{
	padding-bottom:3%;
	text-align:center;
	font-size:25px;
	color:#604C3F;
}
.layer_board p {
	padding:0 0 5px 0;
	margin:15px 0 15px 0;
	font-size:16px;
	color: #E83828;
	border-bottom:#E83828 solid 1px;
	text-align:center;
	font-weight:600;
}
.layer_board b{
	margin-top:15px;
	display:block;
	text-align:right;
	font-weight:500;
	font-size:110%;
}
.btn_close {
display: block;
text-decoration: none;
background: #fff;
color: #604C3F;
border:#604C3F 1px solid;
text-align: center;
padding: 15px 0;
width: 200px;
margin: 5% auto 0 auto;
}
.modal_btn{
	text-align:center;}
.modal_btn a{
	margin:50px auto 20px auto;
	padding:15px 60px;
	border-radius:2em;
	background-color:#F2954E;
	color:#fff;
	font-size:16px;
	text-decoration:none;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight:500;
	display:inline-block;
	line-height:1.5 !important;
}

.blinking a{
	-webkit-animation:blink 1.0s ease-out infinite alternate;
    -moz-animation:blink 1.0s ease-out infinite alternate;
    animation:blink 1.0s ease-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
.blinking a:hover{
	-webkit-animation:1.0s ease-in-out;
    -moz-animation:1.0s ease-in-out;
    animation: 1.0s ease-in-out;
}


@keyframes fade {  /*←animation-nameにも同じ名前を記述*/
0% {
  opacity: 0;
}
 100% {
  opacity: 1;
} 
}
.top_parts03 .cbou2 .fukidashi {bottom: 100px;left: -180px; z-index:994}
.top_parts03 .gsuke2 .fukidashi {bottom: 100px;left: 0;}
.top_parts03 .pbei2 .fukidashi {bottom: 100px;left: -40px;}
.top_parts03 .shirochan .fukidashi {bottom: 165px;left: 100px; z-index:995;}
.top_parts03 .kanban .fukidashi {bottom: 40px;left: 60px; z-index:996;}
.top_parts03 .kitagawa .fukidashi {bottom: 100px;left: -40px;z-index:996;}
.top_parts03 .muni .fukidashi {bottom: 75px;left: -30px;z-index:996;}
@media (max-width: 900px) {
#top_logo{
	width:80%;
	margin:0 auto;
	padding:13vw 0 0 0;
	position: static;
}
#top_logo .fukidashi { 
    width:20vw;
	bottom: auto;
	top:29vw;
	left: 10vw;
}
h3{
	padding:6% 3% 2% 3%;
	font-size:calc(11px + 2vw);
	line-height:1.5;
	letter-spacing:0.05em;
}
h4{
	padding:0;
	margin:0;
	font-size:calc(11px + 2vw);
}
#header_top_in{
	width:100%;
	height:150vw;
}
#header_top_img{
	width:100%;
	height:95vw;
	background-image:url(../../img/sp_top_img01.png);
	background-size:auto 80%;
	background-position:center center;
	position: static;
}
#gnavi_top{
	display:none;
}
#gnavi_sp li.home a{
	padding-left:9%;
	color:#F2954E;
	background-image:url(../img/tooth.png);
	background-repeat:no-repeat;
	background-size:2.7vw auto;
	background-position:left 5% center;
}
/* footer *************************************************900*/
#footer.top{
	padding:3vw 0 20vw 0;
}
/* BOX ****************************************************900*/
.top_box01{
	width:90%;
	padding:7% 5%;
	line-height:1.8em;
}
.top_box02{
	padding:8% 0 7% 0;
}
.top_box02 p{
	padding:2.5% 5%;
	border-radius:10em;
	font-size:calc(11px + 3vw);
	letter-spacing:0.1em;
}
.top_box03{
	width:90%;
	margin:0 auto -10vw auto;
	padding:7% 0 0 0;
}
.top_box03 p{
	margin-bottom:3%;
	
}
.top_box03 a:before{
	content: "";
	display: block;
	border-radius:4vw;
}
/* パーツ *************************************************900*/
.top_parts01{
	width:100%;
	font-size:calc(11px + 3vw);
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight:500;
	color:#EB5C4D;
	line-height:1.7;
	position:static;
}
.top_parts02{
	width:94%;
	padding:0 3%;
	margin:0 auto -13vw auto;
}
.top_parts02 li{
	width:31.3%;
	margin:0 1%;
	padding-top:12%;
	background-size:35% auto;
}
.cbou{
	background-position:top left 20%;
}
.gsuke{
	background-position:top right 20%;
}
.pbei{
	background-position:top right 40%;
}
.top_parts03{
	width:100%;
	height:45vw;
	margin:0 auto;
}
.top_parts03 .cbou2,.top_parts03 .pbei2,.top_parts03 .gsuke2{
	width:10vw;
}
.top_parts03 .cbou2{left:6vw;top:13vw;}
.top_parts03 .gsuke2{left:20vw;top:3vw;}
.top_parts03 .pbei2{left:40vw;top:8vw;}
.top_parts03 .shirochan{
	width:27vw;
	left:39vw;
	bottom:auto;
	top:25vw;
}
.top_parts03 .kanban{
	width:10vw;
	right:8vw;
	bottom:0vw;
}
.top_parts03 .kitagawa{
	width:30vw;
	left:15vw;
	bottom:-2vw;
}
.top_parts03 .muni{
	width:10vw;
	left:2vw;
	bottom:-3vw;
}

.top_parts04{
	width:90%;
	margin:-10% auto 3% auto;
	padding-top:20%;
	background-position:top right;
	background-size:23% auto;
}
.top_parts05{
	width:84%;
	margin:12% auto 5% auto;
	padding:2% 2% 4% 2%;
}
.top_parts05 h5{
	 margin-top:-35px;
	 padding:0 2%;
	 font-size:calc(11px + 0.8vw);
}
.top_parts05 p{
	margin:0 0 3% 0;
	font-size:calc(11px + 2vw);
}
.top_parts05 b{
	padding:1% 2%;
	display: inline-block;
	font-size:calc(11px + 0.8vw);
}
.top_parts05 img{
	width:50%;
	margin:4% auto 0 auto;
}
/* UL LI *************************************************900*/

.top_parts05 li{
	width:80%;
	margin:0 auto 2.5% auto;
	padding:2% 1.5%;
	display:block;
	font-size:calc(11px + 1vw);
}


/* その他 *************************************************900*/
.shiro_navi {
  width:100%;
  min-width:100%;
  max-width:100%;
  height:11.5vw;
  padding-top:3vw;
  top: auto;
  right: auto;
  bottom:0;
  background-color:#e87638;
  font-family: 'Kaisei Decol', serif;
  text-align:left;
  font-size:calc(11px + 1.5vw);
}
.shiro_navi a{
	display:block;
	color:#fff;
	text-decoration:none;
}
.shiro_navi img{
	width:14.6vw;
	margin-top:-8vw;
	padding:0 5vw 0 5vw;
	float:left;
}
.new_icon{
	width:30%;
	bottom:30vw;
	right:5vw;
}
.top_parts03 .fukidashi {
      width: 60vw;
}
.top_parts03 .cbou2 .fukidashi {bottom: 16vw;left: 0;}
.top_parts03 .gsuke2 .fukidashi {bottom: 16vw;left: 0;}
.top_parts03 .pbei2 .fukidashi {bottom: 16vw;left: -20vw;}
.top_parts03 .shirochan .fukidashi {bottom: 24vw;left:-13vw;}
.top_parts03 .kanban .fukidashi {bottom: 10vw;left: -60vw;}
.top_parts03 .kitagawa .fukidashi {bottom: 14vw;left: -8vw;}
.top_parts03 .muni .fukidashi {bottom: 14vw;left: 0;}

#page-top.top {
    bottom: 15vw !important ;
}

.top_obj01.kitagawa:active + .fukidashi{
	display: block;
}

/* モーダル */
.layer_board {
	width:70%;
    padding: 17% 4% 6% 4%;
    font-size:calc(11px + 0.5vw);
    border-radius:2vw;
    background-position:top 4.5% center;
    background-size:32% auto;
	line-height:1.8;
}
.layer_board h4{
	padding-bottom:2%;
	font-size:calc(11px + 2vw);
}
.layer_board p {
	padding:0 0 1% 0;
	font-size:calc(11px + 1vw);
    margin:2% 0 3% 0;
	line-height:1.5;
}
.layer_board b{
	margin-top:2.5%;
}
.btn_close {
	margin: 6% auto 0 auto;
    padding: 2% 0;
    width: 50%;
}
.modal_btn a{
	margin:5% auto 2% auto;
	padding:3% 5%;
	border-radius:2em;
	font-size:font-size:calc(11px + 1vw);
}

@media (max-width: 580px) {
#top_logo{
	width:85%;
	padding:23vw 0 0 0;
}
#top_logo .fukidashi { 
    width:35vw;
	bottom: auto;
	top:40vw;
	left: 4vw;
}
h3{
	padding:6% 3% 2% 3%;
	font-size:calc(11px + 3vw);
	text-align:center;
}
h4{
	padding:5% 0 0 0;
	margin:0;
	font-size:calc(11px + 3vw);
}
#header_top_in{
	width:100%;
	height:160vw;
}
#header_top_img{
	width:100%;
	height:95vw;
	background-image:url(../../img/sp_top_img01.png);
	background-size:auto 80%;
	background-position:center center;
	position: static;
}
#gnavi_sp li.home a{
	padding-left:10.5%;
	background-size:4vw auto;
}
/* footer *************************************************580*/
#footer.top{
	padding:5vw 0 35vw 0;
}
/* BOX ****************************************************580*/
.top_box01{
	width:90%;
	padding:13% 5%;
	line-height:1.8em;
	text-align:left;
}
.top_box02{
	padding:8% 0 7% 0;
}
.top_box02 p{
	padding:2.5% 5%;
	border-radius:10em;
	font-size:calc(11px + 3vw);
	letter-spacing:0.1em;
}


.shiro_navi {
  width:100%;
  height:14.5vw;
  padding-top:3.5vw;
  font-size:calc(11px + 1vw);
  letter-spacing:0;
}
.shiro_navi img{
	width:21vw;
	margin-top:-13.5vw;
	padding:0 4vw 0 3vw;
}
/* パーツ *************************************************580*/
.top_parts03{
	height:40vw;
}
.top_parts03 .cbou2,.top_parts03 .pbei2,.top_parts03 .gsuke2{
	width:13vw;
}
.top_parts03 .cbou2{left:10vw;top:10vw;}
.top_parts03 .gsuke2{left:30vw;top:1vw;}
.top_parts03 .pbei2{left:50vw;top:1vw;}
.top_parts03 .shirochan{
	width:32vw;
	left:40vw;
	top:20vw;
}
.top_parts03 .kanban{
	width:15vw;
	right:5vw;
	bottom:-6vw;
}
.top_parts04{
	margin:0 auto 3% auto;
	padding-top:25%;
	background-position:top center;
	background-size:31% auto;
}
.top_parts05{
	width:84%;
	margin:15% auto 5% auto;
	padding:2% 2% 3% 2%;
	border-radius:1em;
}
.top_parts05 h5{
	 margin-top:-7vw;
	 margin-bottom:4vw;
	 padding:0 2%;
	 font-size:calc(9px + 2vw);
}
.top_parts05 p{
	margin:0 0 5% 0;
	font-size:calc(11px + 1.6vw);
}
.top_parts05 b{
	padding:2% 4%;
	display: inline-block;
	font-size:calc(9px + 0.7vw);
}
.top_parts05 img{
	width:70%;
	margin:7% auto 0 auto;
}
/* UL LI *************************************************580*/

.top_parts05 li{
	width:90%;
	margin:0 auto 3% auto;
	padding:2.5% 1.5%;
	font-size:calc(9px + 1vw);
}

/* モーダル */
.layer_board {
	width:80%;
    padding: 7% 6%;
	background-image:none;
	line-height:1.5;
	font-size:calc(11px + 0.8vw);
}
.layer_board h4{
	margin:0;
	padding:0 0 5% 0;
	font-size:calc(11px + 2vw);
}
.layer_board p {
	padding:0 0 1.5% 0;
	font-size:calc(11px + 1.5vw);
	line-height:1.3;
}
.layer_board b{
	margin-top:6%;
	text-align:center;
	font-size:100%;
}
.btn_close {
	margin: 7% auto 0 auto;
    padding: 3% 0;
    width: 70%;
}
.modal_btn a{
	width:100%;
	margin:6% auto 2% auto;
	padding:4% 0;
	font-size:calc(10px + 1.5vw);
	border-radius:1em;
}
/* その他 *************************************************580*/
.new_icon{
	width:40%;
}
}
@media (max-width: 450px) {
.shiro_navi {
	font-size:calc(9px + 1vw);
}
}