﻿@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&display=swap');

.font2, .nav .nav1, .nav .nav2, .t_cms_txt3, .t_cms_txt6, .t_cms_txt9, .cms_title .font_12up, .other .box_title, .page_title_box, .t_cms_txt2, .t_cms_txt5, .t_cms_txt8, #top_cms .cms_title p, .cate_title, .flow_type3 .box_title1::before, #page_title p{
    font-family: 'Kiwi Maru', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-weight: 500!important;
}
#header, .menu .nav ul li a span, .intro_title, .t_cms_txt2, .t_cms_txt6, .t_cms_txt8, #contents .box h3, #top_cms .cms_title p, #top_cms .cms_title p, .other .box_title, .other .box_title span, .cate_title, .page_title_box, .box_title1,.font_serif, .flow_type3 .box_title1::before, #contents .box h3::after {
	font-family: 'Kiwi Maru', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-weight: 500!important;
}

/* ======================================================================================
　　color
======================================================================================== */
.linkStyle{color: #ab68b8;transition: opacity .3s;text-decoration: underline;}
.linkStyle:hover{opacity: 0.7}
body, .txt_color_nomal {color: #404040;}

.txt_color3 {
    color: #c3a563;
}
.bg_color4 {
    background-color: #fffafa;
}
footer{
    background-color: #fef8ff;
}
footer .txt_white{
    color: #333333;
}
.t_cms_txt2, .t_cms_txt5, .t_cms_txt8{
    display: none;
}

#contents .box1 h3:before, #contents .box3 h3:before{
    border-color: #ab68b8;
}
#contents .box2 h3:before{
    border-color: #efa19e
}

.img-container:before{
    background: #d0accf;
}
.t_cms_img2 .img-container:before {
    background: #efa19e;
}
.all_page{
    background-color: #fff5f5;
}
.page8 .tel_box{
    background-color: #ffefee;
}



/* ======================================================================================
　　svg anim
======================================================================================== */
#loading {
    background-size: cover;
    background-image: url(../dup/img/load_bg.jpg);
    background-position: center center;
}
.load_logo_wrap {
    width: 50%;
    max-width: 600px;
    z-index: 1;
}

.load_logo{z-index: -1;}
#svg_anim1 path{
     fill: none;
     stroke: #ffffff;
     stroke-width:23;
     stroke-linejoin:round;
}


/* ======================================================================================
　　all
======================================================================================== */

/* ---------- header ---------- */


/* ---------- footer ---------- */
footer{
    background-image: url(../dup/img/f_bg.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 40%;
}

/* ---------- btn ---------- */
.animoBorderRightLeft {
    display: inline-block;
    color: #ab68b8;
    position: relative;
    cursor: pointer;
    margin-top: 20px;
    padding: 5px;
    font-weight: bold;
}
.animoBorderRightLeft::after{content:'';position:absolute;width:100%;transform:scaleX(1);height:3px;bottom:0;left:0;background-color:#ab68b8;transform-origin:bottom left;transition:transform .3s ease-in-out}.animoBorderRightLeft:hover::after{transform:scaleX(0);transform-origin:bottom right}
.animoBorderRightLeft a{color: #ab68b8;}

.box2 .animoBorderRightLeft a{color: #efa19e;}
.box2 .animoBorderRightLeft::after{background-color: #efa19e;}


/* ======================================================================================
　　top
======================================================================================== */

/* ---------- main_img ---------- */
.main_txt{
    top: 41%;
    width: 80%;
    max-width: 861px;
}
.main_txt_btn{
    top: 67%;
    width: 80%;
    max-width: 450px;
}

/* ---------- contents ---------- */
.svg_box{display: none;}
.svg_box .dec{opacity: 0!important;}

.en_title{
    font-size: 40px;
    color: #c3a563;
}

#contents1 {
    background-image: url(../dup/img/con1_hana2.jpg), url(../dup/img/con1_hana1.jpg);
    padding: 80px 0 100px;
    position: relative;
    background-repeat: no-repeat;
    background-position: top right, top left;
    background-size: 28%, 27%;
}
#contents1 h3::before{
	display: inline-block;
    content: "";
    width: 1px;
    height: 65px;
    background: #bf9d74;
    position: absolute;
    top: calc(100% + 30px);
    left: 50%;
    transform: translateX(-50%);
}
#contents1:after {
    content: "";
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    background-image: url(./Dup/img/con1_hana3.png);
    background-size: 100%;
    width: 21vw;
    height: 25vw;
    bottom: -13vw;
    right: 6vw;
    z-index: 1;
}

#contents {
    padding-bottom: 0;
    border-top: 1px #c7ac6f solid;
    background-color: #fff;
}
#contents .box figure:after{opacity: 0;}
#contents .box h3{
    font-size: -webkit-calc(1rem + 8px);
    font-size: calc(1rem + 8px);
}

#contents .box{
    padding: 100px 0;
    margin: auto;
}
#contents .box1, #contents .box3{
    background-color: #fef8ff;
}
#contents .box2{
    background-color: #fff;
}
#contents .box3 {
    background-image: url(../dup/img/top_bg4.jpg);
    background-repeat: no-repeat;
    background-size: 37%;
    background-position: right bottom;
}
#contents .inner{
    max-width: 1100px;
    margin: auto;
}

.con_hana1 {
    top: -24%;
    left: -9%;
    width: 35%;
    max-width: 670px;
}
.con_hana2 {
    bottom: -18%;
    right: -3%;
    width: 20%;
    z-index: 2;
}
.con_hana3 {
    top: -49px;
    left: -30px;
    width: 19%;
    z-index: 2;
    transform: scale(1,-1);
}
.con_hana4 {
    bottom: -8%;
    right: 0%;
    width: 14%;
    z-index: 1;
}
.con_hana5 {
    bottom: -13%;
    left: -3%;
    width: 22%;
    z-index: 2;
}
.con_hana6 {
    top: -145px;
    left: -1%;
    width: 18%;
    z-index: 2;
    display: none;
}

#contents .box .txt_wrap {
    position: relative;
    z-index: 2;
}
#contents{counter-reset: box;}
#contents .box{counter-increment: box;}
#contents .box h3::after {
    position: absolute;
    display: block;
    pointer-events: none;
    content: "0"counter(box);
    font-size: 86px;
    color: #ecd8f1;
    left: 0;
    top: -70px;
    z-index: -1;
}
#contents .box:nth-child(3) h3::after{
    color: #fdecef;
}


/* ---------- top_cms ---------- */
#top_cms .top_cms_wrap{padding-bottom: 0;}
#top_cms .line {display: none;}

.m_title_txt{
    padding-top: 80px;
}
.title_hana {
    max-width: 200px;
    margin: auto;
}

.cms_title{
    text-align: center;
}
.cms_title p.txt_color3{
    font-size: 40px;
}
.cms_title::before {
    content: '';
    position: absolute;
    display: block;
    width: 5vw;
    height: 9vh;
    background-image: url(./Dup/img/item1.png);
    background-repeat: no-repeat;
    background-size: contain;
    top: 0;
    left: 0;
    z-index: 0;
}

.top_cms_box:before{display: none;}

.other .box figure{opacity: 1}
.other .box{border: 2px solid #fff;border-right: 8px solid #fff}
.other .box:last-child{border-left: 8px solid #fff;}
.other .box {background-color: #5e5e5e;}
.other .box p, .other .box h2 span {color: #fff;}
.other .box figure {opacity: 0.8;}

.other .box:hover {background-color: #858585;}
.other .box:hover p, .other .box:hover h2 span {color: #fff;}
.other .box:hover figure {opacity: 0.5;}

.top_cms_box .more_box .more{
    border-top: none;
    border-left: none;
    border-right: none;
}
.top_cms_box .more_box .more:hover:before{
    background-color: #ffffff;
}
.top_cms_box .more_box .more:hover div {
    color: #fff;
}
.top_cms_box .more:hover span:before{
    background-color: #ffffff;
}
.top_cms_box .more:hover span:after{
    border-left: 5px solid #ffffff;
}

.video_wrap {
    position: relative;
    width: 80%;
    margin: auto;
    margin-top: 50px;
    margin-bottom: 0px;
    max-width: 895px;
}
.video_wrap video{
    outline: none;
    border: none;
    filter: drop-shadow(0px 0px rgba(0,0,0,0));
}
@media screen and (max-width: 768px){
.video_wrap {
	position: static;
	overflow: hidden;
	width: 100%;
	height: auto;
	min-width: 100%;
}
}


/* =============================================
　　top_menu 
============================================= */
#top_menu {
    width: 95%;
    margin: auto;
    align-items: stretch;
}
/* bt_menu_box */
#top_menu .box {
    width: 46%!important;
    background-color: #faf2fb;
}
#top_menu a {top: 0;left: 0;}
#top_menu .bt_menu_box .bt_menu_box_img {
    transition: transform 1s;
    max-height: 302px;
}
#top_menu .bt_menu_box::before,#top_menu .bt_menu_box::after{
	display: inline-block;
    content: "";
	position: absolute;
    pointer-events: none;
}
/*#top_menu .bt_menu_box::before {
    width: 100%;
    height: 100%;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: #6e997b;
    background: linear-gradient(125deg, #6e997b 0%, #6e997b 100%);
    opacity: 0;
    transition: opacity .6s;
    z-index: 1;
}*/
#top_menu .bt_menu_box::after {
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    border: solid 1px #fff;
    transition: .7s;
	z-index: 2;
}
#top_menu .bt_menu_box .more {
	opacity: 0;
    transition: opacity .5s .3s;
	z-index: 2;
}
#top_menu .box:hover .bt_menu_box_img {transform: scale(1.1);}
#top_menu .box:hover .bt_menu_box::before{opacity: 0.8}
#top_menu .box:hover .bt_menu_box::after {
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
}
/*#top_menu .bt_menu_box:hover .more{opacity: 0.8;}
#top_menu .bt_menu_box:hover .more p{text-shadow: 1px 1px 5px rgba(0,0,0,0.7);}*/

#top_menu p.txt_color1 {
    font-size: 17px;
    margin-bottom: 10px;
    position: relative;
    padding: 13px 14px;
    color: #4a4a4a;
}
#top_menu p.txt_color1 span.font_2dw{
        display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
/*#top_menu p.txt_color1:after {
    content: '';
    display: block;
    position: absolute;
    top: 3px;
    bottom: 0;
    margin: auto;
    right: 0px;
    width: 15%;
    height: 1px;
    background-color: #d4bf94;
}*/
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#top_menu .box {
    width: 91.33333%!important;
}
#top_menu .bt_menu_box .bt_menu_box_img {
    max-height: 205px;
}
}
/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
#top_menu .bt_menu_box .bt_menu_box_img {
    max-height: 146px;
}
}



/* ======================================================================================
　　under
======================================================================================== */
.cate img, .cate_box img {
    box-shadow: 0 2px 4px rgb(0 0 0 / 0%);
}
#page_title p {
    text-shadow: 1px 1px 0 #FFFFF0, -1px -1px 0 #FFFFF0, -1px 1px 0 #FFFFF0, 1px -1px 0 #FFFFF0, 0px 1px 0 #FFFFF0, 0-1px 0 #FFFFF0, -1px 0 0 #FFFFF0, 1px 0 0 #FFFFF0;
}
#page8 .con_line_icon {
    width: 30px;
}

/* ---------- cms1 ---------- */
.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}


/* ---------- cms2 ---------- */
#cms_2-a .cate .cate_box .box_title1 {
    border-bottom: none;
    display: inline-block;
    border-bottom: 2px dashed;
    margin-bottom: 20px;
    padding-bottom: 10px;
}


/* ---------- cms3 ---------- */
.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;
}
}


/* ---------- cms4 ---------- */
#cms_3-b .cate_box{
    border: none;
    background-color: #ffffff;
    border-radius: 20px;
    border: 1px solid #efa19e;
}
#cms_3-b .cate_box{
	position: relative;
}
#cms_3-b .cate_box::before {
    content: '';
    display: inline-block;
    width: 63px;
    height: 63px;
    background-image: url(../dup/img/cms_item1.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: -30px;
    top: -18px;
}


/* ---------- cms5 ---------- */
html.modalset{
	overflow: hidden;
}
#header.modalset{
    position: relative;
    z-index: -1;
}
.v_type4 .box_item {
    box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
    border: solid 1px #d1be8f;
    border-radius: 10px;
    cursor: pointer;
}
.v_type4 .box_item:hover {
    box-shadow: none;
    border: solid 2px #efa19e;
}
.v_type4 .box_title2, .v_type4 .box_txt1{
    border-top: 1px solid #edede6;
}
.v_type4 .modal .box_title2{
	border-top: none;
}
.v_type4 .modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	line-height: 1.7;
}
.v_type4 .modal-wrap {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 20px;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}
.v_type4 .modal-wrap::-webkit-scrollbar {
	display: none;
}
.v_type4 .modal-wrap:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 100%;
}
.v_type4 .modal-bg{
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 100%;
}
.v_type4 .modal-box {
    width: 90%;
    max-width: 900px;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding: 10px;
    padding-bottom: 23px;
    background-color: #fff;
}
.v_type4 .modal-box .inner{
	max-height: 650px;
    overflow: auto;
	-ms-overflow-style: none;
}
.v_type4 .modal-box .inner::-webkit-scrollbar {
  width: 2px;
  height: 10px;
}
.v_type4 .modal-box .inner::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
.v_type4 .modal-box .inner::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #333;
}
.v_type4 .modal-box .modal-close{
	cursor: pointer;
	position: absolute;
    top: 19px;
    right: 25px;
}
.v_type4 .modal_title1{
	padding-top: 60px;
}
.v_type4 .modal_title1:before{
	content: "";
	display: block;
	background-color: #666; 
	width: 1px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 2px;
}
.v_type4 .modal_title1 span{
	transform: rotate(90deg);
	display: block;
	line-height: 1;
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.v_type4 .modal-box .modal-close {
    top: 6px;
    right: 19px;
}
.v_type4 .modal-box .inner{
    max-height: 500px;
}
}



/* ======================================================================================
　　window size
======================================================================================== */
@media screen and (max-width: 1430px){
.con_hana5 {
    bottom: -22%;
}
}
@media screen and (max-width: 1300px){
.con_hana1 {
    top: -20%;
    left: -9%;
    width: 34%;
}
}
@media screen and (max-width: 1000px){
header .logo {
    width: 14%;
}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
header #nav_menu::before {
    display: inline-block;
    content: "MENU";
    position: absolute;
    bottom: 3px;
    right: 0;
    left: 0;
    margin: auto;
    font-size: 12px;
    letter-spacing: 0;
    text-align: center;
    color: #000;
}
    
#loading {
    background-image: url(../dup/img/load_bg_sp.jpg);
}
.load_logo_wrap {
    width: 66%;
}
header .logo {
    width: 23%;
}
.main_txt_btn {
    top: 60%;
}
#contents1 {
    padding: 80px 0 100px;
    background-size: 38%, 33%;
}
#contents1:after {
    width: 34vw;
    height: 40vw;
    bottom: -18vw;
    right: -3vw;
}
#contents .box {
    padding: 133px 0 100px;
}
#contents .box .txt_wrap {
    width: 60%;
    padding: 0;
}
#contents .box figure {
    width: 60%;
    margin-top: 40px;
}
#contents .box:nth-child(3) figure {
    order: 2;
}
#contents .box:nth-child(3) .txt_wrap {
    padding-left: 0px;
    margin-top: 30px;
}
.con_hana1 {
    top: -7%;
    left: -16%;
    width: 54%;
}
.con_hana2 {
    bottom: -4%;
    right: -5%;
    width: 37%;
    z-index: 2;
}
.con_hana3 {
    top: -9%;
    left: -6px;
    transform: rotate(37deg);
    width: 28%;
}
.con_hana4 {
    bottom: 0%;
    right: 4%;
    width: 23%;
    z-index: 2;
    transform: rotate(-22deg);
}
#contents .box3 {
    background-size: 62%;
    padding-bottom: 135px;
}
.con_hana5 {
    bottom: auto;
    width: 35%;
    top: -11%;
    left: -9%;
}
.cate_list li{
    width: 50%;
}
footer {
    background-size: 62%;
}

}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
header .logo {
    width: 31%;
}
.load_logo_wrap {
    width: 83%;
}
body {
    font-size: 14px;
}
.main_img_wrap {
    height: 305px;
}
.main_wrap {
    padding-top: 0;
    margin-top: 305px;
}
.main_img_wrap .navi{
    display: none;
}
.main_txt {
    top: 45%;
    width: 93%;
}
.main_txt_btn {
    top: 76%;
    width: 80%;
    max-width: 450px;
}
.en_title {
    font-size: 33px;
}
.cms_title p.txt_color3 {
    font-size: 33px;
}
#contents1 {
    padding: 104px 0 373px;
    background-size: 41%, 52%;
    background-position: top right, top -18px left -20px;
}
#contents1:after {
    width: 302px;
    height: 356px;
    bottom: 20px;
    right: 14vw;
}
#contents .box2 {
    padding: 115px 0 100px;
}
#contents .box .txt_wrap {
    width: 80%;
}
#contents .box h3 {
    display: block;
    text-align: center;
}
#contents .box h3::after {
    font-size: 53px;
    left: 0;
    right: 0;
    margin: auto;
    top: -70px;
    text-align: center;
}
#contents .box h3:before {
    right: 0;
    left: 0;
    margin: auto;
}
#contents .box figure {
    width: 80%;
}
#contents .box:nth-child(3) figure {
    margin-top: 40px;
}

.con_hana1 {
    top: -3%;
    left: -20%;
    width: 66%;
    transform: rotate(6deg);
}
.con_hana2 {
    bottom: -2%;
    right: -6%;
    width: 41%;
    z-index: 2;
}
.con_hana3 {
    top: -3%;
    left: -6px;
    transform: none;
    width: 34%;
}
.con_hana4 {
    bottom: 3%;
    right: 0%;
    width: 31%;
    z-index: 2;
    transform: rotate(-16deg);
}
.con_hana5 {
    bottom: auto;
    width: 41%;
    top: -3%;
    left: -7%;
}
#contents .box3 {
    background-size: 70%;
    padding-bottom: 103px;
}

.title_hana {
    max-width: 100px;
}

.other .box:first-child {
    border-right: 2px solid #fff;
    border-bottom: 5px solid #fff;
}
.other .box:last-child {
    border: none;
    border-top: 5px solid #fff;
}
.video_wrap {
    margin-top: 24px;
}

footer {
    background-size: 75%;
}
#copyright{
    padding-top: 95px;
}
#page_title .img-container::after {
    background-color: rgb(239 161 158 / 37%);
}
#page_title p{
    text-shadow: none;
}
.cate_list li{
    width: 100%;
}
}



/*お問合わせバナー*/
#fix_bnr {
    bottom: 12px;
    left: 18px;
    z-index: 10;
    width: 17%;
    max-width: 189px;
    transition: 0.5s;
}
#fix_bnr.scroll{
    width: 15%;
    max-width: 220px;
}
@media screen and (max-width: 768px){
#fix_bnr {
    width: 23%!important;
}
#fix_bnr.close{
    transform: translateX(-200px);
}
}
@media screen and (max-width: 667px){
#fix_bnr {
    width: 16%!important;
    right: 0;
    left: 0;
    bottom: 10px;
}
}

