﻿/* ----------------------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Mochiy+Pop+One&display=swap');
body {
    line-height: 1.8;overflow: hidden;
}
.font_2dw {
    font-size: 16px
}
#main_img {
    padding-top: 0;
    margin-top: 87px;
}
.red {
    color: #ed4a4a;
    font-size: 40px;
}
h2, h3, h4, #info_title_box .info_title span, .cate_list li a, #header_menu li a {
font-family: 'Mochiy Pop One', sans-serif;
letter-spacing: 0.15rem;
line-height: 1.5;
 }
#header_menu li a span {
     font-weight: normal!important;
 } 
.catch {
    z-index: 1;
    right: 4%;
    top: 14%;
    filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.9));
    width: 19%;
}
.intro_no {
    opacity: 1;
    color: #5fb500;
    margin-bottom: 0px;
}
#wrap {
    background-image: url(Dup/img/kazari_r3.png);
    background-repeat: no-repeat;
    background-position: left 100%  bottom 200px;
    background-size: 337px;
}
.con_box.trans .con_item1, .con_box.trans .con_item2 {
  animation: poyon 1.1s linear 0s 1;
  animation-delay: 1.8s;
}
.top_cms_box:first-of-type {
    background-image: url(Dup/img/bingata.png);
    background-size: 330px;
    background-color: #fff;
}
.kumo1, .kumo1-2 {
    z-index: 1;
    width: 300px;
    left: -95px;
    top: 3%;
animation: huwahuwa 2.8s infinite;
}
.kumo2, .kumo2-2 {
    width: 300px;
    z-index: 1;
    right: -116px;
    bottom: 68px;
animation: huwahuwa 2.8s infinite;
}
.kumo3, .kumo3-2 {
    z-index: 1;
    width: 300px;
    left: -75px;
    top: 77%;
animation: huwahuwa 2.8s infinite;
}
.kumo1-2 {
    top: -150px;
}
.kumo2-2 {
    right: -130px;
    top: -90px;
}
.kumo3-2 {
    left: -152px;
    top: inherit;
    bottom: -117px;
    pointer-events: none;
}
@keyframes huwahuwa {
    0%{
       transform: translateY(0px);
    }
    50%{
      transform: translateY(10px);
    }
    100%{
      transform: translateY(0px);
    }
}
main.pd_b-50px {
    padding-bottom: 0;
}
@keyframes poyon {
  0%   { transform: scale(0.8, 1.4) translate(0%, -100%); }
  10%  { transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  70%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
#intro .intro_wrap {
    background-color: transparent;
}
.intro_wrap h2 {
    text-shadow: 1px 1px 1px #fcf9da, -1px 1px 1px #fcf9da, 1px -1px 1px #fcf9da, -1px -1px 1px #fcf9da, 1px 0px 1px #fcf9da, 0px 1px 1px #fcf9da, -1px 0px 1px #fcf9da, 0px -1px 1px #fcf9da;
}
.intro_wrap p {
    text-shadow: 1px 1px 1px #fcf9da, -1px 1px 1px #fcf9da, 1px -1px 1px #fcf9da, -1px -1px 1px #fcf9da, 1px 0px 1px #fcf9da, 0px 1px 1px #fcf9da, -1px 0px 1px #fcf9da, 0px -1px 1px #fcf9da;
    background-image: radial-gradient(rgb(252 249 218 / 86%) 31%, rgb(252 249 218 / 50%) 62%, rgb(252 249 218 / 13%) 70%, #fcf9da00 0%);
}
/* ----------------------------------------------------------------------------------------- */
#foot_banner a {
    padding: 21px 53px 21px 96px;
}
#foot_banner .foot_icon {
    width: 51px;
    left: 24px;
}
header {
    padding-bottom: 4px;
    background-color: rgb(255 255 255 / 97%);
}
header #header #header_menu li a span {
    padding-top: 5px;
}
header #header #header_menu li:last-child a span {
    border-radius: 20px;
}
#header_menu li{
padding-top: 3px;	
}
#header_menu li a:before {
    width: 100%;
    height: 48px;
    background-repeat: no-repeat;
    background-position: left 50% bottom 0;
    background-size: auto 86%;
    content: "";
    display: block;
    transition: all 0.3s;
}
#header_menu li a:hover:before {
    background-position: left 50% bottom 5px;
}
#header_menu li:nth-of-type(1) a:before {
    background-image: url(Dup/img/icon1.png);
}
#header_menu li:nth-of-type(2) a:before {
    background-image: url(Dup/img/icon2.png);
}
#header_menu li:nth-of-type(3) a:before {
    background-image: url(Dup/img/icon3.png);
}
#header_menu li:nth-of-type(4) a:before {
    background-image: url(Dup/img/icon4.png);
}
#header_menu li:nth-of-type(5) a:before, #top_cms .top_cms_box:nth-of-type(3) .cms_title {
    background-image: url(Dup/img/icon5.png);
}
#header_menu li:nth-of-type(6) a:before, #top_cms .top_cms_box:nth-of-type(4) .cms_title {
    background-image: url(Dup/img/icon6.png);
}
#info {
    padding-top: 35px;
}
/* ----------------------------------------------------------------------------------------- */
video {
    vertical-align: bottom;
}
.svg_box.txt_color5 {
    color: #f6efab;
    color: #fdeba5;
}
#contents .svg_box {
    display: none;
}
.con_no {
    position: absolute;
    font-size: 6vw;
    line-height: 1;
    top: 9px;
    opacity: 0.24;
    font-weight: bold;
}
.cms_title {
    background-image: url(Dup/img/icon2.png);
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: 75px;
    padding-top: 69px;
}
#top_cms {
    background-image: url(../Dup/img/line.png), url(../Dup/img/line.png);
    background-size: 30px;
    background-color: #ffffff;
    background-repeat: repeat-y;
    background-position: 0, 100%;
}
#intro_bg {
    background-image: url(Dup/img/kazari_l3.png), url(Dup/img/kazari_r3.png);
    background-repeat: no-repeat;
    background-position: 0 0%, 100% 100%;
    background-size: 337px;
}
/* ----------------------------------------------------------------------------------------------- */
#filter_white {
	background-color: rgba(255, 255, 255, 0.59);
}
#page_title h2, #page_title p {
text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff, -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff, 0px -1px 1px #ffffff;
}
.cate_list li a {
	padding: 7px 22px;
	font-size: 16px;
	border-radius: 53px;
}
.link_type2 .cate_box a {
    color: #fff;
    border-radius: 15px;
}
.link_type2 .cate_box a:before, .link_type2 .cate_box a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(151 132 0 / 48%);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: #e7cf48;
    transition: 0.5s;
	z-index: 3;
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 2;
}
.link_type2 .more {
	letter-spacing: 3px;
    box-sizing: border-box;
	opacity: 0;
	transition: opacity .8s;
	z-index: 4;
}
.link_type2 .cate_box a:hover .more {
    opacity: 1;
}

/* --------------------------------------------------------------------------------------------------- */

@media(max-width: 768px) {
.con_no {
    font-size: 10vw;
    top: 7px;
}
#logo .logo {
    width: 172px;
    padding-top: 6px;
}
#header_menu li a:before {
    height: 28px;
}
#main_img {
    margin-top: 141px;
    height: 57vw;
}
.catch {
    width: 26%;
    top: 5%;
    right: 2.5%;
}
.kumo2 {
    bottom: 60%;right: -23px;
}
.kumo3 {
    width: 247px;
    left: -29px;
    top: inherit;
    bottom: 57%;
}
}

@media(max-width: 667px) {
.red {
    font-size: 30px;
}
#main_img {
    margin-top: 70px;
}
#intro_bg {
    background-position: -48px -8px, 100% 100%;
    background-size: 216px;
}
#top_cms {
    padding-top: 50px;
}
#contents .con_title {
    margin-bottom: 25px;
}
.top_cms_box .cms_title h2 {
    font-size: 22px;
}
.con_no {
    font-size: 19vw;
    top: 5px;
}
.kumo1 {
    width: 186px;
    left: -20px;
    top: -5%;
}
.kumo2 {
    bottom: 95%;
    right: -23px;
    width: 177px;
}
.kumo3 {
    width: 151px;
    left: -16px;
    top: inherit;
    bottom: 94%;
}
.kumo1-2 {
    width: 150px;
    left: -30px;top: -130px;
}
.kumo2-2 {
    width: 150px;
    right: -60px;
}
.kumo3-2 {
    width: 150px;
   left: -50px;
}
#top_cms .top_cms_box {
    margin-bottom: 50px;
}
#foot_banner a {
    padding: 14px 20px 14px 65px;
}
#foot_banner .foot_icon {
    width: 43px;
    left: 24px;
}
}