﻿/* top */
/* banner */
@media screen and (max-width: 768px){
.banner{
    display: none;
}
}

/* wrap */
@media screen and (max-width: 768px){
    .contents1_wrap{
        margin: auto 20px !important;
    }
}
/* fv */
.flexslider_02{
    display: none;
}
.fv_item01{
    position: absolute;
    z-index: 5;
    width: 40%;
    right: 5%;
    bottom: 0;
}
.fv_item02::before {
	position: absolute;
	opacity: 0.5;
	z-index: 4;
	content: "";
	left: 0;
	bottom: 3%;
	width: 100%;
	height: 136px;
	background-image: url("/Files/img/fv_item02.png");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
	animation: loop 30s linear infinite;
}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}
.fv_item03{
    position: absolute;
    z-index: 5;
    width: 59%;
    top: 22%;
    left: 6%;
}

@media screen and (max-width: 1300px){
.fv_item01 {
    width: 46%;
    right: 0%;
    bottom: 0;
}
.fv_item03 {
    width: 62%;
    top: 26%;
    left: 4%;
}
}

@media screen and (max-width: 1100px){
.fv_item01 {
    width: 59%;
    right: -10%;
    bottom: 0;
}
.fv_item03 {
    width: 68%;
    top: 27%;
    left: 4%;
}
}

@media screen and (max-width: 768px){
    .main_box{
        padding-top:0;
    }
    .flexslider{
        display: none;
    }
    .flexslider_02{
        display: block;
    }
     .flexslider_02 img{
        height: 50vh;
        width: auto;
    }
    #main_img img.object_fit_img {
        max-height: 60vh;
        min-height: 60vh;
    }
    #main_img {
        max-height: 60vh;
    }
    .fv_item01 {
        width: 44%;
        right: -2%;
    }
    .fv_item03 {
        width: 65%;
        top: 24%;
        left: 3%;
    }
}
@media screen and (max-width: 667px){
    #main_img {
        max-height: 200vh;
    }
    .fv_item02::before{
        height: 70px;
        bottom: 7%;
    }
    #main_img img.object_fit_img {
        max-height: 100vh;
        min-height: 80vh;
    }
    .fv_item01 {
        width: 55%;
        right: 24%;
        z-index: 7;
    }
    .fv_item03 {
        width: 90%;
        top: 14%;
        left: 6%;
    }
}

/* intro */
#contents1 img{
    width: 50%;
}
@media screen and (max-width: 768px){
    #contents1 img{
        width: 80%;
    }
    #contents2 .d_flex .grid_5{
        width: 47%!important;
    }
}
@media screen and (max-width: 677px){
    #contents1 img{
        width: 100%;
    }
    #contents2 .d_flex .grid_5{
        width:100%!important;
    }
}

/* contents */
@media screen and (max-width: 768px) {
    #contents2 .title, #contents3 .title {
        font-size: 20px;
    }
}

/* cms3 */
.link_type2 .cate_box a {
    color: #fff;
}
.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: rgba(0,0,0,0.5);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: var(--color4);
    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;
}

/* footer */

/* contents-page */
/* page4 */
.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
}
/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type3 .box_title1::before{
	left: auto;
	right: 0;
	top: -50px
}
.flow_type3 .box_item {
    padding-top: 36px;
}
}

/* page8 */
#page8 #tel_txt .border_color1{
    border-color: #ccc;
}
#page8 #contact_tel a{
    background-color: #1a1a1a;
    color: #fff;
    border:none;
}

/* page9 */
#google_privacy{
     background-color: #f5f5f5!important;
}

/* page10 */
#page10 li a{
    color:#1a1a1a;
}
#page10 li a:hover{
    color:#fff;
}

/* 共通 header */
@media screen and (max-width: 768px){
    #logo{
        margin-top: 9px;
    }
}
@media screen and (max-width: 667px){
    #logo{
        margin-top: 3px;
    }
}

/* 共通 menu */
#main_menu{
    font-size:16px;
}
#sp_nav li{
    font-size:16px!important;
}

/* 共通 bnr */
#fix_bnr{
	bottom: 10px;
	right: 20px;
	z-index: 5;
	width: 300px;
}
@media screen and (max-width: 667px){
	#fix_bnr{
	    width: 250px;
	    right: 15%;
	}
}

/* 共有 cate_list */
@media (min-width: 667px) and (max-width: 768px){
.cate_wrap .grid_4{
    width: 40%!important;
}
}