﻿/* all page */
/*fonts*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');
body, .more, #header_menu, .top_cms_box .cms_title h2, #bottom_menu, #copyright, #page_title, .cate_list::before, .foot_link a, .con_no, .font_sans-serif {
    font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
html, body {
    line-height: 1.6 !important;
    font-size: 17px;
}

/* color ---------------------------------------------------------------------------------------------*/
.linkStyle{color: var(--color1);text-decoration: underline;transition: opacity .3s;}
.linkStyle:hover{opacity: 0.7}
#google_privacy a{color: var(--color1);}
:root{
	--color1: #587291;
	--color2: #fefefe;
	--color3: #e9a8b3;
	--color4: #e7e490;
	--color5: #F4F1EA;
}
#wrap {background-color: var(--color5);}

.txt_color1, .hvr_txt_color1:hover{color: var(--color1);}
.txt_color2, .hvr_txt_color2:hover{color: var(--color2);}
.txt_color3, .hvr_txt_color3:hover{color: var(--color3);}
.txt_color4, .hvr_txt_color4:hover{color: var(--color4);}

/* background-color */
.bg_color1, .hvr_bg_color1:hover{background-color: var(--color1);}
.bg_color2, .hvr_bg_color2:hover{background-color: var(--color2);}
.bg_color3, .hvr_bg_color3:hover{background-color: var(--color3);}
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4);}
.bg_color5, .hvr_bg_color5:hover{background-color: var(--color5);}

/* border-color ※!important */
.border_color1, .hvr_border_color1:hover{border-color: var(--color1);}
.border_color2, .hvr_border_color2:hover{border-color: var(--color2);}
.border_color3, .hvr_border_color3:hover{border-color: var(--color3);}
.border_color4, .hvr_border_color4:hover{border-color: var(--color4);}


/* header */
header.transform {
    background-color: rgba(244,241,234,50%);
    backdrop-filter: blur(3px);
}

/* footer */



/* top ----------------------------------------------------------------*/

/* main img */
#main_img .catch2 {
    transform: translateX(-50%);
    top: auto;
    bottom: 0;
    height: 10vh;
    text-align: center;
    display: flex
;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#main_img .catch2 img {
    width: 29%;
    max-width: 450px;
}
#main_img .catch {
    transform: translateX(-50%);
    top: auto;
    bottom: 9vh;
    width: 45%;
    max-width: 670px;
}
#main_img .fv_banner {
    bottom: 3%;
    right: 1%;
    width: 25%;
    max-width: 400px;
}
.btn_ani {
    display: block;
    animation: btn_ani 2s ease-out infinite;
    opacity: 1;
}
@keyframes btn_ani {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}
.fv_under {
    height: 150px;
}

/* main */

/* intro */
#intro:before {
    content: "";
    background-color: var(--color2);
    width: 100%;
    height: 80%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}
#intro .intro_txt h2 br{
    display: none;
}

/* contents */
#contents::before, #page_title::before {
    content: "";
    background-image: url(/Files/img/bg_flower.png);
    background-repeat: repeat;
    background-size: 40%;
    background-position: top 27% left 1%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    opacity: 0.1;
}

/* topcms */


/* under page ----------------------------------------------------------------*/
#page_title{padding-bottom: 100px;}
#page_title h2{color: var(--color1);}
.blogList1 a {border-color: var(--color1);}

/* ---------- 1536px ---------- */
@media screen and (max-width: 1536px){}
/* ---------- 1366px ---------- */
@media screen and (max-width: 1366px){}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.video {
    width: auto!important;
    height: 100%!important;
}
#main_img .catch {width: 65%;}
#main_img .catch2 img {width: 40%;}
.fv_banner {
    width: 40%;
    margin: 0 auto;
}
#contents::before, #page_title::before {
    background-size: 80%;
}
header.transform {
    background-color: transparent;
    backdrop-filter: none;
}

}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
header #logo {width: 130px !important;}
#main_img .catch {width: 75%;bottom: 4vh;}
#main_img .catch2 {height: 6vh;bottom: -1vh;}
#main_img .catch2 img {width: 60%;}
#main_img {height: 55vh;}
.fv_banner {
    width: 55%;
    margin: 15px auto;
}
#intro:before {
    height: 90%;
}
#intro .intro_txt h2 br{
    display: block;
}
#page_title h2 {
    font-size: 27px;
    letter-spacing: 0px;
}

}



/* ---------- loopSlider ---------- */
.loopSliderWrap{
    top: 0;
    left: 0;
    height: 450px;
}
.loopSlider {
    margin: 0 auto;
    height: 450px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
.loopSlider .ul {
    height:450px;
    float: left;
    overflow: hidden;
}
.loopSlider .ul .li {
    width: 450px;
    height: 450px;
    float: left;
    display: inline;
    overflow: hidden;
	position: relative;
	box-sizing: border-box;
	padding: 0;
}
.loopSlider .ul .li img{
    border-radius: 0;
}
.loopSliderWrap:after {
    content: "";
    display: none;
    clear: none;
}
/*リンクボタン*/
.btn {
    z-index: 3;
    display: block;
}
.btn a {
    background: #fff;
    color: #212121;
    width: 200px;
    height: 200px;
    display: flex;
    align-content: center;
    justify-content: center;
    border-radius: 50%;
    flex-wrap: wrap;
    transition: all 0.4s;
    font-size: 20px;
}
.btn a::before {
    content: '';
    position: absolute;
    bottom: 55px;
    right: 27%;
    width: 42%;
    height: 1px;
    background: #333;
    transition: all .3s;
}
.btn a span, .btn a strong {
    text-align: center;
}
.btn a::after {
    content: '';
    position: absolute;
    bottom: 60px;
    right: 27%;
    width: 15px;
    height: 1px;
    background: #333;
    transform: rotate(35deg);
    transition: all .3s;
}
.btn a:hover {
    background: #2a2a32;
    color: #fff;
}
.btn a:hover::before {
    right: 16%;
    background: #fff;
}
.btn a:hover::after {
    right: 15%;
    background: #fff;
}
.btn a span::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url("../img/btn_icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 49px;
    left: 0;
    right: 0;
    margin: auto;
    transition: all .3s;
    opacity: 0.8;
}
.btn a:hover span::before{
    background-image: url("../img/btn_icon_hvr.png");
}
@media screen and (max-width: 768px){
#top_conveyor,.loopSliderWrap,.loopSlider,.loopSlider .ul,.loopSlider .ul .li{
	height: 280px;
}
.loopSlider .ul .li{
    width: 280px;
}
/* #top_conveyor {
    padding-bottom: 0;
    padding-top: 0;
} */
}
@media screen and (max-width: 667px){
#top_conveyor,.loopSliderWrap,.loopSlider,.loopSlider .ul,.loopSlider .ul .li{
	height: 179px!important;
}
.loopSlider .ul .li{
    width: 179px;
}
/*リンクボタン*/
.btn a::after {
    bottom: 35px;
    right: 27%;
}
.btn a::before {
    bottom: 30px;
    right: 27%;
}
.btn a {
    font-size: 17px;
    width: 140px;
    height: 140px;
    background-color: rgba(255,255,255,0.62);
}
.btn a span::before{
    top: 25px;
}
}

