﻿@import url('https://fonts.googleapis.com/css2?family=Lobster+Two:wght@400;700&display=swap');
.font_bar{
    font-family: 'Lobster Two', cursive;
}


.linkStyle{
    color:#bf9d74;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
    text-decoration:underline;
}

.bg_white,
main{
    background-color:#fffcef;
}
/*
html, body{overflow: auto}
.pp-section{position: static}
#page_top{
    position:absolute;
}
*/

/*--all page---------------------------
-------------------------------------*/
body{
    overflow:hidden;
}
footer{
    margin-top:0!important;
}
.u_footer{
    position:relative;    
}
.u_footer::before{
    content:'';
    position:absolute;
    display:block;
    width:80px;
    height:40px;
    background-image:url(./Dup/img/car2.png);
    background-repeat:no-repeat;
    background-size:contain;
    top:-10px;
    right:10%;
    animation:engine 0.2s infinite;
    -webkit-animation:engine 0.2s infinite;
    -moz-animation:engine 0.2s infinite;
}
#roop {
    width: 100%;
    height: 95px;
    background: url(./Dup/img/machi_u.png) repeat-x;
    background-position: 0 0;
    background-color: #fffcef;
    -webkit-animation: bgroop 30s linear infinite;
    animation: bgroop 30s linear infinite;
}

@keyframes bgroop {
    from {
        background-position: -1956px  0;
    }
    to {
        background-position: 0 0;
    }
}

#page_top  span:nth-child(2){
    font-family: 'Barlow', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*--top page---------------------------
-------------------------------------*/
.custom_wrap{
    background-image:url(./Dup/img/main_r.png);
    background-repeat:no-repeat;
    background-size:auto;
    background-position:top right;
    background-color:#22ab93;
}
.catch1{
    top:-6%;
    left:-1%;
    z-index:1;
    width:50vw;
}
.catch2{
    top:32%;
    left:100px;
    z-index:1;
    width:32vw;
}
.catch3{
    bottom:17%;
    left:150px;
    z-index:1;
    width:22vw;
}
.machi{
    width:100%;
    height:80px;
    background-image:url(./Dup/img/machi.png);
    background-repeat:repeat-x;
    background-size:auto 100%;
    bottom:0;
    left:0;
    z-index:1;
}
.intro_wrap .font_bar{
    font-size:4rem;
    line-height: 1;
}
.intro_left::before{
    content:'';
    position:absolute;
    display:block;
    width:100px;
    height:100%;
    background-image:url(./Dup/img/nami1.png);
    background-repeat:no-repeat;
    top:0;
    right:-100px;
    z-index:2;
}
.con_no{
    padding-left:60px;
    font-size:2.5rem;
    position:relative;
    
}
.con_no::before{
    content:'';
    position:absolute;
    display:block;
    width:80px;
    height:40px;
    background-image:url(./Dup/img/car.png);
    background-repeat:no-repeat;
    background-size:contain;
    top:-5px;
    left:0;
    animation:engine 0.2s infinite;
    -webkit-animation:engine 0.2s infinite;
    -moz-animation:engine 0.2s infinite;
}
@keyframes engine{
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  50%  { transform: scale(1.0, 0.98) translate(0%, 1.5%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@-webkit-keyframes engine{
  0%   { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
  50%  { -webkit-transform: scale(1.0, 0.98) translate(0%, 1.5%); }
  100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@-moz-keyframes engine{
  0%   { -moz-transform: scale(1.0, 1.0) translate(0%, 0%); }
  50%  { -moz-transform: scale(1.0, 0.98) translate(0%, 1.5%); }
  100% { -moz-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
.cms_title .font_14up{
    font-size:4rem;
    line-height: 1.3;
}


/*--under page---------------------------
-------------------------------------*/
.under_page{
    padding-bottom:100px;
}
#cms_2-e .box_title::after{
    top:17px;
}

/* ---------- responshive ---------- */
@media screen and (max-width: 1600px){
.catch3 {
    width:30vw;
}
}

@media screen and (max-width: 1200px){
.catch2 {
    top: 40%;
    width: 35vw;
}

}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.custom_wrap{
    background-image:url(./Dup/img/main_sp.png);
    background-size: 100% auto;
}
.catch1 {
    top: 0%;
    left: -1%;
    width: 76vw;
}
.catch2 {
    top: 41%;
    left: 10px;
    width: 57vw;
}
.catch3 {
    bottom: 23%;
    left: 10px;
    z-index: 1;
    width: 48vw;
}
.cms_box:last-child{
    margin-bottom:0;
    padding-bottom:100px;
}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){

.catch1 {
    top: -4%;
    left: -3%;
    width: 92vw;
}
.catch2 {
    top: 37%;
    left: 50px;
    width: 75vw;
    filter: drop-shadow(2px 2px #777);
}
.catch3 {
    bottom: 17%;
    left: 77px;
    width: 60vw;
}
.cms_title .font_14up {
    font-size: 3rem;
}
}

/* ---------- IEの処理 ---------- */
@media all and (-ms-high-contrast: none){
#cms_2-e .box_title::after{
    top:14px;
}
.contact_box a{
    padding-top:25px;
}
}


