﻿.bg_color1 {background-color: #cf0d0d;}
.bg_color3 {background-color: #2160d3;}
.txt_color1 {color: #cf0d0d;}
.txt_color2 {color: #cf0d0d;}
.border_color1 {border-color: #cf0d0d;}
.border_color2 {border-color: #000000;}
.border_color3 {border-color: #000;}
.hvr_bg_color3:hover {background-color: #2160d3;}
/* ----------　all　---------- */
.linkStyle{
	color:#cf0d0d;
}
.linkStyle:hover{
	color:#cf0d0d;
	opacity: 0.7;
	transition: all 0.5s;
}
.font_12 {
    transform: rotate( 0.03deg );
}
.font_13 {
    transform: rotate( 0.05deg);
}
main p {
    transform: rotate( 0.03deg );
}
.font_16 {
    transform: rotate( 0.05deg);
}
.footer_sitemap{
transform: rotate( 0.02deg );
}
.cate_list li a {
    transform: rotate( 0.03deg );
}
.delighter {
    transition: transform .5s ease-out, opacity .5s ease-out;
      transform: translatey(80px);
      opacity: 0;
	
   }
.delighter.started {
      transform: none;
      opacity: 1;
}

.delighter.started.ended {
    transform: translatey(0%);
}
body {
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.Russo {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
}
#footer_contact .more:last-child{
display:none;
}
.banner_box{
    margin-top: 50px;
}
.banner{
    width: 45%;
    margin: 0 2%;
    max-width: 350px;
}
#header {
    border-bottom: 4px solid #000;
    background-color: rgba(255, 255, 255 ,0.8);
}
#header_contact a.btn_back {
    background-color: #0c43bd;
height: 89px;
}
#header_contact a.btn_back:hover {
     background-color: #ffc800; 
}
#header_contact span {
    color: #fff;
}
#logo2 {
    width: 300px;
}
.c-btn__back{
border: 4px solid #000;
    background-image: url(Dup/img/back2.png) ,url(Dup/img/back1.png);
    background-size: 60%;
    background-repeat: repeat-y;
    background-position: left -15% center, right -15% center;
}
.c-btn__inner{
top: 5px;
}
footer{
border: 4px solid #000;
}
#footer {
    border-bottom: 2px solid #ffc800;
}
.footer_sitemap {
    border-left: 3px solid #ffc800;
}
#footer_contact p:first-of-type .c-btn {
    padding: 60px 300px;
}
#footer_contact{
background-color: #eaba08;
    background-image: none!important;
border-top: 4px solid #000;
    position: relative;
}
#footer_contact:before {
    content: '';
    display: inline-block;
    width: 30%;
    height: 400px;
    background-image: url(Dup/img/dec2.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    top: -40%;
    left: -30px;
}
#footer_contact h3{
font-weight: bold;
}
/* ----------　TOP　---------- */
#vegas {
    margin-bottom: 0px;
}
main.top{
    position: relative;
}
/*main.top:before {
    content: '';
    display: inline-block;
    width: 250px;
    height: 400px;
    background-image: url(Dup/img/dec4.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    top: -350px;
    right: 30px;
    z-index: 1;
}*/
#top_message{
background-color: #cf0d0d;
    border: 4px solid #000;
    background-image: url(Dup/img/back2.png) ,url(Dup/img/back1.png);
    background-size: 60%;
    background-repeat: repeat-y;
    background-position: left -15% center, right -15% center;
}
#top_message p:first-of-type{
text-shadow: 4px 0 0 #000, 0 4px 0 #000, -4px 0 0 #000, 0 -4px 0 #000, 8px 8px 0 #000;
    font-size: 100px;
    color: #ffc800;
}
#top_message h2,#top_message p:last-of-type{
    color: #fff;
}
.mes_back{
    padding-bottom: 150px;
    position: relative;
    padding-top: 150px;
    background: repeating-conic-gradient(transparent,transparent 6deg,#f6f6f6 6deg 12deg);
    position: relative;
background-image: url(Dup/img/back3.png);
    background-size: cover;
}
.mes_back:before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 450px;
    background-image: url(Dup/img/t_back.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 1;
    bottom: 0px;
background-position: bottom center;
}
.mes_back:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
    position: absolute;
    top: 0;
    z-index: -1;
    background-image: radial-gradient(#dadada 20%, transparent 20%), radial-gradient(#e8e8e8 20%, transparent 20%);
}
#top_contents1{
    border: 4px solid #000;
background-color: #0c43bd;
    overflow: visible;
    background-image: url(Dup/img/back2.png);
    background-repeat: repeat-y;
    background-position: left 0% center;
    background-size: 40%;
}
#top_contents2{
    border: 1px solid #000;
    overflow: visible;
    background-image: url(Dup/img/back1.png);
    background-repeat: repeat-y;
    background-position: right 0% center;
    background-size: 40%;
}
.top_contents1_box, .top_contents2_box {
    max-width: 700px;
}
.top_contents1_box {
    margin: 5% auto 5% 5%;
    width: 45%!important;
}
.top_contents2_box {
    width: 45%!important;
    margin: 5% 5% 5% auto;
}
.top_contents1_img, .top_contents2_img {
    width: 50%!important;
}
#top_contents1 div span.after, #top_contents2 div span.after {
    width: 50%;
}
#top_contents2 div span.after {
    right: -25%;
}
#top_contents1 div span.after {
    left: -30%;
}
#top_contents1 h3, #top_contents2 h3 {
    font-weight: bold;
    color: #ffc800;
    text-shadow: 2px 0 0 #000, 0 2px 0 #000, -2px 0 0 #000, 0 -2px 0 #000, 4px 4px 0 #000;
    font-size: 30px;
}
#top_contents1 h3::before, #top_contents2 h3::before {
    top: -90px;
    left: -75px;
    z-index: -1;
    color:#0c43bd;
    text-shadow: 2px 0 0 #000, 0 2px 0 #000, -2px 0 0 #000, 0 -2px 0 #000, 4px 4px 0 #000;
    opacity: 1;
    font-size: 70px;
}
#top_contents1 h3:after,#top_contents2 h3:after {
    content: '';
    display: inline-block;
    width: 150px;
    height: 150px;
    background-size: contain;
    vertical-align: middle;
    background-image: url(Dup/img/dec.png);
    top: -85px;
    left: -100px;
    position: absolute;
    background-repeat: no-repeat;
    z-index: -2;
    overflow: visible;
}
#top_contents1 h3::before {
    color: #cf0d0d!important;
}
#top_contents1 div span.after{
background-color: #0c43bd;
    border-right: 4px solid #000;
}
#top_contents2 div span.after{
    border-left: 4px solid #000;
}
#top_contents2:last-of-type{
border-bottom: 4px solid #000;
}

.top_contents3 h3::before {
    content: "03"!important;
}
.top_contents4 h3::before {
    content: "04"!important;
}
.top_contents1_img, .top_contents2_img{
    overflow: hidden;
}
#top_cms .top_cms_sec:nth-child(1){
margin-bottom: 0px;
}
#top_cms .top_cms_sec:nth-child(2){
    background-color: #0c43bd;
    padding-top: 100px;
    background-image: url(Dup/img/back2.png) ,url(Dup/img/back1.png);
    background-size: 30%;
    background-repeat: repeat-y;
    background-position: left -10% center, right -10% center;
    position: relative;
}
#top_cms .top_cms_sec:nth-child(2):before {
    content: '';
    display: inline-block;
    width: 30%;
    height: 300px;
    background-image: url(Dup/img/dec3.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    top: -10%;
    right: -70px;
}
#top_cms .top_cms_sec:nth-child(3){
    border-bottom: none;
}
.cms_title h2{
    color: #ffc800;
text-shadow: 2px 0 0 #000, 0 2px 0 #000, -2px 0 0 #000, 0 -2px 0 #000, 4px 4px 0 #000;
    font-size: 50px;
}
.cms_title p {
    color: #d32121;
    font-size: 30px;
    opacity: 1;
}
.top_cms_sec{
border-bottom: 4px solid;
}
/* ----------　下層ページ　---------- */
#page_title{
    background-color: #cf0d0d;
    background-image: url(Dup/img/back2.png) ,url(Dup/img/back1.png);
    background-size: 60%;
    background-repeat: repeat-y;
    background-position: left -15% center, right -15% center;
    border-bottom: 4px solid #000;
}
#filter_white {
    background-color: transparent;
}
#page_title h2{
color: #ffc800;
    text-shadow: 2px 0 0 #000, 0 2px 0 #000, -2px 0 0 #000, 0 -2px 0 #000, 4px 4px 0 #000;
    font-size: 50px;
    margin-bottom: 15px;
}
#page_title p{
color: #fff;
    font-size: 25px;
}
#cms_4-a .box_wrap{
width: 80%;
    margin: auto;
}
#cms_4-a .box_item1 .box_title{
background-color: #0c43bd;
    color: #fff;
    padding: 10px;
}
#cms_4-a .box_item2 .box_title,#cms_4-a .box_item3 .box_title{
    border-bottom: 2px solid #0c43bd;
    color: #0c43bd;
}

/* ----------　IE　---------- */
@media all and (-ms-high-contrast: none){
#cms_2-b .cate .cate_title {
    padding-top: 10px!important;
}
#cms_4-c .cate_title {
    padding-top: 10px!important;
}
#cms_5-a .cate .cate_title span:last-of-type {
    padding-top: 0px!important;
}

}

/* ----------　タブレット　---------- */
@media screen and (max-width: 768px){
header span.before {
    top: -150px;
}
header span.after {
    bottom: -150px;
top: auto;
}
main.top:before {
    width: 150px;
    height: 250px;
    top: -200px;
}
.mes_back {
    padding-top: 100px;
}
#top_message p:first-of-type {
    font-size: 80px;
}
#top_message {
    padding-top: 60px;
}
#top_contents1 h3::before, #top_contents2 h3::before {
    top: -55px;
    left: -55px;
    font-size: 65px;
}
#top_contents1 h3:after, #top_contents2 h3:after {
    top: -120px;
    left: -120px;
}
.top_contents1_box h3, .top_contents2_box h3, .top_contents1_box p, .top_contents2_box p {
    opacity: 1;
}
#top_cms .top_cms_sec:nth-child(2):before {
    height: 200px;
    top: -10%;
    right: 5px;
}
.cms_title h2 {
    font-size: 45px;
}
#footer_contact:before {
    width: 22%;
    height: 300px;
    top: -40%;
    left: 5px;
}
#footer_contact p:first-of-type .c-btn {
    padding: 30px 200px;
}
#logo2 {
    width: 250px;
}
#top_contents1 div span.after, #top_contents2 div span.after {
    width: 50%;
right: -10%;
}
.top_contents1_box {
    margin: 10%;
    width: 80%!important;
}
#top_contents1 div span.after {
    left: -30%;
}
.top_contents2_box {
    width: 80%!important;
    margin: 10%;
}
.top_contents1_img, .top_contents2_img {
    width: 100%!important;
}
}


/* ----------　スマホ　---------- */
@media screen and (max-width: 667px){
#header {
    padding: 7px 0px;
}
header span.before {
    top: 0px;
}
header span.after {
    bottom: 0px;
}
#logo {
    width: 130px;
}
.banner {
    width: 85%;
    margin: 0 2% 25px;
    max-width: 300px;
}
main.top:before {
    width: 100px;
    height: 150px;
    top: -120px;
    right: 10px;
}
#top_message {
    background-size: 80%;
    background-position: left -100% center, right -100% center;
}
#top_message p:first-of-type {
    font-size: 55px;
}
.mes_back {
    padding-top: 80px;
    padding-bottom: 50px;
}
#top_contents1 h3::before, #top_contents2 h3::before {
    top: -38px;
    left: -35px;
    font-size: 40px;
}
#top_contents1 h3:after, #top_contents2 h3:after {
    top: -80px;
    left: -80px;
    width: 100px;
    height: 100px;
}
#top_contents1 h3, #top_contents2 h3 {
    font-size: 25px;
    line-height: 1.6;
}
.cms_title h2 {
    font-size: 35px;
}
.cms_title p {
    font-size: 25px;
}
#footer_contact {
    padding: 50px 0px 50px;
}
#footer_contact p:first-of-type .c-btn {
    padding: 20px 80px;
}
#footer_contact:before {
    width: 25%;
    height: 150px;
    top: -25%;
}
#top_cms .top_cms_sec:nth-child(2):before {
    height: 120px;
    top: -7%;
width: 40%;
}
#top_cms .top_cms_sec:nth-child(2) {
    padding-top: 50px;
    padding-bottom: 80px;
    margin-bottom: 50px;
    background-size: 80%;
    background-position: left -100% center, right -100% center;
}
#page_title {
    background-size: 80%;
    background-position: left -100% center, right -100% center;
}
#page_title h2 {
    font-size: 35px;
}
#cms_4-a .box_wrap {
    width: 100%;
}
.c-btn__back {
    background-position: left -100% center, right -100% center;
    background-size: 90%;
}
}