﻿/* color -----------------------------------------------------------------------------*/

:root{
    --color1:#ffc0cb;
    --color2:#f0e68c;
    --color3:#FFB798;
    --color4:#FDFAEA;
    --color5:#ffdda7;
    --color6:#a55e3f;
    --color7:#ff9aac;
    --white:#ffffff;
    --black:#333333;
    --gray:#ccc;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color7);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color6);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color6);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color4);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.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);} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: var(--color4);} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: var(--color5);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.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);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

.linkStyle{color: var(--color7);
          border-bottom:solid 1px;
}
body#body {
    background: #ffe9d7;
}
/* color -----------------------------------------------------------------------------*/

/* ----------------　all　---------- */
.linkStyle:hover{
	color:　var(--color1);
	opacity: 0.7;
	transition: all 0.5s;
}
body {
    overflow: hidden;
    font-family: 'Itim', 'Zen Maru Gothic';
}
.header-in {
    background: #fcfbf9;
}
.logo1:hover {
    transform: translateY(0px);
    opacity: 0.7;
}
.footer {
    background: #fcfbf9;
}
.f_sitemap_inner a {
    color: var(--black);
}
 .f_sitemap_inner i {
     color: var(--color3);
 }
 .f_contact_img {
    opacity: 0.5;
}
 .footer p {
    color: var(--color6);
}
.copy {
    background: transparent;
}
#fakeloader {
    background: #fcfbf9;
}
.menu_btn span {
    background: var(--color1);
}
#sp_nav .sp_nav_inner .l-menu ul li a span {
    color: var(--color1);
}
.border_so1-t {
    border-top: 4px dotted var(--color5);
}
.border_so1-b {
    border-bottom: 4px dotted var(--color5);
}
.f_contact_box .font_16 {
    margin-top: 5px;
}
#fakeloader .fl {
    max-width: 250px;
}
/* ------------------------------　TOP　---------- */
.topTxt1 {
    display: none;
}
#main_img {
    padding-top: 0;
    height: 100vh;
}
#main_img img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
#main_img:before {
    content: "";
    background-image: url(./dup/img/catch.png);
    background-size: min(1920px,120%);
    background-repeat: no-repeat;
    background-position: 50% 55%;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 70vw;
    transform: translate(-50%,-50%);
}
#con1 {
    background: transparent;
}
#con1:before {
    content: "";
    width: 100%;
    height: 100px;
    position: absolute;
    bottom: -99px;
    left: 0;
    background-image: url(./dup/img/wave2.png);
    background-size: contain;
    background-repeat: no-repeat;
}
#con1:after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    bottom: -100px;
    right: 5%;
    /* transform: translate(-50%,-50%); */
    background-image: url(./Dup/img/woman.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 1;
    z-index: 0;
}
.con1_inner:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-image: url(./Dup/img/yomogi.png);
    background-repeat: no-repeat;
    background-position: -5% 100%;
    background-size: 40%;
    opacity: 0.2;
    z-index: -1;
}
#con1 h2,#con2 p.font_22 {
    position: relative;
    display: inline-block;
}
#con1 h2:before,#con2 p.font_22:before {
    content: "";
    width: 100%;
    height: 15px;
    background: var(--color1);
    position: absolute;
    bottom: 10px;
    opacity: 0.5;
    z-index: -1;
}

#con2:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(./dup/img/bg.jpg);
    background-size: cover;
    z-index: -1;
    opacity: 0.5;
}
.con1_squ {
    bottom: -70px;
}
.con1_squ span {
    border-radius: 50%;
}
#con3:before {
    content: "";
    width: 100%;
    height: 80px;
    position: absolute;
    top: -79px;
    left: 0;
    background-image: url(./dup/img/wave1.png);
    background-size: cover;
}
#con3 .sl img {
    position: relative;
    top: 14px;
}
.border_so2-b {
    border-bottom: 5px dotted var(--color4);
}
.cmstitle p {
    color: var(--color6);
}
.cmstitle p span {
    color: var(--color7);
}
/* ------------------------------　下層ページ　---------- */
.cate_list a {
    border-color: var(--color3);
}
.cate_list li a:hover {
    background: var(--color4);
}
.all_contents {
    background: var(--color4);
}
.pagetitle_img {
    mix-blend-mode: inherit;
}
.pagetitle h2,.pagetitle p {
    color: var(--color6);
}
.pagetitle p span {
    color: var(--color2);
}

/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
#page9 .privacy .box {
    background: transparent;
}
/* サイトマップ */
#page10 .sitemap li a:hover {
    background: var(--color3);
}


/*---------------------------------------------------------------------------
			          タブレット
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
/* --------------------　all　---------- */

.logo1 {
    max-width: 80px;
}
/* --------------------　TOP　---------- */
#main_img {
    height: 90vh;
}
#main_img:before {
    background-image: url(./dup/img/catch_tb.png);
    height: 130%;
    background-size: 130%;
}
.con1_inner:before {
    background-position: -80% 40%;
    background-size: 70%;
}
#con1 p {
    z-index: 1;
    position: relative;
}
#con1:before {
    height: 50px;
    background-repeat: no-repeat;
    bottom: -49px;
}
#con1:after {
    width: 250px;
    height: 250px;
    bottom: -100px;
    right: 0%;
}
#con3:before {
    height: 50px;
    top: -49px;
}
/* --------------------　下層ページ　---------- */
#cms_2-d .cate_list li a {
    padding: 10px 10px;
}
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */

}



/*---------------------------------------------------------------------------
		            	スマホ
---------------------------------------------------------------------------*/
@media screen and (max-width: 667px){
/* --------------------　all　---------- */
.logo1 {
    max-width: 64px;
}
.f_contact_box h4 {
    font-size: 30px;
}
/* --------------------　TOP　---------- */
#main_img {
    height: 80vh;
}
#main_img:before {
    height: 95%;
    background-size: 130%;
    top: 45%;
}
#con1 h2 span {
    position: relative;
}
#con1 h2 span:before {
    content: "";
    width: 100%;
    height: 12px;
    background: var(--color1);
    position: absolute;
    bottom: 0px;
    opacity: 0.5;
    z-index: -1;
}
#con1 h2:before {
    height: 12px;
    bottom: 46px;
}
#con1 {
    padding-bottom: 50px;
}
#con1:after {
    width: 150px;
    height: 150px;
    bottom: -80px;
    right: -20px;
    opacity: 0.8;
}
#con1:before {
    height: 25px;
    background-repeat: no-repeat;
    bottom: -24px;
}
.con1_squ {
    bottom: -30px;
}
#con3:before {
    height: 25px;
    top: -24px;
}
#con3 .sl {
    position: absolute;
    top: 26px;
    left: 5%;
}
#con3 .sl:last-child {
    right: 5%;
    left: auto;
}
/* --------------------　下層ページ　---------- */
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */
}

/*---------------------------------------------------------------------------
		            	cms3
---------------------------------------------------------------------------*/
.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    color: #474521;
    font-weight: normal;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 80px;
    padding-bottom: 60px;
    border-radius: 26px;
    border-color: var(--color3);
}
.link_type1 .link_top a:hover{
    background-color: #ededeb;
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.1;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
}


.flow_type4 .box_description2{
	border-left: dotted 4px #1e2b38;
	background-color: rgba(204, 204, 204, .35);
}
.flow_type4 .box_txt1,
.flow_type4 .box_txt2{
	padding-left:20px;
}
.flow_type4 .box_wrap{
    position: relative;
    padding-left: 30px;
}
.flow_type4 .box_wrap:before{
    content: "";
    display: inline-block;
    height: calc(100% - 30px);
    border-left: 4px dotted var(--color1);
    position: absolute;
    top: 30px;
    left: 26px;
}
.flow_type4 .cate_box:last-of-type{
	padding-bottom: 0;
}
.flow_type4 .box_description2{
    position: relative;
    border-left: none;
    background-color: rgba(255, 255, 255, 0);
}
.flow_type4 .box_description2 span{
	position: absolute;
    display: inline-block;
    width: 68px;
    top: 5px;
    left: -38px;
}
/*--------タブレット--------*/
@media screen and (max-width: 768px){
.flow_type4 .cate_box{
	flex-direction: column-reverse;
}
.flow_type4 .box_description2 span {
	width: 61px;
	left: -34px;
}
}
/*--------スマートフォン--------*/
@media screen and (max-width: 667px){
.flow_type4 .box_wrap{
    padding-left: 23px;
}
.flow_type4 .box_wrap:before {
    left: 19px;
}
}