﻿@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@500&display=swap');
/* ----------　all　---------- */
/*html, body{overflow: auto}
.pp-section{position: static}*/
body {
    font-size: 17px;
}
/* color */
body,.txt_color_nomal{color: #333333;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #ff0e0e;} /* メインカラー */
.txt_color2{color: #dbd6cf;} /* サブカラー */
.txt_color3{color: #302D2A;} /* アクセントカラー1 */
.txt_color4{color: #edeae6;} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white;} /* 白背景 */
.bg_black{background-color: #333333;} /* 黒背景 */
.bg_color1{background-color: #f72f2f;} /* メインカラー */
.bg_color2{background-color: #f7f7f7;} /* サブカラー */
.bg_color3{background-color: #ff0e0e;} /* アクセントカラー1 */
.bg_color4{background-color: #edeae6;} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important;}


/* border-color ※!important */
.border_color1{border-color: #3e67ff;}
.border_color2{border-color: #dbd6cf;}
.border_color3{border-color: #302D2A;}
.border_color4{border-color: #edeae6;}


/* hover ---------------------------------------------------------------------------------------------*/
/* color */
.hvr_txt_color_nomal:hover{color: #333333;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #cd9b0d;} /* メインカラー */
.hvr_txt_color2:hover{color: #dbd6cf;} /* サブカラー */
.hvr_txt_color3:hover{color: #302D2A;} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #edeae6;} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: #333333;} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #3e67ff;} /* メインカラー */
.hvr_bg_color2:hover{background-color: #dbd6cf;} /* サブカラー */
.hvr_bg_color3:hover{background-color: #3e67ff;} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #edeae6;} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important;}

/* border-color ※!important */
.hvr_border_color1:hover{border-color: #974a76;}
.hvr_border_color2:hover{border-color: #dbd6cf;}
.hvr_border_color3:hover{border-color: #302D2A;}
.hvr_border_color4:hover{border-color: #edeae6;}

.linkStyle{
	color:#333;
	border-bottom: 1px solid;
}
.linkStyle:hover{
	opacity: 0.7;
	transition: all 0.5s;
}


/* ----------　TOP　---------- */
.nav_bg {
    border-radius: 15px;
}
.custom_wrap {
    border-radius: 60px;
    border: 25px solid #fff;
    overflow: hidden;
}
.dec01 {
    z-index: 2;
}
.dec02 {
    right: 0;
    z-index: 2;
}
.dec05 {
    right: 0;
    top: 0;
}
.dec06 {
    left: 0;
    bottom: 0;
}
.catch {
    width: 35vw;
    top: 39%;
    left: 10%;
}
#contents .con_img {
    top: 227px;
    bottom: 100px;
    left: 0;
}
#pp-nav ul li a {
    color: #000000;
}
#logo img {
    max-width: 200px;
}
#intro.trans .intro_left {
    padding: 5%;
}
#intro .intro_left h1 {
    margin-bottom: 18px;
}
.intro_wrap .font_bar {
    position: absolute;
    left: 34%;
    z-index: -1;
    font-size: 43px;
    top: 25.5%;
    opacity: 0.3;
    font-weight: bold;
}
.intro_wrap h2 span,.con_title {
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
#video video {
    width: 100%!important;
    height: auto;
}
@media screen and (max-width: 1600px){
#video video {
    width: auto!important;
    height: 100%;
}
}
@media screen and (max-width: 768px){
#video video {
    width: 100%!important;
    height: auto;
}
}
#contents {
    background-color: #ffffff;
}
#contents .con_bg {
    background-image: url(Dup/img/con_bg01.png);
    background-repeat: no-repeat;
    background-position: right top;
}
#top_cms .cms_title {
    border-top: 0px;
}
#top_cms .cms_box:nth-of-type(1) {
    background-image: url(Dup/img/bg01.png),url(Dup/img/bg02.png);
    background-size: auto 1000px;
    background-repeat: no-repeat;
    background-position: 0 0, 100% 0;
}
#top_cms .cms_box:nth-of-type(2) {
    background-image: url(Dup/img/bg03.png),url(Dup/img/bg04.png);
    background-size: auto 1000px;
    background-repeat: no-repeat;
    background-position: 0 0, 100% 0;
}
.cms_box .title p {
    font-family: 'Comfortaa', cursive;
}
/* ----------　流体　---------- */
.con_wrap {
    z-index: 3;
}
.fluid {
    width:36vh;/*横幅*/
    height: 40vh;/*縦幅*/
    background:#fff100;/*背景色*/
    animation: fluidrotate 30s ease 0s infinite;/*アニメーションの設定*/
    position: absolute;
    z-index: 1;
    top: -10%;
    right: -6%;
}

@keyframes fluidrotate {  
	  
0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
}
42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
}
	  
}.fluid2 {
    width: 20vh;
    height: 20vh;
    background: #3e67ff;
    animation: fluidrotate 30s ease 0s infinite;
    z-index: 1;
    position: absolute;
    transform: rotate(90deg);
    top: 20%;
    right: -4%;
}

@keyframes fluidrotate {  
	  
0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
}
42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
}
	  
}
.cms_6-d .box_item h3 {
    color: #3171ff;
}
/* ----------　下層ページ　---------- */
.intro_wrap h2 span,.con_title,h2,h3 {
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
#cms_1-a ul li a {
    background-color: #ff3535;
    color: #ffffff;
}
#cms_1-a ul li a:hover{
    background-color: #3e67ff!important;
}
#cms_6-d .cate_box:after, .cms_6-d .cate_box:after {
    color: #6578ff;
}
#cms_6-d .cate_title {
    color: #373737;
}
#cms_6-d .box_item h3 {
    color: #3171ff;
}
.txt_tel01 {
    top: 34%;
    left: 31%;
    right: 0%;
    color: red;
}
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */

/*-------------------------------------------------------
	 タブレット(px以下になった時にcssが付きます)
-------------------------------------------------------*/
@media screen and (max-width: 1137px){
.txt_tel01 {
    top: 32%;
    left: 17%;
    right: 0%;
    color: red;
}
}
/*-------------------------------------------------------
	 タブレット(768px以下になった時にcssが付きます)
-------------------------------------------------------*/
@media screen and (max-width: 768px){
/* ----------　all　---------- */
.dec01 {
    z-index: 2;
    width: 74%;
}
.dec02 {
    right: 0;
    z-index: 2;
    width: 67%;
}
.dec05 {
    right: 0;
    top: 0;
    width: 82%;
}
.dec06 {
    left: 0;
    bottom: 0;
    width: 34%;
}
#custom {
    height: 50vh!important;
}
.intro_wrap .font_bar {
    position: absolute;
    left: 30%;
    z-index: 2;
    font-size: 43px;
    top: 20.5%;
    opacity: 0.3;
    font-weight: bold;
}
#wrap {
    overflow: hidden;
}
.fluid {
    top: -7%;
    width: 28vh;
    height: 28vh;
    right: -9%;
    background: #fff100;
    animation: fluidrotate 30s ease 0s infinite;
    position: absolute;
    z-index: 1;
}
.fluid2 {
    width: 17vw;
    height: 17vh;
    right: -8%;
    background: #3e67ff;
    animation: fluidrotate 30s ease 0s infinite;
    z-index: 1;
    position: absolute;
    transform: rotate(90deg);
    top: 7%;
}
#contents .con_img {
    height: 60vw;
    top: auto;
    bottom: auto;
}
/* ----------　TOP　---------- */

/* ----------　下層ページ　---------- */
/* 会社情報 */
/* お問い合わせ */
.txt_tel01 {
    top: 32%;
    left: 17%;
    right: 0%;
    color: red;
}
/* プライバシーポリシー */
/* サイトマップ */

}



/*-------------------------------------------------------
	スマホ(667px以下になった時にcssが付きます)
-------------------------------------------------------*/
@media screen and (max-width: 667px){
/* ----------　all　---------- */
#top_cms .cms_box:nth-of-type(1) {
    background-size: auto 600px;
}
#video video {
    width: 100%!important;
    height: auto;
}
#custom {
    height: 59vh!important;
}
.dec01,.dec02 {
    width: auto;
    height: 59vh;
}
span.dec01 img,span.dec02 img {
    height: 100%;
    width: auto;
}
.dec01 {
    z-index: 2;
    width: 110%;
}
.dec02 {
    right: 0;
    z-index: 2;
    width: 112%;
}
.dec05 {
    right: 0;
    top: 15%;
    width: 100%;
}
.dec06 {
    left: 0;
    bottom: 0;
    width: 51%;
}
.catch {
    width: 40vw;
    top: 42%;
    left: 0%;
}
.intro_wrap .font_bar {
    position: absolute;
    left: 16%;
    z-index: 2;
    font-size: 36px;
    top: 12.5%;
    opacity: 0.3;
    font-weight: bold;
}
.intro_left {
    padding-top: 0px;
}
.intro_img2 {
    background-position: center left -69px;
    background-repeat: no-repeat;
}
#logo img {
    width: 145px;
}
#intro .intro_wrap h2 {
    font-size: 21px;
}
#contents .con_bg {
    background-image: url(Dup/img/con_bg01.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 97%;
}
.fluid {
    top: -1%;
    width: 28vh;
    height: 28vh;
    right: -9%;
    background: #fff100;
    animation: fluidrotate 30s ease 0s infinite;
    position: absolute;
    z-index: 1;
}
#pc_nav {
    font-size: 12px;
}
/* ----------　TOP　---------- */

/* ----------　下層ページ　---------- */
/* 会社情報 */
/* お問い合わせ */
.txt_tel01 {
    top: 25%;
    left: 6%;
    right: 0%;
    color: red;
    font-size: 11px;
}
/* プライバシーポリシー */
/* サイトマップ */
}