﻿@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@700&family=Kiwi+Maru:wght@500&family=Sawarabi+Gothic&display=swap');

body, .font_sans-serif{
    font-family: 'Sawarabi Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
#header .h_tel, #header_menu, #intro h2, #contents h3, #top_cms .cms_title, .more, #page_title, .cate_title, .sub_cate_title, a[href^="tel:"], a[href^="mailto:"], #contents .con_box::before{
    font-family: 'Comfortaa', 'Kiwi Maru', 'Sawarabi Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
.font_bold{
    font-weight: normal;
}

/*** cursor ***/

.follower{
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
}
.follower{
	width: 10px;
	height: 10px;
	background-color: #5fbfd6;
	z-index: 21;
	transition: 0.3s;
	transition-property: transform, opacity
}
.follower.is-active{
    opacity: 0.4;
	transform: scale(5);
}

/**** other ****/

body{
    background-color: #f9f9f4;
}
#wrap{
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.fadein{
    opacity: 0;
    transform: scale(0.95);
    transition: 0.3s;
    transition-timing-function: cubic-bezier(.09,1.2,.77,1.41);
}
.fadein.active{
    opacity: 1;
    transform: scale(1);
}

.rectangle_img, .square_img, .normal_img img{
    border-radius: 10px;
}

#header_menu{
    width: 90%;
}
#header_menu ul{
    padding: 30px;
    border-radius: 10px;
    background-color: #fff;
}
#header_menu li a{
    padding-top: 50px!important;
    background-size: 40px;
    background-position: top center;
    background-repeat: no-repeat;
    transition: 0.3s;
    transition-timing-function: cubic-bezier(.09,1.2,.77,1.41);
}
#header_menu li a:hover{
    opacity: 1!important;
    transform: scale(1.1);
}
#header_menu li:nth-of-type(1) a{
    background-image: url(./Dup/img/icon1.png);
}
#header_menu li:nth-of-type(2) a{
    background-image: url(./Dup/img/icon2.png);
}
#header_menu li:nth-of-type(3) a{
    background-image: url(./Dup/img/icon3.png);
}
#header_menu li:nth-of-type(4) a{
    background-image: url(./Dup/img/icon4.png);
}
#header_menu li:nth-of-type(5) a{
    background-image: url(./Dup/img/icon5.png);
}
#header_menu .sab_title{
    color: #333;
    opacity: 0.4;
}
#header_menu ul li::before{
    height: 60px;
    border-color: #eaeadc;
}
header .nami, .foot_nami{
    display: none;
}
#header > div.bg_color1{
    position: relative;
    margin-bottom: 80px;
}
#header > div.bg_color1::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 50px;
    background-image: url('./Dup/img/bg_img3.png');
    background-size: 100% 100%;
    left: 0;
    bottom: -49px;
}
#header .h_tel > .d_inline_b:last-of-type{
    display: none!important;
}

#main_img{
    width: 90%;
}
#main_img .main_txt{
    z-index: 3;
}
#main_img .swiper-container{
    background-color: #7c7a5d;
}

#intro{
    position: relative;
    padding-bottom: 100px;
    background-image: url('./Dup/img/bg_img.png');
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100%;
    border-bottom: none;
}
#intro::before{
    position: absolute;
    content: "";
    width: 600px;
    height: 600px;
    background-image: url('./Dup/img/intro.png');
    background-size: contain;
    z-index: -1;
    top: -400px;
    right: -200px;
}
#intro h2{
    font-size: 30px;
    color: #333;
}
#intro_txt h2::before{
    border-color: #eaeadc;
    border-width: 5px;
}

#contents .con_box{
    position: relative;
}
#contents .con_box:nth-of-type(1), #contents .con_box:nth-of-type(3){
    background-image: url('./Dup/img/bg_img6.png');
    background-size: 30%;
    background-position: top left;
    background-repeat: no-repeat;
}
#contents .con_box:nth-of-type(2){
    background-image: url('./Dup/img/bg_img7.png');
    background-size: 30%;
    background-position: top right;
    background-repeat: no-repeat;
}
#contents .con_box::before{
    position: absolute;
    font-size: 150px;
    top: -15px;
    line-height: 1;
    color: #f9f9f4;
    z-index: 1;
}
#contents .con_box:nth-of-type(1)::before{
    content: "01";
    right: 100px;
}
#contents .con_box:nth-of-type(2)::before{
    content: "02";
    left: 100px;
}
#contents .con_box:nth-of-type(3)::before{
    content: "03";
    right: 100px;
}


#top_cms{
    padding-left: 5%;
    padding-right: 5%;
}
#top_cms .cms_title{
    text-align: center;
    padding-left: 0;
}
#top_cms .cms_title h2{
    color: #333;
    font-size: 30px;
}
#top_cms .cms_title p{
    color: #f9b2b2;
}
#top_cms .cms_title .title_bg{
    display: none;
}
#top_cms .top_cms_box{
    position: relative;
}
#top_cms .top_cms_box:first-child::before{
    position: absolute;
    content: "";
    width: 600px;
    height: 600px;
    background-image: url('./Dup/img/bg_img2.png');
    background-size: contain;
    z-index: -1;
    top: -100px;
    left: -200px;
}
#top_cms .top_cms_box:nth-of-type(2)::before{
    position: absolute;
    content: "";
    width: 600px;
    height: 600px;
    background-image: url('./Dup/img/bg_img4.png');
    background-size: contain;
    z-index: -1;
    bottom: -100px;
    right: -200px;
}
.more a{
    transition: 0.3s;
    transition-timing-function: cubic-bezier(.09,1.2,.77,1.41);
}
.more a:hover{
    opacity: 1!important;
    transform: scale(1.1);
}

#page_title{
    background-color: transparent;
}
#page_title h2{
    color: #333;
    font-size: 30px;
}
#page_title h2::before{
    border-color: #333;
}
#page_title p{
    color: #f9b2b2;
}

.cate_title{
	background-color: transparent;
	padding: 10px 0!important;
	padding-left: 60px!important;
	margin: 0;
	display: block;
	border: none;
	width: 100%!important;
	font-size: 24px;
	text-align: left;
	margin-bottom: 50px;
	border-bottom: solid 2px #333;
	color: #333;
	font-weight: normal;
	background-position: left bottom;
	background-size: 50px;
	background-repeat: no-repeat;
	background-image: url('./Dup/img/cate_title.png');
	box-sizing: border-box;
}

.sns_links{
    justify-content: center;
}
.sns_links li{
    margin: 0 10px;
}

footer{
    background-color: #fff!important;
    background-image: url('./Dup/img/bg_img5.png');
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top;
}
footer .txt_white{
    color: #333;
}
#footer .d_table-cell:first-child{
    border-color: #eaeadc
}
footer .footer_cms{
    padding-right: 80px;
}

.foot_link{
    width: 80px;
    bottom: 100px;
    right: 30px;
    z-index: 20;
}
.foot_link a:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
}
.foot_link img{
    background-color: #5FBFD6;
    border-radius: 50px;
}


/** tablet 780 **/
@media screen and (max-width: 768px){
#header > div.bg_color1 {
    margin-bottom: 0;
}
#header > div.bg_color1::before {
    height: 3vw;
    bottom: calc(-3vw + 1px);
}
.toggle {
    top: 20px;
}
#logo{
    padding: 10px 0!important;
}
#logo img{
    width: 150px!important;
}
#intro{
    width: 100%!important;
    padding-left: 5%;
    padding-right: 5%;
    background-size: 800px;
}
#contents .con_box:nth-of-type(1), #contents .con_box:nth-of-type(2), #contents .con_box:nth-of-type(3){
    background-size: 40%;
}
#contents .con_box::before{
    font-size: 120px;
}
#contents .con_box:nth-of-type(1)::before{
    right: 50px;
}
#contents .con_box:nth-of-type(2)::before{
    left: 50px;
}
#contents .con_box:nth-of-type(3)::before{
    right: 50px;
}
#top_cms .top_cms_box:first-child::before{
    width: 400px;
    height: 400px;
    top: -70px;
    left: -100px;
}
#top_cms .top_cms_box:nth-of-type(2)::before{
    width: 400px;
    height: 400px;
    bottom: -50px;
    right: -100px;
}
#page_title{
    padding-top: 100px;
}
}

/** mobile 750 **/
@media screen and (max-width: 667px){
#logo .width_30per_tb{
    width: 120px!important;
}
.toggle {
    top: 15px;
}
#intro::before {
    width: 400px;
    height: 400px;
    top: -250px;
    right: -150px;
}
#intro h2{
    font-size: 24px;
}
#contents .con_box::before{
    display: none;
}
#top_cms .cms_title h2{
    font-size: 24px;
}
#page_title{
    margin-bottom: 100px;
}
#page_title h2{
    font-size: 24px;
}
footer .footer_cms{
    padding-right: 0;
}
#copyright{
    padding-bottom: 80px;
}
.foot_link{
    left: 0;
    bottom: 10px;
    width: calc(100% - 60px);
    max-width: 400px;
    box-sizing: border-box;
}
}

/** IE **/
@media all and (-ms-high-contrast:none) {

}