*{
box-sizing:border-box;
line-height:1.5em;
}

html {
font-size: 100%;
overflow-y: scroll;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
overflow-x: hidden;
}

body {
color: #000;
margin: 0;
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
font-size: 14px;
}


/*コンテンツフェードイン
---------------------------------------------------------------------------*/
.fade{
opacity:0;
}

/*SPメニュー用上部マージン
---------------------------------------------------------------------------*/
@media(max-width:900px){
.content{
padding-top:50px;
}
}

/*テキスト
---------------------------------------------------------------------------*/
a {
text-decoration: none;
color:#000;
}

/*ヘッダーPCメニュー
---------------------------------------------------------------------------*/
header{
width: 100%;
position:fixed;
top:0;
z-index:99999;
background-color:#fff;
font-family: 'Spinnaker', sans-serif;
}

@media(max-width:900px){
header{
display:none;
}
}

.header-logo-box{
width: 100%;
list-style: none;
overflow:hidden;
}

.header-logo{
text-align: center;
}

.header-logo img{
width: 100%;
max-width: 250px;
margin-top: 15px;
}

.menu-wrap{
width: 100%;
background-color: #ffe000;
}

.menu-box{
max-width:1100px;
margin:0 auto;
}

#menu{
display: table;
table-layout: fixed;
width: 100%;
list-style: none;
}

.menu1{
display: table-cell;
text-align: center;
color:#fff;
font-weight: bold;
}

.menu1 a{
text-decoration:none;
padding:10px;
display:block!important;
}

.menu1 a:hover{

}

ul.child{
display: none;
position: absolute;
z-index:9999;
list-style:none;
padding-top:10px;
}

ul.child li a{
display: block;
padding: 20px 10px 20px 10px;
width: 200px;
background-color: #fff;
border-left: none;
border-bottom: 1px solid #ddd;
font-size: 14px;
}

ul.child li a:hover{
background-color: #60c0bd;
color:#fff;
}


.hd_bg_subpage{
background-color: rgba(242, 242, 242, 0.9);
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
transition: all 0.2s linear;
}

.hd_bg_subpage a{
color:#575757;
text-decoration: none;
padding: 15px 0 15px 0;
display:block!important;
font-size:13px;
}

.hd_bg_subpage a:hover{
text-decoration: none;
background-color:#73d4a6;
color:#fff;
}

.underline_menu{
	color:#999999;
	text-decoration: none;
}

.underline_menu:hover{
	color:#999999;
	text-decoration: underline;
}


/*スマホ用ヘッダーメニュー
---------------------------------------------------------------------------*/
.side-open .site,
.side-open .overlay {
-webkit-transform: translate3d(0%, 0, 0);
transform: translate3d(0%, 0, 0);
}

@media(max-width:768px){
.side-open .site,
.side-open .overlay {
-webkit-transform: translate3d(-50%, 0, 0);
transform: translate3d(-50%, 0, 0);
}
}

@media(max-width:480px){
.side-open .site,
.side-open .overlay {
-webkit-transform: translate3d(-70%, 0, 0);
transform: translate3d(-70%, 0, 0);
}
}

/* --------------------------------------------------- btn */
.btn__box {
position: relative;
text-align: center;
z-index: 1;
}

.btn__box a {
display: block;
width: 198px;
height: 38px;
margin: 0 auto;
line-height: 40px;
font-size: 13px;
color: #1a1e24;
-webkit-transition: all .3s ease;
transition: all .3s ease;
border: 1px solid #1a1e24;
}

.btn__box a:hover {
color: #fff !important;
background: #1a1e24;
}

.btn__box--svg {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 214px;
height: 54px;
margin: auto;
z-index: -1;
}

.btn__box--svg rect {
fill: transparent;
stroke: #1a1e24;
stroke-width: 1px;
stroke-dasharray: 242px;
stroke-dashoffset: 256px;
-webkit-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}

.btn__box a:hover + .btn__box--svg rect {
stroke-width: 2px;
stroke-dasharray: 600px;
stroke-dashoffset: 0;
}

/* --------------------------------------------------- side menu */
.sp_header_wrap{
display:none;
}

@media(max-width:900px){
.sp_header_wrap {
display: block;
width: 100%;
position: fixed;
padding: 0;
height: 50px;
z-index: 999999;
box-shadow: 0px 1px 10px rgba(0,0,0,0.3);
background-color: #fff;
}
}

.header_logo_sp img{
width: 100%;
max-width: 130px;
padding: 5px 10px;
}

.side-menu {
display:none;
}

@media(max-width:900px){
.side-menu {
display:block;
position: fixed;
top: 0;
box-sizing: border-box;
width: 100%;
height: 100%;
padding-top: 80px;
padding-bottom: 50px;
text-align: left;
font-size: 15px;
background: #fff;
z-index: -999;
-webkit-transition: all .5s ease;
transition: all .5s ease;
opacity:0;
overflow-x: hidden;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}
}

@media(max-width:480px){
.side-menu {
width: 100%;
}
}

.side-menu_on {
z-index: 999;
-webkit-transition: all 0s ease;
transition: all 0s ease;
opacity:1;
overflow-y: auto;
}

.site_on {
position:fixed;
overflow-y:hidden;
}

.side-menu__ul {
width: 100%;
height: 100%;
display: block;
}

.side-menu__ul span {
padding-left:10px;
}

.side-menu__ul--child {
display: none;
}

.active .side-menu__ul--child {
display: block;
background-color: #6b6b6b;
}

.side-menu__ul li a {
border-top: 1px solid #848484;
}

.side-menu__ul--child li a {
display: block;
padding: 10px 0 10px 30px;
color: #fff;
border-top: 1px solid #848484;
}

.side-menu__ul > li > a,
.side-menu__ul > li h5 {
display: block;
padding: 10px 0 10px 20px;
color: #000;
font-weight:bold;
}

.side-menu__ul > li > h5 {
font-weight:normal;
cursor: pointer;
background-image: url("https://www.angelic-jewelry.com/wp-content/uploads/2018/02/sp-menu-arrow.svg");
background-repeat: no-repeat;
background-size: 20px;
background-position: 90% 50%;
}

.side-menu__ul > li.active h5 {
font-weight:normal;
cursor: pointer;
background-image: url("https://www.angelic-jewelry.com/wp-content/uploads/2018/02/sp-menu-arrow-off.svg");
background-repeat: no-repeat;
background-size: 20px;
background-position: 90% 50%;
}

.side-menu__ul > li a:hover {
background: #ffc800;
color: #000;
}

/* --------------------------------------------------- ellipsis btn */
.side-menu-btn {
position: absolute;
top: 6px;
right: 20px;
width: 40px;
height: 40px;
padding: 5px;
cursor: pointer;
z-index: 99999;
}

.ellipsis-v {
position: relative;
display: block;
cursor: pointer;
width: 30px;
height: 30px;
}

.ellipsis-v .point {
position: absolute;
left: 0;
right: 0;
display: block;
width: 35px;
height: 4px;
margin: auto;
background: #ffc800;
-webkit-transition: all .3s;
transition: all .3s;
}

.ellipsis-v .point.top {
top: 0;
}

.ellipsis-v .point.mid {
top: 0;
bottom: 0;
}

.ellipsis-v .point.bot {
bottom: 0;
}

.side-menu-btn:hover .top {
-webkit-transform: translateY(-2px);
-ms-transform: translateY(-2px);
transform: translateY(-2px);
}

.side-menu-btn:hover .bot {
-webkit-transform: translateY(2px);
-ms-transform: translateY(2px);
transform: translateY(2px);
}

.side-open .side-menu-btn:hover .top,
.side-open .top {
width: 41px;
height: 2px;
background: #ffc800;
-webkit-transform-origin: left top;
-ms-transform-origin: left top;
transform-origin: left top;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

.side-open .mid {
opacity: 0;
}

.side-open .side-menu-btn:hover .bot,
.side-open .bot {
width: 41px;
height: 2px;
background: #ffc800;
-webkit-transform-origin: left bottom;
-ms-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.side-open .side-menu-btn:hover .bot,
.side-open .side-menu-btn:hover .top {
background: #ffc800;
}



@media(max-width:768px){
.flex-container {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-direction: column-reverse; /* Safari */
  flex-direction: column-reverse;
}
}


/*footer
--------------------------- */
footer{
background-color:#000;
color:#fff;
padding:50px 20px 20px 20px;
}

footer a{
color:#fff;
}

.sns-link ul{
display: table;
table-layout: fixed;
width: 100%;
max-width: 200px;
margin-left: auto;
margin-right: 0px;
}

.sns-link li{
display: table-cell;
vertical-align: middle;
text-align: center;
}

.sns-link img{
width:100%;
max-width:40px;
max-height:40px;
height:40px;
}

.policy-link{
margin-bottom: 10px;
overflow: hidden;
display: table;
table-layout: fixed;
width: 100%;
}

.policy-link li{
display: inline-table;
text-align: left;
}

.like-link{
clear:both;
}

.facebook_box {
float: left;
margin-right: 15px;
}
.twitter_box {
float:left;
}

.copyright{
clear:both;
width:100%;
text-align:center;
padding:10px;
font-size:12px;
}



@media(max-width:768px){
.sns-link ul{
max-width: 200px;
margin-left: 0;
margin-right: 0;
margin:0 auto;
padding-bottom: 20px;
}
.like-link{
clear: both;
text-align: center;
overflow: hidden;
width: 100%;
max-width: 200px;
margin: 0 auto;
padding: 30px 0 30px 0;
}
.policy-link{
text-align: center;
}
.facebook_box {
float: left;
margin-right: 0;
width: 50%;
text-align: center;
}
.twitter_box {
float: left;
width: 50%;
text-align: center;
}
}



/*コンテンツアニメーション
---------------------------------------------------------------------------*/
.fadeinonly {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinonly;
 animation-name: fadeinonly;
 visibility: visible !important;
}
@-webkit-keyframes fadeinonly {
 0% { opacity: 0; }
 100% { opacity: 1;}
}
@keyframes fadeinonly {
 0% { opacity: 0;}
 100% { opacity: 1;}
}

.fadeinup{
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinup;
 animation-name: fadeinup;
 visibility: visible !important;
}
@-webkit-keyframes fadeinup {
 0% { opacity: 0; -webkit-transform: translateY(40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeinup {
 0% { opacity: 0; -webkit-transform: translateY(40px); -ms-transform: translateY(40px); transform: translateY(40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


.fadeindown{
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeindown;
 animation-name: fadeindown;
 visibility: visible !important;
}
@-webkit-keyframes fadeindown {
 0% { opacity: 0; -webkit-transform: translateY(-40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeindown {
 0% { opacity: 0; -webkit-transform: translateY(-40px); -ms-transform: translateY(-40px); transform: translateY(-40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


.fadeinleft {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinleft;
 animation-name: fadeinleft;
 visibility: visible !important;
}
@-webkit-keyframes fadeinleft {
 0% { opacity: 0; -webkit-transform: translateX(-40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes fadeinleft {
 0% { opacity: 0; -webkit-transform: translateX(-40px); -ms-transform: translateX(-40px); transform: translateX(-40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}

.fadeinright {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinright;
 animation-name: fadeinright;
 visibility: visible !important;
}
@-webkit-keyframes fadeinright {
 0% { opacity: 0; -webkit-transform: translateX(40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes fadeinright {
 0% { opacity: 0; -webkit-transform: translateX(40px); -ms-transform: translateX(40px); transform: translateX(40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}


.fadeinzoom {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinzoom;
 animation-name: fadeinzoom;
 visibility: visible !important;
}
@-webkit-keyframes fadeinzoom {
 0% { opacity: 0; -webkit-transform: scale(0.7);}
 100% { opacity: 1; -webkit-transform: scale(1);}
}
@keyframes fadeinzoom {
 0% { opacity: 0; -webkit-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); }
 100% { opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
}



.fadeinboyon {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:0.8s;
 -ms-animation-duration:0.8s;
 animation-duration:0.8s;
 -webkit-animation-name: fadeinboyon;
 animation-name: fadeinboyon;
 visibility: visible !important;
}
@-webkit-keyframes fadeinboyon {
 0% { -webkit-transform: scale(0.7);}
 100% { -webkit-transform: scale(1);}
}
@keyframes fadeinboyon {
0% {  -webkit-transform: scale(1.0); -ms-transform: scale(1.0); transform: scale(1.0); }
20% {  -webkit-transform: scale(0.6); -ms-transform: scale(0.6); transform: scale(0.6); }
50% {  -webkit-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }
100% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
}

.fadeinhurihuri {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:0.6s;
 -ms-animation-duration:0.6s;
 animation-duration:0.6s;
 -webkit-animation-name: fadeinhurihuri;
 animation-name: fadeinhurihuri;
 visibility: visible !important;
}
@-webkit-keyframes fadeinhurihuri {
0% {  -webkit-transform: rotate(0deg);}
50% {  -webkit-transform: rotate(-20deg);}
100% {  -webkit-transform: rotate(0deg);}
}
@keyframes fadeinhurihuri{
0% {  -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
50% {  -webkit-transform: rotate(-20deg); -ms-transform: rotate(-20deg); transform: rotate(-20deg); }
100% {  -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
}


/*ボタン
--------------------------- */

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}

.normal-botan a{
background-color:#b09642;
color: #fff;
padding: 20px 50px 20px 50px;
font-size: 25px;
font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
font-weight: 500;
white-space: nowrap;
}

.normal-botan a:hover{
background-color:#b09642;
color: #fff;
}

.contact-botan{
margin-top: -50px;
position: relative;
text-align: right;
margin-right: 20px;
}

.contact-botan button{
font-size: 14px;
background-color: #FFF146;
padding: 10px 30px 10px 30px;
font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 font-weight: 500;
}

.contact-botan button:hover{
background-color: #FFF;
}

@media(max-width:768px){
.contact-botan{
display:none;
}
}

@media(max-width:480px){
  .normal-botan a{
    font-size:18px;
  }
}

/*トップへボタン
--------------------------- */
#page-top {
width:0px;
height:0px;
position: fixed;
right: 80px;
z-index:9999;
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

.arrow{
position: relative;
display: inline-block;
padding: 0 0 0 16px;
color: #f08200;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
}
.arrow::before,
.arrow::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}

.posi::before{
top:-60px;
width: 50px;
height: 50px;
background: #f08200;
border-radius: 30px;
}
.posi::after{
top:-50px;
left:14px;
width: 20px;
height: 20px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

#page-top:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

@media(max-width:768px){
#page-top:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}
}


/*メディアクエリ
--------------------------- */

.sp_on_768{
display:none;
}

@media(max-width:768px){
.sp_on_768{
display:block;
}
}

.sp_off_768{
display:block;
}

@media(max-width:768px){
.sp_off_768{
display:none;
}
}

@media(max-width:480px){
.sp_off_480{
display:none;
}
}
/*マージン系
--------------------------- */
.pd10{
padding:10px;
}

.pd20{
padding:20px;
}

.pdt70{
padding-top:70px;
}


.mdb-15{
margin-bottom:15px;
}

.mdb-30{
margin-bottom:30px;
}

.mdb-40{
margin-bottom:40px;
}

.pdt-20{
padding-top:20px;
}

.pdt-30{
padding-top:30px;
}

.pdt-40{
padding-top:40px;
}

.pdb-30{
padding-bottom:30px;
}

.pdb-40{
padding-bottom:40px;
}

.pdb-50{
padding-bottom:50px;
}

.t-center{
text-align:center;
}

/*その他
--------------------------- */
.clear{
clear:both;
}

@media(max-width:768px){
.flex-container {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-direction: column-reverse; /* Safari */
  flex-direction: column-reverse;
}
}

.tx-center{
  text-align:center;
}

.center_btn{
text-align: center;
margin-top: 50px;
overflow: hidden;
}

.center_btn p{
  width:50%;
  float:left;
}

@media(max-width:768px){
.center_btn p{
width:100%;
float:none;
margin-bottom:20px;
}
}
/*アンカーリンク
---------------------------------------------------------------------------*/
#link-service,#link-plan,#link-guide,#link-qa,#link-cn,#link-hors {
	position:absolute;
	margin-top:-130px;
}


@media(max-width:768px){
#link-service,#link-plan,#link-guide,#link-qa,#link-cn,#link-hors {
	position:absolute;
	margin-top:-70px;
}
}
