@charset "utf-8";
/* CSS Document */

/* == header == */
header { width: 100%; z-index: 10000; transition: 300ms 0s ease; }
header [class*="wth_"] { }
header [class*="wth_"] *{ transition: 300ms 0s ease;}
#header_logo { display: block; z-index: 500; font-family: 'Open Sans',YuGothic,/* For Mac */ "Yu Gothic", /* For Windows */ "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", /* For Mac Fallback */ Meiryo, /* For Windows Fallback */ sans-serif;}

#header_logo {padding:0.75em 0 1em 0; background-color: #fff; }
#header_logo .brandlogo{}
#header_logo .brandlogo img{width: 100%;}
#header_logo .GandM{ line-height: 1; font-size: 2.3rem; display: inline-flex; align-items: center; padding-bottom: 0.3em; border-bottom: dotted 1px #000; justify-content: center;}
#header_logo .GandM .logo_box{  }
#header_logo .GandM .logo_box:first-child{}
#header_logo .GandM .logo_box img{width: auto; height: 74px;}

#header_logo .GandM p{ display: inline-block; width: 10%;}
#header_logo .GandM p img{ width: 35%;}
#header_logo .GandM img{}
#header_logo .GandM small{font-size: 90%;}
#header_logo .wellness{color: #000; line-height: 1; font-size: clamp(1rem, 4.3vw, 3rem); text-align: center; padding-top: 0.5em; font-family: 'Open Sans', sans-serif; font-weight: 700; letter-spacing: 0em;}
#header_logo [class*="wth_"]{}

#header_logo a{ width: 50%; display: inline-block;}
#header_logo img { }
#header_nav {display: block; z-index: 200; width: 100%; border-bottom: solid 1px #000; border-top: solid 1px #000; background-color: #fff;}
#header_nav ul{ display: flex; align-items: stretch;}
#header_nav a { padding: 1em 0 0.75em 0; display: block; text-decoration: none; color: #000; text-align: center; background-color: #fff; font-weight: bold; line-height: 1.4; height: 100%; font-size: clamp(0.8rem, 1.5vw, 1rem);}
#header_nav a .f_alph{line-height: 1; letter-spacing: 0; font-size: 90%; padding-bottom: 0.5em; margin-bottom: 0.5em; border-bottom: dotted 1px #000;}
#header_nav a.nav_inq{ color: #fff; background-color: #272727;}
#header_nav a.nav_inq .f_alph{ border-bottom-color: #fff; width: 90%; margin-left: 5%;}
#header_nav ul li:last-child a{}
#header_nav [class*="comm_btn"]{ margin-bottom: 0; padding: 0.1em 2.2em; font-weight: 600;}
#header_nav [class*="comm_btn"][target="_blank"]:after{ right: 15px; width: 14px; height: 14px;}

#header_nav.menu_fix{position:fixed; top:0; left:0; }


/*#header_nav a:before{
	content: "";
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	background-image: url(../img/arr_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg);

	background-position: center top;
	margin-right: 0.5em;
	transition: transform 300ms 0s ease;
}
*/
#header_nav a:hover:before{	-ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg); transition: transform 300ms 0s ease;}

header.bg_wh{ }
header.bg_wh #header_logo{  }
header.bg_wh #header_logo a{  }
header.bg_wh #header_nav a{}

.header_nav_wrap { display: inline-block; vertical-align: top; position: relative;}
.header_nav_wrap.to_conv{ margin-right: 10px; margin-left: 10px; }
.header_nav_wrap.to_conv .header_nav_l1{ background-color: #0783d1;	padding-left: 1.5em; padding-right: 1.5em; line-height: 1.4em; text-align: center; border-bottom-right-radius: 0.5em; border-bottom-left-radius: 0.5em; padding-top: 1em; padding-bottom: 1.25em;}

.header_nav_wrap.to_login{ margin-right: 10px;}
.header_nav_wrap.to_login .header_nav_l1{ background-color: #686868; padding-left: 1em; padding-right: 1em;	line-height: 40px; border-radius: 4px;}


.header_nav_wrap a:after{
/*content: "";
position: absolute;
right: 0px;
top: 0px;
bottom: 0px;
width: 1px;
height: 1.4em;
margin: auto;
background-color: #FFFFFF;*/
}
.header_nav_wrap a:after:hover {
opacity: 1!important;
}
li.header_nav_wrap:last-child a:after{

}
.header_nav_wrap-hasChild .header_nav_children {
	display: block;
	position: absolute;
	top: 60px;
	left: 100%;
	background-color: #3a3a3a;
	width: 200%;
	opacity: 0;
	transition: opacity 300ms 0s ease, left 300ms 0s ease;
	padding: 0em 0.5em;
	font-size: 0.9rem;
}
.header_nav_children-main,
.header_nav_children-sup {
    padding: 0.4em 0;
    text-align: left;
}
.header_nav_children-sup {
    border-top: 1px solid rgba(124,124,124,0.7);
}
.header_nav_l1,
#header_nav a#facebook {
	display: inline-block;
	font-size: 1rem;
	/*line-height: 60px;*/
	position: relative;
}
.header_nav_l1:before {
 /*   content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 2px;
    background: #ffffff;
    bottom: 18px;
    left: 0;
    right: 0;
    margin: auto;
    transition: width 300ms 0s ease;
*/
}
.header_nav_l1:hover:before {
    width: 80%;
}
.header_nav_wrap.sns_nav{ width: auto;}
.header_nav_wrap.sns_nav img{ width: auto; height: 2em;}
.header_nav_wrap.sns_nav .header_nav_l1{ padding: 0 0;}


.header_nav_wrap-hasChild-on .header_nav_children {
    left: 0;
    opacity: 1;
}
#header_nav a#facebook {
    display: inline-block;
    width: auto;
    height: 1.3em;
    position: relative;
    bottom: -0.3em;
}
#header_nav a#facebook img {
    display: block;
    width: 1.3em;
}
.header_nav_l2 {
    display: block;
    padding: 0.2em 0.5em;
    margin: 0.5em;
    position: relative;
    transition: background 300ms 0s ease;
}
.header_nav_l2:before {
	content: "";
	display:none;
	/* [disabled]display: block; */
	background: transparent;
	position: absolute;
	border-top: 1px solid #999999;
	border-left: 1px solid #999999;
	width: 5px;
	height: 5px;
	top: 0;
	left: 0;
	transition: width 300ms 0s ease, height 300ms 0s ease;
}
.header_nav_l2:after {
    content: "";
	display:none;
    /* [disabled]display: block; */
    background: transparent;
    position: absolute;
    border-bottom: 1px solid #999999;
    border-right: 1px solid #999999;
    width: 5px;
    height: 5px;
    bottom: 0;
    right: 0;
    transition: width 300ms 0s ease, height 300ms 0s ease;
}
.header_nav_l2:hover {}
.header_nav_l2:hover:before, .header_nav_l2:hover:after { width: 100%; height: 100%; }
.header_nav_l2 .blu_series{
	color: #4a94c2;
	margin-right: 0.5em;
	margin-left: 0.5em;
}
.header_nav_l2 .blk_series{
	color: #969696;
	margin-right: 0.5em;
	margin-left: 0.5em;
}

/**footer**/
footer{
	padding: 1em;
    background-color: #000;
    color: #fff;
}
footer .footer-inner{
margin-left: auto;
margin-right: auto;
text-align: center;
}
footer .footer-inner .footer_logo{
width: 180px;
margin-left: auto;
margin-right: auto;
}
footer .footer-inner .footer_logo img{ width: 100%; height: auto;}

footer .footer-inner .foot_office{
	text-align: center;
}
footer .footer-inner .foot_office li{}

footer .footer-inner .foot_copy{

}

@media only screen and (max-width: 768px) {
    header{ position: fixed; }
    header [class*="wth_"]{}
    #header_logo{padding-bottom: 0.5em; padding-top: 0.4em; /*border-bottom: solid 1px #696969;*/}
    #header_logo .GandM{ }
    #header_logo .GandM .logo_box{ width: 30%; }
    #header_logo .GandM .logo_box:first-child{}
    #header_logo .GandM .logo_box img{ width: 100%; height: auto;}
    #header_logo .GandM p{ }
    #header_logo .GandM p img{ width: 35%;}
    #header_logo .GandM img{}
    #header_logo .GandM small{}
    #header_logo .wellness{ line-height: 1.2; font-size:6vw; letter-spacing: 0.05em;}

	#header_logo a{ }
	#header_logo img {}
	#header_btn_sp {
        display: block;
        width: 64px;
        height: 64px;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1000;
    }
    #header_btn_sp span {
        pointer-events: none;
        display: block;
        width: 24px;
        height: 2px;
        background: #000;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 18px;
        margin: auto;
        transition: transform 300ms 0s ease, width 300ms 0s ease, top 300ms 0s ease, bottom 300ms 0s ease, right 300ms 0s ease;
    }
    #header_btn_sp span:first-child { top: 16px; }
    #header_btn_sp span:last-child { bottom: 16px; }
    .header_nav-on #header_btn_sp span {
        right: 12px;
        width: 18px;
    }
    .header_nav-on #header_btn_sp span:first-child {
        -ms-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        width: 12px;
        top: 7px;
        right: 9px;
    }
    .header_nav-on #header_btn_sp span:last-child {
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 12px;
        bottom: 7px;
        right: 9px;
    }

    #header_nav {
        width: 100%;
        height: 100vh;
        position: absolute;;
        float: none;
        border-style: none;
        /*top: 0;*/
        right: -100%;
        background: #fff;
        overflow: scroll;
        transition: right 300ms 0s ease;
    }
    #header_nav a{ padding: 0.75em 0.5em 0.5em 0.5em; background-color: #f1f1f1;}
	/*#header_nav a:before{ width: 0.6em; height: 0.6em;}*/
	#header_nav a[class*="comm_btn"] {
	display: block;
    padding-top: 0;
    padding-bottom: 0;
	margin: 0;
    margin-top: 1em;
    line-height: 3em;
	width: 80%;
	min-width: initial;
	color: #fff; font-family: YuGothic,/* For Mac */ "Yu Gothic", /* For Windows */ "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", /* For Mac Fallback */ Meiryo, /* For Windows Fallback */ sans-serif;
	}
    #header_nav [class*="comm_btn"][target="_blank"]:after{ right: 24px; width: 20px; height: 20px;}
    
    .header_nav_l1,#header_nav a#facebook { padding: 0;}
	#header_nav a[class*="comm_btn"]:before{ display: none; }
    #header_nav ul{	text-align: center; padding-top: 0.5em; padding-left: 5vw!important; padding-right: 5vw!important; justify-content: space-between;}
	.header_nav_wrap.to_conv{
	margin-top: 20px;
	margin-right: 0px;
	margin-left: 0;
	text-align: center;
	}
	.header_nav_wrap.to_conv .header_nav_l1 {
		line-height: 1.4em;
		border-radius: 0.5em;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		text-align: center!important;
	}
	.header_nav_wrap.to_login{ margin-top: 8px; margin-right: 0px; text-align: center;}
    .header_nav-on #header_nav { right: 0; }

    .header_nav_wrap-hasChild .header_nav_children {
        background: transparent;
        position: static;
        top: auto;
        left: auto;
        padding: 0 1em 0 1.5em;
        text-align: left;
        opacity: 1;
        max-height: 0;
        overflow: hidden;
        transition: max-height 500ms 0s ease;
    }
    .header_nav_wrap-hasChild-on .header_nav_children {
        display: block;
        max-height: 100vh;
    }
	li.header_nav_wrap:last-child a:after{
	display: inline-block;
		}
    #header_nav ul li { display: block; width: 48%!important; margin-bottom: 1em;}
	#header_nav ul li:last-child{width: 100%!important;}
    #header_nav ul li a.header_nav_l1 {
	width: 100%;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	text-align: center;
}
	.header_nav_wrap.sns_nav{ width: auto; text-align: center; display: inline-block!important; padding: 0!important; margin-top: 10px;}
	.header_nav_wrap.sns_nav img{ width: auto; height: 3em;}
	.header_nav_wrap.sns_nav .header_nav_l1{ padding: 0 0!important;}
	
	.header_nav_l1:before {
    /*  bottom: 8px;
        right: auto;
        left: 1em;
	*/
    }
    .header_nav_l1:hover:before { width: calc( 100% - 2em ); }
    .header_nav_children-main { padding-top: 0; }
    .header_nav_children-main,
    .header_nav_children-sup { text-align: left; }
	.header_nav_l2{	padding: 0.2em;	margin: 0; }
	
	
	
    /**footer**/
    footer{ padding: 1em; font-size: 0.8rem; }
    footer .footer-inner{ margin-left: auto; margin-right: auto; text-align: center; }


}

