﻿#main_contents #main_menu li a {
    font-weight: bold;
}

.bg_color1 {
    background-color: #621783;
}

#main_contents #catch {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    margin-left: 0;
 -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    width: 100% !important;
    pointer-events: none;
    transform: none;
}

#main_contents #main_menu li {
    position: relative;
    overflow: hidden;
    writing-mode: vertical-lr;
    display: inline-block;
    vertical-align: top;
}

#main_contents #main_menu li {
    position: relative;
    margin-bottom: 20px;
    transition: all 0.3s;
    overflow: hidden;
 -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-lr;
    display: inline-block;
    vertical-align: top;
}

#main_menu {
    position: absolute;
    top: 0;
    left: 0;
    /* background-color: #310b41; */
    background-image: url(./Dup/img/menu_back.png);
    background-size: cover;
    background-position: bottom right;
    height: 50%;
    z-index: 3;
padding-top: 50px;
    background-repeat: no-repeat;
}

#wrap{
background-image: url(./Dup/img/kumo.png);
    background-repeat: no-repeat;
    background-position: top right;
background-size: 68%;
}

#main_img{
position:relative;
    max-height: 80vh;
}

#main_img:before {
    content: "";
    display: block;
    width: 70%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 75%;
    background-image: url(./Dup/img/main_right.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: 100%;
    pointer-events: none;
    z-index: 2;
}

#main_contents:before {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 100%;
    left: 20%;
    background-image: url(./Dup/img/kumo2.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

#intro:after, #contents:after, #contents_link a:after, #page_title:after {
    z-index: 0;
}

#intro > div{
background-color: rgba(99, 23, 131, 0.8);
    padding: 30px;
z-index:4;
}

#main_contents #main_menu li:before, #main_contents #main_menu li:after {
    content: none;
    position: absolute;
}

#main_contents #main_menu li.active, #main_contents #main_menu li:hover {
    margin-left: 0px;
    transform: translatey(-20px);
}

#main_contents #main_menu li a {
    padding-left: 1.34vw;
}

#main_menu ul.font_20 {
    font-size: 1.35vw;
}

#intro:before {
        content: "";
    display: block;
    width: 1000px;
    height: 200%;
    position: absolute;
    top: -50%;
    left: 70%;
    background-image: url(./Dup/img/nail_fix.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 3;
    animation: 30s linear infinite rotation1;
}

@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

#intro div.width_1000-max{
position:relative;
}

#intro div.width_1000-max:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    right: -50%;
    background-image: url(./Dup/img/poi_right.png);
    background-position: right center;
    background-repeat: no-repeat;
    /* -webkit-transform: translate(-50% , -50%); */
    /* transform: translate(-50% , -50%); */
    background-size: contain;
    pointer-events: none;
}


#intro div.width_1000-max:after {
    content: "";
    display: block;
    width: 300px;
    height: 300px;
    position: absolute;
    top: 90%;
    left: -20%;
    background-image: url(./Dup/img/nail_fix.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 3;
    animation: 30s linear infinite rotation2;
}

@keyframes rotation2{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(-360deg); }
}

#contents, #cms{
position:relative;
}


#contents:before, #cms:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(./Dup/img/foot.svg);
    background-position: bottom;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: 100%;
    pointer-events: none;
    z-index: 1;
}

#contents .con_box{
    background-color: rgba(98, 23, 131, 0.7);
}

section#cms{
    background-color: rgba(255,255,255,0.05);
    position: relative;
    z-index: 4;
    padding-bottom: 50px;
}

section#cms > div{
    background-color: rgba(255,255,255,0.95);
    z-index: 3;
    position: relative;
}

#page07 > div, #page08 > div, #page09 > div, #page10 > div {
    position: relative;
    z-index: 4;
    background-color: rgba(255, 255, 255, 0.95);
}

#catch h2{
    font-size: 2.1vw;
}

#page07, #page08, #page09, #page10 {
    padding-bottom: 50px;
}

#page07 .txt_white, #page08 .txt_white, #page09 .txt_white, #page10 .txt_white {
    color:black;
}


#page07 h3 span {
     background-color: transparent;
}

.font_en {
    font-family: "Yu Gothic Medium", YuGothic, "游ゴシック Medium", "游ゴシック体","ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1;
}

.banner{
padding:20px;
}

#page10 .grid_4 a .no {
    color: white;
}

#page10 .grid_4 a {
    color: white;
}

header .sns_links li {    background-color: #fff;
}

@media all and (-ms-high-contrast: none){
#main_contents #main_menu li {
    padding-right: 0.21vw;
}

#main_contents #main_menu li a {
    height: 145px;
}


}



/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#catch h2{
    font-size: 30px;
}

.font_50 {
    font-size: 43px;
}

.font_24 {
    font-size: 20px;
}

}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#catch h2{
    font-size: 20px;
}
#wrap {
    background-size: 65%;
}

#header h1{
    width: 50% !important;
    background-color: #621783;
}

#intro div.width_1000-max:before {
    content: none;
}

#intro div.width_1000-max:after {
    width: 210px;
    height: 210px;
}

}