#fufufu a.ybtn2 { display: block; width: 100%; box-sizing: border-box; max-width: 400px; margin-bottom: 40px; margin-top: 20px; height: auto; padding-top: 20px; padding-bottom: 20px; background-color: #FFF000; margin-left: auto; margin-right: auto; position: relative; text-align: center; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#fufufu a.ybtn2::after { width: calc(100% - 4px); height: calc(100% - 4px); content: ""; border: 1px solid #FFFFFF; position: absolute; left: 2px; top: 2px; box-sizing: border-box; }
#fufufu a.ybtn2 p { width: 100%; color: #595757; position: relative; font-size: 16px; text-align: center; font-weight: 700; }
#fufufu a.ybtn2 p.sty2 { background-color: #F08C00; color: #fff; position: relative; width: 90%; max-width: 300px; margin-left: auto; margin-right: auto; margin-bottom: 15px; padding-bottom: 6px; padding-top: 6px; }
#fufufu a.ybtn2 p.sty2::after { position: absolute; bottom: -24px; left: 50%; margin: auto; content: ""; vertical-align: middle; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); box-sizing: border-box; width: 12px; height: 12px; border: 12px solid transparent; border-top: 20px solid #F08C00; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; z-index: 1; }
#fufufu a.ybtn2::before { content: ""; position: absolute; bottom: 4px; right: 4px; width: 0; height: 0; border-style: solid; border-width: 0 0 16px 16px; border-color: transparent transparent #fff transparent; }
#fufufu a.ybtn2:hover { opacity: 0.7; }
#fufufu a.ybtn1 { display: block; width: 100%; box-sizing: border-box; width: 50%; max-width: 400px; margin-bottom: 40px; margin-top: 20px; height: 50px; background-color: #FFF000; margin-left: auto; margin-right: auto; position: relative; text-align: center; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#fufufu a.ybtn1::after { width: calc(100% - 4px); height: calc(100% - 4px); content: ""; border: 1px solid #FFFFFF; position: absolute; left: 2px; top: 2px; box-sizing: border-box; }
#fufufu a.ybtn1 p { width: 100%; color: #595757; position: absolute; left: 50%; top: 50%; font-size: 16px; -webkit-transform: translateX(-50%) translateY(-50%); -moz-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); text-align: center; font-weight: bold; }
#fufufu a.ybtn1::before { content: ""; position: absolute; bottom: 4px; right: 4px; width: 0; height: 0; border-style: solid; border-width: 0 0 16px 16px; border-color: transparent transparent #fff transparent; }
#fufufu a.ybtn1:hover { opacity: 0.7; }
#fufufu .secp1a { width: 36%; float: left; }


.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 40px 10px;
  text-align: center
}

.modal-wrapper:not(:target) {
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
  opacity: 1;
	visibility: visible;
	transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 80%;
  max-width: 960px;
  padding: 30px 30px 15px;
  border-radius: 16px;
  /*background-color: #ffffff;;*/
  /*box-shadow: 0 0 30px rgba(0, 0, 0, .1);*/
  vertical-align: middle
}

.modal-wrapper .modal-window .modal-content {
 	max-height: 80vh;
 	overflow-y: auto;
 	text-align: center;
}

.modal-wrapper .modal-window .modal-content img{
  width: 100%;
}
.modal-wrapper .modal-window .modal-content li{
	position: relative;
    padding-left: 15px;
    box-sizing: border-box;
    margin-bottom: 5px;
    border-bottom: 2px dotted #FFFFFF;
    padding-bottom: 4px;
}
.modal-wrapper .modal-window .modal-content li::after{
	background-color: #000;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    position: absolute;
    left: 0;
    top: 7px;
    content: "";
}
.modal-content h4{
	text-align: center;
}
.modal-content .modal_note{
	font-size: 11px;
	line-height: 1.8em;
	padding-left: 25%;
	margin-top: 20px;
	margin-bottom: 30px;
}
.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, .9)
}

.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 35px;
  color: #95979c !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}

.modal-wrapper .modal-close:hover {
  color: #2b2e38 !important
}



@media screen and (max-width: 584px) { #fufufu .secp1a { width: 100%; float: none; max-width: 240px; margin-left: auto; margin-right: auto; margin-bottom: 20px; } }
#fufufu .secp1b { width: 62%; float: right; }
#fufufu .secp1b h4 { color: #E50012; margin: 0; margin-bottom: 10px; font-size: 20px; }
#fufufu .secp1b p { margin-bottom: 20px; }
#fufufu .secp1b img { display: block; vertical-align: bottom; width: 100%; max-width: 200px; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 584px) { #fufufu .secp1b { width: 100%; float: none; } }
#fufufu .secp1 { position: relative; padding-top: 100px; padding-bottom: 50px; }
#fufufu .secp1 .secin { background-color: #E7CFB3; width: 100%; max-width: 1004px; padding-left: 30px; padding-right: 30px; padding-top: 60px; }
#fufufu .secp1 .secin h3 { width: 80%; max-width: 220px; text-align: center; background-size: cover; background-position: top center; background-image: url("../images/neko/img_08.png"); position: absolute; left: 50%; top: -50px; z-index: 3; box-sizing: border-box; padding: 25px; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); margin: 0; }
#fufufu .secp1 .secin h3 img { display: block; vertical-align: bottom; width: 100%; }
@media screen and (max-width: 584px) { #fufufu .secp1 .secin h3 { width: 80%; max-width: 160px; top: -30px; } }
@media screen and (max-width: 584px) { #fufufu .secp1 .secin { padding-left: 10px; padding-right: 10px; padding-top: 60px; } }
@media screen and (max-width: 584px) { #fufufu .secp1 { position: relative; padding-top: 50px; padding-bottom: 50px; } }
#fufufu .stab { position: relative; z-index: 60; margin-bottom: 0px; height: 70px; width: 95%; max-width: 1024px; margin-left: auto; margin-right: auto; }
#fufufu .stab.vtr li::before { position: absolute; bottom: auto; top: -15px; margin: auto; content: ""; vertical-align: middle; left: 46%; box-sizing: border-box; width: 8px; height: 6px; border: 8px solid transparent; border-left: 8px solid #E30119; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#fufufu .stab li { position: relative; width: 25%; float: left; height: 100%; background-color: #E7CFB3; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; box-sizing: border-box; border-right: 1px solid #FFFFFF; }
#fufufu .stab li a { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 7; }
#fufufu .stab li.act, #fufufu .stab li:hover { background-color: #E30119; }
#fufufu .stab li:nth-child(3n) { margin-right: 0; }
#fufufu .stab li:nth-child(2)::after { background-image: url("../images/neko/stabo_02.png"); }
#fufufu .stab li:nth-child(3)::after { background-image: url("../images/neko/stabo_03.png"); }
#fufufu .stab li:nth-child(4)::after { background-image: url("../images/neko/stabo_04.png"); }
#fufufu .stab li::before { position: absolute; bottom: -15px; margin: auto; content: ""; vertical-align: middle; left: 46%; box-sizing: border-box; width: 8px; height: 6px; border: 8px solid transparent; border-left: 8px solid #E30119; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#fufufu .stab li::after { content: ""; position: absolute; width: 100%; height: 36px; left: 0; top: 50%; background-size: auto 100%; background-repeat: no-repeat; background-position: center center; background-image: url("../images/neko/stabo_01.png"); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); opacity: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#fufufu .stab li img { height: 36px; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -moz-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); opacity: 1; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#fufufu .stab li:hover img, #fufufu .stab li.act img { opacity: 0; }
#fufufu .stab li:hover::before, #fufufu .stab li:hover::after, #fufufu .stab li.act::before, #fufufu .stab li.act::after { opacity: 1; }
@media screen and (max-width: 584px) { #fufufu .stab { height: 50px; }
  #fufufu .stab.vtr li::before, #fufufu .stab li::before { left: 44%; }
  #fufufu .stab li img { height: 22px; }
  #fufufu .stab li::after { height: 22px; } }
#fufufu .sec1a .arr { position: absolute; left: -10px; top: 30%; z-index: 3; font-size: 16px; }
#fufufu .sec1 h2.sty2 { 
	font-size: 24px;
	color: #E50012;
	text-align: center;
	line-height: 1.5em;
	width: 48%;
    position: relative;
    z-index: 10;
    margin: 0 auto;
	background-color: #FFFFFF;
}

.sty2_img{
	border: 3px solid #fff000;
    width: 100%;
    padding: 9% 6% 6% 6%;
    position: relative;
    bottom: 47px;
    border-radius: 37px;
	margin: 0px auto;
}
.sty2_img img{
	width: 100%;
}

#fufufu .sec1 p.lead5 { text-align: center; font-size: 24px; line-height: 2em; z-index: 3; font-weight: 700; position: relative; width: 100%; }
#fufufu .sec1 p.lead6 { text-align: center; font-size: 24px; line-height: 2em; z-index: 3; font-weight: 700; position: relative; width: 100%; color: #E50012; margin-bottom: 50px; }
@media screen and (max-width: 584px) { #fufufu .sec1 p.lead6 { margin-bottom: 10px; font-size: 16px; }
  #fufufu .sec1 .secin p.lead { font-size: 14px; line-height: 1.7em; }
  #fufufu .sec1 p.lead5 { font-size: 18px; } }
#fufufu .pagetit2 { padding-top: 60px; background-size: cover; background-position: center center; background-image: url("../images/neko/main2_01.png"); }
#fufufu .pagetit2 .ccov { position: absolute; width: 100%; height: 100%; left: 0; top: 0; background-size: cover; background-position: center center; background-image: url("../images/neko/main2c_01.png"); }
#fufufu .pagetit2 .ccov2 { position: absolute; width: 100%; height: 100%; left: 0; top: 0; background-size: cover; background-position: center center; background-image: url("../images/neko/main2c2_01.png"); }
#fufufu .pagetit2 .mainimg { width: 100%; max-width: 1000px; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 584px) { #fufufu .pagetit2 .mainimg { padding-top: 20px; padding-left: 10px; padding-right: 10px; padding-bottom: 10px; background-size: cover; background-position: center center; background-image: url("../images/neko/main2_01@sp.png"); } }
#fufufu .pagetit2 h2 { width: 100%; max-width: 390px; margin-left: auto; margin-right: auto; margin-bottom: 50px; }
#fufufu .pagetit2 h2 img { display: block; vertical-align: bottom; width: 100%; }
@media screen and (max-width: 584px) { #fufufu .pagetit2 h2 { max-width: 160px; } }
#fufufu .pagetit2 p.lead { line-height: 2em; margin-bottom: 30px; font-size: 16px; font-weight: 700; color: #595757; }
@media screen and (max-width: 584px) { #fufufu .pagetit2 p.lead { margin-bottom: 200px; text-align: center; font-size: 14px; } }
#fufufu .pagetit2 p.lead2 { font-size: 24px; line-height: 2em; position: relative; margin-bottom: 20px; color: #595757; font-weight: 700; }
#fufufu .pagetit2 p.lead2 span { position: relative; }
#fufufu .pagetit2 p.lead2 span::after { width: 500px; left: 0; content: ""; height: 1px; content: ""; background-color: #FFF000; position: absolute; bottom: 0; }
@media screen and (max-width: 584px) { #fufufu .pagetit2 p.lead2 span::after { display: none; } }
#fufufu .pagetit2 p.lead2 span::before { width: 50vw; left: -50vw; content: ""; height: 1px; content: ""; background-color: #FFF000; position: absolute; bottom: 0; }
@media screen and (max-width: 584px) { #fufufu .pagetit2 p.lead2 span::before { display: none; } }
@media screen and (max-width: 584px) { #fufufu .pagetit2 p.lead2 { font-size: 26px; line-height: 1.5em; margin-top: 20px; margin-bottom: 20px; text-align: center; } }
#fufufu .pagetit2 p.note { font-size: 12px; }
#fufufu .pagetit2 .main2a { background-color: #fff; margin-top: 20px; font-size: 24px; line-height: 50px; text-align: center; }
#fufufu .pagetit2 .main2a .secin { padding-top: 20px; padding-bottom: 20px; }
#fufufu .pagetit2 .main2a .secin p.note { text-align: center; }
#fufufu .pagetit2 .main2a h2 { color: #E50012; text-align: center; margin: 0; font-size: 24px; max-width: 100%; line-height: 2em; }
@media screen and (max-width: 584px) { #fufufu .pagetit2 .main2a h2 { font-size: 20px; } }
@media screen and (max-width: 584px) { #fufufu .pagetit2 .main2a { margin-top: 0px; font-size: 18px; line-height: 1em; text-align: center; }
  #fufufu .pagetit2 .main2a .secin { padding-top: 15px; padding-bottom: 15px; }
  #fufufu .pagetit2 .main2a .secin a { width: 100%; margin-top: 10px; } }
@media screen and (max-width: 584px) { #fufufu .pagetit2 { padding-top: 0px; background-image: none; } }
#fufufu .pagetit { padding-top: 60px; background-size: cover; background-position: center center; background-image: url("../images/neko/main_01.png"); overflow: visible; }
#fufufu .pagetit .main02 { position: relative; width: 100%; max-width: 900px; margin-left: auto; margin-right: auto; margin-top: 20px; z-index: 10; }
#fufufu .pagetit .main02 ul { position: absolute; width: 100%; height: 100%; left: 0; top: 30px; }
#fufufu .pagetit .main02 ul li { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
#fufufu .pagetit .main02 ul li img { display: block; vertical-align: bottom; width: 100%; }
#fufufu .pagetit .main02 .bg { display: block; vertical-align: bottom; width: 100%; }
#fufufu .pagetit .nico { position: absolute; left: 0; top: 40px; z-index: 5; width: 60px; }
#fufufu .pagetit .nico img { display: block; vertical-align: bottom; width: 100%; }
@media screen and (max-width: 584px) { #fufufu .pagetit .nico { display: none; } }
#fufufu .pagetit h2 p { color: #E50012; }
#fufufu .pagetit .mainimg img { margin-left: auto; margin-right: auto; margin-bottom: 15px; }
@media screen and (max-width: 584px) { #fufufu .pagetit .mainimg img { max-width: 280px; } }
#fufufu .pagetit .mainimg p.lead { text-align: center; position: relative; width: 100%; font-size: 16px; line-height: 2em; z-index: 3; font-weight: 700; }
@media screen and (max-width: 584px) { #fufufu .pagetit .mainimg p.lead { text-align: center; font-size: 14px; } }
#fufufu .pagetit .mainimg p.lead2 { text-align: center; font-size: 30px; line-height: 2em; z-index: 3; font-weight: 700; position: relative; width: 100%; max-width: 300px; margin-left: auto; margin-right: auto; }
#fufufu .pagetit .mainimg p.lead2 img { width: 90px; position: absolute; left: -120px; bottom: -40px; z-index: 1; }
@media screen and (max-width: 584px) { #fufufu .pagetit .mainimg p.lead2 img { left: -60px; bottom: -60px; } }
#fufufu .pagetit .mainimg p.lead2::after { width: 1px; height: 80%; content: ""; background-color: #000; position: absolute; left: 0; bottom: 6px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); z-index: 10; }
#fufufu .pagetit .mainimg p.lead2::before { width: 1px; height: 80%; content: ""; background-color: #000; position: absolute; right: 0; bottom: 6px; -webkit-transform: rotate(45deg); transform: rotate(45deg); z-index: 10; }
@media screen and (max-width: 584px) { #fufufu .pagetit .mainimg p.lead2 { font-size: 24px; max-width: 200px; } }
#fufufu .pagetit .mainimg p.lead3 { font-size: 56px; font-weight: 700; text-align: center; margin-top: 40px; margin-bottom: 40px; position: relative; z-index: 10; }
@media screen and (max-width: 584px) { #fufufu .pagetit .mainimg p.lead3 { font-size: 26px; line-height: 1.5em; margin-top: 20px; margin-bottom: 20px; } }
@media screen and (max-width: 584px) { #fufufu .pagetit { padding-top: 20px; padding-bottom: 20px; background-image: url("../images/neko/main_01@sp.png"); padding-left: 10px; padding-right: 10px; } }
#fufufu .sec1a { position: relative; }
#fufufu .sec1a li { position: relative; width: 32%; margin-right: 2%; float: left; }
#fufufu .sec1a li:nth-child(3n) { margin-right: 0; }
#fufufu .sec1a li .timg { position: relative; text-align: right; padding-top: 10px; }
#fufufu .sec1a li .timg img { position: relative; display: inline-block; vertical-align: bottom; width: 90%; }
#fufufu .sec1a li .timg span { display: inline-block; position: absolute; left: 0; top: 0; z-index: 5; background-color: #281E1B; color: #fff; width: 60px; height: 60px; text-align: center; box-sizing: border-box; padding-top: 8px; font-size: 14px; }
#fufufu .sec1a li .timg span::after { position: absolute; bottom: -15px; margin: auto; content: ""; vertical-align: middle; left: 38%; box-sizing: border-box; width: 8px; height: 6px; border: 8px solid transparent; border-left: 8px solid #281E1B; -webkit-transform: rotate(90deg); transform: rotate(90deg); -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
@media screen and (max-width: 584px) { #fufufu .sec1a li .timg { width: 80%; margin-left: auto; margin-right: auto; } }
#fufufu .sec1a li h3 { margin-bottom: 5px; font-size: 20px; }
@media screen and (max-width: 584px) { #fufufu .sec1a li { width: 100%; margin-right: 0; float: none; margin-bottom: 30px; } }


#fufufu .pagetit2 .ccov2 p.note{
  position: absolute;
  bottom: 5px;
  right: 5px;

}




@media screen and (max-width: 584px) {
	#fufufu .sec1a .arr {
		left: 44%;
		top: -30px;
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg); 
	}
	#fufufu .sec1a h3 {
		margin-bottom: 10px;
		font-size: 16px; 
	} 
	
	#fufufu a.ybtn1 {
		width: 70%;	
	}
	.modal-content .modal_note{
		padding-left: 0%;
		
	}
	#fufufu .sec1 h2.sty2 { 
		width: 90%;
		font-size: 18px;
		line-height: 1.3;
	}
	.sty2_img{
		width: 100%;
		bottom: 0px;
		padding: 4%;
		margin-top: 12px;
	}
	.sty2_img img{
		width: 100%;
	}

  .modal-wrapper .modal-window {
    box-sizing: border-box;
    display: inline-block;
    z-index: 20;
    position: relative;
    top: 30px;
    width: 90%;
    max-width: 650px;
    padding: 20px 20px 15px;
    border-radius: 16px;
    /*background-color: #ffffff;;
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);*/
    vertical-align: middle
  }

.modal-wrapper .modal-window .modal-content {
    max-height: 75vh;
    overflow-y: auto;
    text-align: center;
  }
.modal-wrapper .modal-window .modal-content img{
    width: 100%;
  }
}
