* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
a,
a:visited,
a:hover,
a:active {
text-decoration: none;
color: inherit;
}
input {
display: none;
}
.cp_fullscreenmenu {
position: fixed;
z-index: 1000;
top: 0;
right: 0;
}
/*menuコンテンツ*/

.menucont{
    z-index: 200;
}
/*25.04.30*/
.cp_fullscreenmenu .menu {
position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
height: 100vh;
background:#3c2d32;
    overflow-y: auto;
}

.cp_fullscreenmenu .menu label {
position: absolute;
top: 2px;
right: 20px;
width: 60px;
height: 60px;
cursor: pointer;
background-size: 100%;
}
.cp_fullscreenmenu .menu .menucont {
font-size: 16px;
position: relative;
/*top: 21%;
margin-top: -170px;
text-align: center;*/
padding-bottom: 20px;
}
.cp_fullscreenmenu .menu ul {
margin: 0 auto;
padding: 0;
list-style: none;
padding-bottom: 100px;
}
.cp_fullscreenmenu .menu ul li,
.cp_fullscreenmenu .menu ul li a {
transition: all 0.3s ease;
font-family: 'Noto Sans JP', sans-serif!important;
}
.cp_fullscreenmenu .menu ul li a {
/*display: block;*/
/*padding: 10px 0;*/
color: #ffffff;
}
.cp_fullscreenmenu .menu ul li a:hover {
color: #fff;
}
.cp_fullscreenmenu .menu ul li:hover {
/*background: #ffffff;*/
}


.cp_fullscreenmenu .menu ul li.sub:hover {
background: #ffffff;
}
.cp_fullscreenmenu .menu ul li.nav_index:hover {
background: none;
}
.cp_fullscreenmenu .menu ul li.nav_index2:hover {
background: none;
}

.nav_sns{
}

/*クリックしたらメニューが開閉の動作*/
.cp_fullscreenmenu .menuEffects {
visibility: hidden;
transition: opacity 0.5s, visibility 0.5s;
opacity: 0;
}
.cp_fullscreenmenu .menuEffects ul {
transition: all 0.5s;
transform: translateY(0%);
}
.cp_fullscreenmenu #menuToggle:checked ~ .menuEffects {
visibility: visible;
transition: opacity 0.5s;
opacity: 1;
font-family: 'Noto Sans JP', sans-serif!important;
}
.cp_fullscreenmenu #menuToggle:checked ~ .menuEffects ul {
opacity: 1;
}
.cp_fullscreenmenu #menuToggle:checked ~ .hamburger .open {
background-color: transparent;
}
.cp_fullscreenmenu #menuToggle:checked ~ .hamburger .open:before {
position: absolute;
z-index: 1;
top: 0;
right: 0;
content: '';
transform: rotate(45deg);
background-color: #ffffff;
}
.cp_fullscreenmenu #menuToggle:checked ~ .hamburger .open:after {
position: relative;
z-index: 1;
top: 0;
right: 0;
content: '';
transform: rotate(-45deg);
background-color: #ffffff;
}
.cp_fullscreenmenu #menuToggle:not(:checked) ~ .menuEffects ul {
transform: translateY(-30%);
}
/*ハンバーガー*/
.cp_fullscreenmenu .hamburger {
position: relative;
top: 0;
right: 0;
display: block;
width: 60px;
height: 60px;
padding: 20px;
cursor: pointer;
    background:#3c2d32;
}
.cp_fullscreenmenu .hamburger:hover .open:before {
top: -8px;
}
.cp_fullscreenmenu .hamburger:hover .open:after {
top: 5px;
}
.cp_fullscreenmenu .open,
.cp_fullscreenmenu .open:before,
.cp_fullscreenmenu .open:after {
position: relative;
display: block;
width: 22px;
height: 3px;
border-radius: 4px;
background-color: #fff;
transition: all 0.3s ease;
}
.cp_fullscreenmenu .open {
top: 8px;
cursor: pointer;
}
.cp_fullscreenmenu .open:before {
top: -8px;
content: '';
transform: rotate(0deg);
}
.cp_fullscreenmenu .open:after {
top: 5px;
content: '';
}
    .suv_end {
    margin-bottom: 1vh;
}


.no_action{
	pointer-events: none;
}

.no_action a:hover{
	color: #fff;
}
li.no_action:hover{
	background: #3c2d32;
}

/*　言語セレクト 23.03.28*/

/* 25.04.30 */
.select_lang{
	padding: 40px 0 33px!important;
    display: flex;
    justify-content: flex-end;
}


.select_lang ul{	
    display: flex;
    justify-content: flex-end;
	padding-bottom: 0!important;
    margin: 0!important;
}

/* 25.04.30 */
.select_lang ul li{
    border: 1px solid #fff;
    padding: 8px 11px;
	margin: 0;	
    font-weight: normal;
	font-size: 12px;
	letter-spacing: 0.05em;
}

.select_lang_act{
	background: #ffffff;
	color: #3c2d32!important;
}

@media screen and (min-width:560px) {
  /*pc用のcssを記述*/
    .menucont li {
    font-size: 0.3em;
    font-weight: 700;
    color: #fff;
    padding: 2vh 0 2vh;
}
    .nav_suv {
    /*font-size: 0.35em !important;*/
        font-weight: 400 !important;
}
    .nav_index2{
        padding-top: 3vh!important;
    }
    .suv_end {
    margin-bottom: 1vh;
}
    
.menucont li:last-child{
    
margin-bottom: 4vw!important;
}
}



/*チェックボックス*/
.checkbox-field label input,
.radio-field label input{
display: none;
}
.checkbox-field label input:checked + .checkbox-field-text:after,
.radio-field label input:checked + .radio-field-text:after{
display: block;
}
.checkbox-field label,
.radio-field label{
    display: inline-block;
    /* margin-right: 20px; */
    margin: 45px auto 50px;
    text-align: center;
    display: flex;

}
.checkbox-field label .checkbox-field-text,
.radio-field label .radio-field-text{
padding-left: 30px;
position: relative;
cursor: pointer;
}
.checkbox-field label .checkbox-field-text:before,
.radio-field label .radio-field-text:before{
content: "";
position: absolute;
transition: 0.3s;
left: 0;
top: 0;
bottom: 0;
margin: auto;
    width: 30px;
    height: 30px;
    border: 2px solid #3c2d32;
    background-color: #fff;
    box-sizing: border-box;
}
.checkbox-field label .checkbox-field-text:after{
content: "";
position: absolute;
transition: 0.3s;
display: none;
    width: 30px;
    height: 10px;
    left: -2px;
    top: 50%;
    margin-top: -9px;
    transform: scale(0.5) rotate(-45deg);
    border-bottom: 5px solid red;
    border-left: 5px solid red;
}
.radio-field label .radio-field-text:after{
content: "";
position: absolute;
transition: 0.3s;
display: none;
background: #004B88;
width: 20px;
height: 20px;
left:1px;
top:50%;
margin-top:-10px;
transform:scale(0.5);
}
.radio-field label .radio-field-text:before,
.radio-field label .radio-field-text:after{
border-radius: 100px;
}

.checkbox-field label input:checked + .checkbox-field-text:after,
.radio-field label input:checked + .radio-field-text:after{
    opacity: 1;
}
.radio-field label .radio-field-text:after,
.checkbox-field label .checkbox-field-text:after{
    opacity: 0;
    display: block;
}

.radio-field label .radio-field-text:after{
    transform:scale(0.2);
}
.radio-field label input:checked + .radio-field-text:after{
    transform:scale(0.5) ;
}
.checkbox-field label .checkbox-field-text:after{
    transform: rotate(-45deg) scale(0.2);
}
.checkbox-field label input:checked + .checkbox-field-text:after{
    transform:scale(0.5)  rotate(-45deg);
}


/*img マウスオーバー*/
