﻿@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Homemade+Apple&display=swap');
body, h2, h3, h4, .catch, .font_en, .date, a[href^="tel:"], a[href^="mailto:"] {
    font-family: 'Shippori Mincho', serif;
}
html, body {
    font-size: 15px;
}
#intro h3, .catch span, .con_no {
 font-family: 'Homemade Apple', cursive;
}
body {
    line-height: 1.9;
}
main {
    overflow: hidden;
}
#main_menu ul li a, .tel_bt a.txt_color1, .head_banner a.txt_white, .page_box .txt_color1, .page_box .txt_color3, .foot_tel_bt a.txt_white {
    color: #2c2c2c;
}
header.bg_color4 {
    background-color: #fff;
}
#main_img .main_logo {
    filter: drop-shadow(0px 0px 2px rgba(255,255,255,1)) drop-shadow(0px 0px 3px rgba(255,255,255,1));
}
#main_menu {
    text-align: center;
}
#main_menu ul {
    display: inline-block;
    margin: 0 auto;
}
#main_menu ul li a {
    text-align: left;
}
.scroll {
    z-index: 1;
    bottom: -50px;
    right: 5px;
}
.scroll_d {
    width: 1px;
    height: 150px;
    margin: auto;overflow: hidden;
}
.scroll_d > span {
    width: 1px;
    height: 100%;
    background-color: rgba(255,255,255,0.3);
}
.scr {
    display: inline-block;
    line-height: 0.8;
    margin-bottom: 50px;
    margin-left: 5px;
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    color: #fff;
}
@keyframes line1{
	0% {
		bottom: 150px;
		height: 0;
	}
	20% {
		bottom: 0;
		height: 150px;
	}
	40% {
		bottom: 0;
		height: 0;
	}
	100% {
		bottom: 0;
		height: 0;
	}
}
#main_img .scroll_d > span::before {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    background-color: rgba(255,255,255,1);
    animation: line1 4s ease 0s infinite;
}

#video video {
    min-width: 100%;
    min-height: 100%;
    height: auto;
}
.hamburger .bg_color1, .hamburger__icon:after, .hamburger__icon:before {
    background-color: #212121!important;
}
.hamburger.active .hamburger__icon {
    background-color: transparent!important;
}
#page-top a, #page-top .txt_color1 {
    color: #212121;
}
.spinner7 > div {
    background-color: #ffdbc6;
}
.top_cms_wrap {
    background-image: url(Dup/img/kazari.png);
    background-repeat: no-repeat;
    background-position: 3% 0;
    background-size: 181px;
}
.page_wrap{
    background-image: url(Dup/img/kazari.png);
    background-repeat: no-repeat;
    background-position: 95% 0;
    background-size: 130px;
}
.tel_bt, .head_banner {
    width: 86%;
    margin: 0 auto;
}
.cate_list li a, a.button2 {
background-color: rgb(255 255 255 / 77%);
    color: #484848;
    border: 1px solid #cbcbcb;
    border-radius: 32px;
    box-shadow: 8px 8px 0px 0px #f4f7f7;
}
.more .button.bg_color3 {
    background-color: transparent;
    color: #484848;
    border: 1px solid #cbcbcb;
    border-radius: 32px;
    box-shadow: 8px 8px 0px 0px #f4f7f7;
}
.more .button:hover.bg_color3 {
    border: 1px solid #484848;
}
.button:hover::after {
    display: none;
}
#contents3 {
    background-image: url(Dup/img/contents3bg.jpg);
    background-size: cover;
}
.intro_img {
    left: 7%;
    top: -51px;
    z-index: 1;
    width: 34%;
}
.intro_img:before {
    content: "";
    display: block;
    width: 300px;
    height: 450px;
    background-image: url(Dup/img/bg.jpg);
    background-size: cover;
    position: absolute;
    right: -3vw;
    bottom: -2vw;
    z-index: -1;
    border-radius: 6px;
}
footer {
    position: relative;
}
footer:after {
    content: "";
    display: block;
    width: 132px;
    height: 241px;
    background-image: url(Dup/img/kazari2.png);
    background-size: contain;
    position: absolute;
   right: 12px;
    top: -1vw;
    z-index: 0;
    background-repeat: no-repeat;
}
footer:before {
    content: "";
    display: block;
    width: 112px;
    height: 156px;
    background-image: url(Dup/img/bg.jpg);
    background-size: cover;
    position: absolute;
    left: 22px;
    bottom: 5vw;
    z-index: 0;
    border-radius: 6px;
    opacity: 0.7;
}
.intro_txt {
    margin-left: 49%;
    width: 51%;
}
.head_banner a {
    background-image: url(Dup/img/bg.jpg);
    background-size: cover;
}
.head_banner a:hover, .tel_bt a:hover {
    opacity: 0.7;
}
#contents2 > div.d_flex {
    padding-bottom: 11vw;
}
.img5 {
    width: 29%;
    right: 3%;
    position: absolute;
    top: -8vw;
}
.img5:before {
    content: "";
    display: block;
    width: 245px;
    height: 317px;
    background-image: url(Dup/img/bg.jpg);
    background-size: cover;
    position: absolute;
    left: -115px;
    bottom: -124px;
    z-index: -1;
    border-radius: 6px;
}
.img5:after {
    content: "";
    display: block;
    width: 96px;
    height: 175px;
    background-image: url(Dup/img/kazari.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: -18vw;
    top: 2vw;
    z-index: 0;
}
.catch {
    font-size: 40px;
    z-index: 1;
    left: 11%;
    bottom: 40%;
    line-height: 1.8;
    text-align: left;
}
.catch span {
    font-size: 18px;
    margin-top: 30px;
}
.img5, .img6, .img7, .intro_img {
    box-shadow: 5px 5px 10px 5px rgb(0 0 0 / 5%);
}
.img5 img, .img6, .img7, .intro_img img, .loop .box_img1 {
    border-radius: 6px;
}




.loop {
    width: 100%;
}
#loopslider {
    margin: 0 auto;
    width: 100%;
    height: 280px;
    text-align: left;
    position: relative;
   overflow: hidden;
    overflow-x: scroll;
}
 
#loopslider ul {
    height: 264px;
    float: left;
    display: inline;
    overflow: hidden;
}
 
#loopslider ul li {
    width: 360px;
    float: left;
    display: inline;
    overflow: hidden;
}
#loopslider ul li figure {
	margin: 0 8px
}
#loopslider .square_img img {
	top: 42%;
}
#loopslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
 
#loopslider ul {
    display: inline-block;
    overflow: hidden;
}
.link_type2 .cate_box a {
    color: #fff;
    box-shadow: 0px 0px 9px rgb(26 26 26 / 22%);
    border-radius: 6px;
}
.link_type2 .cate_box a:hover {
    box-shadow: 0px 0px 11px rgb(114 55 13 / 50%);
}
.link_type2 .cate_box a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(151 143 133 / 58%);
    z-index: 1;
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 2;
}
/* ---------- loopSlider ---------- */
#topcms_gallery_type1 .loopSliderWrap{
    top: 0;
    left: 0;
    height: 350px;
}
#topcms_gallery_type1 .loopSlider {
    margin: 0 auto;
    height: 350px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul {
    height:350px;
    float: left;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul .li {
    width: 350px;
    height: 350px;
    float: left;
    display: inline;
    overflow: hidden;
	position: relative;
	box-sizing: border-box;
	padding: 0;
}
#topcms_gallery_type1 .loopSlider .ul .li img{
    border-radius: 0;
}
#topcms_gallery_type1 .loopSliderWrap:after {
    content: "";
    display: none;
    clear: none;
}

/*リンクボタン*/
#topcms_gallery_type1 .btn{z-index: 3;}
#topcms_gallery_type1 .btn a::before {
    content: '';
    position: absolute;
    bottom: 55px;
    right: 27%;
    width: 42%;
    height: 1px;
    background: #333;
    transition: all .3s;
}
#topcms_gallery_type1 .btn a::after {
    content: '';
    position: absolute;
    bottom: 60px;
    right: 27%;
    width: 15px;
    height: 1px;
    background: #333;
    transform: rotate(35deg);
    transition: all .3s;
}
#topcms_gallery_type1 .btn a:hover::before {
    right: 16%;
    background: #fff;
}
#topcms_gallery_type1 .btn a:hover::after {
    right: 15%;
    background: #fff;
}
#topcms_gallery_type1 .btn {
    display: block;
}
#topcms_gallery_type1 .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;
}
#topcms_gallery_type1 .btn a:hover {
    background: #1c1c1c;
    color: #fff;
}
#topcms_gallery_type1 .btn a span, .btn a strong {
    text-align: center;
}
@media(max-width: 768px) {
#topcms_gallery_type1,#topcms_gallery_type1 .loopSliderWrap,#topcms_gallery_type1 .loopSlider,#topcms_gallery_type1 .loopSlider ul,#topcms_gallery_type1 .loopSlider .ul .li{
	height: 280px;
}
#topcms_gallery_type1 .loopSlider .ul .li{
    width: 280px;
}
#topcms_gallery_type1 {
    padding-bottom: 0;
    padding-top: 0;
}
}
@media(max-width: 667px) {
#topcms_gallery_type1,.loopSliderWrap,.loopSlider,.loopSlider .ul,.loopSlider .ul .li{
	height: 179px!important;
}
#topcms_gallery_type1 .loopSlider .ul .li{
    width: 179px;
}
#topcms_gallery_type1 .btn a::after {
    bottom: 35px;
    right: 27%;
}
#topcms_gallery_type1 .btn a::before {
    bottom: 30px;
    right: 27%;
}
#topcms_gallery_type1 .btn a {
    width: 140px;
    height: 140px;
    line-height: 1.7;
}
}
@media(min-width: 769px) {
.font_14 {
    font-size: 15px;
}
}
@media(min-width: 668px) {/*タブレット以上*/
    #noslide ul li {
        width: 23%;
    }
}

@media(max-width: 768px) {
.catch {
    font-size: 29px;
    left: 6%;
    bottom: 53%;
}
footer .logo a img {
    max-width: 170px;
}
.fat-nav li a {
    font-size: 20px;
    color: #212121;
}
.intro_img:before {
    width: 174px;
    height: 255px;
    right: -4vw;
    bottom: -8vw;
}
.img5 {
    top: -11vw;

}
.img5:after {
    left: -29vw;
    top: -7vw;
}
header #logo {
    max-width: 130px;
}
}
@media(max-width: 667px) {
#contents2 {
    padding-bottom: 90px;
}
footer:before {
    z-index: -1;
}
footer:after {
    width: 76px;
    height: 158px;
    right: 12px;
    top: -5vw;
    z-index: -1;
}
footer:before {
    display: none;
}
#main_img .scroll {
    right: -15px;
}
#main_img .scr {
    margin-bottom: 30px;
}
#main_img .scroll_d {
    height: 100px;
}
#main_img {
    overflow: inherit;
}
.top_cms_wrap {
    background-size: 92px;
}
.catch span {
    font-size: 15px;
    margin-top: 5px;
}
.img5 {
    width: 42%;
    top: -8vw;
    top: -44vw;
}
footer .logo {
    text-align: center;
}
footer .logo a img {
    max-width: 127px;
}
header #logo {
    max-width: 104px;
}
.catch {
    font-size: 23px;
    left: 6%;
    bottom: -22vw;
    filter: drop-shadow(0px 0px 4px #ffffff) drop-shadow(3px 3px 9px #ffffff) drop-shadow(0px 0px 6px #ffffff);
}
.fat-nav li a {
    font-size: 16px;
}
.intro_img:before {
    width: 123px;
    height: 183px;
    right: -9vw;
    bottom: -5vw;
}
.intro_img {
    left: 22%;
    top: 27vw;
    width: 50%;
}
.intro_txt {
    margin-left: 0%;
    width: 100%;
}
.img5:before {
    width: 103px;
    height: 130px;
    left: -76px;
    bottom: -69px;
}
.img5:after {
    left: -50vw;
    top: -71px;
    height: 121px;
    z-index: 0;
}
#contents1 {
    padding-top: 103vw;
}
#top_cms > .box:first-of-type {
    padding: 50px 0% ;
}
.txt3 {
    z-index: 1;
    position: relative;
}
#loopslider {
    height: auto;

}
#loopslider ul {
    height: auto;
    padding-left: 15px;
    padding-right: 15px;
}
#loopslider ul li {
    width: 200px;
}
#loopslider ul li a {
    /*margin: 0 10px;*/
}
    #loopslider_wrap {
    position: inherit;
    }
}

/*2022/12/23*/
.intro_img:before,
#attach,
.img5:before,
.img5:after,
footer:before,
footer:after
 {
    display: none;
}
#contents3,
.top_cms_wrap,
.page_wrap{
    background-image: none;
}
.img5 {
    top: 0vw;
}
.main_box,
#fakeloader {
    background-image: url(./Dup/img/bg_green.jpg);
    background-size:cover;
    background-attachment: fixed;
}
#contents3 {
    background-color:transparent!important;
}
footer {
    background: #fff;
}
.head_banner a,
.foot_tel_bt a {
    background-image: none;
    background-color:#F1FFE7;
}
/*2023/1/17*/
.main_box,
#fakeloader {
    background-image: url(./Dup/img/bg_blue.jpg);
    background-size:cover;
    background-attachment: fixed;
}
.head_banner a, .foot_tel_bt a {
    background-color:#01509D;
    color:#fff!important;
}
.bg_color3 {
    background-color: #e3edf1;
}
.border_color4 {
    border-color: #adc6ff;
}
.spinner7 > div {
    background-color: #01509D;
}
@media(max-width: 667px) {
#contents2 {
    margin-top: 70px;
}
.img5 {
    right: 29%;
    top: -45vw;
}
}