﻿:root{
    --color1: #0ebf64;
    --color2: #eeeeee;
    --color3: #efeeda;
}

/*--global start--*/

.flow_type3 .cate{counter-reset: box;}
.flow_type3 .cate_box{counter-increment: box;}
.flow_type3 .box_item{padding-top: 60px;}
.flow_type3 .box_title1{z-index: 0}
.flow_type3 .box_title1::before, .flow_type3 .box_title1::after{
	position: absolute;
	content: "";
	display: block;
	pointer-events: none
}
.flow_type3 .box_title1::before {
	content: "0"counter(box);
	font-size: 86px;
	color: #ebebeb;
	left: 0;
	top: -70px;
	z-index: -1;
}
.flow_type3 .box_title1::after{
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #222
}

#cms_5-f .cate_box .open_bt .box_title1::before, .cms_5-f .cate_box .open_bt .box_title1::before {
       display: none;
}

#cms_5-f .cate_box .open_bt .box_title1, .cms_5-f .cate_box .open_bt .box_title1 {
    margin-left: 35px;
}

#loading_line .line {
    background-color: #efeeda;
}

.mail_bt:hover a{
    color: black;
}

#footer_nav{
    background-color: var(--color1);
    margin-bottom: 0;
}

#footer_nav a{
    color: white;
}

#footer{
    padding: 20px 0 25px;
}

#footer::before {
    background: var(--color3);
}

.footer_box div#logo2 + p{
        max-width: 28em;
    margin-bottom: 50px;
    color: black;
}

p#copyright{
    color: black;
}

h1.logo{
    width: 100% !important;
}

p#copyright a{
    color: black !important;
}

/*--global end--*/


/*--top start--*/

#top_contents1 .catch_txt{
        max-width: 860px;
}

#top_contents2 {
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 15px, rgba(249, 249, 249, 1) 15px, rgba(249, 249, 249, 1) 30px);
}

.font{
    height: 200px;
    background-image: url(/files/img/font.svg);
    background-repeat: repeat-x;
    background-position: 0% 50%;
    background-size: 1500px;
    animation: sign 20s linear infinite;
}

@keyframes sign {
    0% {     background-position: 0% 50%;}
  100% {     background-position: -1500px 50%;}
}

.migi{
    position: absolute;
    z-index: 9;
    top: 0;
    right: 4%;
    max-width: 230px;
    height: 100%;
    background-color: var(--color1);
    width: 15%;
}

.migi img:first-child{
    transform: scale(1.2);
    transform-origin: top;
    margin-top: 5%;
}

.migi img:last-child{
    max-width: 100px;
    display: block;
    margin: auto;
    margin-top: 10%;
        width: 45%;
}

#main_img::before{
    content: "";
    display: block;
    width: 100%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: calc(50% - 1px);
    background-image: url(/files/img/left.png);
    background-position: center left;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 2;
}

#main_img:after{
        content: "";
    display: block;
    width: 40%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(/files/img/center.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 2;
    max-width: 1280px;
    min-width: 550px;
    filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.3));
}

#top_contents1 > img{
    max-width: 580px;
    margin: auto;
    display: block;
    margin-top: -15%;
    z-index: 1;
    position: relative;
    border: 10px solid white;
    transform: rotate(2deg);
    margin-bottom: 50px;
    filter: drop-shadow(13px 10px 10px rgba(100, 100, 100, 0.2));
    
    /* 揺れの支点を「上中央」に設定（振り子） */
            transform-origin: top center;
            
            /* 動きを滑らかにするための設定 */
            will-change: transform;
            transition: transform 0.1s linear;
    
}

#top_contents1 .title h2.pc_txt{
    font-size: -webkit-calc(1rem + 36px);
    font-size: calc(1rem + 36px);
    line-height: 1.2em;
    margin-bottom: 10px;
}

.ari{
    max-width: 33px;
    animation: ari 10s linear infinite;
    position: relative;
    left: 0;
    z-index: 2;
}

.ari_re{
    max-width: 33px;
    animation: ari_re 10s linear infinite;
    position: relative;
    left: 0;
    z-index: 2;
}

@keyframes ari {
    0% { left: -10%;}
    60% { left:110%;}
  100% { left:110%;}
}

@keyframes ari_re {
    0% { left: 110%;}
    60% { left:-10%;}
  100% { left:-10%;}
}

.ari01{
    transform: rotate(5deg);
    z-index: 99;
    position: relative;
    animation: kasa 10s linear infinite;
}

.ari02{
    transform: rotate(-7deg);
    z-index: 99;
    position: relative;
    animation: kasa_re 10s linear infinite;
}

@keyframes kasa {
    0%, 20%, 40%, 60% { transform: rotate(5deg);}
    10%, 30%, 50%, 70%, 100% { transform: rotate(3deg);}
}

@keyframes kasa_re {
    0%, 20%, 40%, 60% { transform: rotate(-7deg);}
    10%, 30%, 50%, 70%, 100% { transform: rotate(-5deg);}
}

.batu{
        max-width: 400px;
    margin: 50px auto;
}

#top_contents1 > p{
    font-weight: bold;
}

#top_contact_box .bottom .txt_white{
    color: black;
}

#top_cms{
    max-width: 1280px;
    margin: auto;
}

/*--top end--*/


/*--page08 start--*/

#tel_txt p span.kore{
    display: block;
    margin-bottom: 10px;
}

p.end_message{
    color: black;
}

#page8 > a{
    max-width: 300px;
    display: block;
    margin: auto;
}

#page8 .form_wrap{
        background-color: #f7f7f7;
    padding: 40px 3%;
}

/*--page08 end--*/

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){

.swiper-container-fade .swiper-slide{
    height: 500px !important;
}

.migi{
    right: 0%;
    max-width: 100px;
    height: calc(100% - 95px);
    margin-top: 95px;
}

.migi img:last-child{
    max-width: 60px;
    margin-top: 10%;
}

.migi img:first-child{
    transform: scale(1.5);
    margin-top: 0%;
    margin-bottom: 20%;
}

.font{
    height: 130px;
}

#main_img{
        margin-top: -20px;
}

.swiper-container {
    height: 66.5vw;
}

#main_img::before {
    width: 100%;
    height: 70%;
    top: 60%;
}

#main_img:after {
    width: 40%;
    top: 65%;
    min-width: 350px;
}

#top_contents1 > img {
    width: 60%;
}



}

/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type3 .box_title1::before{
	left: auto;
	right: 0;
	top: -50px
}
.flow_type3 .box_item {
    padding-top: 36px;
}

#main_img{
    height: 70vh;
}

#main_img:after{
            content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        background-image: url(/files/img/center.png), url(/files/img/sp_img.jpg);
        background-position: 60% 60%, center;
        background-repeat: no-repeat;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        background-size: 70%, cover;
        pointer-events: none;
        z-index: 2;
}

    #logo h1.logo {
        left: 15px;
        max-width: 90px;
    }

.migi img:first-child {
    transform: scale(1.7) translateY(-10px);
    margin-top: 0%;
}

.migi {
    right: auto;
    max-width: 70px;
    height: 100%;
    margin-top: 75px;
    left: 10px;
    z-index: 9;
}

.font {
    height: 90px;
    background-image: url(/files/img/font.svg);
    background-repeat: repeat-x;
    background-position: 0% 50%;
    background-size: 750px;
    animation: sign 20s linear infinite;
}

#top_contact_box .top .box {
        height: 170px !important;
    }

    .migi img:last-child {
        width: 80%;
    }

.contact_btn a{
    font-size: 19px !important;
}

#top_contents1 .title h2{
        font-size: -webkit-calc(1rem + 12px);
        font-size: calc(1rem + 12px);
        line-height: 1.4em;
}

.swiper-container{
    opacity: 0 !important;
    z-index: -1;
}


#main_img::before {
    opacity: 0 !important;
}

}