@charset "utf-8";
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility: hidden;
}
html{ margin: 0; padding: 0; /*scroll-padding-top: 100px;*/}
body {
	margin: 0;
	padding: 0;
    width: 100%;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 16px;
	font-weight:500;
    color:#000;
    line-height:180%;
    word-break: break-all;
    overflow-x: hidden;
}
img {
	border: none;
	vertical-align:bottom;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
img, video, object {
    max-width: 100%;
    height: auto;
    border: none;
}
img {
	display: block;
    width: 100%; height: auto;
	image-rendering: smoothe !important;
}
iframe { border: none;}

a:link {color: blue; outline:none; text-decoration: none;}
a:visited {color: blue;}
a:hover {color: #222; text-decoration: underline;}
a:hover img { opacity: 0.7; filter: alpha(opacity=70);}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}

i.material-icons { vertical-align: middle;}

.pc {display: inherit;}
.pctb {display: inherit;}
.tb {display: none;}
.tbsp {display: none;}
.sp {display: none;}
@media only screen and (min-width:768px){
    a:hover {color:red; text-decoration: underline; transition:0.3s; }
    a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .pc {display:none;}
    .pctb {display:inherit;}
    .tb {display:inherit;}
    .tbsp {display: none;}
    .sp {display:none;}
}
@media only screen and (max-width:468px){
    body { min-width: 468px; width: 468px;}
    .pc {display:none;}
    .pctb {display:none;}
    .tb {display:none;}
    .tbsp {display:inherit;}
    .sp {display:inherit;}
}



/* =========================================================================================
Layout
=========================================================================================*/
#wrapper{
    position:relative;
}
#container{
}
article {
}
section {
}
.inner {
    position:relative;
    margin: 0 auto;
    padding: 100px 0;
    width: 96%;
    max-width: 1200px;
    box-sizing:border-box;
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}



/*====================================================================================================
  HEADER
====================================================================================================*/
#header {
    position:absolute; top:0; right: 0;
    display: flex; flex-direction: column; justify-content: center; gap:20px;
    padding: 40px 20px;
	z-index: 999;
}
#header .inner { display: flex; justify-content: space-between; padding:30px 0; width: 100%;}

/* LOGO */
#header h1 { width: 85px;}
#header h1 a {
    display: block;
    width:100%; height: auto; aspect-ratio: 1 / 1;
    text-indent: -9999px;
    background: url("../image/logo.svg") no-repeat center center;
    background-size: 100% auto !important;
}

/* NAV */
#header #nav { width: 85px;}
#header #nav ul { 
    display: flex; flex-direction: column; justify-content: center; gap:20px;
}
#header #nav ul li a {
    display: block;
    width:100%; height: auto; aspect-ratio: 1 / 1;
    background-size: 100% auto !important;
    text-indent: -9999px;
}
#header #nav ul li:nth-child(1) a { background: url("../image/nav1.svg") no-repeat;}
#header #nav ul li:nth-child(2) a { background: url("../image/nav2.svg") no-repeat;}
#header #nav ul li:nth-child(3) a { background: url("../image/nav4.svg") no-repeat;}
#header #nav ul li:nth-child(4) a { background: url("../image/nav5.svg") no-repeat;} 
#header #nav ul li:nth-child(5) a { background: url("../image/icon_x.svg") no-repeat center center; background-size:30px auto !important;} 
@media only screen and (min-width:768px){
    #header #nav ul li a:hover { opacity: 0.7;}
}
@media only screen and (max-width:768px){
    #header {
        position:static;
        flex-direction:row; justify-content:space-between;
        width: 100%;
        padding: 10px;
    }
    #header h1 { width: 60px;}
    #header #nav { width: calc(100% - 60px);}
    #header #nav ul { flex-direction: row; justify-content: flex-end; gap:15px;}
    #header #nav ul li { width: 60px;}
}
@media only screen and (max-width:468px){
}



/*====================================================================================================
  CONTENT
====================================================================================================*/
#content { clear:both; width:100%; }


.anime { position:absolute; z-index: 9;}
.anime1 { top: 0; right:-4%; animation: poyoyon2 1s ease-in-out forwards;}
.anime1 img { max-width: 119px; aspect-ratio: 119 / 82;}
.anime2 { top:-70px; right:2%;}
.anime2 img { max-width: 153px; aspect-ratio: 153 / 115;}
.anime3 { top:-180px; left:300px; animation: fuwafuwa 3s ease-in-out infinite alternate;}
.anime3 img { max-width: 180px; aspect-ratio: 209 / 285;}
.anime4 { top:-100px; left:50px;}
.anime4 img { max-width: 180px; aspect-ratio: 202 / 285;}
.anime5 { position:absolute; top:50px; left:250px; display: flex; flex-wrap: wrap; gap:20px;}
.anime5 span { max-width: 105px;}
.anime5 img { aspect-ratio: 105 / 102; transform: .3s;}
.anime5 img:hover { animation: coin 0.5s linear 1;}
.anime6 { position: absolute; top:-150px; left: 0; right: 0; margin: auto; width: 234px;}
.anime6 img { width: 234px; height:auto; aspect-ratio: 234 / 247;}
@keyframes poyoyon2 {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
@keyframes coin {
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
@media only screen and (max-width:768px){
    .anime2 { top:-50px; right:15%;}
    .anime2 img { max-width:100px;}
    .anime3 { top:-140px; left:200px;}
    .anime3 img { max-width: 120px;}    
    .anime4 { top:-20px; left:20px;}
    .anime4 img { max-width: 120px;}
    .anime5 { top:30px; left:150px; gap:10px;}
    .anime5 span { max-width: 60px; display: none;}
    .anime5 span:nth-child(1),
    .anime5 span:nth-child(2),
    .anime5 span:nth-child(3) { max-width: 60px; display: block;}
}





/* CONTACT */
.contact { padding:60px 0; background:rgba(0,0,0,0.03); overflow: hidden;}
.contact div { float:left; width: 33.3%; text-align: center; position: relative;}
.contact div + div { border-left: 1px solid #ddd;}
.contact b,
.contact small { display: block;}
.contact b { font-size:125%; font-weight: 600;}
.contact a { display: block; color:#222; text-decoration: none;}
.contact .cont_tel b  { font-size:137%; }
.contact .cont_tel a::before,
.contact .cont_mail a::before,
.contact .cont_youtube a::before {
    display: block; content:""; clear: both;
    margin: auto; width: 80px; height: 80px;
    background:url("../image/icon_tel.png") no-repeat;
}
.contact .cont_tel a::before  {background:url("../image/icon_tel.png") no-repeat;}
.contact .cont_mail a::before  {background:url("../image/icon_mail.png") no-repeat;}
.contact .cont_youtube a::before {background:url("../image/icon_youtube.png") no-repeat;}
@media only screen and (min-width:750px){
    .contact a:hover { color:#007cb2; opacity: 0.7;}
    .contact div::after,
    .contact div::before {
        display: block; content:""; clear: both;
        position: absolute; top: -60px;
        width:0; height: 3px;
        background: #007cb2;
        transition: 0.5s;
    }
    .contact div::after { left:50%;}
    .contact div::before { right:50%;}
    .contact div:hover::after,
    .contact div:hover::before { width:50%;}
}
@media only screen and (max-width:750px){
    .contact { display: none;}
    
}


/*====================================================================================================
  FOOTER
====================================================================================================*/
#footer { 
    position: relative;
    display: flex; flex-direction: column; gap:40px;
    padding: 100px 0 50px;
    width:100%; background:#fff;
}
#footer .logo {
    margin: auto;
    width: 60%; max-width: 442px; height: auto; aspect-ratio: 442 / 132;
    text-indent: -9999px;
    background:url("../image/logo2.svg") no-repeat;
    background-size: 100% auto;
}
#footer .add,
#footer .copy { text-align: center; font-size: 87.5%; line-height: 180%;}
@media only screen and (min-width:768px){
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}



/*====================================================================================================
  PAGE
====================================================================================================*/
#page,
#page a { display:block; width:50px; height:50px;}
#page { position: fixed; bottom:90px; right:20px; z-index: 999999;}
#page a { text-indent: -9999px; background:#007cb2 url(../image/page_top.png) no-repeat;}
@media only screen and (max-width:768px){
    #page { bottom:10px; right:10px;}
}



/*====================================================================================================
  COLOR eto.. [No Touch]
====================================================================================================*/
.light-blue { color: #40A6DD;}
.blue { color: #0000FF;}
.dark-blue { color: #000099;}
.purple { color: #660099;}
.pink { color: #FF6699;}
.red { color: #FF0000;}
.orange { color: #FF6600;}
.yellow { color: #FFCC00;}
.white { color: #FFFFFF;}
.gray { color: #666666;}
.brown { color: #663300;}
.green { color: #339900;}
.italic { font-style: italic;}
.strong { font-weight: bold;}
.large { font-size: 115%; line-height: 140%;}
.small { font-size: 80%;}
.underline { text-decoration: underline;}
.line-through { text-decoration: line-through;}
.left { text-align: left;}
.center { text-align: center;}
.right { text-align: right;}