﻿.cate_no {
font-family: 'Alfa Slab One', cursive !important;
}
.linkStyle {
  color: #000000;
}
#contents_links .box_wrap .box .txt_white .bg_color3, #page_top, .date {
    background-color: #f11683;
}
.cate_no, .txt_color3 {
  color: #f11683;
}
.border_color3 {
    border-color: #f11683;
}
#intro_box {
    background-color: rgb(241, 22, 131);
}
#main_img img {
    width: 160%;
}
#main_img .pd_r-5per {
    padding-right: 18%;
}
.txt_anim span{
	position: relative;
    right: 20px;
    opacity: 0;
	transition: all 1.9s;
}
.txt_anim span.start{
	right: 0;
	opacity: 1;
}
.cms_2-d .cate_wrap {
  display: block;
}
.cms_2-d .cate_wrap .flex_top-center {
    justify-content: left;
}
#top_cms .top_cms_box .top_cms_title p {
    font-size: 80px;
}
#intro .txt_anim {
	position: relative;
}
#intro .txt_anim:before {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/mega.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 15%;
    height: 80px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 40px;
}
#intro .txt_center {
    padding-top: 150px;
}
.view {
    top: -9%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 50%;
}
#intro #intro_box #intro_txt h3:before {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/intro.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 150px;
    height: 80px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: -120px;
}
#top_cms .top_cms_title h3 {
	position: relative;
}
#top_cms .top_cms_title h3:before {
	position: absolute;
	content: "";
	background-image: url("./Dup//img/check.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top left;
	width: 100px;
	height: 100px;
	top: -80px;
	left: -40px;
}
#contents h3 {
    font-size: 90px;
    margin-bottom: 200px;
    line-height: 1;
    padding-left: 50px;
}
#loader::after, .sm-slider::after, #menu_wrap::after, #page_title::before {
    background: rgb(26, 40, 81);
    background: -moz-linear-gradient(left, rgba(26, 40, 81, 0) 0%,rgba(241, 22, 131, 1) 100%) !important;
    background: -webkit-linear-gradient(left, rgba(26, 40, 81, 0) 0%,rgba(241, 22, 131, 1) 100%) !important;
    background: linear-gradient(to right, rgba(26, 40, 81, 0.6) 0%,rgba(26, 40, 81, 1) 100%) !important;
}
/*#loader::after, .sm-slider::after, #menu_wrap::after {
    background: rgb(26, 40, 81);
    background: -moz-linear-gradient(left, rgba(26, 40, 81, 0) 0%,rgba(241, 22, 131, 0) 100%) !important;
    background: -webkit-linear-gradient(left, rgba(26, 40, 81, 0) 0%,rgba(241, 22, 131, 0) 100%) !important;
    background: linear-gradient(to right, rgba(26, 40, 81, 0.6) 0%,rgba(26, 40, 81, 0.8) 100%) !important;
}*/
.cate_list li .cate_no {
    position: absolute;
    z-index: 1;
    font-size: 40px;
    bottom: 14px;
    left: -16px;
    opacity: 0.3;
    transition: ease 0.3s;
}
#page_title > div p {
    position: absolute;
    bottom: 12px;
    width: 100%;
    opacity: 0.4;
    font-size: 60px;
    letter-spacing: 10px;
    z-index: 1;
    opacity: 0;
    transform: translateY(10px);
    transition: ease 1.2s;
}
#cms_2-a .box_title1 {
    border-bottom: 2px solid #1a2851;
    margin-bottom: 15px;
    padding-bottom: 5px;
}
#contents h4 {
    font-size: 40px;
    text-shadow: 
    #1A2851 2px 0px 0px, #1A2851 -2px 0px 0px,
    #1A2851 0px -2px 0px, #1A2851 0px 2px 0px,
    #1A2851 2px 2px 0px, #1A2851 -2px 2px 0px,
    #1A2851 2px -2px 0px, #1A2851 -2px -2px 0px,
    #1A2851 1px 2px 0px, #1A2851 -1px 2px 0px,
    #1A2851 1px -2px 0px, #1A2851 -1px -2px 0px,
    #1A2851 2px 1px 0px, #1A2851 -2px 1px 0px,
    #1A2851 2px -1px 0px, #1A2851 -2px -1px 0px,
    #1A2851 1px 1px 0px, #1A2851 -1px 1px 0px,
    #1A2851 1px -1px 0px, #1A2851 -1px -1px 0px;
}
/*******************キャッチ***************************/



.border{
	position: relative;
	text-align: center;
	font-size: 18px;
}

.border:before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
        top: 0px;
	border-bottom: solid 2px #ffffff;
	border-top: solid 2px #ffffff;
	border-left: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	transform: translateX(-50%);
	animation: border_anim 0.6s linear forwards;
    animation-delay: 1.8s;
}

#main_img h2::before {
    background: rgb(26, 40, 81);
    background: -moz-linear-gradient(left, rgba(26, 40, 81, 0) 0%,rgba(241, 22, 131, 0) 100%) !important;
    background: -webkit-linear-gradient(left, rgba(26, 40, 81, 0) 0%,rgba(241, 22, 131, 0) 100%) !important;
    background: linear-gradient(to right, rgba(26, 40, 81, 0) 0%,rgba(241, 22, 131, 0) 100%) !important;
}
#main_img h2 {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

@keyframes border_anim {
	0%{
		width: 0%;
	}
	100%{
		width: 90%;
	}
}

/**************************************************************/





.area{
    background: #fffffff;  
    background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);  
    width: 100%;
    height:100%;
    
   
}

.circles{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    /*background: rgba(5, 135, 206, 0.2);*/
    background: rgba(0, 0, 0, 0.05);
    animation: animate 25s linear infinite;
    bottom: -150px;
    
}

.circles li:nth-child(1){
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}


.circles li:nth-child(2){
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}

.circles li:nth-child(3){
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}

.circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
}

.circles li:nth-child(5){
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.circles li:nth-child(6){
    left: 75%;
    width: 110px;
    height: 110px;
    animation-delay: 3s;
}

.circles li:nth-child(7){
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 7s;
}

.circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 45s;
}

.circles li:nth-child(9){
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.circles li:nth-child(10){
    left: 85%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 11s;
}



@keyframes animate {

    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }

    100%{
        transform: translateY(-3000px) rotate(720deg);
        opacity: 0;
        border-radius: 0%;
    }

}





/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#intro .txt_anim:before {
    width: 30%;
    height: 80px;
    top: 53px;
}
#contents h3 {
    font-size: 40px;
    margin-bottom: 150px;
    line-height: 2;
    padding-left: 50px;
}
#main_img .pd_r-5per {
    padding-right: 29%;
}
#main_img h2 {
    font-size: 30px;
    width: 78%!important;
}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#intro .txt_anim:before {
    width: 50%;
    height: 80px;
    top: 53px;
}
#main_img img {
    width: 100%;
}
#main_img h2 {
    font-size: 30px;
    width: 93%!important;
    position: relative;
    top: -100px;
}
#main_img .pd_r-5per {
    padding-right: 0%;
}
#top_cms .top_cms_title h3:before {
  display: none;
}
#footer_box .font_12_sp {
    font-size: 12px;
    padding-left: 15px;
}
#contents h3 {
    font-size: 23px;
    margin-bottom: 100px;
    line-height: 2;
    padding-left: 14px;
}
.top_cms_title p {
    font-size: 60px;
}
#main_img h2::before {
    content: "";
    position: absolute;
    z-index: 1;
    bottom: 0px;
    left: 188px;
    width: 100%;
    height: 93%;
}
#page_title > div p {
    font-size: 32px;
    bottom: 11px;
}
#contents h4 {
    font-size: 25px;
}
}


/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}