﻿/*--------link_font--------*/
@font-face {
    font-family: 'hiragino_min';
    font-style: normal;
    font-weight: 400;
    src: url('../Dup/img/hiragino_min_r.woff') format('woff'),
        url('../Dup/img/hiragino_min_r.eot')  format('eot');
    font-display: swap;
}
@font-face {
    font-family: 'hiragino_min';
    font-style: normal;
    font-weight: 700;
    src: url('../Dup/img/hiragino_min_b.woff') format('woff'),
        url('../Dup/img/hiragino_min_b.eot')  format('eot');
    font-display: swap;
}
@font-face {
    font-family: 'Rochester';
    font-style: normal;
    font-weight: 400;
    src: url('../Dup/img/Rochester.woff') format('woff'),
        url('../Dup/img/Rochester.eot')  format('eot');
    font-display: swap;
}
body,.font_serif,.cms_title p,#footer .tel_bt,#copyright,.page_title_box p,#page10 .more_btn .en,.nav_menu_more:first-of-type a{
    font-family: "hiragino_min","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif!important;
}

.linkStyle{color: #333333; text-decoration: underline;}

/*--------all_page--------*/
.button_container span:nth-of-type(1) {
    color: #e34867;
    font-size: 0.7em;
}
.button_container span {background: #e34867;}
#wrap.font_14{font-size:16px;}
#top_pc_nav ul li a{text-shadow: 0 0 4px #8b8b8b;}
#main_img .menu .bg_white {background-color: rgba(255,255,255,0);}
#main_img .menu a{max-width: 350px;}

main{background-color: #f3b8ca;}

#pc_nav li:last-of-type{
    padding-right: 140px;
}

header.scr_header {
    background-color: rgba(255, 255, 255, .75)!important;
}
header.scr_header #logo {
    max-width: 160px;
}
.top header.scr_header #pc_nav li a,.page #pc_nav li a{
    color: #e44a69;
}
#pc_nav li a::after, #top_pc_nav li a::after{
    background: rgba(227, 72, 103, .35);
}

#nav_menu ul li a{
    display: inline-block;
    position: relative;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    padding: 0 0 3px 0;
    min-width: auto;
    text-align: left;
}

.nav_menu_more:first-of-type a .icon:before{content: "\f879";}
#nav_menu .mg_b-50px h2,#nav_menu .mg_b-50px .nav_menu_more:last-of-type{display:none;}

.line:before {
    background-color: #a2e1e1!important;
}


#contents3_wrap:before {
    background-attachment: fixed;
    background-position: 50% 30%;
}
#contents3 .con_box {
    box-shadow: rgba(185, 185, 185, .15) 0px 48px 100px 0px;
}
#contents3 .con_box::before {
  top: -1px;
  bottom: -1px;
  left: 80px;
  right: 80px;
}


#contents3_wrap:after {
    background-color: rgba(247, 247, 247, .65)!important;
}

.cms_title h3{
    font-family: 'Rochester',script;
    letter-spacing: 1px;
    font-size: 2.8em;
    color: #9cf5f5;
}
.more_btn {
  position: relative;
    padding: 16px 100px;
    outline: none;
    border: 1px solid #fff;
    background-color: transparent;
    border-radius: 5px;
    z-index: 2;
    color: #fff;
    display: initial;
}
.line-l:before {
    background-color: rgba(255, 255, 255, .8)!important;
}

.more_btn:before {
  content: "";
  position: absolute;
  width: 100%;
  top: 7px;
  left: 7px;
  height: 100%;
  background-color: rgba(153, 255, 255, .5);
  z-index: -1;
  transition: all 0.35s;
  border-radius: inherit;
}

.more_btn:hover:before {
  top: 0px;
  left: 0px;
}
#info_contact .con_title .en{
    font-family: 'Rochester',script;
    letter-spacing: 1px;
    font-size: 2.5em;
}

#footer_nav{
    margin-bottom: 0;
    padding-bottom:25px;
}
#h1txt p {
    font-size: 0.75em;
    letter-spacing: 0.2em;
    line-height: 1.2;
}
#footer .con_box h2{display:none;}


@media screen and (min-width: 1281px){
#header #nav_menu .add_contact{
    top: 10px;
    right: 128px;
}
}
@media screen and (min-width: 769px) and (max-width: 1280px){
    header .add_contact{
    top: 8px;
    right: 103px;
    }
    header.scr_header .add_contact {
    top: 8px;
    }
    
}

@media screen and (min-width: 769px){
#header{padding: 0 1.5% 0 5%;}
}
@media screen and (max-width: 768px){    
   #header #nav_menu .add_contact {
    top: 4px;
    right: 100px;
    transition: all 0.3s;
}
}
@media screen and (max-width: 667px){
   #header #nav_menu .add_contact {
       top: 6px;
    right: 70px;
}
#header #nav_menu .add_contact a {
    padding: 8px 15px;
}
#header #nav_menu .add_contact a {
    padding: 5px 6px;
    font-size: 4.1vw;
    letter-spacing: 0.1em;
}

}


/*--------sub_page--------*/
.cate_list li a {
    background-color: rgba(255, 255, 255, .75)!important;
}
.cate_list li a:hover {
    background-color: rgba(255, 255, 255, .35)!important;
}
.page #logo { max-width: 130px;}
.con_box.bg_white {background-color: rgba(255, 255, 255, .5);}

#cms_3-a .cate {
    margin-bottom: 200px;
}
#cms_3-a .cate .cate_box:last-of-type {
    border-bottom: 1px dotted #ababab;
}
#cms_4-c .box_img1_wrap, #cms_4-c .box_img2_wrap {
	width: 48%!important;
	margin: 0 1%;
}
#cms_4-c .box_img1_wrap::before, #cms_4-c .box_img2_wrap::before {
	position: absolute;
	content: "Before";
	width: 121px;
	background-color: #4d4d4d;
	color: #fff;
	text-align: center;
	display: block;
	left: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 4px 0px;
	box-sizing: border-box;
}

#cms_4-c .box_img2_wrap::before {
	content: "After";
	background-color: #e38cc9;
}
#cms_4-c .box_img1_wrap.blank{
	width: 100%!important;
}
#cms_4-c .box_img1_wrap.blank::before, #cms_4-c .box_img2_wrap.blank::before{display:none;}
@media screen and (max-width: 667px){
#cms_4-c .box_img1_wrap::before, #cms_4-c .box_img2_wrap::before{
	width: 76px;
	font-size: 13px;
}
#cms_4-c .box_img1_wrap::before, #cms_4-c .box_img2_wrap::before{padding: 1px 0px;}
}

#page8 .tel_box{
    position: relative;
    overflow: hidden;
    padding: 20px 20px 15px 20px;
}
#page8 .tel_box > a:before{
    content:"";
    position: absolute;
    width:100vw;
    height:100vh;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    left:50%;
    top:50%;
}
@media screen and (max-width: 1200px){
    #page8 .tel_box p{
        display: block;
        padding-right: 0px;
        margin-right: 0px;
        border-right: none;
        letter-spacing: 1px;
        font-size: 0.92em;
    }
}

@media screen and (max-width: 667px){
#page8 .tel_box a{
    font-size: 5vw;
    letter-spacing: 2px;    
}
}

#page10 .more_btn {
    padding: 10px 0;
    display: block;
}


.overlay {
    background: rgba(237, 176, 216, .9)!important;
}
#overlay .right p.opacity07 {
     opacity: 1; 
}
.nav_menu_more a{background-color: #ff91b3;}

/*--------mobile_tb--------*/
@media screen and (max-width: 768px){
    
#logo { max-width: 110px;}
#contents2 .con_box {
    margin-top: 3%;
}
#info_contact{
    margin-bottom: 0;
    padding-bottom: 30px;
}
#cms_4-c .box_img1_wrap.blank {
    margin-bottom: 1%;
}
.page #logo {
    max-width: 140px;
}

header.scr_header #logo {
    max-width: 130px;
}
}

/*--------mobile_sp--------*/
@media screen and (max-width: 667px){

header.scr_header #logo {
    max-width: 110px;
}
#header #nav_menu .add_contact a {
    padding: 8px 15px;
}
#wrap.font_14 {
    font-size: 3.7vw;
    line-height: 1.7;
    letter-spacing: 0.15em;
}
#intro_wrap {
    padding: 6% 3%;
}
#footer .tel_bt{
    text-align: left;
    padding-left: 20px;
}

.page #logo {max-width: 110px;}
#page_title .page_title_box {
    background-color: rgba(243, 184, 202, .65);
}
.cate_list li a { text-align: left;padding-left:45px;}
#cms_3-a .cate {
    margin-bottom: 100px;
}
#cms_4-c .cate_box.mg_b-100px_sp {
    margin-bottom: 2px;
}
#page10 .con_box > div {
    margin-bottom: 10%;
}
#page10 .con_box > div:nth-last-of-type(2), #page10 .con_box > div:nth-last-of-type(3) {
    margin-bottom: 10%;
}
}
